第 7 章:低功耗与可靠性设计 —— 省电和不死机¶
场景: 智能家居的温度传感器用纽扣电池供电,需要工作一年以上。中控主机需要 7×24 小时稳定运行,不能死机。低功耗设计和可靠性设计是嵌入式系统区别于通用计算机的两大核心挑战。
7.1 低功耗设计¶
核心比喻:低功耗就是智能家居的"省电模式"
家里没人时,中控自动进入省电模式——关闭屏幕、降低检查频率、只保留安防监控。有人回家时,自动恢复到正常工作模式。
嵌入式设备的低功耗设计就是通过多种"省电模式"来延长电池寿命。
功耗来源¶
| 来源 | 说明 | 占比 |
|---|---|---|
| 动态功耗 | CMOS 电路翻转时的充放电功耗 | 主要来源 |
| 静态功耗 | 漏电流功耗(随制程进步占比增加) | 次要来源 |
| 外设功耗 | 无线模块、传感器、显示屏等 | 可能很大 |
低功耗策略¶
| 策略 | 说明 | 效果 |
|---|---|---|
| 降低主频 | 不需要高性能时降低时钟频率 | 动态功耗与频率成正比 |
| 关闭未用外设 | 关闭不用的外设时钟和电源 | 消除不必要功耗 |
| 睡眠模式 | CPU 空闲时进入低功耗睡眠 | 功耗降至 μA 级 |
| 间歇工作 | 周期性唤醒工作,其余时间休眠 | 平均功耗大幅降低 |
| 选择低功耗器件 | 选用低功耗 MCU、传感器、无线模块 | 从源头降低功耗 |
MCU 低功耗模式¶
| 模式 | CPU | 时钟 | 唤醒方式 | 功耗 | 唤醒时间 |
|---|---|---|---|---|---|
| 运行模式 | 运行 | 全速 | — | mA 级 | — |
| 睡眠模式 | 停止 | 外设时钟运行 | 任意中断 | μA~mA 级 | 数个时钟周期 |
| 停止模式 | 停止 | 仅低速时钟 | 特定外设中断 | 数 μA | ~10μs |
| 待机模式 | 停止 | 全部停止 | RTC、复位、特定引脚 | <1μA | ~100μs |
7.2 看门狗(Watchdog)¶
核心比喻:看门狗就是"死机自动重启"机制
中控主机正常运行时会定期"喂狗"(重置看门狗计数器)。如果程序跑飞或死锁——没人喂狗了——看门狗计数器溢出,自动复位系统。
就像保安每隔一段时间需要按一下签到按钮,如果没按,系统认为保安出事了,自动报警。
看门狗工作原理¶
正常运行时:
┌──────────┐ 定期喂狗 ┌──────────┐
│ 主程序 │──────────────→│ 看门狗 │
│ │ (WDT_Clear) │ 计数器 │
└──────────┘ │ 不溢出 │
└──────────┘
程序跑飞时:
┌──────────┐ 没人喂狗 ┌──────────┐
│ 主程序 │──→ ✗ ──→ │ 看门狗 │
│ (死锁) │ │ 计数器溢出 │
└──────────┘ │ → 复位系统 │
└──────────┘
| 类型 | 说明 |
|---|---|
| 独立看门狗(IWDG) | 独立时钟源,即使主时钟故障也能工作 |
| 窗口看门狗(WWDG) | 必须在特定时间窗口内喂狗,过早或过晚都复位 |
7.3 电磁兼容性(EMC)¶
| 概念 | 含义 | 关注点 |
|---|---|---|
| EMI(电磁干扰) | 设备对外界产生的电磁干扰 | 不要干扰其他设备 |
| EMS(电磁敏感性) | 设备抵抗外界电磁干扰的能力 | 不被其他设备干扰 |
硬件抗干扰措施¶
| 措施 | 说明 |
|---|---|
| 去耦电容 | 每个芯片电源引脚旁放置电容,滤除高频噪声 |
| PCB 布局 | 模拟和数字区域分离、地平面完整、减少回路面积 |
| 屏蔽 | 金属外壳屏蔽电磁辐射 |
| 滤波 | 电源输入加滤波电路(共模扼流圈、π 型滤波) |
| 光电隔离 | 使用光耦隔离不同电压域的信号 |
软件抗干扰措施¶
| 措施 | 说明 |
|---|---|
| 看门狗 | 程序跑飞自动复位 |
| 指令冗余 | 关键位置插入 NOP 指令,防止程序"跑偏" |
| 软件陷阱 | 在未使用的程序区填入跳转到错误处理的指令 |
| 数据校验 | 关键数据存储时加 CRC 校验 |
| 多次采样 | 对输入信号多次采样取多数值(去抖动) |
7.4 常见考试题型¶
例题 1: 看门狗定时器的作用是( )。
A. 提高系统运行速度 B. 防止程序跑飞导致系统死锁 C. 降低系统功耗 D. 提高通信速率
查看答案
答案:B
看门狗定时器监控程序运行状态。程序正常时定期"喂狗"(清零计数器),程序跑飞时计数器溢出触发系统复位,防止系统死锁。
例题 2: 以下不属于低功耗设计策略的是( )。
A. 降低主频 B. 关闭未用外设 C. 提高工作电压 D. 使用睡眠模式
查看答案
答案:C
提高工作电压会增加功耗(\(P \propto V^2\))。降低主频、关闭未用外设、使用睡眠模式都是有效的低功耗策略。
例题 3: 独立看门狗(IWDG)使用( )的时钟源,即使主时钟故障也能正常工作。
查看答案
答案:独立
独立看门狗使用独立的内部 RC 振荡器作为时钟源,不依赖系统主时钟。即使系统主时钟因故障停止,看门狗仍能正常工作并复位系统。
要点总结¶
- 低功耗策略:降频、关外设、睡眠模式、间歇工作、选低功耗器件
- MCU 低功耗模式:运行→睡眠→停止→待机,功耗递减,唤醒时间递增
- 看门狗:程序正常时定期喂狗,跑飞时自动复位
- EMC:EMI(不干扰别人)+ EMS(不被别人干扰)
- 抗干扰:硬件(去耦、屏蔽、隔离)+ 软件(看门狗、校验、多次采样)
课后练习¶
-
功耗分析 :一个电池供电的温度传感器需要工作 2 年。设计其工作策略:多久唤醒一次?每次工作多长时间?使用什么低功耗模式?
-
看门狗设计 :描述如何在 RTOS 中使用看门狗监控多个任务——如何确保所有任务都正常运行?
-
真题演练 :嵌入式系统中,为滤除电源高频噪声,通常在芯片电源引脚旁放置( )电容。
下一章预告: 最后一章!综合实战案例 + 模拟测试——检验你的嵌入式系统学习成果。