3. 传感终端功耗分解方法
要优化续航,第一步不是急着换低功耗芯片,而是把整机电流“拆开看”。一个典型的低功耗传感终端,其平均电流可以分解为五个部分:MCU 运行与睡眠、传感器采集与待机、无线收发(含射频与协议栈)、电源转换损耗、以及外围电路(LED、上拉电阻、分压采样、看门狗、外部 Flash 等)。只有知道每一部分占了多少,才能判断优化方向是“换器件”“改占空比”还是“改唤醒策略”。
一、功耗分解的基本模型
对周期性上报的传感终端,平均电流可用占空比模型表达:
I_avg = Σ (I_state_i × t_i) / T_period + I_leak
其中:
I_state_i 第 i 个工作状态的电流(A)
t_i 该状态在一个周期内的持续时间(s)
T_period 上报周期(s)
I_leak 无法归入状态的静态漏电流(A)
把五个功能块分别代入上式,就得到分项平均电流。例如某温湿度终端,上报周期 T=60 s,各分项平均电流分别为:MCU 睡眠 1.2 µA、MCU 唤醒处理 8 µA、传感器测量 3 µA、无线收发 22 µA、电源转换损耗 4 µA、外围电路 2 µA,则整机平均电流约 40.2 µA。若用 1000 mAh 纽扣电池,理论续航约 1000/0.0402 ≈ 24880 h ≈ 2.8 年。这个数字的意义在于:无线收发占了 55%,是首要优化对象;而 MCU 睡眠只占 3%,换更贵的 MCU 收益有限。
二、分项测量:从“猜”到“测”
分项测量最忌讳只靠数据手册估算。正确做法是“整机基线 + 分项隔离 + 时间统计”三步。
整机基线:用功耗分析仪(如 Nordic PPK2、Joulescope 或 Keysight N6705C)串入电池正极,采样率至少 10 kS/s,才能捕捉到毫秒级的 TX 脉冲。记录一个完整上报周期的电流波形,得到 I_avg 和峰值电流。
分项隔离:对每个功能块,用以下方法之一测其真实电流:
- 断开该模块供电,测整机电流下降量,即为该模块平均电流;
- 在该模块电源路径串联 0 Ω 电阻,用差分探头测压降,除以电阻值得到瞬时电流;
- 对 MCU,可分别烧录“只睡眠”“只唤醒处理”“只驱动射频”的测试固件,逐项测量。
时间统计:用 GPIO 在进入 TX、RX、传感器测量、睡眠前翻转电平,逻辑分析仪同步记录,得到每个状态的持续时间 t_i。例如某次测量得到:TX 持续 8 ms、RX 窗口 12 ms、传感器测量 15 ms、MCU 唤醒处理 5 ms,其余时间睡眠。结合各状态电流,即可算出分项平均电流。
三、建模:把测量结果变成可计算模型
测量完成后,建立分项功耗模型。以无线收发为例:
I_radio_avg = (I_TX × t_TX + I_RX × t_RX + I_sleep_radio × t_sleep) / T_period
示例:
I_TX = 28 mA, t_TX = 8 ms
I_RX = 12 mA, t_RX = 12 ms
I_sleep_radio = 0.8 µA, t_sleep = 59.98 s
T_period = 60 s
I_radio_avg = (28mA×0.008s + 12mA×0.012s + 0.0008mA×59.98s) / 60s
= (0.224 + 0.144 + 0.048) / 60
= 0.416 / 60 ≈ 6.93 µA
注意:这里 TX 电流 28 mA 是峰值,但平均后只有 6.93 µA,说明“峰值高”不等于“平均高”,关键是占空比。同理,MCU 若唤醒处理 5 ms、电流 3.2 mA,平均仅 0.27 µA;但若唤醒频率提高到每 5 s 一次,平均就变成 3.2 µA,占比立刻上升。因此建模时必须把“周期 T”和“单次持续时间 t”同时纳入。
四、电源转换与外围电路的“隐形功耗”
电源转换损耗常被忽略。LDO 的静态电流(Quiescent Current)在睡眠期间持续消耗,例如某 LDO 静态电流 1.5 µA,若整机睡眠 59.98 s,则平均贡献 1.5 µA,占整机 40 µA 的 3.75%。若换成静态电流 0.3 µA 的 LDO,可省 1.2 µA。DC-DC 效率虽高,但轻载时效率骤降,需查看其轻载效率曲线。
外围电路包括:状态 LED(若常亮 2 mA,直接毁掉续航)、I²C 上拉电阻(4.7 kΩ 在 3.3 V 下,若总线常被拉低,每路约 0.7 mA)、电池分压采样(两个 1 MΩ 电阻,持续 1.65 µA)、外部 Flash 待机电流等。这些“小东西”加起来可能超过 MCU 睡眠电流,必须逐项排查。
五、分项占比表:优化决策的依据
把测量与建模结果整理成表,是优化决策的直接依据。以下为示例数据(非实测,仅用于说明方法):
| 功能块 | 平均电流 | 占比 | 主要影响因素 | 优化方向 |
|---|---|---|---|---|
| 无线收发 | 22 µA | 55% | TX 电流、TX 时间、上报周期 | 降低发射功率、缩短前导、增大周期 |
| MCU | 9.2 µA | 23% | 睡眠电流、唤醒频率、处理时间 | 选低漏 MCU、减少唤醒、DMA 搬运 |
| 电源转换 | 4 µA | 10% | LDO 静态电流、DC-DC 轻载效率 | 换低 Iq LDO、旁路 DC-DC |
| 传感器 | 3.3 µA | 8% | 测量时间、待机电流、采样率 | 降低采样率、用单次触发模式 |
| 外围电路 | 2 µA | 5% | LED、上拉、分压、Flash | 去掉 LED、增大上拉、MOS 切断分压 |
从表中可见,无线收发是最大项,应优先优化:把 TX 时间从 8 ms 降到 5 ms,平均电流可降约 1.4 µA;把上报周期从 60 s 延长到 120 s,无线平均电流直接减半。而 MCU 睡眠电流从 1.2 µA 降到 0.5 µA,只省 0.7 µA,收益远小于前者。这就是“先测后优”的价值:把精力花在占比最大的地方。
最后,建模不是一次性的。当固件修改、周期调整或更换器件后,应重新测量关键分项,更新模型。建议保留一份“功耗分解记录表”,记录每次测量的日期、固件版本、T_period、各分项电流和占比,形成可追溯的优化日志。这样在续航不达标时,能快速定位是哪个分项发生了漂移。