也许STM32的RTC晶振真的被误会了...

2019-12-09 19:15发布

本帖最后由 rosicky0301 于 2014-1-4 12:36 编辑

最近在使用STM32做产品,也对它的RTC晶振的选型及外部电容的选择有一些困惑,于是上网搜索。搜索到的结果中,最多的是抱怨STM32的RTC晶振不容易起振,RTC计时不准,或者对晶振的质量很挑。
我大致总结了网上的几种解决方案:
1.在晶振管脚两端并联1M以上电阻,以增加STM32对晶振的驱动能力
2.使用有源晶振
3.使用专用RTC芯片
4.还有一些说换个晶振就行了
5.再有专业一些的说PCB布线有问题

其实,无论是用STM32的RTC晶振还是系统主晶振,大家不妨先仔细阅读STM32官方的关于晶振设计的手册,手册上写的很清楚,选择晶振的要点是什么:
1.增益裕量,通过给定的公式来计算,决定晶振是否起振,计算结果如果>5就可以起振,<5就肯定不会起振。主要相关参数是ESR和CL,至于晶振参数的准确度,肯定大厂晶振会好一些。
2.晶振的负载电容,跟RTC计时的精度有关。通过晶振标称的CL可以求得外部负载电容应该选择什么大小的。6pF的晶振,未必就一定用6pF或10pF的外部电容就可以,这个需要计算。
3.外部电阻,手册里写的是串联电阻来限制驱动能力,其实对于使用杂牌晶振的来说,并联1M以上电阻增加驱动能力还是比较现实的。
4.对于不善计算或懒惰的同学,可以选择手册里推荐的晶振型号,但是外部电容还是需要自己计算求出。

手册里没有着重强调,但是也很关键的是PCB的走线,首先晶振走线不能离STM32太远,其次两根线应该是等长线,再就是晶振周围地线要环绕一圈防止干扰。
至于很多同志们说换个晶振就好了其实是晶振参数不一致造成的,其最根本的原因就是手册里写的增益裕量的计算。
大家能够通过手册明显看到LSE部分的增益裕量都是个位数,而HSE部分的增益裕量都是70+,这也解释了为什么HSE很少有不起振的,而LSE不起振的情况经常发生,大家可以从增益裕量这一最基本的参数来寻找原因。

我也是通过自己的体会来总结一下,未必都对,希望能对深陷STM32的RTC晶振门的同志们有所启发。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
56条回答
ljt80158015
1楼-- · 2019-12-13 01:57
 精彩回答 2  元偷偷看……
vtte
2楼-- · 2019-12-13 05:04
真心请教各位,用有源晶振能彻底解决问题吗?
emobbs
3楼-- · 2019-12-13 09:02
这个要留个记号的
Grant
4楼-- · 2019-12-13 11:33
68336016 发表于 2014-1-4 12:49
楼主批量生产验证过了?
即使是在用6pf负载晶振情况下,还是有人遇到不起振,在本论坛和21IC就曾经有帖子。 ...


6pf负载晶振,除去负载电容,还有其它的几个参数是不相同的,像楼主说的增益裕量,而这个与RTC能不能可靠起震关系非常大。

上面的问题,我这验证过,而且还交过6位数以上的学费!
相同的内容,我很早就在论坛里讲过,估计也没多少人上心看过。
68336016
5楼-- · 2019-12-13 15:16
Grant 发表于 2014-1-5 22:54
6pf负载晶振,除去负载电容,还有其它的几个参数是不相同的,像楼主说的增益裕量,而这个与RTC能不能可靠 ...

你那帖子很早我也看过

不过话说白了,要求过于苛刻就是以前的STM32自身问题,没有困难也要创造困难给客户使用。

后来的好像比较少听到这个RTC晶振问题了吧,那就意味着改进了,意思也就证明了以前那些的“不近人情”其实就是缺陷
STM32_Study
6楼-- · 2019-12-13 18:09
 精彩回答 2  元偷偷看……

一周热门 更多>