第4章 低功耗硬件设计要点:电源树设计、LDO选型、去耦电容布局、PCB走线注意事项
做低功耗项目,很多人一上来就盯着软件优化。什么睡眠模式、时钟门控、动态调频,调得天花乱坠。结果板子一焊好,一测电流,傻眼了——比预期高了好几个数量级。
问题出在哪?十有八九是硬件底子没打好。软件再省电,硬件漏电也给你全漏光了。今天咱们就聊聊低功耗硬件设计的几个核心要点。
核心观点:低功耗设计,硬件是地基,软件是装修。地基没打好,装修再豪华也白搭。
4.1 电源树设计——从源头掐住功耗
电源树,说白了就是你的板子上电是怎么流的。从电池或者USB进来,经过哪些LDO、DCDC,最后分到各个模块。
我见过不少工程师,画电源树的时候只管电压对不对,完全不管功耗。结果一个3.3V的LDO给整个板子供着,连传感器、无线模块、LED指示灯全挂上面。待机的时候LDO自己就吃掉几十微安,再加上各路漏电,你说这功耗能低吗?
我个人习惯的做法是:先分区,再供电。
| 电源域 | 典型电压 | 供电对象 | 可关断? |
|---|---|---|---|
| VDD_CORE | 1.2V | STM32内核 | 否(休眠时自动降) |
| VDD_IO | 3.3V | GPIO、外设接口 | 否 |
| VDD_SENSOR | 3.3V | 传感器模块 | 是(MOS管控制) |
| VDD_RF | 1.8V | 无线模块 | 是(独立LDO) |
| VDD_BACKUP | 3.0V | RTC、备份寄存器 | 常开(纽扣电池) |
我的经验:每个可关断的电源域,都加一个P沟道MOS管做开关。选型时注意导通电阻Rds(on)要小,不然大电流时压降会让你头疼。我常用Si2301,Rds(on)才几十毫欧,够用。
4.2 LDO选型——别让稳压器吃掉你的电池
LDO这东西,看着简单,选起来坑不少。很多人只看输出电压和最大电流,忽略了两个关键参数:静态电流(Iq)和压差(Dropout Voltage)。
静态电流是什么?就是LDO空载时自己消耗的电流。你想想看,如果系统待机时总电流才10μA,结果LDO自己就吃掉5μA,那效率直接腰斩。
我曾经在一个电池供电的项目里,用了普通的AMS1117-3.3。待机电流测出来总是多出5mA,查了半天才发现是LDO的静态电流。后来换成XC6206系列,Iq只有1μA,问题瞬间解决。
| 型号 | 输出电压 | 最大电流 | 静态电流(Iq) | 压差 | 适用场景 |
|---|---|---|---|---|---|
| AMS1117-3.3 | 3.3V | 800mA | 5mA | 1.1V | 大电流、不关心功耗 |
| XC6206P332MR | 3.3V | 150mA | 1μA | 200mV | 低功耗待机 |
| TPS7A02 | 可调 | 200mA | 25nA | 120mV | 超低功耗、电池供电 |
| RT9013 | 可调 | 500mA | 50μA | 350mV | 平衡功耗与性能 |
⚠ 注意:低Iq的LDO通常负载调整率较差。如果你要给射频模块供电,射频发射时电流会突然跳变,LDO输出电压可能会掉。这时候需要权衡——要么选Iq稍高但动态响应好的型号,要么在LDO输出端加足够大的电容。
4.3 去耦电容布局——小电容,大讲究
去耦电容,很多人觉得不就是每个电源引脚放一个0.1μF嘛,有什么好讲的?
嗯,这里要注意。电容不是放上去就完事了,位置和走线才是关键。
我调试过一个板子,STM32在运行模式下电流正常,但一进Stop模式就复位。查了半天,发现是去耦电容放得太远,走线绕了一大圈。MCU内部电压瞬态跌落,触发了BOR复位。
去耦电容的黄金法则:
- 就近放置:电容离MCU电源引脚不超过3mm,越近越好
- 先小后大:0.1μF放最靠近引脚,10μF放稍远
- 回路最短:电容的地过孔要直接打到地平面,不要绕路
- 多引脚并联:每个VDD/VSS对都要配一个0.1μF,别偷懒
实战建议:对于低功耗设计,我建议在每个电源域入口处放一个10μF+0.1μF的组合。10μF负责低频储能,0.1μF负责高频去耦。如果空间允许,再加一个1nF对付更高频的噪声。
4.4 PCB走线注意事项——漏电的隐形杀手
PCB走线对功耗的影响,很多人意识不到。我刚开始做低功耗设计时也吃过亏。
有一次,板子待机电流理论值应该是5μA,实测却有50μA。查了三天,最后发现是PCB上两根相邻的走线之间,因为间距太小,加上助焊剂残留,形成了表面漏电路径。
低功耗PCB走线的几个要点:
- 加大间距:高阻抗节点(如电池电压检测、RTC供电)的走线,与相邻走线间距至少0.5mm以上
- 避免平行走线:敏感信号不要长距离平行走,容易串扰
- 包地处理:关键信号上下左右用地线包围,减少耦合
- 禁止浮空引脚:所有未使用的GPIO,要么拉高、要么拉低、要么配置为输出,绝对不能浮空
- 注意过孔:过孔本身有寄生电容和漏电阻,高阻抗节点尽量少用过孔
我的习惯:画完PCB后,我会把板子用酒精彻底清洗一遍,然后放进60°C烘箱烘半小时。这样做可以去除助焊剂残留和水分,把表面漏电降到最低。尤其是高湿度环境下,这一步非常有效。
4.5 实战检查清单
最后,给各位一个我自己用的检查清单。每次画完板子,对着清单过一遍,能省掉很多调试时间。
- 电源树检查:每个模块的供电是否独立?可关断的电源域是否加了开关?
- LDO检查:静态电流是否满足待机要求?压差是否留够余量?
- 去耦电容检查:每个电源引脚是否都有0.1μF?电容是否靠近引脚?
- 走线检查:高阻抗节点是否做了隔离?未用引脚是否处理?
- 地平面检查:是否有完整的地平面?关键信号是否有回流路径?
⚠ 最后提醒:低功耗硬件设计,没有捷径。每一个细节都可能是功耗的漏洞。别想着「先做出来再说,后面再优化」——硬件改版一次的成本和时间,够你前期多花三天仔细检查了。