数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 7166|回复: 25

[STM] STM32的RTC问题其实不小啊!!

[复制链接]
发表于 2020-4-5 21:27:52 | 显示全部楼层 |阅读模式

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

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

x
        两年前的开发板,买的时候看了简介说用了高质量的石英晶体能完美与STM32匹配,包起振。当时买回来时候,也做了简单测试,LSE能开,RTC能配置能走,但是走时不稳定停停走走,还乱跳,用J-link监视相关寄存器就看见奇怪的行为。
        这段时间我不是做了更进一步探索吗,拿出这个开发板,除了闲置时间长了排针生锈以外,基本没啥问题。结果调好其它功能后调试RTC,发现RTC寄存器怎样都无法配置,写了CNF位以后RTOFF不会自动置位,直接卡在检测阶段了。后来仔细检查代码发现步骤没错后,拔掉RTC电池,烧录程序屏蔽RTC操作,彻底断电后再烧录正常代码调试。结果发现原来LSE已经出问题了,开不了了。原来这个开发板有电池维持RTC状态,所以之前开启LSE后LSE的状态寄存器一直维持着,哪怕已经停振了,LSE_RDY依然是置位的,所以导致后续代码直接出错了。没有时钟给RTC模块,我配个舌头!现在直接原形毕露,代码卡在重新使能LSE上了,我也没辙了,开发板没摔过,表面也没有什么明显损坏,但是LSE已经不行了。:sweat::mad:还好,这几天我又买了个新的,到时候再试试看,反正这块芯片的SPI2接口已经被我不知咋滴搞坏了。
       所以开发板的GPIO我觉得还是要串个200R左右的电阻,加一个ESD二极管,要不然怎么坏的都不知道。不过LSE引脚似乎没有直接引出,应该不是误操作搞坏了。


发表于 2020-4-5 21:59:19 | 显示全部楼层
芯片可能损坏了,不能怪RTC吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-5 22:17:11 | 显示全部楼层
maithon 发表于 2020-4-5 21:59
芯片可能损坏了,不能怪RTC吧。

LSE的GPIO默认不引出,直接连接到晶体上的,因为误操作损坏的概率其实很小。
仔细看,刚买不久就测试过一次,虽然LSE看起来正常,但是RTC计数其实是混乱的,有时候计数有时候不计数的。估计还是LSE起振了不稳定所致。
回复 支持 反对

使用道具 举报

发表于 2020-4-6 00:12:50 | 显示全部楼层
应该是MCU内部存在局部损坏

芯片都是很成熟的工业品,经过大量的测试
否则手册是怎么来的
回复 支持 反对

使用道具 举报

发表于 2020-4-6 01:03:21 | 显示全部楼层
这么扯吗?晶振停了还LSE_RDY?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 08:00:40 | 显示全部楼层
2545889167 发表于 2020-4-6 01:03
这么扯吗?晶振停了还LSE_RDY?

这个好像是没办法的事。因为xHS_RDY这个标志位是“一次性”的,完全掉电复位后,它自动请除恢复默认值0.但是通电一旦时钟准备好就一直是1了,哪怕之后时钟突然挂了也不会自己变为0的。RTC区域有备份电池,所以这个状态不随着主系统的通电断电而复位。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 08:03:07 | 显示全部楼层
茶壹杯 发表于 2020-4-6 00:12
应该是MCU内部存在局部损坏

芯片都是很成熟的工业品,经过大量的测试

所以凡事都有个例外,这种相同的问题一搜一大把,绝对不是少数,据说连ST官方都道歉了,你说呢?
回复 支持 反对

使用道具 举报

发表于 2020-4-6 09:42:16 | 显示全部楼层
la45088d1 发表于 2020-4-6 08:03
所以凡事都有个例外,这种相同的问题一搜一大把,绝对不是少数,据说连ST官方都道歉了,你说呢? ...

果然是高手  这都能遇上 :handshake:
说的是哪个型号

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 10:35:26 | 显示全部楼层
茶壹杯 发表于 2020-4-6 09:42
果然是高手  这都能遇上
说的是哪个型号

你自己百度看看就行了,STM32 RTC的花式问题,直接不起振啊,起振以后不定时停振结果RTC不走啊,或者是这次起振了下次直接卡检测起振的代码啊,还有就算起振了误差奇大等等,问题集中在F1系列,后面的系列应该改进了所以很少或者没有。STM32 的 RCT设计问题是共识好吗,别整的就我一个人出事一样。实际上这个问题被提出N遍了。
https://www.baidu.com/s?wd=stm32 ... 258C%25AF&rsp=0
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-4-6 10:38:31 | 显示全部楼层
茶壹杯 发表于 2020-4-6 09:42
果然是高手  这都能遇上
说的是哪个型号

我这块核心板自认为硬件设计还是可以的,石英晶体用料还可以,不是市面上那种普通的圆柱壳晶振,是方形四角塑封的晶体。其实就算是硬件设计问题我也没办法,毕竟现在我只想写代码,不想自己给自己画个开发板。JLC又有5RMB打样了,我知道。
回复 支持 反对

使用道具 举报

发表于 2020-4-6 15:50:47 | 显示全部楼层
本帖最后由 茶壹杯 于 2020-4-6 16:19 编辑
la45088d1 发表于 2020-4-6 10:38
我这块核心板自认为硬件设计还是可以的,石英晶体用料还可以,不是市面上那种普通的圆柱壳晶振,是方形四 ...

请教下 :handshake:  RTC  除了做了时钟、日历这些应用, 还有什么作用?
一般什么应用下  RTC是必须有的部分?

百度过  理解跟不上 :shy:  基础太差
茶是新手  单片机方面连菜鸟都算不上
还没开始玩STM32   手头也只有F1 的简单系统板
---------------------------
忘了最近还买过个F0


回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 15:59:39 | 显示全部楼层
茶壹杯 发表于 2020-4-6 15:50
请教下   RTC  除了做了时钟、日历这些应用, 还有什么作用?
一般什么应用下  RTC是必须有 ...

没其它太特殊的作用了。RTC主要是计时,给用户提供时间,在需要显示时间的产品用的多。当然一些低功耗的并且需要周期性唤醒且唤醒周期长的设备同样需要RTC产生低速的中断控制唤醒。而休眠期间RTC计时功耗极低。
玩MCU,那就开始玩嘛,当成一件享受的事慢慢前进就好,迈出第一步就可以越走越远了。
回复 支持 反对

使用道具 举报

发表于 2020-4-6 16:10:42 | 显示全部楼层
STM32的RTC玩玩就行,别太当真了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 16:12:09 | 显示全部楼层
netbeetle 发表于 2020-4-6 16:10
STM32的RTC玩玩就行,别太当真了。

我需要做一个闹钟啊,这样怎么玩,虽然问题多多,但是看到还是有很多开发人员排除万难,成功做出了产品。
回复 支持 反对

使用道具 举报

发表于 2020-4-6 16:32:54 | 显示全部楼层
la45088d1 发表于 2020-4-6 15:59
没其它太特殊的作用了。RTC主要是计时,给用户提供时间,在需要显示时间的产品用的多。当然一些低功耗的并 ...

休眠功能本质上应该也算时钟 对吧?

看来我那块F1想玩的话  得避开RTC部分的 :sad:

这个RTC瑕疵在F0上有发现过吗
最近还买过个F0 当然也在抽屉里吃灰

回复 支持 反对

使用道具 举报

发表于 2020-4-6 17:01:49 | 显示全部楼层
茶壹杯 发表于 2020-4-6 16:32
休眠功能本质上应该也算时钟 对吧?

看来我那块F1想玩的话  得避开RTC部分的

F1的RTC是整个STM32 家族中最垃圾的,其实就是个简单的计数器,通过这个计数器计算出需要的东西。当然只用来做休眠问题不大,但是做时钟,算了把。还是上个时钟芯片靠谱。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-6 19:33:24 | 显示全部楼层
茶壹杯 发表于 2020-4-6 16:32
休眠功能本质上应该也算时钟 对吧?

看来我那块F1想玩的话  得避开RTC部分的

避开与否自己判断,你可以试试启动下LSE,然后隔一段时间观察下RTC的计数值正常与否。如果没啥问题就可以玩,有问题就放弃或者换开发板。不是每一块都有问题的。
回复 支持 反对

使用道具 举报

发表于 2020-4-6 22:04:05 来自手机浏览器 | 显示全部楼层
有个103的t12焊台,带时间显示,之前用的好像是12pf的晶振,经常掉时间,主电源掉电后可能几天可能几个小时就掉时间,后面换了6pf的,应该有2,3年没掉时间了,程序校准,年误差也就10来秒吧
回复 支持 反对

使用道具 举报

发表于 2020-4-6 22:26:12 来自手机浏览器 | 显示全部楼层
这芯片的RTC确实有些陈年老问题,官方也申明过,不过一般也碰不上。

可以尝试从代码层,硬件层排查 ,实在不行可以外接时钟模块
回复 支持 反对

使用道具 举报

发表于 2020-4-7 01:29:28 | 显示全部楼层
STM32的RTC试过冷启动就容易不起振,还是外接的RTC芯片靠谱些
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-25 02:27 , Processed in 0.249600 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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