1. 低功耗设计概述:功耗从哪来,又该怎么管

做嵌入式这些年,我越来越觉得「功耗」是个绕不开的话题。早期做单片机项目,电池能撑一个月就觉得不错了。现在呢?用户期望的是半年、一年,甚至更久。这背后,其实就是低功耗设计的功夫。

这一章,我们先从根上聊聊功耗的来源、为什么值得花精力去优化,以及常用的分析工具有哪些。嗯,内容偏基础,但很重要——后面的章节都会用到这些概念。

1.1 功耗的两大来源:动态功耗与静态功耗

芯片的功耗,说白了就两块:动态功耗和静态功耗。搞懂它们,你才知道该从哪下手省电。

功耗类型 产生原因 典型场景 影响因素
动态功耗 电路翻转、信号跳变时产生的功耗 CPU 运行、GPIO 翻转、总线通信 工作频率、电源电压、负载电容
静态功耗 晶体管漏电流导致的功耗 待机、休眠、深度睡眠 工艺制程、温度、阈值电压

动态功耗:芯片「动起来」才有的开销

动态功耗的公式很简单:P_dynamic = α × C × V² × f。α 是翻转率,C 是负载电容,V 是电压,f 是频率。

你看,电压是平方项,影响最大。所以很多低功耗设计的第一招就是降电压。我在项目中遇到过,把 STM32L4 的内核电压从 1.8V 降到 1.2V,动态功耗直接砍掉一半多。当然,降电压有代价——频率也得跟着降,否则时序跑不过去。

另一个常见手段是关时钟。不用的外设,时钟直接 gate 掉。我记得有个项目,GPS 模块的 SPI 接口在空闲时一直开着,功耗多了 3mA。后来加了个时钟门控,问题就解决了。

静态功耗:芯片「睡着」也在耗电

静态功耗来自晶体管的漏电流。工艺越先进,漏电流越大。28nm 以下的芯片,静态功耗甚至能占到总功耗的 30%~50%。

你想想看,设备休眠了,CPU 停了,外设关了,但电池还在慢慢放电。这就是静态功耗在作怪。

降低静态功耗的方法主要有:

  • 电源门控(Power Gating):彻底切断不用的模块的电源
  • 多阈值电压(Multi-Vt):关键路径用低阈值(快但漏电大),非关键路径用高阈值(慢但漏电小)
  • 反向偏置(Reverse Body Bias):增加阈值电压,减少漏电流
我的经验:做低功耗设计时,别只盯着动态功耗。很多产品在待机状态下一放就是几周,静态功耗才是真正的「隐形杀手」。我曾经有个项目,待机电流从 10μA 优化到 2μA,电池寿命直接翻了 5 倍。

1.2 低功耗设计的意义与挑战

为什么要做低功耗?原因很直接:用户体验和产品竞争力。

  • 延长电池寿命:用户不想天天充电。智能手表、TWS 耳机、传感器节点,续航是核心卖点。
  • 降低散热成本:功耗高了,散热片、风扇都得跟上。消费电子里,无风扇设计是趋势。
  • 满足法规要求:欧盟 ErP 指令、能源之星,都有严格的待机功耗限制。
  • 支持新应用:能量采集、无电池设备,功耗必须低到 μW 级别。

但低功耗设计并不容易。我总结了几大挑战:

  1. 性能与功耗的权衡:降频省电,但响应慢了。用户会抱怨「卡」。怎么平衡?没有标准答案。
  2. 软件与硬件的协同:硬件支持多种睡眠模式,但软件没用好,等于白搭。我见过太多项目,芯片支持深度睡眠,但驱动里忘了关外设时钟,待机电流多出 50μA。
  3. 测试与验证的难度:μA 级的电流波动,示波器根本看不准。得用专门的功耗分析仪。
  4. 温度的影响:静态功耗随温度指数上升。夏天 40°C 和冬天 0°C,待机电流能差好几倍。
避坑指南:我曾经有个项目,在实验室测试待机电流只有 5μA,但客户现场反馈电池两天就没电了。排查了很久,发现是高温环境下(设备放在户外暴晒),静态功耗飙升到了 200μA。从那以后,我每次做低功耗测试都会加上高温工况。

1.3 功耗分析工具介绍

做低功耗设计,光靠「感觉」不行。你得有数据。下面是我常用的几类工具:

工具类型 代表产品 适用场景 精度
万用表 Fluke 287、Keysight 34461A 粗略测量平均电流 μA 级
示波器 + 电流探头 Keysight N2820A、Tektronix TCP0030A 观察电流波形、瞬态事件 mA 级
专用功耗分析仪 Joulescope、Otii Arc、Nordic PPK2 精确测量动态电流、能量统计 nA ~ μA 级
仿真工具 SPICE、PrimeTime PX 芯片级功耗估算 取决于模型

我个人最常用的是 Joulescope 和 Nordic PPK2。它们能实时显示电流波形,还能统计每个工作阶段的能量消耗。比如,你可以看到蓝牙广播时电流尖峰有多高、持续多久,然后针对性地优化。

关键指标:做功耗分析时,别只看平均电流。要关注 峰值电流(影响电池瞬时放电能力)和 能量消耗(单位是 μJ 或 mAh)。两个设备平均电流一样,但峰值电流不同,电池寿命可能差很多。

下面这张图,是我总结的低功耗设计知识体系。你可以把它当作后续章节的导航图。

低功耗设计知识体系 低功耗设计 功耗来源 动态功耗:αCV²f 静态功耗:漏电流 设计方法 动态电压频率调整 (DVFS) 时钟门控 + 电源门控 多级睡眠模式 分析工具 万用表 / 示波器 Joulescope / PPK2 SPICE / PrimeTime 核心思路 先测量 → 再分析 → 后优化 从系统级到电路级,逐层降低功耗

这张图把低功耗设计拆成了三个维度:功耗来源(知道问题在哪)、设计方法(知道怎么解决)、分析工具(知道效果如何)。后面的章节,我们会逐一深入每个分支。