本帖最后由 lvuu 于 2025-2-9 12:34 编辑
PORST异常可能会导致 MCU 无法正常启动、卡死或进入未知状态。
以下是常见的原因及解决方案:
可能的 PORST 异常原因供电不稳定- 现象:MCU 在上电时复位不稳定,可能启动失败或反复重启。
- 原因:
- 电源升压过慢,导致 MCU 误判复位状态。
- 电源噪声大,导致 PORST 引脚检测到错误的电平变化。
- 解决方案:
- 在 VCC 旁边增加 100nF + 10uF 的电容,降低电源波动。
- 确保 VCC 供电稳定,波动 <5%。
复位引脚 PORST 悬空- 现象:MCU 启动失败,或者间歇性死机。
- 原因:
- PORST 引脚没有正确上拉,导致 MCU 误认为复位信号一直存在。
- 解决方案:
- 在 PORST 引脚加 10KΩ 上拉到 VCC。
- 并联 100nF 电容 以滤除干扰。
复位电路(RC 复位)参数不当- 现象:MCU 上电后不能稳定进入工作状态。
- 原因:
- RC 复位电路的 电阻 R 太大 / 电容 C 太小,导致上电时未能正确复位。
- 解决方案:
- 典型的 RC 复位电路参数:ini
复制编辑
R = 10KΩ,C = 1uF - 计算复位延时:
- 复位时间 ≈ 5 * R * C
- 例如:10KΩ + 1uF ≈ 50ms 复位时间
- 如果 MCU 需要更长的上电稳定时间,可增大 C(如 10uF)。
误触发外部 RESET- 现象:MCU 运行时,突然复位。
- 原因:
- 解决方案:
- 增加 RC 滤波:在 PORST 引脚并联 100nF 电容。
- 屏蔽干扰源:如果是 EMC 干扰,使用屏蔽电缆、接地等方式减少干扰。
低功耗模式后无法正常复位- 现象:MCU 进入低功耗后无法唤醒或复位。
- 原因:
- 某些 MCU 在低功耗模式下,PORST 需要特定触发条件才能生效。
- 解决方案:
- 检查 数据手册,确保:
- 使用正确的复位触发方式(如软件复位 / 外部引脚复位)。
- 避免误触发低功耗模式(特别是掉电保存模式)。
复位芯片(如 AMS1117 + 复位 IC)问题- 现象:即使电源正常,MCU 仍然无法正常复位。
- 原因:
- 使用 AMS1117 等 LDO 供电,其输出电压上升太慢,导致 MCU 复位异常。
- 复位芯片(如 XC61、DS1233)参数不匹配,导致 PORST 误触发。
- 解决方案:
- 优化供电升压速度:
- 改用 更快的 LDO(如 MP2338) 或 DCDC 方案。
- 使用合适的复位芯片:
- DS1233(3.3V 复位),低电压时精准触发复位。
- STM706(带看门狗功能)。
|