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


    刚好有个项目用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%正常。

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

     

  • 相关阅读:
    OPTEE Gprof(GNU profile)
    【部署】将后端工程部署至宝塔Linux云服务器 Java SpringBoot
    Windows环境下安装RabbitMQ
    yolov7训练自己的数据集及报错处理
    Mysql锁
    ATtiny88初体验(四):看门狗
    【最详细】Git常用命令面试题 (60道)
    SpringMVC之JSON数据返回&异常处理机制
    Java 基于微信小程序的学生选课系统
    7、内网安全-横向移动&PTH哈希&PTT票据&PTK密匙&Kerberos&密码喷射
  • 原文地址:https://blog.csdn.net/mrlixirong/article/details/133918992