qqtfh 发表于 2022-12-31 11:27

求助,频繁读写BKP备份寄存器,导致RTC误差大。

如题,因为需要用到BPK备份寄存器RAM,平均一秒读写一次备份RAM,RTC 12小时的竟然误差34秒。一开始我以为是STM32F103的RTC太差了。于改修改PCB,使用DS1302做RTC。没想到误差更大,1小时就误差60秒。DS1302我使用过非常多,其它地方并没有这样的问题。经过反复对比,我终于发现,只要不读写备份RAM就没有问题。只要一读写,无论读写多少次都会造成误差。读写得越多,误差越大。求解决办法,求指点。

Bowclad 发表于 2023-1-1 16:39

减少写入次数

一周一天班 发表于 2023-1-1 17:49

既然加了ds1302,那么stm32的rtc也用上,但只做数据保存,不理会时间。

qqtfh 发表于 2023-1-2 09:59

一周一天班 发表于 2023-1-1 17:49
既然加了ds1302,那么stm32的rtc也用上,但只做数据保存,不理会时间。

我试一下这样RTC还会不会受影响,但是这样的话,RTC电池,要同时给2个芯片供电。耗电量会增大。

yeates333 发表于 2023-1-5 14:58

DS1302有时间的误差的吗?            

updownq 发表于 2023-1-9 13:12

为什么要读写这个数据呢?            

小小蚂蚁举千斤 发表于 2023-1-9 15:38

减少写入的次数。

jkl21 发表于 2023-1-10 20:10

你使用的32K的晶振吗?            

Pretext 发表于 2023-1-11 09:55

读写BKP备份寄存器为什么会导致RTC出问题?

朝生 发表于 2023-1-11 09:55

BKP备份寄存器和内部RTC应该没有直接的联系吧?更别说外部RTC了。

芯路例程 发表于 2023-1-11 09:56

我感觉是读写备份RAM的程序有问题。贴出来看看呗。

qqtfh 发表于 2023-1-12 15:25

朝生 发表于 2023-1-11 09:55
BKP备份寄存器和内部RTC应该没有直接的联系吧?更别说外部RTC了。

你大概没看明白我说的意思。内部RTC和BKP是共用时钟LSE或LSI时钟的。还有RTC和BKP是共用备份电源的。怎么说没有直接联系?我说外部RTC,不是指内部BKP和外部RTC的关系。因为换成外部RTC了,时钟备份电源和时钟晶振也换到外部RTC了。所以,也换成了外部备份RAM。就是DS1302的32字节的RAM。

朝生 发表于 2023-1-12 16:41

qqtfh 发表于 2023-1-12 15:25
你大概没看明白我说的意思。内部RTC和BKP是共用时钟LSE或LSI时钟的。还有RTC和BKP是共用备份电源的。怎么 ...

懂了,那就只能研究为什么读的时候会导致RTC出现误差了。

fengm 发表于 2023-1-12 17:09

这个为什么不使用内部的RTc?            

1988020566 发表于 2023-1-19 13:43

这个怎么可能会有问题呢。            

jackcat 发表于 2023-1-19 14:23

这个是晶振的问题吧。            

vivilyly 发表于 2023-1-21 16:09

bkp只是保存参数而已。            

SantaBunny 发表于 2023-2-3 18:46

可以先减少写入的次数,再看看有没有时间的误差。
页: [1]
查看完整版本: 求助,频繁读写BKP备份寄存器,导致RTC误差大。