[MM32硬件] MM32F0133 RTC时钟不准

[复制链接]
 楼主| shymaster 发表于 2021-3-24 11:43 | 显示全部楼层 |阅读模式
电路板是官方的MM32_LQFP48_CoreBoard V1.0,使用外部LSE,用示波器看晶振波形很稳定,频率32.7677KHz,但用官网下的代码,1s相差大概100~200毫秒,且误差不稳定。读RTC_DIV的数据也一直在变化。

评论

楼主你好,请问这款开发板官方有原理图吗?我一直没找到  发表于 2021-8-24 11:34
zhu^zhu 发表于 2021-3-24 19:41 | 显示全部楼层
这样看您的测量方法,示波器探头必须测量PA8(MCO)输出的LSE信号。
 楼主| shymaster 发表于 2021-3-25 12:18 | 显示全部楼层
zhu^zhu 发表于 2021-3-24 19:41
这样看您的测量方法,示波器探头必须测量PA8(MCO)输出的LSE信号。

我测了MCO的输出在33KHz左右,但库函数里面RCC_MCO_LSE、RCC_IT_LSERDY都定义为0,RCC_CFGR_MCO也只定义了3位,我都按数据手册里的改了。仿真时我看了RCC_BDCR的寄存器的RTCSEL位,选择LSE时无论直接写寄存器还是调用库函数始终为00。搞了半天,看数据手册惊呆了,RCC_BDCR的寄存器的RTCSEL位在位指示里是10:9 2位,位说明里9:8 2位,库宏也是按9:8 2位定义的。于是把宏改为10:9 2位,RTCSEL和数据手册里的位说明一致了,但时钟跑得更快,5s闹钟中断只要3~4s。还是那个问题RTC_DIV的数据怎么会变呢,又不是计数器,分频器的数据一直变计时怎么可能会准。
 楼主| shymaster 发表于 2021-3-25 12:21 | 显示全部楼层
zhu^zhu 发表于 2021-3-25 18:00 | 显示全部楼层
我觉得应该是9:8两位是正确的,应该是位图画错了。
 楼主| shymaster 发表于 2021-3-25 18:12 | 显示全部楼层
zhu^zhu 发表于 2021-3-25 18:00
我觉得应该是9:8两位是正确的,应该是位图画错了。

但keil里面调试时寄存器是按10:9两位显示的,LSE-->01显示的是00.LSI-->10显示的是01。最主要的是RTC_DIV预分频因子寄存器文档里说每个TR_CLK周期会重载RTC_PRL的值,RTC_PRL的值是在初始化时写了一次。预分频器的值怎么会一直变呢?
yangjiaxu 发表于 2021-5-23 19:53 | 显示全部楼层
这个倒是没遇到过,楼主最后解决了么
Betty1299 发表于 2021-5-24 09:42 | 显示全部楼层
一般内部RTC都不是太准,可以考虑外部RTC芯片试试
piteqiu 发表于 2021-5-24 11:28 | 显示全部楼层
确实内部的晶振误差比较大,推荐用外部的32768,这样误差较高。
andygirl 发表于 2021-6-17 21:21 | 显示全部楼层
我想问下1S差个100-200ms是怎么测试的。
我用的rtc,也确实存在误差,一天也就差个几秒,基本上RTC跑起来,就没人关注了。
也没有专门的去测量过。
只是设备跑了好久,突然有人说,查了5分钟。。。。
 楼主| shymaster 发表于 2021-6-18 15:56 | 显示全部楼层
andygirl 发表于 2021-6-17 21:21
我想问下1S差个100-200ms是怎么测试的。
我用的rtc,也确实存在误差,一天也就差个几秒,基本上RTC跑起来, ...

设置1秒中断测啊,1天差个几秒钟也还可以接受,每天同步一次时钟就可以了
 楼主| shymaster 发表于 2021-6-18 15:57 | 显示全部楼层
piteqiu 发表于 2021-5-24 11:28
确实内部的晶振误差比较大,推荐用外部的32768,这样误差较高。

是用的外部晶振
andygirl 发表于 2021-6-18 16:02 | 显示全部楼层
shymaster 发表于 2021-6-18 15:56
设置1秒中断测啊,1天差个几秒钟也还可以接受,每天同步一次时钟就可以了 ...

这样试的话,把时间弄长一点,比如30秒,
也许会可靠一些
alxd 发表于 2021-8-25 13:42 | 显示全部楼层
建议用外挂的时钟芯片吧,这样会稳很多
Carina卡 发表于 2021-8-25 13:43 | 显示全部楼层
是不是板子的温度散热不好呢?因为内部RTC受温度影响很大
B1lanche 发表于 2021-8-25 13:44 | 显示全部楼层
看看温度等外部影响方面,因为你这误差有点儿大了,不太对劲
Carmen7 发表于 2021-8-25 13:45 | 显示全部楼层
这么大的误差 觉得不太对劲,可以问问官方的技术支持,FAE,问问到底是什么原因导致的吧
Annie556 发表于 2021-8-25 13:47 | 显示全部楼层
看看是否有干扰源吧,这误差有点儿大,一般情况不会有这么大的误差呢
Betty996 发表于 2021-8-25 13:49 | 显示全部楼层
看看官方的RTC例程吧,看看是否有什么出入,对比一下,看看有没有什么补偿系数之类的 看看是否可以调节
Candic12e 发表于 2021-8-25 13:52 | 显示全部楼层
用外挂时钟吧,稳得很
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

21

帖子

0

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