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 收益有限。

传感终端功耗分解:从整机电流到分项占比 示例:T=60 s 上报周期,整机平均电流 40.2 µA 整机平均电流 40.2 µA MCU 睡眠 1.2 µA + 唤醒 8 µA 9.2 µA · 23% 传感器 测量 3 µA + 待机 0.3 µA 3.3 µA · 8% 无线收发 TX 22 µA + RX 1.5 µA 22 µA · 55% 电源转换 LDO 静态 + 效率损耗 4 µA · 10% 外围电路 LED、上拉、分压、Flash 2 µA · 5% 占比排序 无线 55% > MCU 23% > 电源 10% > 传感 8% > 外围 5% 分项测量方法链 ① 整机电流基线 高精度电流表/功耗分析仪 采样率 ≥ 10 kS/s 记录完整上报周期波形 ② 分项隔离测量 分别断开/旁路各功能块 测差值电流 或串联 0Ω 电阻测压降 ③ 状态时间统计 GPIO 翻转 + 逻辑分析仪 标记 TX/RX/测量/睡眠 得到各状态 t_i ④ 建模与验证 I_avg = Σ I_i·t_i / T 与整机实测对比 误差 < 10% 即模型可用

二、分项测量:从“猜”到“测”

分项测量最忌讳只靠数据手册估算。正确做法是“整机基线 + 分项隔离 + 时间统计”三步。

整机基线:用功耗分析仪(如 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 睡眠电流,必须逐项排查。

测量技巧:若无法断开某模块,可在其电源引脚串联一个 10 Ω 电阻,用高输入阻抗万用表测压降。10 Ω 上 1 µA 产生 10 µV,需用 6 位半表或差分放大器。注意电阻本身会引入压降,可能影响模块工作,测完应恢复 0 Ω。

五、分项占比表:优化决策的依据

把测量与建模结果整理成表,是优化决策的直接依据。以下为示例数据(非实测,仅用于说明方法):

功能块 平均电流 占比 主要影响因素 优化方向
无线收发 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,收益远小于前者。这就是“先测后优”的价值:把精力花在占比最大的地方。

常见误区:只看数据手册的“睡眠电流 0.5 µA”就认为 MCU 不是瓶颈。实际系统中,MCU 频繁唤醒、外设漏电、GPIO 悬空翻转,都会让实际睡眠电流远高于手册值。必须用整机测量验证,而不是相信单个器件参数。

最后,建模不是一次性的。当固件修改、周期调整或更换器件后,应重新测量关键分项,更新模型。建议保留一份“功耗分解记录表”,记录每次测量的日期、固件版本、T_period、各分项电流和占比,形成可追溯的优化日志。这样在续航不达标时,能快速定位是哪个分项发生了漂移。