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。在排查干扰传递的路径时,不要将目光局限于直接相连的电路或管脚。

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

    关注

    6002

    文章

    43990

    浏览量

    621068
  • adc
    adc
    +关注

    关注

    95

    文章

    5654

    浏览量

    539583
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348913
  • 复位电路
    +关注

    关注

    13

    文章

    308

    浏览量

    44286
  • 漏电流
    +关注

    关注

    0

    文章

    227

    浏览量

    16665

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    单片机复位电路异常

    ` 本帖最后由 gaoyang4617 于 2020-10-11 18:15 编辑 现有一块电路板,单片机复位电路5V电压没,单片机不能正常工作。(元件上没有标识,查不到资料。)哪位大神碰到过类似
    发表于 10-07 08:20

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

    怎么样判断单片机复位是什么原因造成的(断电复位、看门狗复位等)看门狗、电源复位等,这些源均作用于 NRS
    发表于 02-11 07:02

    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.4w次阅读

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

    整个系统是否稳定可靠。复位电路与单片机的RESET/NRST引脚相连,拿STM32系列单片机举例,当系统正常工作时,如果RESET引脚电压低
    的头像 发表于 10-28 09:27 7957次阅读
    几个小妙找教你解决<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>是什么原因造成的

    STM32学习笔记】技巧2 - STM32复位类型及区别

    系统复位、电源复位和备份域复位。每一种型号的STM32都包含有这三种复位类型!1.1、系统复位
    发表于 01-17 12:54 10次下载
    【<b class='flag-5'>STM32</b>学习<b class='flag-5'>笔记</b>】技巧2 - <b class='flag-5'>STM32</b>的<b class='flag-5'>复位</b>类型及区别

    LC87F1M16A USB单片机用笔记

    LC87F1M16A USB单片机用笔记
    发表于 11-15 19:53 1次下载
    LC87F1M16A USB<b class='flag-5'>单片机</b>应<b class='flag-5'>用笔记</b>

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

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

    STM32 Bootloader异常复位案例

    电子发烧友网站提供《STM32 Bootloader异常复位案例.pdf》资料免费下载
    发表于 09-25 09:17 3次下载
    <b class='flag-5'>STM32</b> Bootloader<b class='flag-5'>异常</b><b class='flag-5'>复位</b>案例

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

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