VCC上电慢导致STM32无法复位

一、故障现象

在调试一块主板时,发现上电后板载蜂鸣器长鸣,程序卡死。同时发现,按下复位按键后,板子即可正常进入主程序。

二、原因分析

通过故障现象看,这是芯片没有复位成功,必须手动复位才能进入主程序。

芯片上电不自检复位,有几类比较常见的问题:

1、复位引脚NRST电路问题

STM32的NRST引脚是低电平复位,标准的电路是NRST接一个10kΩ电阻上拉到VCC,0.1uf电容接GND。

a、如果没有接上拉电阻,就会导致NRST悬空上电电平不稳,芯片不复位;

b、电容太大,会导致复位时间过长,MCU会认为一致在复位;

c、NRST一直被拉低,例如复位按键短路、下载器钳位NRST、或者外部电路沾锡等原因导致NRST被拉低。

2、电源问题

a、VCC上电斜率太慢/纹波大:导致内部BOR(掉电复位)检测到电压不达标,不释放复位。这有可能是电源滤波太差,电感或电容太大。也有可能是使用了软启动电源,电压爬升太慢。

b、BOR配置异常:选项字节中BOR阈值设置太高,而实际供电偏低,芯片一直处于复位状态。

c、VDDA异常:VDDA滤波差也会导致内核或ADC不稳,上电启动异常。

3、BOOT引脚错误配置

a、boot0被上拉到3.3V,或悬空被干扰成高电平。

4、程序卡死在启动过程中

a、时钟配置错误,外部晶振不起振,卡死在SystemInit。

b、看门狗没有喂狗:开启了看门狗,但是上电后程序没有及时喂狗,导致反复重启,看起来就是启动异常。

c、中断异常/硬件故障:外部中断引脚一直触发、Flash损坏、程序下载不完整等。

5、调试器影响

a、调试器的调试接口被干扰,芯片进入调试挂起。

那以上这些问题,有一些是只会在程序调试过程中出现的,对于一个已经定版的程序而言,硬件故障较为常见。我首先检查了NRST引脚部分的电平和电路,一切正常。

于是我怀疑是电源原因,因为我这次用了一个新的稳压电源进行供电。要验证这个猜想也很容易:我只要在稳压电源上电稳定后,通过直接插拔主板端供电插头来给主板供电,即可确认是否是该稳压电源上电太慢导致。

结果显而易见:确实是该稳压电源上电太慢导致的故障。

为了百分之百确认这个问题,我又切换了两个其他的稳压电源来进行验证,结果显示就是这个新的稳压电源上电太慢,导致的芯片上电复位失败。

番外:我准备去买个电子负载,测测电源~~~~

相关推荐
耳朵东先生8 分钟前
STM32 开发利器:SEGGER RTT 日志打印与 Shell 实践解析
单片机·嵌入式硬件
ACP广源盛139246256739 分钟前
IX6012 PCIe 交换芯片@ACP#RTX Spark 入门级 12 口存储外设扩展方案(对比 ASM1812)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
2601_958352909 分钟前
对讲系统音频优化实战:解决回声、啸叫、环境噪音与远场拾音难题
嵌入式硬件·音视频·语音识别·降噪处理·音频处理模块·硬件开发模块
振南的单片机世界18 分钟前
RS485组网三要素:负载、距离、终端电阻
arm开发·stm32·单片机·嵌入式硬件
小慧102422 分钟前
Esp开发工具命令
单片机
redaijufeng43 分钟前
stm32实现串口打印输出_stm32串口打印
stm32·单片机·嵌入式硬件
黑白园44 分钟前
STM32CubeIDE配置FreeRTOS及Demo验证
stm32·单片机·嵌入式硬件
iCxhust1 小时前
8086 汇编位测试使用方法
汇编·单片机·嵌入式硬件·微机原理·8088单板机
SUNNYSPY0011 小时前
AO3404-ASEMI锂电池保护(BMS)专用AO3404
单片机
2601_958352902 小时前
双麦 DSP 音频模块实战:一文梳理 A-68 在全行业场景的声学解决方案与落地要点
前端·嵌入式硬件·音视频·语音识别·降噪消回音·音频处理模块