STM32的RTC进行温度补偿
利用STM32的内部温度传感器,对RTC进行温度补偿当然可以,但难以做到专用的RTC芯片年内误差小于10S的水平。会有几个地方有差距:
首先,STM32的内部温度传感器测的是芯片内部的温度,跟外部RTC晶体的温度有误差,采取一些措施可以减少误差;专用的RTC芯片,RTC晶体和温度传感器是紧密在一起的。其次,专用的RTC芯片,RTC晶体是专门选购的,一致性好;当然,也可以自己向专业厂商专门购买RTC晶体,来缩短差距。还有,专用的RTC芯片,可以对每个RTC晶体,在多个温度点进行测量,并把参数写入芯片内部;当然,自己也可以这么做,但就是费时费力。
因此,我估计采取一些措施后,普通用户自己可以做到(批量)年内误差小于100S的水平。 |