打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
外部复位导致MCU内部复位失效

FPGA的IO用于做外部的MCU的复位功能,导致MCU内部复位失效

问题详细描述

为了方便在板卡板卡复位,我们的硬件工程师在做单板设计时,把MCU的复位IO 连接了到FPGA,可以通过FPGA来复位板卡的MCU。但是测试时发现,如果是单板状态,可以顺利下载固件,但是如果是集成情况下无法正常下载固件,且看门狗复位也受影响。

问题具体分析

出现这个问题后,首先想到的是可能是芯片复位信号受影响了,因为使用调试器通过SWD接口下载固件时需要硬件复位或者软件复位的方式复位MCU。 而这个信号又受FPGA控制(强制拉高),在下载的场景可能会复位失败。

因此查看了STM32 Reference manual RM0008 Page 91 Power Reset 章节,仔细看了内部复位框图后找到了答案。从下图可以看到 STM32 MCU 的NRST 是一个双向接口,在内部复位电路产生复位动作时,会输出一个低电平的信号;如果这个时候FPGA输出的是高电平,则信号会发生冲突

问题解决方案

因为FPGA的IO 无法配置为Open-Drain输出,只能配置为Push-pull推挽输出,导致当需要主动复位时,无法将NRST信号拉低,因此只能把FPGA 复位MCU的功能去掉,即把MCU外部复位控制信号断开(R112电阻 空贴)。

总结和建议

外部IC 连接NRST 信号导致MCU 内部复位信号失效的问题是由于STM32 MCU 的NRST 引脚结构引起的,如果设计使用外部复位的方式,最好使用Open-Drain输出,否则容易出现我遇设计中遇到的问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
物联网时代万能的“小哪吒”FPGA Wifi开发模块
STM32+FPGA平台构建指南 | Allium's Blog
stm32实现iap远程固件更新
STM32单片机实现Bootloader跳转的关键步骤
意料之外的惊喜-STM8
【精品博文】详细解析FPGA与STM32的SPI通信(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服