GD32F4系列外部晶振启动异常问题解析

文章讲述了在使用GD32F407开发项目中遇到RTC时钟问题的排查过程,涉及硬件(LXTAL、晶振、电容、MCU)更换和软件调整,最终发现可能与软件配置有关,但并未给出100%解决方法,仅作为参考。

刚好有个项目用GD32F407系列,用到了RTC和纽扣电池。中间产品测试时,发现界面时钟没有更新,软件工程师调试反馈是LXTAL使能后无法稳定。于是,硬件来分析:

1)示波器查看,确实32768晶振两边都无明显规律波形。

2)查看生产BOM表、查看Datasheet,未发现异常。

因此同样的产品做过多次样机了,所以手上有一些OK的板子,就通过对调器件来分析。

3)对调电容,OK的还是OK,NG的还是NG。

4)对调晶振,OK的还是OK,NG的还是NG。

5)对调MCU,OK的板NG了,NG的板依然NG。

暂且认为高温把OK的MCU搞坏了吧。

重新领取库存全新物料,焊接到NG的板子上,也还是NG。
6)试一下匹配电容,从8.2pF——22pF(标称负载电容式12.5pF),都换过,NG。

————————————————————————————————————

当时正巧试产设备和一批研发样机,都出现了这个问题,于是赶紧反馈给双边供应商,寻求帮助。

————————————————————————————————————

开始自己调软件,发现故障现象莫名其妙:

A)LXTAL稳定失败

B)LXTAL稳定成功,但是RTC不计数

C)LXTAL稳定成功,但是掉电后不走时

D)IR32K稳定失败

E)IR32K稳定成功

再与软件工程师协作下,发现NG的板子烧写他的程序OK了。

不得不怀疑和软件有关,对比代码:

rcu_periph_clock_enable(RCU_PMU);
pmu_backup_write_enable(); 

上面两句很重要,需要弄在下面句子之前面。

rcu_osci_on(RCU_LXTAL);
if(SUCCESS==rcu_osci_stab_wait(RCU_LXTAL))

OK,LXTAL正常启动,示波器检测有波形,但是还是有些故障。

最后发现,去纽扣电池,掉电再上电,重新烧写程序,一切OK。

其实,本文没有完全解答怎么配置LXTAL才能100%正常。

以上信息,仅供参考阅读。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李工电子说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值