硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4041|回复: 14
收起左侧

[有问必答] STM32F103 RTC 问题(可能不起振)

  [复制链接]

36

主题

142

回帖

255

积分

高级会员

积分
255
发表于 2018-11-21 10:17:02 | 显示全部楼层 |阅读模式
第一次用RTC,用安富莱的BSP,做了小批量发现20%的RTC存在问题,程序while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);死等。
硬件晶振是32.768kHz 6.0pF 20PPM爱普生,两个电容是10P。一直听RTC很难起振,现在遇上了,大家有解决办题吗
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2018-11-21 10:36:15 | 显示全部楼层
晶振引脚并1M电阻试试
回复

使用道具 举报

20

主题

114

回帖

174

积分

初级会员

积分
174
发表于 2018-11-21 10:53:58 | 显示全部楼层
本帖最后由 magicoctoier 于 2018-11-21 10:55 编辑

应该是PCB绘制的问题。在绘制PCB时一定要注意这个2个管教的画法,从STM32芯片管教引出导线后最好不要过孔(过孔数小于等于1次,且过孔大小16/28mil),最短距离连接晶振和10PF电容。
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
 楼主| 发表于 2018-11-21 23:46:07 | 显示全部楼层
蒋武锋_uh464 发表于 2018-11-21 10:36
晶振引脚并1M电阻试试

预留有电阻焊盘,将RTC不良的板,焊上1M的电阻焊接6块板仍然是不良
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
 楼主| 发表于 2018-11-21 23:46:44 | 显示全部楼层
magicoctoier 发表于 2018-11-21 10:53
应该是PCB绘制的问题。在绘制PCB时一定要注意这个2个管教的画法,从STM32芯片管教引出导线后最好不要过孔( ...

走线很短,没有过孔。
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
 楼主| 发表于 2018-11-22 10:41:05 | 显示全部楼层
看来STM32内部RTC真不能用
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2018-11-23 22:43:01 | 显示全部楼层
内部RTC是用 内部的40K时钟作为RTC的时钟缘的把~ 我之前用过一下。
但是外部的32K到没有用,~ 具体还没测试~

是不是可以用外部示波器测试下,外部时钟的32K是否启动。
同时看看是不是需要使能外部时钟功能~
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
 楼主| 发表于 2018-11-24 00:32:11 | 显示全部楼层
mioc_hust 发表于 2018-11-23 22:43
内部RTC是用 内部的40K时钟作为RTC的时钟缘的把~ 我之前用过一下。
但是外部的32K到没有用,~ 具体还没测 ...

内部TRC的内部时钟,时间误差会不会太大,一天误差多少
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2018-11-24 08:44:23 | 显示全部楼层
我的STM32F1产品,外部焊接的晶振是25MHz, 用串口打印信息看到,正常开机主频显示72MHz, 不正常开机打印显示8MHz,树枝上看相差9倍,实际上应该不止。
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2018-11-28 22:16:12 | 显示全部楼层
takent 发表于 2018-11-24 00:32
内部TRC的内部时钟,时间误差会不会太大,一天误差多少

这个还没测试过。我到时候试试看,是不是可以用外部时钟标定一下`
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2018-11-28 22:17:17 | 显示全部楼层
廷润 发表于 2018-11-24 08:44
我的STM32F1产品,外部焊接的晶振是25MHz, 用串口打印信息看到,正常开机主频显示72MHz, 不正常开机打印显 ...

是不是启动的时候对外部时钟的等待时间比较短 可以改长一点试试看~
不知道有效果没有
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2018-12-4 14:32:41 | 显示全部楼层
mioc_hust 发表于 2018-11-28 22:17
是不是启动的时候对外部时钟的等待时间比较短 可以改长一点试试看~
不知道有效果没有

我的解决办法就是这样,启动加延时。
回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
 楼主| 发表于 2018-12-5 09:08:50 | 显示全部楼层
廷润 发表于 2018-12-4 14:32
我的解决办法就是这样,启动加延时。

本来就加了延时,上电延时500MS再开启RTC外部时钟,仍然不能解决问题。现在外部不起振就自动切换到内部时钟。
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2018-12-5 22:28:48 | 显示全部楼层
takent 发表于 2018-12-5 09:08
本来就加了延时,上电延时500MS再开启RTC外部时钟,仍然不能解决问题。现在外部不起振就自动切换到内部时 ...

嗯  这个  我抽空测试下,最近在忙其他的项目,都没有接触M3了。~  
估计下个月有时间开始
回复

使用道具 举报

32

主题

295

回帖

391

积分

高级会员

积分
391
发表于 2018-12-6 09:36:23 | 显示全部楼层
好像是对晶振型号有要求,我一直用的是EPSON,没有遇到过这个问题
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 22:21 , Processed in 0.296622 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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