1. 低功耗设计概述:功耗的来源与必要性
各位同学好,我是你们这门课的老周。做嵌入式十几年了,从最早的 8 位单片机一路做到现在的多核应用处理器。今天咱们开篇聊聊低功耗设计——说白了,就是怎么让设备省电。
你可能会想:「省电还不简单?把主频降下来不就行了?」嗯,真这么简单,我就不用专门开一门课了。低功耗设计是个系统工程,从芯片工艺到软件调度,每个环节都能漏电。我见过太多项目,硬件选型时没考虑功耗,结果产品做出来电池撑不过半天,最后只能推倒重来。
1.1 功耗的两大来源:动态功耗与静态功耗
芯片的功耗,归根结底就两块:动态功耗和静态功耗。咱们一个一个说。
动态功耗:干活时消耗的能量
动态功耗来自电路翻转。CMOS 电路里,信号从 0 变 1 或者从 1 变 0 时,要对负载电容充放电。频率越高、电压越高、翻转越频繁,动态功耗就越大。
公式很简单:P_dynamic = C × V² × f
- C:负载电容(包括门电容和互连电容)
- V:供电电压
- f:工作频率
你看,电压是平方项,影响最大。所以为什么现在芯片都往低电压走?1.8V、1.2V、甚至 0.9V——就是为了压这个平方项。我在一个物联网项目里试过,把核心电压从 1.8V 降到 1.2V,动态功耗直接砍掉一半多。
动态功耗里还有个容易被忽略的部分——短路功耗。信号翻转的瞬间,PMOS 和 NMOS 会同时导通一小段时间,形成从电源到地的直流通路。频率越高,短路功耗占比越大。嗯,这个在高速设计里尤其要注意。
静态功耗:不干活也在漏电
静态功耗,也叫漏电功耗。芯片处于空闲或休眠状态时,晶体管依然有漏电流。工艺越先进,漏电越严重。
主要漏电机制有几种:
| 漏电类型 | 成因 | 典型场景 |
|---|---|---|
| 亚阈值漏电 | 栅压低于阈值时,沟道仍有微弱电流 | 休眠模式下的 SRAM |
| 栅极漏电 | 栅氧化层太薄,电子隧穿 | 深亚微米工艺(≤65nm) |
| 源漏穿通 | 沟道太短,源漏直接导通 | 超深亚微米工艺(≤28nm) |
| 反偏结漏电 | PN 结反向偏置时的漏电流 | 所有 CMOS 工艺 |
1.2 低功耗设计的必要性
为什么要做低功耗?我列几个现实场景你就明白了。
- 电池续航:智能手表、TWS 耳机、传感器节点,电池就那么大。功耗降不下来,用户一天一充都嫌烦。
- 散热限制:手机、平板没有风扇,全靠被动散热。功耗高了,机身发烫,用户体验极差。
- 可靠性:温度每升高 10°C,芯片寿命大约减半。低功耗直接等于长寿命。
- 法规要求:欧盟 ErP 指令、能源之星,都对待机功耗有硬性指标。超标了连市场都进不去。
你想想看,一个户外环境监测节点,靠两节 AA 电池要撑三年。如果 MCU 的休眠电流是 10μA 而不是 1μA,电池寿命直接差一个数量级。这就是低功耗设计的价值。
1.3 低功耗设计的发展趋势
这几年低功耗技术变化很快。我挑几个关键方向说说。
工艺层面:从平面到 FinFET 再到 GAA
FinFET 结构大幅降低了亚阈值漏电。到了 3nm 的 GAA(Gate-All-Around),漏电控制更精细。但代价是工艺成本飙升,不是所有项目都用得起。
电路层面:多电压域与电源门控
现代 SoC 普遍划分多个电压域。CPU 核心跑 0.8V,I/O 跑 1.8V,SRAM 跑 1.0V。不用的模块直接断电——这叫电源门控(Power Gating)。
我做过一个蓝牙 SoC,把射频前端和基带分开供电。射频工作时基带休眠,基带工作时射频休眠。整体功耗降了 40%。
软件层面:动态电压频率调整(DVFS)
任务轻的时候降频降压,任务重的时候提频提压。Linux 的 cpufreq 框架就是干这个的。配合实时调度,可以在性能与功耗之间动态切换。
系统层面:能量采集与无电池设计
这个方向越来越热。利用太阳能、振动能、热能来供电,设备可以彻底摆脱电池。TI 的 BQ25570 就是专门做能量采集管理的芯片。我去年帮一个客户做智能门锁,用的就是太阳能+超级电容方案,完全不用换电池。
这张图把低功耗设计的知识体系串起来了。从动态功耗和静态功耗两个源头出发,延伸到具体的优化方法,再到行业趋势。后面每一章都会围绕这张图展开。