OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 32933|回复: 14

STM32F103晶振经典18问

[复制链接]

19

主题

217

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
427
金钱
427
注册时间
2015-4-1
在线时间
34 小时
发表于 2015-8-28 16:40:43 | 显示全部楼层 |阅读模式

关于STM32开发板晶振相关的问题汇总
由于开发板上晶振稍多,买的板子还配有几个额外的晶振,搞不明白,就在论坛上查了一些资料。看了相关帖子将近30篇,基本上搞定了。现将相关问题汇总如下,分项给大家。

1、自己做了个STM32 的板子,,但是手里没有8M的晶振,所以就用 了,12M的,,但是不正常,上电之后PA15PA14接的是两个ledPA15接的led常亮,PA14接的的led不亮,,而且芯片下载程序又能下载,应该不是芯片坏的问题吧,,而且不管我些什么程序进去,两个脚的状态都不变,,我怀疑是电路有问题,,可是我仔细检查了电路和板子,都没问题,,JTAG正常使用。我用的是12M的晶振,这会有影响吗?感觉不管下什么程序进去感觉芯片好像没有运行。


答:如果使用12M的晶振,那么要修改启动文档中的关于RCC的语句。 

因为如果你使用库文件的话,ST的库,默认外部晶振是8M,所以如果你不修改RCC部分的语句,会造成CPU不启动,或者启动不成功。 

现象是,在MDK环境下,能够通过JTAG识别到芯片,但是无法下载或者debug。 

会提示 can not attach CPU


2、突然想到这个问题,外部无源晶振选择大小的区别是什么?

STM32芯片它都要先分频,再倍频。

我在想,假设,如果它分频都要降到2M,再倍频上去

那我直接2M的晶振1分频再倍频,跟24M12分频再倍频他们的区别是什么?还是说本身就是任意的,根据自己需要选择?


答:方便各种应用场景。


3、自己做的STM32F103RBT6板子,外接8M晶振,现在程序下载正常,运行正常,在程序初始化时用到Stm32_Clock_Init(9)这条语句,我想问下是不是外部晶振如果没起振在执行这条语句时会停止?也就是说我的程序下载和运行都正常说明外部晶振肯定起振了,而且已经倍频到72M了。


答:默认是用内部8M RC震荡的,你切换为PLL之后,才是使用8M倍频的,如果你注释掉Stm32_Clock_Init(9),那么代码也会跑,但是是用内部8M RC震荡。


4、外部晶振换成了25MHz,但是想方便的移植以前8MHz板子上程序,应该怎么修改系统时钟?看了system_stm32f10x.c系统时钟设置  ,但是不知道怎么修改!求指点  谢谢

下面参数是system_stm32f10x.c系统时钟设置  

 //默认SYSCLK_FREQ_72MHz  可在system_stm32f10x.c改变设置   

 //默认 HCLK = SYSCLK; 

  RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;   

 //默认 PCLK2 = HCLK ;  

 RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;  

 //默认 PCLK1 = HCLK ; 

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;  

 //默认 PLL as system clock source;  RCC_CFGR_SW_PLL;


答:25M不用想了,必须是25的整数倍才行。

原子哥  要是把它设置成75MHz  具体怎么修改哪些配置参数?

25*3=75了 

设置倍频数为3. 

但是库函数这个不懂,寄存器的 就很简单


5、STM32RTC不能用,想确定是否硬件问题。但不知道测量的是哪2个引脚。希望知道的高手指教一下


答:1,去掉RTC晶振的电容 

2,换晶振

如果1,2还不行,多换几个晶振

如果还不行,MCU. 

换到能用为止.... 

STM32RTC,就这么蛋疼...


6、手头 有几块 RTC 初始化不成功的,到底是啥原因,用示波器也看不到波形,一共有30 块板子 大概有5块出现这种问题,时钟不正常,其中拿 一块是 换了 IC ,然后OK的, 不会是 IC问题吧,如果是IC 问题,那后期生产 不好弄啊,有经验的朋友 进来 看看,谢谢了


答:就算你用6pf负载电容晶振,STM32rtc还是会有一部分不能起振的

如果产品确实需要RTC功能,我建议你还是外加RTC芯片靠谱点.


732K内部晶振 16M内部晶振 32K外部晶振,弱弱的想有16M的可以分频还要那两个干嘛啊,为什么分内外啊16M的为什么不设成外部晶振呢?

以下 是百度的一段话,

外部晶振稳定 内部晶振的误差比较大,但如果对频率要求不高的话(比如不涉及串口通信和精确定时等的话),用内部晶振就行 。内部时钟,频率受温度等其它影响,

但是能省下晶振的钱,还有2I/O。如果对频率要求不高,一般是优先选用内部振荡。 如果你要省电,用了SLEEP,那你就不能用内部振荡了,内部振荡回停止!


答:STM32一般推荐用内部8M RC或者外部8M晶振

你这个16M,除非个人癖好,一般没必要用

用内部还是外部,主要看你自己的考虑了

理论上说,外部准确度高,用到USB通信的时候,建议用外部晶振.另外,内部RC是无法倍频到72M,最高是4*16=64Mhz. 

但是内部晶振如你所说:1,不占空间.2,省成本

所以,到底用内部还是用外部,根据自己需求来就可以了.


8、各位大大,求一个用内部晶振HSI作系统时钟源的系统时钟配置函数。最好是寄存器版的,谢谢了.


答:把我们的Stm32_Clock_Init屏蔽,用的就是内部8M RC震荡了


9、焊接了一个STM32F103C8T6的最小系统,晶振是16MHZ,程序不能正常运行?怎样修改哪些程序使芯片的还是在72MHZ下工作。只用下面这个函数修改时钟,但是程序还是不能运行,串口发送数据一堆没用的数据。该怎样设置???


答:修改SetSysClockTo72函数中有关时钟配置的地方

/* LL configuration: LLCLK = REDIV1 * 9 = 72 MHz */ 

    RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | 

                            RCC_CFGR_PLLMULL9);

以上是8M晶振的设置,把分频和倍频改成你要的值


10、请问在“Option for Target”里的“Target”的XTAL填的MHZ数就是开发板上那个两头圆的晶振的参数吗,我的那个上面显示的Y8.000,是不是就填8就可以了。另外,还有一个圆柱形两个管脚的听说那也是晶振,那“Target”里XTAL的参数到底该照谁的填?

ALIENTEK教程里的源代码默认都是72MHZ,应该都要改吧


答:填8M32.768Krtc晶振不用填


11、STM32没有8M的外部晶振,依然可以运行跑马灯实验(程序设定使用外部晶振),有人知道是为啥不?自己焊了一块板子,没有接外部的8MHZ晶振,可是将原子的跑马灯程序下载进去之后,小灯竟然间歇性的闪烁了。可是原子的程序里面明明是用的外部晶振啊!


答:没外部的直接切换到内部晶振。


12、stm32f103c8t6的五六脚应该接多大的晶振?


答:系统时钟(SYSCLK)有3个来源,内部高速8M时钟(HSI)PLL时钟和外部高速时钟(5 6脚接的HSE),而PLL时钟又有2个来源,即内部高速时钟2分频(HSI/2=4M)和外部高速时钟(HSE) 

通常,SYSCLK常用PLL倍频而来,当SYSCLK=72M,外部(5 6脚)接8M晶振,经过9倍频即为72M,如果外部使用12M,那只需要6倍频即可得到72M  SYSCLK, 

具体的细节请参考STM32参考手册6.2节(那个时钟树很清晰明了)


13、战舰stm32开发板上,32.768K晶振电路的作用?这部分电路有什么作用啊?去掉会有什么影响吗?提供时钟的不是8M晶振那部分时钟电路吗?


答:建议你看看时钟树,32.768可以做RTC的时钟源。


14、系统时钟可以由内部时钟RC振荡器、外部时钟、锁相环三者提供,那么设置成内部时钟,是不用外部放置8M晶振了?


答:可以用内部时钟,不用接外部晶振,只是外部时钟更好一些


15、如果不用RTC,最小系统可以去掉一个晶振吗?最近正在自制32的最小系统,用来参加电设比赛的,感觉用不上RTC的功能。请教大家,可以把32.768K的晶振部分去掉,当作普通IO口使用吗?


答:是的,不过32.768K晶振那两个脚当GPIO用的话,驱动能力会比其它的弱,具体的看手册上有具体说明


16、做最小系统版的时候晶振布在底层是否会有影响 ?


答:放在底层或者顶层 没什么影响, 但是晶振最好靠近芯片,晶振下面也最好不要走线。


17、疑问?对于PCLK1是高速时钟,手册高速我们是不能超过36M,如果配置他为系统时钟,会有哪些影响。我有一份代码一直都是按照系统时钟运行的,所以,我也不清楚会造成什么问题?


答:系统时钟是HCLK,不是PCLK1PCLK1是无法设置为系统时钟的。


18、最近开始画原理图,首先就是最小系统啦,参考战舰开发板、某火开发板、官方的硬件开发使用入门的外部晶振电路,都各不相同,又看了ST的晶体振荡器电路设计指南,还是有些不懂啊。我的理解是调整两个外部电容,使之与晶振的负载电容相等,看看战舰板上是22pF,难道8M晶振的负载电容是10pF?还有并联1M的电阻起什么作用呢?不加限流电阻是因为晶振功耗低?


答:因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。 

①在许可范围内,C1,C2值越低越好。C值偏大虽有利于振荡器的稳定,但将会增加起振时间。  

②工作良好的振荡波形应该是一个漂亮的正弦波,峰峰值应该大于电源电压的70%。 

   若峰峰值小于70%,可适当减小OSCIOSCO管脚上的外接负载电容。 

   反之,若峰峰值接近电源电压且振荡波形发生畸变,则可适当增加负载电容。    

   例子:若取中心值15pF,则C1C2各取30pF可得到其串联等效电容值15pF,这个值与晶振内部等效电容接近最好, 

            如果要达到8pF(内部电容的),则要选择外部两个电容为15pF, 

            通常厂家建议的外接负载电容为1030pF左右。并且C1C2使用瓷片电容为佳。  

③用示波器检测OSCI(Oscillator input)管脚,容易导致振荡器停振,原因是:部分的探头阻抗小不可以直接测试,可以用串电容的方法来进行测试。 

④当波形出现削峰,畸变时,可增加负载电阻调整(几十K到几百K).要稳定波形是并联一个1M左右的反馈电阻,电阻使稳定,并加速晶振起振时间

一直在路上,一直在成长。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-8-28 16:51:37 | 显示全部楼层
谢谢分享

楼主可以再调整一下布局,文章没法耐下心看啊,添加背景色以后的字体看着略费劲。我试着去搭配背景色,确实很费劲,效果还不是很好。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 1 反对 0

使用道具 举报

19

主题

217

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
427
金钱
427
注册时间
2015-4-1
在线时间
34 小时
 楼主| 发表于 2015-8-28 17:00:36 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
调格式老费劲了
一直在路上,一直在成长。
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-8-28 17:21:07 | 显示全部楼层
回复【3楼】济世良驹:
---------------------------------
嘿嘿,楼主辛苦了

mark--晶振知识

学习了,再up一下
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-8-28 19:01:03 | 显示全部楼层
不错,谢谢分享。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2015-2-19
在线时间
32 小时
发表于 2015-8-30 00:04:29 | 显示全部楼层
学习学习,顶LZ
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-5-11
在线时间
5 小时
发表于 2015-8-31 11:18:58 | 显示全部楼层
mark 下
回复 支持 反对

使用道具 举报

85

主题

378

帖子

0

精华

高级会员

Rank: 4

积分
902
金钱
902
注册时间
2013-4-29
在线时间
87 小时
发表于 2015-11-6 14:15:22 | 显示全部楼层
mark 下
回复 支持 反对

使用道具 举报

19

主题

217

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
427
金钱
427
注册时间
2015-4-1
在线时间
34 小时
 楼主| 发表于 2015-11-6 14:20:43 | 显示全部楼层
回复【8楼】盒子:
---------------------------------
恩,加油哦
一直在路上,一直在成长。
回复 支持 反对

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2015-11-6 15:28:14 | 显示全部楼层
多谢,不过好长。
自在随心
回复 支持 反对

使用道具 举报

25

主题

101

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
224
金钱
224
注册时间
2015-9-5
在线时间
48 小时
发表于 2016-6-1 08:55:45 | 显示全部楼层
6666666
回复 支持 反对

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2016-6-1 11:08:53 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

3

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2016-8-8
在线时间
109 小时
发表于 2016-12-23 18:55:12 | 显示全部楼层
不错,谢谢分享
回复 支持 反对

使用道具 举报

11

主题

94

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2016-12-12
在线时间
55 小时
发表于 2016-12-24 10:11:18 | 显示全部楼层
Mark一下,多谢分享。
回复 支持 反对

使用道具 举报

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2016-8-13
在线时间
14 小时
发表于 2016-12-24 15:32:19 | 显示全部楼层
mark           
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 07:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表