极致低功耗设计:从硬件选型到软件策略
在可穿戴设备和物联网传感器中,低功耗(Low Power)设计是核心竞争力。客户的要求往往是:一颗纽扣电池,用三年。这意味着系统的平均电流必须控制在微安(μA)级别。
1. 硬件选型:输在起跑线上?
低功耗首先是设计出来的,不是优化出来的。
1.1 MCU 选型
- 静态功耗:看 datashet 的
Stop Mode电流。优秀的 MCU(如 STM32L4, Nordic nRF52)在保持 RAM 内容的情况下能做到 < 1.5μA。 - 动态功耗:看
μA/MHz。 - 唤醒时间:醒得越快,浪费的能量越少。
1.2 外围器件
- LDO vs DC-DC:DC-DC 效率高但纹波大,静态电流大;LDO 静态电流小但效率低。对于休眠电流极小的设备,低静态电流 (Low Iq) 的 LDO 往往优于 DC-DC。
- 分压电阻:ADC 采样电池电压时,分压电阻不要直接接地!要用一个 MOSFET 控制接地,只在采样那 1ms 导通,平时断开。否则 100k 电阻在 3.3V 下就是 33μA 的常驻漏电,是致命的。
2. 软件策略:能睡就睡
2.1 睡眠模式 (Sleep Modes)
MCU 通常提供多种睡眠模式,要在唤醒延迟和功耗之间权衡。
- Sleep/Idle:CPU 停,外设跑。功耗 ~mA 级。
- Stop:CPU 停,高频时钟停,RAM 保持。功耗 ~μA 级。(最常用)
- Standby/Shutdown:全断电,只留 RTC。功耗 ~nA 级,但唤醒等于复位。
2.2 GPIO 管理
进入休眠前,必须把所有 GPIO 配置好!
- 悬空引脚:必须设为模拟输入(Analog Mode),防止施密特触发器震荡耗电。
- 外设引脚:断开外设电源后,对应的 GPIO 也要设为低电平或高阻态,防止电流通过 GPIO 的保护二极管倒灌(Back-feeding)到外设芯片。
3. RTOS 中的 Tickless 模式
传统 RTOS 通过 SysTick 定时器每 1ms 唤醒一次 CPU 来计系统时间。这对低功耗是灾难。
Tickless Idle 原理:
- 空闲任务运行时,计算“下一个最近的任务还需要多久才运行?”(假设是 100ms)。
- 关闭 SysTick。
- 配置低功耗定时器(如 LPTIM)在 100ms 后唤醒。
- 进入深度睡眠(Stop Mode)。
- CPU 一觉睡 100ms,中间不被因为“报时”而吵醒。
4. 功耗测量神器
工欲善其事,必先利其器。万用表的采样率太低,捕捉不到蓝牙发射瞬间的尖峰电流。
- **Joulescope / Power Profiler Kit (PPK2)**:这些工具能提供高达 100ksps 的采样率和 nA 级的精度,能画出电流随时间变化的波形图。
- 通过波形,你能一眼看出:“咦,为什么每隔 1秒就有个 5mA 的尖峰?哦,原来是看门狗在喂狗前唤醒了一下其他电路。”
总结
低功耗设计是一场并在微安级战场上的游击战。除了技术,更需要耐心去一点点“抠”电流。
- Title: 极致低功耗设计:从硬件选型到软件策略
- Author: Evek Golden
- Created at : 2025-01-02 09:30:00
- Updated at : 2026-06-12 08:57:02
- Link: https://blog.cocodemo.uno/posts/pwr3x9d/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments