RTC
1. 概述
RTC作为单片机的实时时钟,在我们开发过程中,对其精度有着一定的要求。RTC由晶振输出脉冲驱动,平常使用的频率为32768Hz,但是随着温度、压力等环境因素,往往会导致其频率发生偏差,从而导致计时不准确的问题。
2. 温度补偿
2.1 温度补偿原理
时钟精度往往会随着温度的变化发生变化,其发生变化有着一定的规律,在不同的温度下它的偏差值ppm值不同,因此通过【高低温箱】、【时钟精度仪器】,可以获取在不同温度下的偏差值,用描点的方式会发现它近似于一个开口向下的抛物线,但是有着一定的偏差,但是我们可以通过曲线拟合的方式找到误差最小的抛物线,以此来计算偏差值进行补偿。
//TODO:附图
2.2 公式
偏差值(ppm) = a *(T - T’)² + b
时钟误差(s/d) = ppm * 1000000 / 86400
2.3 操作步骤
- 将a和b设为0
- 使用【时钟精度仪】监控rtc脉冲输出,获取时钟误差(s/d)
- 将初始温度设置为25℃,此时可以计算出参数b,以每15度为一个节点,设置环境温度(-50~90)℃
- 每一个温度节点都需要等待环境温度、mcu温度、晶振源稳定后,在记录时钟偏差值
- 通过时钟误差值计算出偏差值(ppm),通过描点画出离散数据
- 通过最小二乘法将数据进行拟合得出参数a,拟合的时候将参数b设置为0