当前位置: 首页 > news >正文

MCU 随机重启?别只怪电源纹波,看看掉电复位(BOR)阈值

摘要:系统电压 3.3V,掉到 3.0V 时 MCU 频繁重启,但 datasheet 写着最低工作电压是 2.7V?不是电源带不动,而是BOR(掉电复位)阈值​ 配置过低或电源跌落斜率太陡。本文解析 MCU 复位的真实边界条件。


一、问题描述(现象)

**电池供电设备,电量显示还有 60%;

电机一启动或大电流负载一开启,MCU 立刻重启;

万用表测电压只有 3.0V,并未低于 MCU 的最低工作电压。**

很多工程师的排查方向是:

  1. 电源纹波太大?

  2. 去耦电容不够?

  3. 看门狗超时?


二、原理分析

1. 物理模型

MCU 内部有一个电压监控器(Brown-out Reset)。

VDD ──► [BOR Comparator] ──► Reset Logic ^ | BOR Threshold (e.g. 2.8V)

2. 核心参数

  • BOR Threshold(掉电复位阈值):MCU 内部固定的或可编程的电压阈值。

  • Vdrop(跌落深度):负载瞬态引起的电压跌落。

  • dV/dt(跌落斜率):电压下降的速度。

3. 反直觉真相

“最低工作电压 2.7V” ≠ “复位电压 2.7V”。

  • 大多数 MCU 的BOR 阈值高于最低工作电压

  • 例如:

    • STM32:BOR Level 0 = 2.0V(可配置)

    • ESP32:POR = 2.3V ~ 2.8V(典型值)

  • 结果:电压掉到 3.0V,虽然 MCU 还能跑,但 BOR 已经触发复位。


三、工程级解决方案

方案 1:正确配置 BOR 级别(软件解法)

如果你的 MCU 支持可编程 BOR(如 STM32):

// 设置 BOR 阈值为最低(如 2.0V) __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);

注意

降低 BOR 阈值会降低噪声容限,必须在电源纹波极小​ 的情况下使用。

方案 2:增加大容量储能电容(硬件解法)

应对大电流负载瞬态。

Vbat -> [LDO] -> [10uF MLCC] -> [100uF 电解] -> MCU

经验公式:

C ≥ I_load × Δt / ΔV
  • I_load:电机启动峰值电流(如 500mA)

  • Δt:持续时间(如 10ms)

  • ΔV:允许跌落(如 0.3V)

C ≥ 16.6 mF(通常需要钽电容或超级电容)

方案 3:电源斜率控制

在软件中逐步开启大功率负载。

// 错误:直接全速启动电机 Motor_SetSpeed(100); // 正确:缓启动 for (int i = 0; i <= 100; i++) { Motor_SetSpeed(i); delay_ms(10); }

四、选型避坑建议

  1. 不要迷信“低压运行”

    • 虽然 MCU 能在 2.7V 跑,但 Flash 擦写、ADC 精度会严重恶化。

  2. BOR 滞回(Hysteresis)

    • BOR 有滞回电压(如 100mV)。

    • 电压必须回升到 (Threshold + Hysteresis) 以上,复位才会解除。

  3. 复位标志

    • 每次重启后,务必读取复位标志(RCC_CSR / RSTC)。

    • 区分是 POR(上电)、BOR(掉电)还是软件复位。


五、总结 Checklist

  • [ ] 是否查阅了 MCU datasheet 中 BOR/POR 的具体阈值?

  • [ ] BOR 阈值是否高于系统的最低工作电压?

  • [ ] 大电流负载启动时,VDD 跌落是否超过 BOR 阈值?

  • [ ] 是否在重启后读取了复位源标志?


六、写在最后(关注我,少走弯路)

我是 gqqsherry,一个拒绝调包、专注底层逻辑的嵌入式工程师。

MCU 的复位逻辑是“最后的防线”,配置错了,系统就会变成“薛定谔的设备”。

关注我的专栏《嵌入式底层避坑指南》,下一篇我们将深入解析《低功耗模式唤醒后程序跑飞?别只怪时钟,看看 Vcore 与 Flash 等待》

👉下一篇预告:《STOP 模式唤醒后,为什么外设全乱了?》


原创文章,转载请注明出处。

http://www.zskr.cn/news/1506197.html

相关文章:

  • 2026年廊坊GEO优化公司怎么选?资深测评专家的客观评测指南 - 信息热点
  • Roboto字体实战指南:多语言字符集的完整配置方案
  • AMD Ryzen SDT调试工具终极指南:解锁处理器隐藏性能的完整教程
  • 军工品质专精特新:苏州贝特BTMF微小型金属转子流量计,攻克强腐蚀微小流量“卡脖子”难题 - 信息热点
  • C#编写的可切换MySQL与SQL Server的仓库后台系统(含Docker和CI/CD支持)
  • YOLOv5 7.0 换Backbone避坑指南:不用Timm库,手把手教你接入ResNet(附完整代码)
  • 深入解析MC9S12G Flash安全机制与核心命令实战
  • [特殊字符]【万字深度解析】一站式全域数据资产运营平台解决方案——企业数字化转型的数据治理终极答案(PPT)
  • 3步永久保存微信聊天记录:开源神器WeChatMsg完全指南
  • 3层架构突破:Atmosphere如何重塑Switch系统性能极限
  • 告别手动输入!用Python+Tesseract OCR打造你的桌面截图文字提取小工具(附完整代码)
  • 实战指南:如何高效使用Python通达信数据接口进行专业金融分析
  • 终极指南:如何用Tabula快速免费解放PDF表格数据
  • Shenandoah在容器环境的GC策略
  • COMSOL烧蚀仿真实战:从固体传热到变形网格的耦合建模
  • 7种方法深度解析ArchivePasswordTestTool:自动化密码测试与加密压缩包恢复指南
  • PCA9500:I2C I/O扩展与EEPROM二合一芯片的嵌入式应用指南
  • 视频去字幕用什么工具好?2026免费去字幕工具全面实测对比 - 科技大爆炸
  • RKMEDIA实战入门:从零搭建瑞芯微RV1126/RV1109媒体处理流水线
  • 2026年6月东莞全屋定制源头工厂TOP5推荐 :环保防潮工艺+全场景适配 - 信息热点
  • 如何用哔哩下载姬收藏B站8K超清视频的完整指南
  • MC9S12XF微控制器选型与订购:从部件号解析到供应链避坑指南
  • 如何快速清理重复文件:dupeGuru免费工具完整指南
  • 别再死记硬背LFSR结构了!用Verilog手搓一个3级伪随机数生成器,对比斐波那契和伽罗瓦谁更快
  • 实训体系完备硬核 安徽优质公办中职院校精选推荐,中职学校/人工智能专业学校/职业学校/职高/技工学校,中职学校推荐 - 品牌推荐师
  • 微信群消息智能转发工具:告别手动复制的5分钟自动化方案
  • 短视频去字幕工具有哪些?2026免费去字幕工具大全与实测推荐 - 科技大爆炸
  • 兰州设计装修公司TOP3权威测评:2026年最值得推荐的装修品牌 - 信息热点
  • 制造业 AI 落地:别只依赖大模型,基建才是核心
  • 《饥荒》Mod开发避坑指南:实现动态血条时,别忘了处理这些隐藏怪物和性能问题