1
RTC变成1970年的问题与解决方案
在某些嵌入式产品运行一段时间后,可能会出现RTC(Real-Time Clock)时间回退到1970年,导致程序运行异常。
这通常与RTC电池电压过低有关,具体表现为内核日志提示类似以下内容:
rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
这表明RTC电池电压偏低,无法保证时间的准确性,从而影响系统的时间同步。
2
PCF8563 RTC芯片的低电压检测功能
PCF8563芯片具有低电压检测功能。
当检测到RTC电池电压低于0.9V时,芯片会标记时间数据为不可靠(参考图1)。
这可能导致系统时间不同步甚至程序异常。

图2 RTC多电源供电参考原理图 设计时需要注意以下几点:
- RTC_VDD 专供时钟芯片,RTC_VDD应仅连接到时钟芯片的VDD引脚,以避免供电干扰。
- 选择低压降、低漏电流二极管,在RTC_VDD的供电线路上,二极管的压降和漏电流直接影响供电效率和电池寿命,应优先选择低损耗型号。
- I²C 上拉电阻使用系统电源,RTC芯片的I²C总线需要使用系统主电源作为上拉电阻供电,避免增加RTC电池负担。
- 预留CLKOUT调试测试点,CLKOUT信号可用于调试时钟精度,在调试结束后关闭该功能以降低功耗。
|