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

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

3天内不再提示

STM32单片机的应用笔记 奇怪的NRST 管脚异常复位问题

STM32单片机 来源:STM32单片机 作者:STM32单片机 2023-07-13 18:55 次阅读

关键字:漏电流, ADC

目录预览

1 引言2 复位问题及排查3 总结

1. 引言

本文探讨一个奇怪的MCU NRST 管脚异常复位现象。

2.复位问题及排查

这个问题是客户对开发的平台做EMS 浪涌测试的时候发生的, 平台上使用了一个STM32G474 RCT6 MCU 。在某个等级的EMS 测试中, 客户发现MCU有时候会异常复位而影响平台的稳定工作。

2.1. MCU 异常复位问题的通常解决思路

我们知道, 导致MCU异常复位的原因有很多, 比如外部复位电路被干扰, MCU 电源的异常跌落, 看门狗不能正常喂狗导致的复位等等。

STM32 MCU 的复位标志位寄存器可以帮助我们发现导致异常复位的线索。复位标志位的相关信息可以在STM32 MCU 的Reference Manual 中找到。在RCC 的RCC_CSR 寄存器中,我们可以看到:

9fbdd5a0-216b-11ee-962d-dac502259ad0.png

图中红色围住的部分就是复位标志相关的寄存器。

LPWRRSTF:低功耗模式复位标志位, 被置1 表示发生了非法的STOP, SLEEP 或SHUTDOWN 等低功耗模式进入。

WWDGRSTF: 窗口看门狗复位标志。

IWDGRSTF: 独立看门狗复位标志。

SFTRWTF: 软件复位标志位。

BORRSTF: 欠压复位标志位。

PINRSTF: 从NRST引脚输入产生的复位的标志位。

OBLRSTF: 加载选项字节产生的复位的标志位。

以上的标志位被置1 表示发生了相关的复位。

这些被置1的标志位可以通过向RMVF 位写1清除。

在一次正常的MCU上电过程中, 电压的上升和PDR 电路的工作必然会导致BORRSTF 和PINRSTF 被置位1, 因此在做EMS实验前, 需要先通过向RMVF 写1将所有复位标志位清除, 然后观察在EMS 测试导致的复位后, 哪些复位标志位被置位了。 例如,当观察到BORRSTF 被置1表示发生了欠压复位, 需要重点检查MCU供电电路包括滤波/退耦电容的设计和布局等等。 PINRSTF 位被置1表示MCU 的NRST 管脚接收到了能够触发复位的异常低电平, 需要检查NRST 的外围电路是如何被干扰的, 或设法增加滤波电路滤除干扰。 WWDGRSTF 或IWDGRSTF 被置1表示喂狗不正常导致了复位,一般是由程序在EMS测试中运行不正常进入死循环导致,MCU 被EMS干扰影响的途径相对难以判断,可能是地或某个/些GPIO管脚被EMS 干扰侵入而影响了MCU 的正常运行。 通过观察异常复位发生后的复位标志位,可以使我们避免解决问题时在不相关的电路上浪费时间, 比如如果只有BORRSTF 被置位, 我们需要重点关注供电电路, 而不需要在复位管脚相关电路做无用的调整。

2.2. 在客户开发平台上的排查

根据上面2.1节描述的思路,我们在客户的平台上排查发生异常复位的原因, 通过检查STM32G4 的复位标志位,发现复位发生后PINRSTF 被置1了。 这似乎是个简单的NRST 复位管脚被干扰的问题。但是观察客户的设计, NRST 管脚并没有外接比较长走线的外部电路, 只是在管脚放置了一颗0.1UF 的电容。按常理这样的电路一般不会将干扰引入NRST 管脚。

9fdbf1a2-216b-11ee-962d-dac502259ad0.png

为了避免是0.1UF 电容将地噪声引入管脚, 拆除这颗电容后再做浪涌实验, 结果PINRSTF 还是被置位。

STM32G4有一个新功能, NRST 管脚可以被复用为一个GPIO PG10, 当这个管脚被定义为PG10后, 加在这个管脚的低电平干扰将不会再导致MCU 复位。但是奇怪的事情发生了,STM32G474第7脚由NRST 改定义成PG10后(Option byte中修改),浪涌实验中依然发生了PINRSTF 被置位的现象。 这时候看来不能只局限于NRST 管脚的探查了,干扰是不是从其它GPIO 窜入MCU 并进一步通过耦合影响了复位电路的工作呢? 在LQFP的封装中,由于MCU 内部并行的较长的bonding线的存在, 相邻的GPIO之间 最可能产生耦合干扰, 所以我们从第7脚相邻的第6和8脚开始排查。分别将它们的外部信号断开。通过排查, 第8脚信号断开没有解决问题。 但是当将第6脚相连的晶振和电容断开,并改用内部HSI 时钟源后, 异常复位问题消失了, PINRSTF 不再被置位。看来干扰是从第7脚进入的。观察客户的PCB 设计, 发现晶振的LOAD 电容接地并不是直接接地平面, 而是经过一根细长的地走线后才由一个过孔连接到地平面,很明显这根细长的地走线在浪涌测试中作为天线接收了干扰并经电容传递到了MCU 内部。

3. 总结

MCU 内部是远比MCU 外部电路更复杂的微电子电路,内部线路间距小,不同功能间可能只是由电子开关或多路复用器做选择,当高频干扰进入MCU 后,干扰可以在看似不直接相连的电路间耦合而影响MCU 的正常工作。重要的是避免干扰进入MCU。在排查干扰传递的路径时,不要将目光局限于直接相连的电路或管脚。

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

    关注

    6039

    文章

    44583

    浏览量

    636519
  • adc
    adc
    +关注

    关注

    98

    文章

    6514

    浏览量

    545051
  • STM32
    +关注

    关注

    2270

    文章

    10910

    浏览量

    356611
  • 复位电路
    +关注

    关注

    13

    文章

    322

    浏览量

    44616
  • 漏电流
    +关注

    关注

    0

    文章

    263

    浏览量

    17046

原文标题:应用笔记 | 奇怪的NRST 管脚异常复位问题

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    解析单片机的几种复位电路

    整个系统是否稳定可靠。复位电路与单片机的RESET/NRST引脚相连,拿STM32系列单片机举例,当系统正常工作时,如果RESET引脚电压低
    的头像 发表于 10-13 14:14 4w次阅读
    解析<b class='flag-5'>单片机</b>的几种<b class='flag-5'>复位</b>电路

    MCU NRST管脚异常复位现象的解决思路

    本文探讨一个奇怪的 MCU NRST 管脚异常复位现象。
    发表于 09-05 10:38 3509次阅读
    MCU <b class='flag-5'>NRST</b><b class='flag-5'>管脚</b><b class='flag-5'>异常</b><b class='flag-5'>复位</b>现象的解决思路

    LM3S系列单片机IrDA应用笔记

    LM3S系列单片机IrDA应用笔记 使用 Stellaris(群星)单片机UART 功能模块的IRDA功能简介。
    发表于 04-03 14:24 26次下载

    LM3S系列单片机JTAG口解锁应用笔记

     LM3S系列单片机JTAG口解锁应用笔记
    发表于 07-19 15:32 51次下载

    详细的STM32单片机学习笔记

    STM32单片机学习笔记给大家参考
    发表于 11-23 17:55 1.5w次阅读

    几个小妙找教你解决单片机复位层出不穷的问题

    整个系统是否稳定可靠。复位电路与单片机的RESET/NRST引脚相连,拿STM32系列单片机举例,当系统正常工作时,如果RESET引脚电压低
    的头像 发表于 10-28 09:27 8927次阅读
    几个小妙找教你解决<b class='flag-5'>单片机</b><b class='flag-5'>复位</b>层出不穷的问题

    51单片机(十二)—— 单片机复位

    一、复位介绍 复位单片机提供了一条从已知初始条件启动处理的途径。复位期间,大部分控制和状态寄存器被迫使用初始值,单片机的外围模块被禁
    发表于 11-15 13:21 59次下载
    51<b class='flag-5'>单片机</b>(十二)—— <b class='flag-5'>单片机</b><b class='flag-5'>复位</b>

    STM8单片机复位源判断

    最近在调试系统的时候,发现单片机老是复位,于是想着用程序来判断一个单片机复位信号是来自于哪里。查找资料发现STM8单片机
    发表于 11-23 17:21 4次下载
    STM8<b class='flag-5'>单片机</b><b class='flag-5'>复位</b>源判断

    STM32怎么样判断单片机复位是什么原因造成的

    怎么样判断单片机复位是什么原因造成的(断电复位、看门狗复位等)看门狗、电源复位等,这些源均作用于 NRS
    发表于 12-08 11:36 16次下载
    <b class='flag-5'>STM32</b>怎么样判断<b class='flag-5'>单片机</b><b class='flag-5'>复位</b>是什么原因造成的

    简述单片机的几种复位电路

    复位就是让单片机从初始化状态开始重新运行,即程序从头开始执行。复位电路设计的好坏,直接影响整个系统是否稳定可靠。复位电路与单片机的RESET
    的头像 发表于 05-25 14:25 7353次阅读
    简述<b class='flag-5'>单片机</b>的几种<b class='flag-5'>复位</b>电路

    单片机异常复位原因 简述单片机如何复位

    单片机异常复位原因 简述单片机如何复位  单片机异常
    的头像 发表于 10-17 16:44 3418次阅读

    单片机复位的条件 单片机可以复位多少次 程序会导致单片机复位

    单片机复位的条件 单片机可以复位多少次 程序会导致单片机复位吗 
    的头像 发表于 10-17 16:44 3401次阅读

    单片机复位电路的作用和实现原理

      单片机复位电路是单片机系统中的一个重要组成部分,它的作用是在系统上电或异常情况下对单片机进行复位
    的头像 发表于 10-20 17:31 5297次阅读

    单片机复位电路工作原理

    单片机复位电路工作原理  单片机是一种集成电路,通常用于嵌入式系统中。单片机复位电路是单片机可靠
    的头像 发表于 12-07 15:17 4565次阅读

    单片机异常复位的原因

    单片机异常复位是指单片机在正常工作过程中,非预期地返回到初始状态或重启。这种异常复位现象可能由多
    的头像 发表于 10-17 17:56 1122次阅读