RTC时钟时间出现了明显的偏移
1、开发环境
平台:imx6ul
kernel版本:linux4.1.5
RTC芯片:PCF85063
硬件电路图如下所示
2、问题阐述
硬件时钟RTC往往是用作系统在掉电后,用纽扣电池维持硬件时钟继续运转时间。待系统起来后,再将硬件时间同步到系统时间上。
所以,硬件时间是否准确就很重要了。最近发现一款RTC芯片PCF85063,稍微运行个3-4个小时,就会跟系统时间出现明显的时间偏移(大概是2-3秒),按这个计算一天就12秒左右了。这是完全不可以接受的。
影响时间不准有几大因素:
1、输入时钟(晶振)
2、芯片本身
3、芯片电压不稳定
4、硬件电路问题
接下来我们去验证
3、验证问题
3.1、首先去排查了硬件电路和芯片电压不稳定的问题。
3.2、晶振的问题。
不同的晶振输出的频率都会有所差异,比如同样是32.768KZ的不同型号的晶振,在同一个板子上,分别会出现快了5秒和慢了3秒的情况。
经过实验,分别换电路图中晶振的负载电容,比如5pf,7pf,12.5pf,15pf,22pf。确实是会出现不用程度的时间偏移,
但优化程度