[信息] 实测STM32的RTC,什么校准都不做,不断电,半年后快了13分钟

[复制链接]
174|0
Zuocidian 发表于 2025-11-7 11:00 | 显示全部楼层 |阅读模式
【测试结果】
TOOL的RTC时钟一直都是通过上位机这里手动校准的,这次做了了实验,测试期间不做任何校准,看看半年后效果。

测试是从去年的9月29号开始

30940690c4640ea512.png

截至到今年的4月5号,快了13分钟


14049690c463ba4456.jpg

【误差原因】
因为晶振对温度敏感,下面是典型的温度对晶振影响:

STM32支持LSI内部低速时钟或者LSE外置低速时钟,使用外部就要接32768Hz的晶体。

一个月的典型误差50秒左右。


4411690c4634c14ca.png

【校准】
以外置RTC  DS3231为例,精度是:
Accuracy ±2ppm from 0°C to +40°C        ---- 每个月30天算的最大误差是2*10^-6 * 24 * 60 *60 * 30 = 5.184秒
Accuracy ±3.5ppm from -40°C to +85°C  ---- 每个月30天算的最大误差是3.5*10^-6 * 24 * 60 *60  * 30 = 9.072秒

使用STM32内部RTC不行,白天温度不稳定的话,当天的误差差不多就有1-2秒。主要是晶振不是温补的。

ST提供了一些方案,但是不实用:

方法1:Smooth digital calibration

这种方法使用比较麻烦,当前提供的案例需要用户使用超高精度的信号时钟,精确到几个ppm,发送这个信号给板子做校准。然后示波器测量实际的输出效果来确实是否采用这个校准值。


42121690c462b9d7f7.png


方法2: RTC时钟同步

官方提供的例子没什么参考价值,倒腾了高精度的HSE来实现。

方法3: 使用50Hz/60Hz高精度参考时钟辅助


2298690c462402d89.png

这个实用性也有点差。

3、当前推荐方案

(1)使用外置温补晶振,但价格略高,10块钱左右:

(2)使用自带温补的RTC芯片。

————————————————
版权声明:本文为CSDN博主「硬汉嵌入式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Simon223/article/details/137470532

您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

301

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部