eric2013 发表于 2024-4-7 08:16:50

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

【测试结果】
TOOL的RTC时钟一直都是通过上位机这里手动校准的,这次做了了实验,测试期间不做任何校准,看看半年后效果。

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

https://img.anfulai.cn/dz/attachment/forum/202309/29/080033fd00px9anxd8nhdx.png

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

https://img.anfulai.cn/dz/attachment/forum/202404/05/103757kgil9dke989ked9e.jpg

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

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

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

https://img.anfulai.cn/dz/attachment/forum/202107/23/140142nmb34jzg44b36pap.png


【校准】

以外置RTCDS3231为例,精度是:
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,发送这个信号给板子做校准。然后示波器测量实际的输出效果来确实是否采用这个校准值。

https://img.anfulai.cn/dz/attachment/forum/202107/23/140830r5vvtdvvbvdbtt02.png

方法2: RTC时钟同步

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

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

https://img.anfulai.cn/dz/attachment/forum/202107/23/143227llgyqx6o6jpp6flq.png

这个实用性也有点差。

3、当前推荐方案

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

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

【RTC校准软件包】

https://www.st.com/en/embedded-software/x-cube-rtc.html

1315150719 发表于 2024-4-7 08:47:41

我记得复旦微的FM33系列MCU有提供内部RTC实现温度补偿的示例的,貌似还可以,但是需要硬件支持,不确定ST能不能参考类似的思路进行实现

emwin 发表于 2024-4-7 09:43:42

(与我的研究课题相关),校准+温度补偿+广播对时,是仪器设备常用方案。方法1不算麻烦,标准设备也可以考虑自研,会用于批量生产。

zhang0352505 发表于 2024-4-7 09:44:25

我们好像用的是方法二,定时修正RTC

LinY 发表于 2024-4-7 09:48:27

用了rx8025t

cctv180 发表于 2024-4-7 10:52:51

LinY 发表于 2024-4-7 09:48
用了rx8025t

rx8025t +1024

庄永 发表于 2024-4-7 11:39:09

如果项目要求时钟精度这么高的话,成本应该不是特别敏感,大佬推荐的两个方案都很合适

eric2013 发表于 2024-4-7 11:40:58

1315150719 发表于 2024-4-7 08:47
我记得复旦微的FM33系列MCU有提供内部RTC实现温度补偿的示例的,貌似还可以,但是需要硬件支持,不确定ST能 ...

谢谢分享,我找下。

eric2013 发表于 2024-4-7 11:41:36

emwin 发表于 2024-4-7 09:43
(与我的研究课题相关),校准+温度补偿+广播对时,是仪器设备常用方案。方法1不算麻烦,标准设备也可以考虑 ...

你们做个温补是软件方案还是硬件方案。

eric2013 发表于 2024-4-7 11:48:22

RX8025



emwin 发表于 2024-4-7 13:36:19

eric2013 发表于 2024-4-7 11:41
你们做个温补是软件方案还是硬件方案。

运行时是软件补偿,低功耗是硬件补偿。

fyyxxm 发表于 2024-4-22 09:46:46

直接做个恒温晶振。
页: [1]
查看完整版本: 实测STM32的RTC,什么校准都不做,不断电,半年后快了13分钟