STM32晶振器振问题

stm32的rtc晶振经常出现不起振的问题,这已经是“业界共识”了。很多人在各种电子论坛上求助类似于“求高手指点!rtc晶振不起振怎么办”的问题,而其答案基本可以概括为“这次高手帮不了你了”
更有阴谋论者提出让人啼笑皆非的解释——stm32的rtc晶振不起振是st与晶振厂商串通后故意搞出来的,目的是提高某晶振厂商高端晶振的销量。
最近做的几块板子也用到了stm32的rtc,前后两版一共做了大概6片,幸运的是并未遇到晶振不起振的现象。而我采用的是3毛钱一个的普通晶振,并未选用传说中低负载高精度晶振。后来在另外一片实验性质的板子上首次遇到了晶振不起振的问题,而且做了2片都不起振,这才让我意识到这个问题的严重性。
从上述现象来看,我认为对rtc晶振起振影响最大的因素应该是pcb的布线。但是遇到问题时通常是pcb已做好,甚至已经做了几百块,没有回头路了。于是大家更关注的问题似乎就是“如何补救”了。在网上搜索一下,你就会发现世界是如此美好!每个人的经验和建议都不一样,甚至是完全相反的!这种现象告诉我们,除了pcb布线,对晶振起振影响最大的似乎不是电气参数,而是另外一种不可忽略的因素——人品!
各种相互矛盾的经验也告诉我们,导致晶振不起振的原因是多种多样的,也是因“人”而异的。也许,我们无法找到一个绝对有效的经验一举解决stm32的rtc晶振这个让人头疼的问题,但我们可以从各种经验中找到一些线索,为最终摸索到适合自己这块板子的解决方案提供一些帮助和提示。
如果晶振不起振,尤其是你已经使用了传说中的爱普生6pf晶振后还是不行,也许你应该尝试对以下几个方面排列组合,找到适合你这块板子的,更容易起振的方式。
下面就罗列一下可能影响rtc晶振起振的因素
1. 晶振的品牌和负载电容
大家貌似都知道要用6pf的晶振,但我发现其实12.5pf的也可以用。大家都说kds日本原装的好,我那个3毛钱的国产晶振貌似也没啥大问题。。。
2. 晶振外接的匹配电容
有人说6pf的晶振要配6pf的电容。但有经验公式指出这个电容的值应该是晶振本身负载电容的两倍,6pf的晶振应该配10pf的匹配电容,当然12.5pf的就应该配20pf或者22pf的电容了~电容值不匹配可能造成晶振不起振。更神奇的是,有人指出去掉外接的匹配电容会使晶振起振!这似乎没啥道理,但在我的板子上,有且仅有这个方案是可行的!!!
3. 晶振并联的反馈电阻
晶振可以并联一个高阻值的电阻,据说这样更容易起振。。。这个电阻的阻值有人说是1mω,有人说是5mω,也有人说是10mω,,,当然也有人说不能并联这个电阻,并联了反而不起振
4. xtalout到晶振间串联电阻
这种做法是官方的应用笔记指出的,而且给出了这个电阻的计算公式。对这个电阻的的必要性也是众说纷纭,同样存在两种矛盾的说法,即必须要有这电阻,否则不起振。还有一说不能有这个电阻,否则不起振。。。从官方的应用笔记来看,这个电阻的主要作用是保护晶振,以防晶振发热。由此看来这个这个电阻似乎并非影响晶振起振的主要因素,甚至可能让晶振更难起振。
5. 晶振的外壳是否接地
这个就不用说了吧。晶振的外壳是金属的,做封装时可以把那个焊盘做成机械焊盘而悬空,也可以做成电气焊盘,然后连接到gnd。对这个说法同样存在争议,有人说外壳必须接地,也有人说接地后反而不起振。
6. 提高vbat引脚的电源质量
这种说法是有一定道理的,因为rtc部分是由vbat的来供电的。有人说vbat引脚对电源质量要求比较高,如果纹波较大可能会影响晶振的起振。网上还有其他人验证过,直接上图(原贴链接:http://www.openedv.com/posts/list/6612.htm   )
更有人说反而需要一些噪声,激励晶振产生正反馈从而顺利起振(本人对此表示呵呵)。但不管怎样,提高电源质量对大家都是好事。
7. 晶振周围的环境
有人指出应该仔细清洗rtc晶振周围的电路,甚至是使用环氧树脂胶将晶振密封起来。这种说法得到了一些人的支持,看来也是有相当多的事实依据。
8. 减少晶振焊接时加热的时间
有人认为长时间加热晶振进行焊接会对晶振本身带来影响,却不是彻底损坏晶振,从而使得晶振不容易起振。这种说法我没验证过,个人表示怀疑。。。
9. 焊接的焊锡量
这个种说法感觉就更不靠谱了,但真的有人在晶振引脚上多加了点焊锡晶振就能起振了。从原理上说,多加点焊锡确实会改变晶振和pcb间的寄生参数,但我感觉影响微乎其微。。。可能晶振已经徘徊在临界值的边缘了,这种做法才会起到一点作用。
10. 使用有源晶振
个人认为这是一劳永逸解决晶振不起振问题的不二法门!有人对stm32的rtc晶振不易起振的原因做了一个解释,即出于低功耗的考虑,stm32对晶振的驱动功率比较低,所谓“好鼓不用重锤”,一些差的晶振就需要更高的驱动功率,所以不易起振。我认为这种解释是有道理的。使用有源晶振则不存在驱动功率的问题,如果问题确实是因为驱动功率造成的,那使用有源晶振毫无疑问可以彻底解决问题。而且目前网上还没看到说有源晶振不起振的求助帖。但是有源晶振通常比较昂贵,甚至要比一颗外置的rtc芯片还要贵。至于这个问题的取舍,就要看各位看官自己的想法了。

Nvdia 28nm显卡最新线路图曝光
龙芯芯片出货量突破50万颗,3A/3B5000系列主频可提升2.5GHz以上
CS5460A在单灯监控系统中的应用
超声波电机的原理以及内部结构的介绍
华为进军诺基亚总部,荣耀9芬兰上市售价几近国内两倍
STM32晶振器振问题
贸泽开售英特尔傲腾持久内存 作为DRAM的突破性替代产品
基于自主指令集的龙芯3系列处理器即将问世
lm7812参数
橡胶行业废气处理解决及恶臭监测方案
信号放大器在没有网络的情况能不能用?
接地电阻安全阻值是多少?防雷接地电阻是多少?
多点悬浮触控技术将掀起一场新革命
跟大家分享位运算的几个使用小技巧
LG手机或将消亡 高傲的性格导致定位不准确
魅族要在千元机上实现全面屏?或许就是10天后的魅蓝E2了
虚拟现实中的“存在感”及PowerVR GPU发挥的作用
为电动汽车实现更安全、更快速的直流充电
基于单片机的步进电机平面切割模型设计的研究
聊聊电源自动切换电路(常用自动切换电路总结)