第三章 电源树设计:从电池到各电压域(3.3V、1.8V、1.0V)的电源树拓扑结构
好,咱们进入正题。电源树设计,说白了就是搞清楚电是怎么从电池流到每个芯片的。你想想看,一个洪水预警系统里,有MCU、有FPGA、有无线模块、有传感器,它们要的电压都不一样。3.3V、1.8V、1.0V,这三个电压域怎么来?怎么分配?这就是电源树要解决的问题。
我个人习惯,画电源树之前,先列一张表。把每个负载的电压、电流、纹波要求、上电时序都写清楚。别嫌麻烦,这一步省了,后面调试的时候有你哭的。我在项目中遇到过好几次,因为漏看了一个模块的启动电流,结果系统一上电就保护了。
3.1 电源树的层级结构
从电池到各电压域,一般分三级:
- 第一级:电池到预稳压。电池电压范围宽,比如3.7V锂电,满电4.2V,放电到3.0V。直接给后级用?不行。纹波大,电压不稳。所以先过一个预稳压,把电压稳住。
- 第二级:预稳压到中间总线。我习惯用5V或3.8V作为中间总线。为什么?因为后级的LDO和DC-DC在这个电压下效率最高。你想想看,如果直接从电池给1.0V供电,压差太大,效率低得可怜。
- 第三级:中间总线到各电压域。3.3V、1.8V、1.0V,分别从中间总线取电。这里要注意,每个电压域要独立供电,别串在一起。否则一个模块短路,整个系统都挂了。
核心原则:电源树设计要遵循「先稳后分、逐级降压」的思路。不要试图用一个DC-DC搞定所有电压,那是不现实的。
3.2 各电压域的需求分析
咱们具体看看这三个电压域都喂给谁:
| 电压域 | 典型负载 | 电流需求 | 纹波要求 | 上电时序 |
|---|---|---|---|---|
| 3.3V | MCU I/O、传感器、无线模块、电平转换 | 200-500mA | <50mV | 最先上电 |
| 1.8V | FPGA辅助电压、DDR内存、PLL供电 | 100-300mA | <30mV | 其次上电 |
| 1.0V | FPGA核心电压、高速逻辑 | 500mA-2A | <10mV | 最后上电 |
嗯,这里要注意。1.0V的纹波要求最严格,10mV以内。为什么?因为FPGA核心电压低,逻辑电平裕量小。纹波一大,时序就乱了。我曾经在一个项目里,1.0V纹波测出来15mV,结果FPGA跑着跑着就报时序错误。后来换了低ESR的电容才搞定。
3.3 拓扑结构选择
常见的电源树拓扑有三种:
- 级联式:电池→DC-DC(5V)→LDO(3.3V)→LDO(1.8V)→LDO(1.0V)。优点是简单,缺点是效率低,尤其是1.0V那一路,从5V降到1.0V,效率只有20%。
- 并联式:电池→DC-DC(5V),然后分别用三个LDO从5V取电。优点是各电压独立,缺点是5V到1.0V的压差还是大。
- 混合式:电池→DC-DC(3.8V),然后3.3V用LDO,1.8V和1.0V用DC-DC。这是我最常用的方案。效率高,纹波也能控制住。
我的建议:对于洪水预警这种电池供电的系统,优先选混合式。3.3V用LDO,因为电流小,LDO的噪声低。1.8V和1.0V用DC-DC,因为电流大,效率是关键。
3.4 具体设计实例
拿我去年做的一个项目举例。电池是3.7V锂电,容量5000mAh。系统需要3.3V、1.8V、1.0V三个电压域。我的电源树是这样的:
电池(3.0-4.2V)
│
├─ DC-DC升压至5.0V (预稳压)
│ │
│ ├─ LDO 3.3V (给MCU、传感器、无线模块)
│ │ └─ 输出:3.3V @ 300mA
│ │
│ ├─ DC-DC降压至1.8V (给FPGA辅助电压)
│ │ └─ 输出:1.8V @ 200mA
│ │
│ └─ DC-DC降压至1.0V (给FPGA核心)
│ └─ 输出:1.0V @ 1.2A
│
└─ 电池直接供电 (给电机驱动、大功率传感器)
└─ 注意:需加过流保护
你可能会问,为什么先升到5V再降压?不浪费能量吗?嗯,这里有个权衡。升压到5V,是为了给后级的DC-DC留足压差。尤其是1.0V那路,如果直接从3.7V降压,占空比太小,开关损耗大。升到5V后,占空比在20%左右,效率能到85%以上。
注意:升压到5V这一步,要选静态功耗低的DC-DC。洪水预警系统大部分时间在待机,静态电流如果超过10μA,电池很快就耗光了。我推荐用TPS61099,静态电流只有1μA。
3.5 上电时序控制
FPGA对上电时序有严格要求。一般是3.3V先上,然后1.8V,最后1.0V。如果顺序反了,FPGA内部可能会锁死,甚至烧坏。
怎么控制时序?有三种方法:
- RC延时:简单便宜,但不精确。适合对时序要求不高的场合。
- 电源监控芯片:比如TPS3808,可以设置延时时间。精度高,但成本稍高。
- FPGA自身控制:让FPGA的I/O口控制后级电源的使能脚。前提是FPGA先有电。
我个人习惯用第二种。RC延时受温度影响大,冬天和夏天延时能差一倍。我曾经在北方做测试,零下20度,RC延时从10ms变成了30ms,结果FPGA启动失败。后来换了电源监控芯片,再没出过问题。
3.6 电源树仿真与验证
画完电源树,别急着打板。先仿真一下。我用LTspice比较多,免费,而且模型全。仿真主要看三点:
- 启动波形:各电压的上电顺序对不对?有没有过冲?
- 纹波:满载下纹波是否在要求范围内?
- 效率:从电池到各电压域的总效率是多少?
仿真通过后,再画PCB。布局时注意:大电流路径要短,反馈线要远离电感,电容要靠近负载引脚。这些细节,做多了自然就记住了。
总结一下:电源树设计不是简单的「找个芯片降压就行」。你要考虑效率、纹波、时序、成本、体积。每个选择都有 trade-off。我的经验是,先列需求,再选拓扑,然后仿真验证,最后画板调试。按这个流程走,基本不会翻车。
好,这一章就到这里。下一章咱们聊聊电池选型和充电管理,那也是个坑多的地方。