数码之家

 找回密码
 立即注册
搜索
查看: 4273|回复: 82

[ARM] 为什么大多数人都不喜欢使用STM32内置的RTC?

[复制链接]
发表于 2023-5-14 09:10:31 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用STM32制作而成的电子钟,大多数人都不喜欢使用STM32内置的RTC,而是使用外置的RTC芯片来作为时基信号,这是为什么?
是不是STM32内置的RTC模块难以配置和操作?还是它的准确性有问题,还是别的问题?请大神们各抒己见。

发表于 2023-5-14 09:30:44 | 显示全部楼层
应该是不准确,难校准,不利于批量生产。
回复 支持 反对

使用道具 举报

发表于 2023-5-14 09:43:58 | 显示全部楼层
我没用过,不过估计多数是因为精度问题吧。
回复 支持 反对

使用道具 举报

发表于 2023-5-14 11:35:18 | 显示全部楼层
我不用的原因是不准,定时器比他准多了
回复 支持 反对

使用道具 举报

发表于 2023-5-14 12:42:44 | 显示全部楼层
内置rc振荡,精度温漂肯定差些
回复 支持 反对

使用道具 举报

发表于 2023-5-14 15:11:50 | 显示全部楼层
一般RTC使用外部32768晶振提供时钟信号,STM32 RTC的精度问题不赖STM32本身,所有使用外部晶振的RTC都一样,精度主要由晶振本身和所接的匹配电容决定,建议匹配电容使用低温漂的COG(NPO)材质电容。

要这种RTC时间准,需要校准,STM32 RTC校准机制我不清楚,以使用过的华大(小华)HC32L136来说,可以设置外部32768晶振提供主时钟,从特定引脚输出主时钟信号,不分频,测量输出信号的实际频率,根据实际测量值设置补偿参数,用这种方法一次补偿后大概可以做到每月偏差3秒左右。如果是个人DIY,可以运行一段时间,如一周、一个月,看看实际偏差有多少,根据这段时间的偏差再修正一个补偿值,这样处理后精度可以做到每月偏差1秒左右。


回复 支持 反对

使用道具 举报

发表于 2023-5-14 16:53:53 来自手机浏览器 | 显示全部楼层
手表用的是stm32L系列的,不连接蓝牙校时一年的误差也不到1分钟不知道他们怎么做到的…没有时钟模块哈…
回复 支持 反对

使用道具 举报

发表于 2023-5-14 17:05:26 | 显示全部楼层
先不说精度。掉电继续走时,这个是时钟的基本要求,内置的有?
回复 支持 反对

使用道具 举报

发表于 2023-5-14 17:15:10 来自手机浏览器 | 显示全部楼层
kpj001 发表于 2023-5-14 17:05
先不说精度。掉电继续走时,这个是时钟的基本要求,内置的有?


有啊,STM32的RTC有电池脚,要接电池的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-14 17:39:05 | 显示全部楼层
kpj001 发表于 2023-5-14 17:05
先不说精度。掉电继续走时,这个是时钟的基本要求,内置的有?

使其掉电下继续走时,我到目前还不清楚如何操作。
https://www.mydigit.cn/thread-374462-1-1.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-14 17:40:49 | 显示全部楼层
kpj001 发表于 2023-5-14 17:05
先不说精度。掉电继续走时,这个是时钟的基本要求,内置的有?

1脚VBAT接电池,就能保证掉电时继续走时。
回复 支持 反对

使用道具 举报

发表于 2023-5-14 17:48:29 来自手机浏览器 | 显示全部楼层
lmn2005 发表于 2023-5-14 17:39
使其掉电下继续走时,我到目前还不清楚如何操作。
https://www.mydigit.cn/thread-374462-1-1.html ...

掉电不需要做任何处理,只是主电源上电时要检测一下RTC是否已初始化,为未初始化则初始化,然后写入一个已初始化标志,已初始化则跳过。
回复 支持 反对

使用道具 举报

发表于 2023-5-14 18:20:14 | 显示全部楼层
lmn2005 发表于 2023-5-14 17:40
1脚VBAT接电池,就能保证掉电时继续走时。

这样的话那其实的可以用内置,只要保证每隔一段时间校准一次,但是校准也是个事,不如esp8266 wifi来得实惠
回复 支持 反对

使用道具 举报

发表于 2023-5-14 18:27:23 来自手机浏览器 | 显示全部楼层
内置精确度不行吧,103系列外部32.768k晶振还经常出问题,据说挑晶振。而DS1302这样的精度也不怎么样
回复 支持 反对

使用道具 举报

发表于 2023-5-14 21:49:07 | 显示全部楼层
用外置SD2078、SD3078的路过
回复 支持 反对

使用道具 举报

发表于 2023-5-14 21:55:33 | 显示全部楼层
喜欢就用,应该没多少讲究
回复 支持 反对

使用道具 举报

发表于 2023-5-14 22:05:36 | 显示全部楼层
msvcp60 发表于 2023-5-14 18:27
内置精确度不行吧,103系列外部32.768k晶振还经常出问题,据说挑晶振。而DS1302这样的精度也不怎么样 ...

RX-8025T可以,温补的
回复 支持 反对

使用道具 举报

发表于 2023-5-15 08:16:32 | 显示全部楼层
应该是准确性有问题
回复 支持 反对

使用道具 举报

发表于 2023-5-15 09:01:15 | 显示全部楼层
inthsunshine 发表于 2023-5-14 22:05
RX-8025T可以,温补的

我曾经用RX8025T为STC8H内部RTC提供外部时钟,精度没问题了,但后来又改回了对8025T直接I2C操作了,因为我发现使用内部RTC也不比使用外部的省事,如果无需外部晶振的话、用内RTC是最方便的,如果需要使用外部晶振的话、我觉得加一个8025T或许更实用些。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-2 06:55 , Processed in 0.156000 second(s), 8 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表