待机与睡眠模式:手机和 MCU 的 sleep、deep-sleep 为什么要分好几级
更新时间:2026-09-15。本文是「集成电路大类 · 低功耗设计与验证」入门层系统篇第 22 篇。看手机或 MCU 的资料,常能列出 active、sleep、deep-sleep、standby(甚至 stop、hibernate、off)一串模式。它们不是厂商故弄玄虚,而是把上一篇三种省电手段按「空闲多久、能容忍多久醒来」组合成一条阶梯:睡得越深越省电,但保留的东西越少、醒得越慢。这一篇带你走完这级阶梯,并教你读数据手册里那张多模式电流表。系统地图见低功耗导读。
本文要回答的问题
- 为什么不直接做一个「最省电」的关断态,要分那么多级?
- 每一级通常关掉什么、保留什么?
- 浅睡、深睡、待机的功耗和唤醒时间大概什么量级?
- 设备靠什么在睡梦中被叫醒?
- MCU 数据表那张 current consumption 表该怎么看?
一、一条「越深越省、越醒越慢」的阶梯
所有分级都在同一对矛盾上做权衡:省电程度 ↔ 唤醒速度/状态保持。底层物理正是前面学的三招:浅睡主要靠时钟门控,深睡引入降稳压和部分保持,待机则靠电源门控砍漏电。

二、逐级看:关什么、留什么
| 模式 | CPU 内核 | 高速时钟/PLL | RAM | 数字外设 | 稳压器 | 唤醒量级 |
|---|---|---|---|---|---|---|
| Active | 全速运行 | 开 | 供电读写 | 全工作 | 正常 | — |
| Sleep 浅睡 | 时钟停(状态保留) | 可能仍开 | 全供电 | 多数保持 | 正常 | 数个时钟周期~µs |
| Deep-sleep 深睡 | 停 | 停 | 供电或 retention | 仅必要者 | 进低功耗/降档 | 几十 µs~ms |
| Standby/Off | 断电 | 断电 | retention 或丢失 | 断电 | 仅常开轨 | ms 级(需重初始化) |
- 浅睡(sleep/WFI):本质是时钟门控。执行「等待中断 WFI」后 CPU 时钟停掉,但内核寄存器、RAM、外设都还通电保持,中断一到立刻续跑。它省掉的是 CPU 空闲时白白翻转的动态功耗,几乎不省漏电。
- 深睡(deep-sleep/stop):进一步停 PLL 和高速时钟、关闭一部分时钟树,主稳压器切到低功耗模式或降到保持电压,让大部分逻辑不翻转且降低供电损耗。SRAM 通常进入 retention(保持)模式——只需很小的保持电压/电流就能留住内容(存储功耗见后续存储器功耗篇)。仍通电的只剩 RTC、唤醒检测等。醒来要重新起振/锁 PLL,慢一些。
- 待机/关断(standby/hibernate/off):对大部分电源域真正做电源门控,动态和漏电一起掐到接近零;只保留一个极小的 always-on 常开岛(RTC 实时时钟、唤醒引脚检测、备份寄存器/少量保持单元)。RAM 内容要么靠备份寄存器保住关键状态、要么丢失,醒来等于(近)冷启动,软件要重新配置。这是保持与隔离、常开岛(后续《SoC 电源架构》篇)的典型用武之地。
三、典型功耗数量级(建立直觉,非定值)
具体数字强烈依赖工艺、电压、芯片规模,这里只给量级:
- Active:手机应用处理器几十 mW~数 W;通用 MCU 几十~几百 mW 全速;
- Sleep(时钟停、RAM 保活):mA 以下到几百 µA;
- Deep-sleep(RAM retention):几 µA~几十 µA(MCU 常见);
- Standby/Off(仅 RTC/常开岛):低功耗 MCU 可到亚 µA 甚至几十 nA,这正是纽扣电池能撑数年的关键(电流-续航换算见电池能量预算)。
注意一个工程常识:待机时间几乎完全由最深那一档的电流决定,而不是 active 电流。一节 CR2032(约 220mAh)若待机电流 2µA,理论待机约 220mAh/0.002mA = 110,000 小时 ≈ 12.5 年(还要扣自放电和唤醒开销);若待机电流 200µA,只有约 45 天。所以低功耗产品的评审焦点往往是「深睡电流能不能再压」,而非峰值性能。
四、谁来叫醒:唤醒源与实时性
睡死不等于关机,系统要能对外部世界反应。常见唤醒源:
- GPIO/外部中断引脚:按键、传感器就绪电平翻转;
- RTC 闹钟:定时醒来采样/上报,是周期采集类产品(手环、表计)的主力;
- 通信接口活动:UART 起始位、I²C 地址匹配、USB/网络报文(专用 PHY 或低功耗监听);
- 比较器/ADC 阈值:模拟量越限直接唤醒,不必让主控常开;
- 看门狗/低功耗定时器。
能在多深的睡眠里被哪个源唤醒,决定了模式选择:若必须 µs 级响应串口,就不能进到需要 ms 冷启动的关断态,只能停在浅睡或深睡。「在规定响应时间内醒来」约束了能选的最深档位,这是实时系统低功耗设计的核心约束。
五、手机与 MCU 的侧重为什么不同
同一套分级,在两类产品上侧重不同:
- 电池 MCU/可穿戴/表计:99% 时间在深睡/待机,深睡电流(亚 µA/几十 nA)直接决定换电池周期,active 峰值反而次要。设计重心是尽量深的睡眠、低功耗模拟外设自主运行、事件驱动(见 MCU 低功耗入门)。
- 手机应用处理器/电脑 CPU:算力大、漏电盘子大,但常有热和响应约束,因此更倚重 DVFS + 多核异构 + 快速 C-state,深睡(如挂起到内存)也要保证唤醒快(见 CPU 电源管理)。待机电流也重要,但用户对「秒开」敏感,不能一味睡死。
这也解释了为什么手机里既有高性能大核又有低功耗小核/传感器岛:重活短时间在大核 race-to-idle 干完,平时由小核和常开岛维持(异构与调度见低功耗手段全景)。
六、怎么读 MCU 数据手册的「多模式电流表」
低功耗 MCU 的 datasheet 通常给一张「各电源模式 × 不同条件」的电流表,读它要同时盯住四个条件,否则数字没法横向比较:
- 是哪个模式:Run/Sleep/Stop/Standby……对应本文阶梯的哪一级。
- 在什么电压、温度:漏电随温度暴涨(见漏电与工艺),25°C 的 standby 数字不能直接用于 85°C。
- 哪些外设/时钟还开着:RTC、RAM retention(保留多少 KB)、LVD/BOR 掉电检测、稳压方式(LDO vs DC-DC)都会显著改数。
- 唤醒源与唤醒时间:该模式支持被什么唤醒、最大唤醒延迟多少,是否满足实时性。
一个常被忽略的坑:标称「200nA 待机」往往是关闭了 RAM 保持和大部分掉电检测、特定电压温度下的数字;一旦要求 RAM retention 或保留 RTC,电流可能跳到 µA 级。做续航预算时要用「你产品真实配置」那一列,而不是最漂亮的最小值。
七、把模式串起来:一个低占空比设备的能量账
一个温度采集节点每 10 分钟采一次、上报一次(活跃 50ms,平均 30mA@3V),其余时间深睡,深睡电流 2µA。算平均电流:
- 活跃占空比:
0.05s / 600s ≈ 8.3e-5; - 活跃平均电流贡献:
30mA × 8.3e-5 ≈ 2.5µA; - 深睡贡献:
≈ 2µA; - 总平均电流 ≈ 4.5µA(若再计入唤醒/稳压器瞬态和 RTC,略高)。
要点:虽然活跃时电流是深睡的上万倍,但因为占空比极低,深睡电流和活跃电流对平均值的贡献竟在同一量级。 这就是低占空比产品「省电一半功夫花在睡眠电流上」的定量原因(占空比账法同电池预算)。若深睡电流压不到 µA 以下,再怎么优化活跃功耗也救不了续航。
八、与底层手段的对应(收束)
| 睡眠级 | 主要依赖的硬件手段 |
|---|---|
| Sleep 浅睡 | 时钟门控(停 CPU/外设时钟) |
| Deep-sleep 深睡 | 停 PLL/时钟树、降稳压、SRAM retention、保留 RTC |
| Standby/Off | 电源门控 + 保持寄存器 + 隔离 + always-on 岛 |
| 运行期省电 | DVFS、异构核、时钟门控填空 |
意图和单元如何被描述、插入、验证,回看低功耗设计全流程与 UPF。
九、睡眠时间也会漏:被忽略的常开门与「残余功耗」
把模式分得再细,实测深睡电流仍常高于 datasheet 最小值,差距来自那些「你以为睡了其实还开着」的东西,评审时应逐项清点:
- 稳压器自身静态电流(Iq):LDO/DC-DC 即使轻载也要耗电,低 Iq 稳压器和可旁路/关断的供电轨是深睡设计的关键;
- 分压/上下拉电阻、LED、板级器件:板上一个常亮指示灯或分压电阻可能就是几十 µA,比整颗 MCU 的待机电流还大;
- 没关的 I/O、外部总线偏置、传感器静态电:GPIO 默认态可能向外设供电或被外部上拉灌流,传感器没进休眠模式也持续耗电;
- 模拟域:比较器、BOR/PVD、LVD、RTC 各自有常开电流,开得越多越深睡越省不下来;
- 时钟源:高速晶振/HIRC 停了没有,低速 LIRC/LSE 留哪一路;
- 硅的工艺离散与温度:漏电随温度近似翻倍(见漏电与工艺),高温产品要按高温档估待机。
工程上的可靠做法是在真实板子上逐级关断、用高精度电源分析仪测残余电流(后续《功耗怎么测》篇),把每一个常开贡献者列成清单,而不是只信芯片 datasheet 的理想数字——因为系统待机电流是芯片、电源、板级器件和外设的总和,芯片做到 200nA 而板上漏 5µA 是非常常见的「纸面省电、实测不省」。这也是为什么低功耗是软硬件和硬件板级共同的责任(板级实测方法见 DPA 专题与后续测量篇)。
十、手机为什么看起来没有「关机式睡眠」:现代待机的折中
传统分级里「睡得越深越好」,但智能手机为了即时响应和后台连接,大量使用现代待机(S0ix/Modern Standby)而非真正关断:屏幕熄灭后 SoC 进入极浅的低功耗态、内存仍供电、调制解调器和传感器岛周期醒来查收消息、DRM/指纹/语音助手等保持监听。它的唤醒几乎无延迟、体验最好,代价是平均功耗远高于真关断,所以手机即使「待机」一天也会掉电一截,而功能机可以躺几周。这是产品取舍:把「响应/连接」放在了「极致待机电流」前面(系统态机制见 CPU 电源管理、平台域划分见后续《SoC 电源架构》篇)。
理解这一点有助于在评审时问对问题:不是笼统问「睡眠电流多大」,而是问「在必须保留哪些唤醒源、允许多大唤醒延迟、保不保留 RAM/连接的前提下,睡眠电流多大」。约束条件不同,能选的最深档和对应电流完全不同——脱离实时性和保持需求谈待机数字没有意义。对纯电池 IoT 节点可激进关断,对智能手表要留心率/抬腕检测,对手机要留连接和语音,三者的「最优睡眠档」因此逐级变浅,这正是分级体系存在的意义(分级判据见三种省电模式对比)。
这一篇在知识体系里的位置
总结
一句话总结:待机不是单一状态,而是一条按「睡得越深越省电、但保留越少、醒得越慢」排列的阶梯,其每一级都是时钟门控、降稳压/保持、电源门控这三招按空闲尺度的组合——浅睡(sleep/WFI)本质是停 CPU 时钟的时钟门控,RAM、寄存器、外设全部保持供电、内容不丢,中断后数个周期到微秒即可续跑,只省动态功耗、几乎不省漏电;深睡(deep-sleep/stop)进一步停掉 PLL 和高速时钟树、主稳压器进入低功耗或保持档,SRAM 转 retention 仅用极小保持电流留住内容,只留 RTC 等必要供电,唤醒要重新起振锁相、延迟几十微秒到毫秒;待机/关断(standby/off)对大部分电源域真正电源门控,动态与漏电一起压到近零,只保留一个用高阈值厚氧器件做到亚微安甚至纳安级的 always-on 常开岛(RTC、唤醒引脚检测、备份寄存器),代价是内容多半丢失、需毫秒级近冷启动。之所以分级而不直接全关,是因为进入/退出每一级都有固定的时间与能耗开销、且实时响应要求(必须在多短时间内应答唤醒源)限定了能选的最深档,系统按预期空闲时长选「能在截止时间前醒来的最深一级」。功耗量级上 active 为数十毫瓦到数瓦、深睡为微安级、待机常开岛可低至几十纳安,而由于低占空比设备深睡时间占绝对多数(可验算:10 分钟活跃 50ms/30mA、深睡 2µA 时活跃与深睡对平均电流的贡献竟同为约 2~2.5µA),续航几乎由最深档电流而非峰值电流决定,因此评审焦点是压低深睡电流;读 datasheet 多模式电流表必须同时核对模式、电压温度(漏电高温暴涨)、RAM retention/RTC/BOR 等真实外设配置和唤醒源/延迟,用产品真实配置对应的那一列做续航预算,而不是最漂亮的最小值。