4、电源管理设计:PMIC芯片选型、电源树设计、电池充电管理电路、电源时序控制
电源管理,说白了就是给芯片“喂饭”。喂少了芯片不干活,喂多了芯片会烧掉。我做了这么多年高通平台,见过太多因为电源设计翻车的案例。今天咱们就好好聊聊这块。
4.1 PMIC芯片选型:别只看参数表
PMIC选型是第一步,也是最容易踩坑的地方。高通平台通常推荐自家配套的PMIC,比如PM8150、PM8250这些。但我个人习惯,还是会仔细看看第三方的方案。
选型时我重点关注三点:
- 输出通道数:高通平台需要多路电压,比如VDD_CORE、VDD_MX、VDD_APC等。你得数清楚PMIC有多少个BUCK和LDO。
- 电流能力:别只看峰值电流,要看持续电流。我在项目中遇到过,某颗LDO标称500mA,实际跑400mA就过热保护了。
- 开关频率:高频PMIC能减小外围电感电容体积,但EMI问题会更突出。这是个取舍。
重要:高通平台对PMIC的I2C通信协议有严格要求。选第三方PMIC时,一定要确认兼容性。否则系统可能无法正常配置PMIC寄存器。
嗯,这里要注意。有些PMIC号称“兼容高通”,但实际时序对不上。我曾经吃过这个亏,板子打回来才发现PMIC的PWRON时序跟高通要求差了0.5ms,结果死活开不了机。
4.2 电源树设计:从源头到终端
电源树设计,就是理清楚每一路电从哪里来、到哪里去。我建议用表格把整个电源树画出来,一目了然。
| 电源轨名称 | 电压值 | 最大电流 | 供电对象 | 来源PMIC |
|---|---|---|---|---|
| VDD_CORE | 0.8V | 3A | CPU核心 | PM8150_BUCK1 |
| VDD_MX | 1.2V | 1.5A | 内存控制器 | PM8150_BUCK2 |
| VDD_APC | 1.8V | 2A | 应用处理器 | PM8150_BUCK3 |
| VDD_PLL | 1.8V | 200mA | PLL电路 | PM8150_LDO1 |
| VDD_IO | 1.8V | 500mA | GPIO接口 | PM8150_LDO2 |
设计电源树时,我习惯从最敏感的电源轨开始。比如VDD_PLL,它对纹波要求极高,我一般会用单独的LDO供电,不会跟别的电路共用。
你想想看,如果PLL电源上有噪声,整个时钟系统都会受影响。系统跑起来可能莫名其妙死机,查都查不到原因。
技巧:电源树设计完成后,建议做一次“最坏情况分析”。把所有负载都开到最大,看看PMIC的电流余量够不够。我一般留20%的余量。
4.3 电池充电管理电路:不只是充个电
电池充电管理,很多人觉得简单——不就是把电池充满吗?其实远不止这些。
充电管理电路的核心功能:
- 预充电:电池电压过低时,用小电流先激活电池。我见过有人跳过这步,结果电池直接报废。
- 恒流充电:用设定电流给电池充电,直到电压达到4.2V或4.4V。
- 恒压充电:电压达到目标值后,电流逐渐减小,直到充满。
- 温度监控:电池温度过高或过低时,停止充电。这是安全底线。
高通平台常用的充电芯片有SMB1355、SMB1390等。我个人比较喜欢SMB1355,因为它集成了USB PD协议,支持快充。
警告:电池充电电路一定要加过压保护。我曾经遇到一个项目,充电芯片的FB引脚虚焊,结果充电电压飙到6V,电池直接鼓包了。从那以后,我每个项目都会加一颗TVS管在电池端。
充电电流的设置也很关键。别以为越大越好。电池的充电倍率是有限制的,比如1C、0.5C。你想想看,如果电池容量是3000mAh,你用3A去充,那就是1C倍率。但有些电池只能支持0.5C,强行用1C充,电池寿命会大打折扣。
4.4 电源时序控制:顺序错了就完蛋
电源时序,是高通平台最容易出问题的地方。为什么?因为高通芯片对电源上电顺序有严格要求。
典型的上电顺序:
VDD_CORE (0.8V) → VDD_MX (1.2V) → VDD_APC (1.8V) → VDD_PLL (1.8V) → VDD_IO (1.8V)
这个顺序不能乱。如果VDD_IO先上电,而VDD_CORE还没起来,芯片内部的IO buffer可能会处于不确定状态,导致漏电甚至损坏。
我建议用PMIC的GPIO来控制使能信号。比如PM8150的GPIO1输出高电平,去使能下一颗PMIC的BUCK。这样就能保证严格的时序。
重要:下电顺序同样重要。通常跟开机顺序相反,但有些芯片要求先下VDD_IO再下VDD_CORE。一定要看芯片手册的“Power Down Sequence”章节。
嗯,这里分享一个我踩过的坑。有一次我设计了一个产品,开机没问题,但关机时偶尔会死机。查了好久才发现,是下电时序不对。VDD_CORE先掉电了,但VDD_IO还维持着,导致芯片内部逻辑混乱。后来我在PMIC的配置里加了一个下电延时,问题就解决了。
时序控制的具体实现:
- 硬件方式:用RC延时电路,或者用PMIC的GPIO级联。
- 软件方式:通过I2C配置PMIC寄存器,控制各通道的使能顺序。
- 混合方式:硬件保证基本时序,软件做微调。
我个人更推荐混合方式。硬件保证安全,软件提供灵活性。你想想看,如果全靠软件,万一系统启动时I2C还没初始化,那时序就乱套了。
技巧:设计完成后,用示波器抓一下各电源轨的上电波形。看看时序是否满足芯片手册的要求。我一般会抓三组:常温、高温、低温。因为温度会影响RC延时的精度。
最后说一句,电源管理设计没有捷径。多看芯片手册,多做实验,多积累经验。我做了十年高通平台,到现在每次设计电源还是会反复检查。毕竟,电源是系统的“心脏”,心脏出问题了,其他部分再牛也没用。
好了,这一章就聊到这里。下一章咱们聊聊时钟系统设计,那也是高通平台的一个难点。