2. WiFi物联网终端功耗测量与建模
功耗测量不是简单地把万用表串进电源线就能得到答案。WiFi物联网终端的工作电流跨度极大:睡眠时可能只有几微安,而发射瞬间可达数百毫安,且持续时间可能只有几百微秒。这种“小电流长时间、大电流短脉冲”的特征,决定了测量平台必须同时具备高动态范围、高采样率和足够长的记录深度。本节围绕测量平台搭建、动态与静态功耗区分、四状态功耗模型建立,以及一次全周期功耗剖分实战展开。
一、测量平台的组成与分工
一套可用的WiFi终端功耗测量平台通常由四类设备协同构成,各自承担不同时间尺度和精度范围的任务:
- 源表(SMU):提供稳定供电并测量平均电流,适合评估睡眠、监听等稳态功耗,典型精度可达nA级,但采样率通常只有几十到几百Hz,无法捕捉发射脉冲。
- 电流探头 + 示波器:电流探头将电流转换为电压,示波器以高采样率(如1MSa/s以上)记录瞬态波形,用于观察发射、接收、计算等快速变化过程。
- 功耗分析仪:专用设备,兼具高动态范围与较高采样率,可长时间记录并自动分段统计各状态能耗,适合全周期剖分。
- 分流电阻(可选):在电源回路中串入小阻值电阻(如0.1Ω),用示波器差分探头测量其压降,作为低成本替代方案,但需注意压降对供电电压的影响。
实际搭建时,源表与功耗分析仪可并联接入,源表负责供电,功耗分析仪负责高速采集;示波器则用于关键瞬态的细节观察。所有设备共地,测量点尽量靠近终端电源引脚,减少线路寄生参数影响。
二、动态功耗与静态功耗的区分
静态功耗指终端在睡眠或深度休眠状态下维持基本电路(RTC、唤醒逻辑、漏电)所消耗的功率,其特点是电流小且平稳,通常用源表直接读取平均电流即可。动态功耗则来自射频收发、CPU计算、外设驱动等主动操作,表现为电流脉冲或阶跃,必须用高采样率设备捕获。
区分二者的意义在于:静态功耗决定电池自放电寿命,动态功耗决定每次通信事件消耗的能量。若把动态脉冲平均到长时间窗口,会严重低估发射瞬间的峰值需求,也可能掩盖电源设计中的瞬态跌落问题。
三、四状态功耗模型
为便于量化,将终端工作过程划分为睡眠、监听、收发、计算四个状态,分别建立功耗模型:
| 状态 | 典型电流范围 | 持续时间特征 | 建模要点 |
|---|---|---|---|
| 睡眠 | 5μA~50μA | 秒级至分钟级 | 平均电流 × 电压 × 时间 |
| 监听 | 20mA~80mA | 毫秒级至百毫秒级 | 接收窗口内平均电流 |
| 收发 | 150mA~350mA | 百微秒至毫秒级 | 峰值电流 × 脉冲宽度,需积分 |
| 计算 | 10mA~60mA | 毫秒级至十毫秒级 | CPU活跃电流 × 运算时间 |
每个状态的能量可表示为 E = V × I_avg × t。对于收发状态,由于电流波形非矩形,应使用示波器或功耗分析仪对电流-时间曲线积分得到电荷量 Q,再乘以电压得到能量。例如,一次发射脉冲峰值280mA,持续1.2ms,若等效矩形宽度为0.9ms,则 Q ≈ 280mA × 0.9ms = 252μC,在3.3V下能量约0.83mJ。
四、全周期功耗剖分实战
下面以一次典型的WiFi终端连接与上报过程为例,说明如何完成全周期功耗剖分。假设终端每60秒唤醒一次,完成一次扫描、连接、发送20字节数据并等待ACK,然后回到睡眠。
操作流程如下:
- 将功耗分析仪设置为1MSa/s采样率,记录时长设为70秒,覆盖一个完整周期。
- 终端上电后,先进入睡眠,记录睡眠段平均电流,例如12μA。
- 唤醒后进入监听/扫描,记录该段平均电流,例如45mA,持续80ms。
- 连接成功后发送数据,捕获发射脉冲,峰值约260mA,有效宽度约1.5ms;随后接收ACK,峰值约180mA,宽度约0.8ms。
- 发送完成后进行协议栈计算与状态更新,CPU活跃电流约35mA,持续6ms。
- 再次进入睡眠,等待下一个周期。
根据记录数据,可计算各状态电荷量并汇总:
睡眠:12μA × 59.9s ≈ 718.8μC
监听:45mA × 80ms = 3600μC
发射:260mA × 1.5ms = 390μC
接收:180mA × 0.8ms = 144μC
计算:35mA × 6ms = 210μC
合计:约5062.8μC ≈ 5.06mC
平均电流:5.06mC / 60s ≈ 84.3μA
由此可知,虽然睡眠电流仅12μA,但由于监听状态持续80ms且电流达45mA,监听成为本周期最大的能量消耗项,占总电荷量的约71%。这提示优化方向应优先缩短监听窗口或降低监听电流,而非仅仅压低睡眠电流。
通过上述剖分,可以清楚看到每个状态对总能耗的贡献。实际工程中,还应重复测量多个周期取平均,并注意温度、供电电压和协议重传对结果的影响。测量平台的价值不仅在于得到一组数字,更在于让优化方向有据可依。