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通常提供两种方式控制时序:

  1. 硬件引脚控制:通过EN引脚的高低电平顺序,控制各路输出。
  2. 寄存器配置:通过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的基础就讲到这里。下一章咱们聊聊电池充电管理,那可是智能手表的“续命”关键。