0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F030在低温下无法启动

jf_pJlTbmA9 来源: STM32单片机 作者: STM32单片机 2023-09-27 16:19 次阅读

问题描述

客户反馈STM32F030作为他们产品控制芯片,在常温下工作是正常的,但是稍微冷冻下就会启动失败,重现率100%,再次加热或者恢复到常温又能正常工作。

此问题已经困扰了客户四五年,一直没有头绪,每次都更换一块芯片就好了,因为客户自己也知道,换芯片时会将其吹下来,必定会加热芯片,这样MCU也就能恢复正常了。但这种办法终究不是解决方法,客户急切想找到原因并解决问题。

分析问题与解决

从客户描述上来看,猜测很大可能是硬件问题,因此带了一块STM32F030-NUCLEO板过去,想着做个芯片交换测试看下结果。

到达客户现场,了解到客户只是使用了内部高速晶振HSI。先使用示波器抓下VDD和NRST的启动波形,在常温下发现并没有明显异常。于是做低温测试,为了对比,基于STM32F030-NUCLEO板了写了一个只使用内部高速晶振HSI , 翻转一个LED灯的程序。

结果显示,STM32F030-NUCLEO板能正常启动,而客户的板子问题重现,再次测量其VDD和NRST的启动波形,发现VDD上电过程中有稍微不规则波形,但感觉不至于导致MCU无法启动。考虑到当前客户板子上的MCU跑的是客户自己的程序,为了统一对比,将客户板子上的MCU烧录成NUCELO板上一样的程序,再次做低温测试,结果显示客户的板子也能正常启动!

于是可以初步断定,此问题与客户自己的软件有关,而与外围电路无关。

接下来对比测试代码与客户自己的代码,并再次做低温测试验证结果,最终发现客户的时钟树配置有个参数有问题:

wKgZomUD8zWAIH0QAAFE9qaV-PI507.png Figure 1

如上红色代码所示,

RCC_OSCILLATORTYPE_NONE

改成RCC_OSCILLATORTYPE_HSI后,

问题现象明显改善,但经过测试,发现偶尔还会启动不正常的时候。但相对于之前100%可以重现的现象,至少说明之前软件的失误至少是一个因素。

现在问题变成偶尔重现,已经向前迈进一大步。接下来怀疑与硬件有关了,理由是同样的测试软件跑在用户的板子上和跑在NUCELO软件上的结果不一致。

因此接下来首先对于用户的板子的外围电路与STM32F030-NUCLEO板子的外围电路,发现客户MCU的BOOT0引脚是悬空的,于是加上一个外部10K下拉电路,再次测试问题不再重现。

至此,问题解决!

后话

回过头来看这个问题,发现客户知道MCU使用的是HSI,可偏偏在代码中配置时钟树时使用的晶振类型却是NONE !这种问题现在看来是非常低级的问题,但在代码量大,或者代码迭代的过程中,之前写代码的人离职,后续接手的工程师又不能全盘了解所有代码的情况下时就会变成非常束手无策,当碰到此类莫名其妙的问题,特别是无法判断到底是硬件问题还是软件问题的时候,保持清晰的思路是非常重要的。

这里我需要强调的是,最有效的解决方法就是快速找到一个 “参照物”,而ST的DEMO板和示例代码就是在硬件上和软件上扮演这样一个参照物的角色。可以通过MCU交换测试来判断是不是芯片外围电路的问题或者芯片问题,可以使用Cube库下的示例代码,对比其运行结果来判断是否与软件有关。先从大方向明确问题到底是与硬件有关还是与软件有关,然后再做下一步分析,这种方法希望读者能有效掌握。

来源: STM32单片机


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343651
  • 示波器
    +关注

    关注

    111

    文章

    5661

    浏览量

    181786
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107032
  • 晶振
    +关注

    关注

    32

    文章

    2477

    浏览量

    66852
收藏 人收藏

    评论

    相关推荐

    嵌入式STM32F030低温RTC不工作

    ;C2的电容值从5.1pF修改到6.8pF时,原本低温下不工作的RTC又能恢复正常工作。对比ST官方的NUCLEO-F030板子,常温与低温
    发表于 03-29 15:01

    连续开机半年死机,STM32F030使用内部晶体,现在冬天出现...

    个小模块,使用内部振荡器产生时钟,未使用外部晶体。现在有几百个产品吉林省使用,目前出现了三十四个设备无法与单片机STM32F030通讯,读不到单片机信息。出现死机状态。STM32F030
    发表于 08-20 07:14

    STM32F030之数据的接收与发送

    STM32F030是如何通过串口发送数据的呢?STM32F030的中断是怎样接收数据的?
    发表于 10-20 07:01

    STM32F030的待机模式休眠该如何去实现

    STM32F030有哪几种模式?STM32F030的待机模式休眠该如何去实现?
    发表于 10-20 07:22

    HC32F030可以替换STM32F030

    HC32F030具有哪些特点?HC32F030可以替换STM32F030吗?
    发表于 10-21 06:54

    STM32f030内部的FLASH擦写时间是多少

    STM32f030内部的FLASH擦写时间是多少?STM32f030内部的FLASH擦写次数是多少?STM32f030内部的FLASH擦写电流是多少?
    发表于 10-22 06:23

    如何去使用STM32F030的内部时钟呢

    如何去使用STM32F030的内部时钟呢?如何去使用STM32F030外的部时钟呢?
    发表于 10-26 06:58

    造成stm32F030的ADC异常的原因是什么

    造成stm32F030的ADC异常的原因是什么?stm32F030的ADC异常该怎样办呢?
    发表于 02-10 06:52

    STM32F030低温RTC不工作怎么解决

    【实战经验】STM32F030低温RTC不工作https://www.stmcu.org.cn/module/forum/thread-610638-1-1.html(出处: 论坛-意法半导体
    发表于 02-14 06:48

    stm32f030原理图

    stm32f030原理图
    发表于 10-09 17:16 283次下载

    stm32f030stm32f103功能差异

    stm32f030stm32f103功能差异主要表现在哪?
    的头像 发表于 07-22 09:35 2w次阅读

    如何建一个STM32F030工程模板(标准库版)

    如何建一个STM32F030工程模板(标准库版)
    发表于 12-08 20:21 0次下载
    如何建一个<b class='flag-5'>STM32F030</b>工程模板(标准库版)

    STM32F030低温下RTC不工作

    STM32F030低温下RTC不工作
    发表于 12-09 09:21 19次下载
    <b class='flag-5'>STM32F030</b><b class='flag-5'>低温</b>下RTC不工作

    解决LAT1015_STM32F030低温无法启动的问题

    解决LAT1015_STM32F030低温无法启动的问题
    发表于 02-08 16:32 3次下载

    STM32F030低温无法启动

    电子发烧友网站提供《STM32F030低温无法启动.pdf》资料免费下载
    发表于 09-20 10:23 3次下载
    <b class='flag-5'>STM32F030</b>在<b class='flag-5'>低温</b>下<b class='flag-5'>无法</b><b class='flag-5'>启动</b>