STMCU小助手
发布时间:2022-3-5 09:17
|
问题:, {# V: D8 m) B7 e7 n# G3 {* R# x% { 有客户在产品的设计中,使用外部 IC 的 GPIO 通过连接 NRST 引脚来对 STM32 MCU 进行复位控制时,会遇到以下问题:9 p) S+ _$ d) ?& K8 F! } IC 可以对 MCU 进行复位控制,但是芯片内部的复位信号(如看门狗等)不能对 MCU 进行复位,甚至影响引脚功能.
调研:3 _. `% C- p$ Y) M7 t STM32 MCU 的复位电路结构分析: • STM32 MCU 的 NRST 是一个双向接口,在内部复位电路产生复位动作时,会输出一个低电平的信号;6 c% o1 A. A9 w: P& E' u • 如果外部 IC 输出的是高电平,则信号会发生冲突,相当于一个高电平除了导致低电平的复位信号不起作用,而且因为复位引脚的 CMOS 器件导通的内阻很小,NRST线路上产生比较电流大的电流,可能损坏器件.$ }- z, m/ @# P . t- w. X' A; p1 b* e 对于 IC 常见 GPIO 典型结构进行分析: 1. 当 IC 端 GPIO 配置为 Push-pull 模式: • IC 与 MCU 连接的内部结构框图如下: " b8 d. M J, l1 ?
% J) G" Q8 |' m) r • 根据内部结构框图分析可知:9 v6 s, ~ z# g$ C* O g1 @ 0 B- n* @ O# T
所以在这种模式下,如果配置为输出时,需要增加一个二极管作为保护. 2. 当 IC 端 GPIO 为 Open-Drain 模式: • IC 与 MCU 连接的内部结构框图如下:! D! |% S4 W. K1 M7 k/ p
• 分析结果如下表: % ?2 n+ G' y' L Q+ X d
所以在这种模式下,如果配置为输出时,不需要增加一个二极管作为保护. 分析总结: 所以建议客户在设计电路的时候,根据以上分析确定是否增加保护二极管.* u' D7 ~$ {. K 特殊情况: 如果遇到以下情况:/ k! T9 m/ u; @& E0 x/ d. i 客户设计电路的时候没有考虑到 NRST 的双向引脚结构,电路已经设计好,且外部 IC 的 GPIO 结构只有 Push-pull 模式. 可以通过软件配置为做以下处理: • 当输出低电平时,配置 GPIO 输出为低电平.9 s. W1 R- d$ X# s 当输出高电平时,配置 GPIO 为输入下拉.(相当于释放 NRST 控制,STM32MCU 的上拉电阻自动将 NRST 电平拉高). 结论:3 }& o# l: b+ O& H7 G4 Y8 l4 s 外部 IC 连接 NRST 信号导致 MCU 内部复位信号失效的问题是由于 STM32 MCU 的NRST 引脚结构引起的,所以在设计和使用此功能的时候需要加以注意并参考按照以下处理方式进行处理.- q3 J3 N8 C6 ^- ^ ! G- `1 U- b4 C \; e& ]! N; u 处理:' a. W% I* \- O1 Z4 F 在产品设计中使用外部 IC 控制 NRST 可以做以下处理:2 o% E, h' i) g. z- c 1.如果 IC 的 GPIO 是 Push-pull 模式时:0 y% D+ N" x. E c a. 硬件上处理:增加一个保护二极管. b. 软件上处理: • 当输出低电平时,配置为输出低. • 当输出高电平时,配置为输入下拉,MCU 的上拉电阻将 NRST 电平拉高. 2.如果 IC 的 GPIO 有 Open-Drain 模式,配置为 Open-Drain 模式. |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版