建立网站需要多少钱,wordpress product插件,商标注册多少钱,百度网站 收录RTC精度偏差#xff1a; RTC的基准时间和精度与石英晶体的频率相关#xff0c;晶体的谐振频率取决于温度#xff0c;因此RTC性能与温度相关#xff0c;晶体的频率偏差是晶体正常频率的温度反转函数。
一、硬件方面#xff1a;
1.使用高精度振荡器的RTC模块#xff1b; …RTC精度偏差 RTC的基准时间和精度与石英晶体的频率相关晶体的谐振频率取决于温度因此RTC性能与温度相关晶体的频率偏差是晶体正常频率的温度反转函数。
一、硬件方面
1.使用高精度振荡器的RTC模块
2.使用自带温补的RTC芯片
3.使用温度补偿晶体振荡器
4.电路中的晶振负载电容值、阻抗控制、布局时考虑电磁干扰
5.供电电池的状态
以上几个方面可以减小硬件带来的精度偏差。
二、软件方面
1.使用网络时间协议NTP服务器同步时间
2.外部时钟源如GPS进行校准
3.STM32内部RTC校准测量误差开发校准算法 STM32内部RTC精度不高一般采用两种方法进行补偿
1实测RTC的运行偏差与标准时钟做对比例如每30天跑快的秒数偏差计算ppm误差 校准公式 ppm误差偏差s/基准值s* 例如每30天跑快的秒数偏差为1.7S那么误差为1.7s/30*24*60*60*0.65ppm。根据计算得到的误差值查表AN2604.pdf得到校准值 表格数据转换的计算公式 假设校准值为1每时钟周期扣除1个时钟脉冲注STM32使用一个周期计数器进行校正这个数字校正器通过从个时钟周期减去0~127个周期的方法校正1/*0.954ppm 由于校准值最大为127 因此最大可以减慢0.954*127121ppm。 每30天快1s精度计算 1s/30*24*60*60*0.386ppm 假设每30天偏差为100偏差100*0.386/0.95429.97≈30校准值为30。由此将校准值传入库函数BKP_SetRTCCalibrationValue(校准值)中补偿。
2测量TamperPin频率值需要使用高精度频率计计算ppm误差 局限性 校准的精度依赖于主时钟精度例如STM32使用8M晶振作为主频RTC校准寄存器只能对跑快时间校准那么跑慢的时间校准就需要软件配置晶振值为其范围的最小值。 方法 采用软件自动校准用户手动校准的方法使用定时器T2对TamperPin的频率值自动测量例如晶振使用32.768KHz±2Hz那么32766作为基准频率TamperPin32766hZ/64511.968Hz然后使用高精度频率计测量TamperPin频率值若实测值TamperPin511.982Hz误差为511.982-511.968/511.968*27.35ppm查表AN2604.pdf得到校准值为28。 注意STM32复位会对RTC偏差有影响 4.RTC芯片配置校准
1模拟微调寄存器ATR0~5共6个模拟微调位调整片内负载电容值用于RTC频率补偿
2数字微调寄存器DTR0-2共3个调整每秒钟的平均计数值和平均ppm误差 采用ATRDTR微调结合的方法可调ppm范围更大具体可参考使用的芯片规格书。