打印
[MM32硬件]

MM32F0133 RTC时钟不准

[复制链接]
6778|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电路板是官方的MM32_LQFP48_CoreBoard V1.0,使用外部LSE,用示波器看晶振波形很稳定,频率32.7677KHz,但用官网下的代码,1s相差大概100~200毫秒,且误差不稳定。读RTC_DIV的数据也一直在变化。

使用特权

评论回复
评论
Malesunsky 2021-8-24 11:34 回复TA
楼主你好,请问这款开发板官方有原理图吗?我一直没找到 
沙发
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 | 只看该作者

使用特权

评论回复
5
zhu^zhu| | 2021-3-25 18:00 | 只看该作者
我觉得应该是9:8两位是正确的,应该是位图画错了。

使用特权

评论回复
6
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的值是在初始化时写了一次。预分频器的值怎么会一直变呢?

使用特权

评论回复
7
yangjiaxu| | 2021-5-23 19:53 | 只看该作者
这个倒是没遇到过,楼主最后解决了么

使用特权

评论回复
8
Betty1299| | 2021-5-24 09:42 | 只看该作者
一般内部RTC都不是太准,可以考虑外部RTC芯片试试

使用特权

评论回复
9
piteqiu| | 2021-5-24 11:28 | 只看该作者
确实内部的晶振误差比较大,推荐用外部的32768,这样误差较高。

使用特权

评论回复
10
andygirl| | 2021-6-17 21:21 | 只看该作者
我想问下1S差个100-200ms是怎么测试的。
我用的rtc,也确实存在误差,一天也就差个几秒,基本上RTC跑起来,就没人关注了。
也没有专门的去测量过。
只是设备跑了好久,突然有人说,查了5分钟。。。。

使用特权

评论回复
11
shymaster|  楼主 | 2021-6-18 15:56 | 只看该作者
andygirl 发表于 2021-6-17 21:21
我想问下1S差个100-200ms是怎么测试的。
我用的rtc,也确实存在误差,一天也就差个几秒,基本上RTC跑起来, ...

设置1秒中断测啊,1天差个几秒钟也还可以接受,每天同步一次时钟就可以了

使用特权

评论回复
12
shymaster|  楼主 | 2021-6-18 15:57 | 只看该作者
piteqiu 发表于 2021-5-24 11:28
确实内部的晶振误差比较大,推荐用外部的32768,这样误差较高。

是用的外部晶振

使用特权

评论回复
13
andygirl| | 2021-6-18 16:02 | 只看该作者
shymaster 发表于 2021-6-18 15:56
设置1秒中断测啊,1天差个几秒钟也还可以接受,每天同步一次时钟就可以了 ...

这样试的话,把时间弄长一点,比如30秒,
也许会可靠一些

使用特权

评论回复
14
alxd| | 2021-8-25 13:42 | 只看该作者
建议用外挂的时钟芯片吧,这样会稳很多

使用特权

评论回复
15
Carina卡| | 2021-8-25 13:43 | 只看该作者
是不是板子的温度散热不好呢?因为内部RTC受温度影响很大

使用特权

评论回复
16
B1lanche| | 2021-8-25 13:44 | 只看该作者
看看温度等外部影响方面,因为你这误差有点儿大了,不太对劲

使用特权

评论回复
17
Carmen7| | 2021-8-25 13:45 | 只看该作者
这么大的误差 觉得不太对劲,可以问问官方的技术支持,FAE,问问到底是什么原因导致的吧

使用特权

评论回复
18
Annie556| | 2021-8-25 13:47 | 只看该作者
看看是否有干扰源吧,这误差有点儿大,一般情况不会有这么大的误差呢

使用特权

评论回复
19
Betty996| | 2021-8-25 13:49 | 只看该作者
看看官方的RTC例程吧,看看是否有什么出入,对比一下,看看有没有什么补偿系数之类的 看看是否可以调节

使用特权

评论回复
20
Candic12e| | 2021-8-25 13:52 | 只看该作者
用外挂时钟吧,稳得很

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

21

帖子

0

粉丝