RTC时钟偶发性延时或超时怎么办?
扫描二维码
随时随地手机看文章
在非常温的工作环境下,RTC时钟出现偶发性的延时或者超时现象,成熟的RTC电路设计看似简单,但如何保证RTC时钟的精确度;在出现偶发性异常现象时,如何快速定位和解决问题;本文将分享一个案例。
一、案例情况
工控板使用了NXP的PCF8563 RTC 芯片方案,在研发做环境温度摸底测试的时候, RTC时钟出现偶发性延时或者超前现象,于是研发展开一系列的问题定位。
二、排查分析
1、工控板使用了NXP的PCF8563 RTC 芯片方案,该方案是外置32.768kHz的石英晶体和电容,该RTC芯片的输出精度取决于其外接的石英晶体输出的时钟频率是否精准。石英晶体本身输出频率带有一定的误差,常温25℃下,频率的误差为±20ppm,平均误差可达5分钟/年。且随着时间的增加,晶体电路元件的缓慢变化会造成长期性的频率漂移。同时,在外部温度较为极端的时候,时钟震荡回路可能出现异常,影响到RTC的正常计时。
2、工控板RTC芯片供电电池选用了型号为CR2032的锂二氧化锰电池,该电池理论工作温度范围是-30℃~60℃。和其他锂电池类似,若外部温度较为极端的时候,会改变其内部的化学反应,导致电池寿命的降低或者电压异常的风险,从而影响RTC电路的正常工作。
图 1 PCF8563参考电路图
三、解决方案
极限温度下长时间的高精度保证,有以下的解决方案:
1、选择带有温度补偿的RTC芯片如EPSON的RX-8025T。这款芯片是内置32.768kHz的晶体,具有高精度的温度补偿功能,输出的波形都是经过温度补偿校准过的,这样可以提高RTC的稳定性和精度。因为内嵌的晶体已经经过高温老化处理,比独立的晶体有更好的稳定性,精度误差在-40℃~85℃范围内小于±5ppm。
2、选择工业级电池(例如:FANSO ER14505),理论上在工作温度-40~85°范围内能正常工作。参考电路图如图2所示:
图 2 RX-8025T参考电路图
由图2可知,RTC芯片工作电源由系统VCC_3.3电源和电池电源两部分组成。此电源电路的设计目的是当有外部电源供电时,RTC时钟工作时使用由外部电源经LDO转化而来的VCC_3.3电源,当外部电源停止供电时就自动切换到电池电源供电。这样可以保证RTC芯片一直能够正常地工作,同时可以延长电池的使用时间。此电路的设计如以下所述:
1)电源切换电路设计
由RX-8025T芯片的数据手册上可知,其工作电压范围是1.7V到5.5V;系统电源为3.3V、工业级电池ER14505电压为3.6V;可以通过二极管的正向导通特性来自动切换系统电源和电池电源的供电状态,使得RTC芯片能够保持正常工作状态。
由于系统电源电压为3.3V,电池电压为3.6V;如果要做到优先使用系统电源,那么就需要系统电源经过二极管后的电压比电池经过二极管后的电压要高,这样才能保证由系统电源优先工作。可以通过选择两只不同管压降的二极管来实现,二极管SS14的正向导通电压为0.2V左右,1N4148的正向导通电压为0.7V左右。那么可以在系统电源线路上串接一只SS14二极管,而在电池供电线路上串接一只1N4148二极管;这样当外部供电时,系统电源经过SS14后得到的电压值大于电池经过1N4148后的电压值,此时由主电源供电;当外部电源停止供电后,电路自动切换成电池供电状态。
图 3 电源切换电路
2)电压滞后处理
ER14505电池是一种供电电压为3.6V ,容量为2700mAh的锂亚硫酰氯电池;它的自身容量损耗极小,可以忽略不计。以待机电流为20uA计算,电池的供电可以达15年左右。
但是在实际应用中,发现在系统电源长期供电后,突然切换到电池供电时发生电压不足,导致RTC时钟出现异常,其根本原因是电池发生了钝化现象。
当RTC芯片由系统电源供电时,锂电池相当于闲置开路,如果电池闲置的时间过长,那么电池的内部会产生钝化膜,而切换到锂电池供电时,如果滞后的电压低于时钟芯片的工作电压,那么时钟芯片就会完全“失压”,系统时钟就会恢复到初始时间,导致时钟工作异常。为了消除这种现象的影响,我们可以通过在时钟芯片的电源上增加储能电容,以消除这种影响。
图 4 电压滞后处理电路图
3)控制钝化膜生成
电池的钝化膜是由于电池长时间处于闲置开路状态而形成的,那么我们可以使电池一直维持在一个较小的电流放电工作状态,这样可以减缓电池的钝化膜生成的速度。通过选择合适的电阻值,使电池处于放电状态,比如放电电流控制在待机电流20uA左右,这样电池容量足够支撑15年左右,同时不会使钝化膜过厚而出现电压滞后导致RX-8025T完全掉电现象,从而影响RTC时钟的正常工作。
当系统电源供电时,Q1导通,由电池BT1、R1、Q1形成回路,实现电池的放电状态;当系统电源停止供电时,Q1截至,电池经过D2给RTC芯片U1供电。经实测时钟芯片及电池内阻自放电的电流为8uA左右,那么我们需要控制的电阻R1的阻值为3.6V/(20-8)uA=300k。
图 5 控制钝化膜电路图
4)PCB设计
在PCB layout的时候需要注意RX-8052T与MCU的I2C走线应该越短越好,并且远离高频、高电流的信号线。同时旁路电容也应该靠近RX-8025T的电源端,并增加地线敷铜的面积,以防止干扰的产生。
四、总结
致远电子嵌入式产品经过近二十年的设计经验积累,从产品的RTC时钟,电源管理,ESD防护电路,各类通讯接口等方面全面保证产品的稳定性。致远电子从2001年从8位单片机方案设计开始,逐步掌握ARM7、ARM9、Cortex-A7、A8、A9、M7以及最前沿的A53等ARM体系的处理器应用技术,拥有全系列的工业级ARM核心板与工控机。同时,基于对嵌入式技术的理解与积累,我们自主研发下一代软件开发平台-Aworks实时操作系统,帮助用户基于稳定的软硬件平台快速实现产品开发,基于ZLG工业级核心板/工控板开发的产品已广泛应用于电力、轨道交通、工业现场、医疗等对产品可靠性要求较为苛刻的场合,并不断深入为各行业提供整套行业应用解决方案。