最近有个产品打算用STM32替代,要用到STM32的RTC,网上的大侠们都说RTC不稳定,所以想问一下现在STM32有没有解决这个BUG了,RTC到底能用吗?怎么用才能稳定?谢谢
已用,很好
人云亦云最糟糕,实践是检验真理的唯一标准
回复【1楼】skynet 青青草原
-----------------------------------------------------------------------
您用的32K晶振是多少pf的匹配?电路设计有何注意点,能否讲讲,非常感谢
要想电容匹配得好,要有专业的设备去测loading的实际情况,layout的寄生电容你是不可能主观控制的,RTC的校准功能也得学学怎么用才行,我觉得别人说的顶多就是精确度造成的偏差而已,不稳定是个什么概念,反正我没碰到过。
看在大家都是STM32这条战壕里面的战友份上,我就打几个字吧
首先我要给你明确1点,你如果要精确计时,就是时间要非常准确,那下面的文字就不要看了,RTC不适合你.你需要专用芯片,这个我可以强烈推荐你用DS3231,具体你去美信官方下载PDF看.我自己做了1个钟挂客厅,快1年了,月误差在3 - 5秒内.在这个价位上是很不错了.
RTC的精度由晶振决定,RTC的起振由器件和布线决定.高精度需要温补晶振,你要是上了这个还不如用上面那个IC,成本差不多.
下面我就说说第二点,起振
这个RTC布局,官方有权威PDF,貌似在那个STM32之旅里面,你自己找找,其中就有设计RTC时需要注意的电路布线.关键点就是,晶振要和引脚越近越好,线越粗越好,2个电容离晶振越近越好.实际布局上,晶振我是贴近IC最近距离,线径15mil,在背面打2过孔放置2个6-22PF电容,用NPO的,晶振淘宝买的,号称6PF匹配的,6毛8,我也曾经用过不是6PF匹配的,照样可以.实测关键就是,晶振和IC距离要近,2个电容和晶振之间要近,线径有15MIL足够,因为IC的脚也差不多这么粗.
还有2个方案可以选配,1个是晶振2脚之间,上1M电阻,晶振外壳接地,这个平时不用上,实在不起振时再上,你可以在PCB上预留位置,不一定要用上.
实测,6毛8晶振,2个6PF电容,都能起振,精度嘛就勉强了,日误差在3-5秒,我是用于时间长度计数,所以无所谓了.而且受温度影响,也就是使用环境和季节影响大.这个如要精度可在软件里面修正,1个是RTC初始化里面可以修正,还有1个就是,定时判定,1到了24小时,自动减掉或者加上3-5秒,发现好像一般都是走快
手累,暂时就这样
论坛里面很多说,stm32的rtc不能起振,或者刚开始起振聋,过一段时间又坏了,大家有没有碰到这个情况?
注意负载电容大小,外部2个电容选择6pF的
4楼讲的很详细了
要看你需要怎样的RTC了,只需要简单的,相对精度一般的,内置的RTC配6P负载电容的晶振绝对可以使用。那些用用就停掉的一定不是6P的。 我用的是EPSON的晶振,比较贵。出货10K也就在初检时总共发现有20台左右不稳定的。出货以后,客户没有反馈这方面问题。
以前用了一个杂牌的晶振初检就有10%不振,再检还有7-8%不好(第一次通过的)。所以才下狠心换成EPSON得了。
不过价格要1.8元,和买一个RTC IC也差不多了。
如果要高精度的,还是用外部IC吧。内部的只能简单计时。
STM32的RTC确实不怎么好用,以前做过一批产品,50%起不了震,不起振的板子无论是换电容还是换晶振都无法起振.晶振我换了不下十家,不好使就是不好使.那些好使的板子,无论是换晶振还是电容,都仍然好使.
好像跟STM32芯片的批次有关系.以前也做过一批,全部都能起振。
很纳闷呢
回复【7楼】wy2000
-----------------------------------------------------------------------
我的精度要求不高,您出货多少时间了?如果长时间稳定那才是最重要的
回复【4楼】skynet 青青草原
-----------------------------------------------------------------------
讲的很好,顶
mark 4楼说的。。。
mark,凡事得实测,不要被谣言吓到
RTC能用,不过我们在生产时发现坏率不少(有一批10%的坏率),一直不明原因,最近在论坛上看到有大侠
说超声波清洗时RTC晶振很容易坏。
做产品建议外接dsxxx
make..................................................
…………
用外部RTC的路过
注意,6PF负载电容的晶振并不是指晶振外部接两个6PF的电容,而是两个引脚对晶振的电容,考虑杂散电容。所以6PF负载电容的晶振,一般外部焊接两个10PF的电容。