打印
[信息]

【实战经验】外部IC连接NRST导致MCU内部复位信号失效的问题

[复制链接]
3367|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 香水城 于 2017-8-17 13:57 编辑

外部IC连接NRST导致MCU内部复位信号失效的问题

问题:
有客户在产品的设计中,使用外部IC 的GPIO 通过连接NRST 引脚来对STM32 MCU 进行复位控制时,会遇到以下问题:
    IC 可以对MCU 进行复位控制,但是芯片内部的复位信号(如看门狗等)不能对MCU 进行复位,甚至影响引脚功能.

调研:
STM32 MCU 的复位电路结构分析:
 STM32 MCU 的NRST 是一个双向接口,在内部复位电路产生复位动作时,会输出一个低电平的信号;
 如果外部IC 输出的是高电平,则信号会发生冲突,相当于一个高电平除了导致低电平的复位信号不起作用,而且因为复位引脚的CMOS 器件导通的内阻很小,NRST线路上产生比较电流大的电流,可能损坏器件.
对于IC 常见GPIO 典型结构进行分析:
1. 当IC 端GPIO 配置为Push-pull 模式:
 IC 与MCU 连接的内部结构框图如下:

 根据内部结构框图分析可知:

所以在这种模式下,如果配置为输出时,需要增加一个二极管作为保护.
2. 当IC 端GPIO 为Open-Drain 模式:
 IC 与MCU 连接的内部结构框图如下:

 分析结果如下表:

所以在这种模式下,如果配置为输出时,不需要增加一个二极管作为保护.
分析总结:
所以建议客户在设计电路的时候,根据以上分析确定是否增加保护二极管.
特殊情况:
如果遇到以下情况:
客户设计电路的时候没有考虑到NRST 的双向引脚结构,电路已经设计好,且外部IC 的GPIO 结构只有Push-pull 模式.
可以通过软件配置为做以下处理:
 当输出低电平时,配置GPIO 输出为低电平.
 当输出高电平时,配置GPIO 为输入下拉.(相当于释放NRST 控制,STM32MCU 的上拉电阻自动将NRST 电平拉高).

结论:
外部IC 连接NRST 信号导致MCU 内部复位信号失效的问题是由于STM32 MCU 的NRST 引脚结构引起的,所以在设计和使用此功能的时候需要加以注意并参考按照以下处理方式进行处理.

处理:
在产品设计中使用外部IC 控制NRST 可以做以下处理:
1. 如果IC 的GPIO 是Push-pull 模式时:
    a. 硬件上处理:增加一个保护二极管.
    b. 软件上处理:
      · 当输出低电平时,配置为输出低.
      · 当输出高电平时,配置为输入下拉,MCU 的上拉电阻将NRST 电平拉高.
2. 如果IC 的GPIO 有Open-Drain 模式,配置为Open-Drain 模式.

对应的PDF:外部IC连接NRST导致MCU内部复位信号失效的问题
更多实战经验请看:【ST MCU实战经验汇总贴】
沙发
mmuuss586| | 2015-8-17 13:18 | 只看该作者

要了解STM32复位脚,内部结构才行;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:STM32技术专家

596

主题

17099

帖子

287

粉丝