4、PMIC基础:PMIC功能框图、集成DCDC与LDO、上电时序控制、寄存器配置
好,咱们进入PMIC的环节。说实话,智能手表里最让我操心的,不是主控跑多快,而是这颗PMIC能不能把电管明白。你想想看,一块小电池,要撑起屏幕、蓝牙、传感器、GPS……哪个大爷都不能得罪。PMIC就是那个端水大师。
4.1 PMIC功能框图:一眼看穿电源脉络
拿到一颗PMIC的数据手册,我第一件事就是看它的功能框图。别急着翻寄存器,先看架构。PMIC内部通常长这样:
- 输入源管理:电池、USB、无线充电,三路输入自动切换。我见过一个项目,因为没处理好输入切换,电池和USB同时供电时PMIC直接冒烟……嗯,那是真·冒烟。
- 降压转换器(Buck):给核心供电,效率最高,但纹波也大。
- 低压差线性稳压器(LDO):给模拟电路、传感器供电,纹波小,但效率低。
- 充电管理:恒流恒压、充电截止、温度保护,全集成在里面。
- 上电时序控制器:这个后面重点讲,它是系统的“交通警察”。
- I2C/SPI接口:用来配置寄存器,调整电压、使能、时序。
我个人习惯,拿到框图后,先拿笔把每一路输出的电压、最大电流、负载类型标出来。这样后面画原理图时心里有数。
核心要点:PMIC不是简单的“电池转电压”,它是一个完整的电源管理子系统。看懂框图,你就看懂了一半。
4.2 集成DCDC与LDO:什么时候用谁?
PMIC里集成的DCDC和LDO,各有各的脾气。我简单说说我的理解。
4.2.1 DCDC(降压转换器)
DCDC效率高,通常能做到90%以上。但它有个毛病——开关噪声。我在项目中遇到过,蓝牙天线离DCDC电感太近,导致接收灵敏度直接掉了3dB。后来把电感换成屏蔽型,问题才解决。
- 优点:效率高,适合大电流(>100mA)
- 缺点:纹波大,需要外部电感和电容
- 典型应用:主控核心供电、屏幕背光、射频PA
4.2.2 LDO(低压差线性稳压器)
LDO说白了就是个可调电阻。它输出干净,但效率低。你想想看,输入3.8V,输出1.8V,那2V的压差就全变成热量了。手表那么小,散热是个大问题。
- 优点:纹波极低,电路简单(只需输入输出电容)
- 缺点:效率低,不适合大电流
- 典型应用:传感器模拟供电、音频Codec、RTC
我的经验:能走DCDC的尽量走DCDC,但给模拟电路供电时,一定要在DCDC后面再加一级LDO。我曾经为了省成本,直接用DCDC给心率传感器供电,结果心率波形全是噪声……后来乖乖加了个LDO。
4.3 上电时序控制:顺序错了,系统就挂了
上电时序,是新手最容易忽略的地方。为什么要有顺序?因为芯片内部有不同电压域,如果核心电压还没起来,IO电压先到了,那IO引脚可能会通过内部ESD二极管反向供电,导致芯片锁死甚至烧毁。
我举个例子:某款主控要求VDD_CORE先上电,然后VDD_IO再上电,间隔至少1ms。如果反过来,芯片内部逻辑可能进入未知状态。我在一个项目中就吃过这个亏——上电时序反了,每次开机都有20%的概率死机。查了三天,最后发现是PMIC的使能顺序没配好。
PMIC通常提供两种方式控制时序:
- 硬件引脚控制:通过EN引脚的高低电平顺序,控制各路输出。
- 寄存器配置:通过I2C/SPI写入寄存器,设置每路输出的延时时间。
我个人更推荐用寄存器配置,灵活。硬件引脚一旦画板就改不了了,寄存器还能在软件里调。
注意:上电时序的延时不是越长越好。延时太长,系统启动慢,用户体验差。我一般控制在1ms~5ms之间。另外,下电时序同样重要——先断IO,再断核心,否则也可能出问题。
4.4 寄存器配置:PMIC的灵魂
PMIC的寄存器配置,说白了就是告诉它“你什么时候该干什么”。我见过不少工程师,原理图画得漂漂亮亮,结果寄存器没配对,板子就是点不亮。
常见的寄存器配置项:
| 寄存器类型 | 功能 | 典型值 |
|---|---|---|
| 输出电压寄存器 | 设置DCDC/LDO的输出电压 | 0x1E → 1.8V |
| 使能控制寄存器 | 控制某路输出的开关 | Bit0=1 → 使能 |
| 时序延时寄存器 | 设置上电/下电延时 | 0x03 → 3ms |
| 状态读取寄存器 | 读取当前输出电压、温度、故障 | Bit7=1 → 过温 |
下面是一个典型的I2C配置代码片段,我用的是C语言风格:
// 配置PMIC输出1.8V,延时2ms
uint8_t pmic_config[] = {
0x10, // 输出电压寄存器地址
0x1E, // 设置为1.8V
0x11, // 时序延时寄存器地址
0x02 // 延时2ms
};
// 通过I2C写入
i2c_write(PMIC_ADDR, pmic_config, 4);
嗯,这里要注意:写寄存器之前,一定要先读一下芯片的默认值。有些PMIC出厂时已经配好了默认电压,你如果不读就直接写,可能会覆盖掉正确的配置。我曾经就因为这个,把默认的3.3V写成了1.2V,结果屏幕直接不亮……
总结一下:PMIC的寄存器配置,是连接硬件和软件的桥梁。你画原理图时就要想好哪些用默认值,哪些需要软件改。我建议在原理图上标注出“需软件配置”的引脚,这样软件工程师拿到板子后不会一脸懵。
好了,PMIC的基础就讲到这里。下一章咱们聊聊电池充电管理,那可是智能手表的“续命”关键。