4、电源管理单元(PMIC)时序:PMIC上电序列、电压斜坡要求、Power Good信号、PMIC配置策略
说到多屏系统的启动,PMIC时序这块,我吃过不少亏。
你想想看,一块主控芯片,挂了三四个显示屏,再加上DDR、eMMC、各种外设。每个器件对电源的要求都不一样。有的要先上电,有的要后上电。电压爬坡快了不行,慢了也不行。搞不好,系统就卡死在启动阶段。
嗯,今天咱们就把PMIC时序这件事,掰开揉碎了讲清楚。
4.1 PMIC上电序列:谁先谁后,有讲究
多屏系统里,电源轨少说也有七八路。我个人的习惯是,先把这些电源轨分成三类:
- 核心电源:SoC内核、DDR、PLL。这些是系统的命根子,必须最先稳定。
- IO电源:MIPI DSI、eDP、GPIO。这些要等核心起来之后才能上。
- 背光与屏电源:AVDD、VGH、VGL、LED背光。这些是最后才启动的。
为什么这么排?
说白了,就是怕锁死。我在一个项目中遇到过,IO电源先于核心电源上电,结果SoC的IO引脚处于不确定状态,直接把MIPI总线给拉死了。从那以后,我定了一个死规矩:核心电源必须比IO电源早至少5ms。
一个典型的多屏系统上电序列,大概是这样的:
| 步骤 | 电源轨 | 电压 | 延迟时间 | 说明 |
|---|---|---|---|---|
| 1 | VDD_CORE | 0.8V | 0ms | SoC内核供电,最先启动 |
| 2 | VDD_DDR | 1.2V | +2ms | DDR电源,紧随核心 |
| 3 | VDD_PLL | 1.8V | +1ms | PLL模拟电源,需要干净 |
| 4 | VDD_IO | 1.8V/3.3V | +5ms | IO电源,等核心稳定 |
| 5 | VDD_MIPI | 1.2V | +2ms | MIPI PHY供电 |
| 6 | AVDD/VGH/VGL | 6.8V/18V/-6V | +10ms | 屏驱动电源,最后上 |
| 7 | LED_BL | 12V | +5ms | 背光,最后点亮 |
这个表格里的延迟时间,是我根据实际项目经验总结的。你可能会问,为什么背光要最后上?
原因很简单:如果屏幕还没初始化好,背光先亮了,你会看到一片花屏或者白屏。用户体验极差。我曾经见过一个产品,开机瞬间屏幕闪一下白屏,就是因为背光上电时序没控制好。
4.2 电压斜坡要求:别太快,也别太慢
电压斜坡,就是电源从0V上升到目标电压的速度。这个参数,很多人容易忽略。
我个人的经验是:斜坡时间控制在100μs到1ms之间比较安全。
为什么不能太快?
- 斜坡太快(<10μs),会产生很大的浪涌电流。我在一个项目中测到过,VDD_CORE上电瞬间电流峰值达到了额定电流的3倍。直接把PMIC的过流保护给触发了,系统反复重启。
- 斜坡太快还会引起电压过冲。你想想看,电源从0V瞬间跳到0.8V,反馈环路来不及响应,很容易冲出10%以上的过冲。这对SoC的寿命是有影响的。
为什么不能太慢?
- 斜坡太慢(>10ms),SoC可能会在电压还没稳定的时候就开始启动。结果就是逻辑电路处于亚稳态,启动失败。
- 有些DDR颗粒对斜坡有严格要求。比如LPDDR4要求VDD1和VDD2的斜坡时间差不能超过5ms。太慢了,DDR初始化就会失败。
嗯,这里要注意:不同的电源轨,对斜坡的要求是不一样的。
关键参数速查表
| 电源轨 | 推荐斜坡时间 | 最大允许过冲 | 注意事项 |
|---|---|---|---|
| VDD_CORE | 100~500μs | 5% | 过冲会触发SoC的OVP |
| VDD_DDR | 200~800μs | 3% | DDR对电压精度要求极高 |
| VDD_IO | 500μs~1ms | 10% | IO容忍度较高 |
| AVDD (屏) | 1~5ms | 5% | 屏电源需要软启动,防浪涌 |
4.3 Power Good信号:你确认电源好了吗?
Power Good,简称PG。说白了,就是电源芯片告诉你:「嘿,我的输出电压已经稳定了,你可以放心用了。」
很多工程师觉得PG信号可有可无。我刚开始做设计时也这么想,直接用一个RC延时来模拟PG。结果呢?有一次RC延时算错了,SoC以为电源好了,其实电压还差0.1V。系统跑起来各种随机死机,查了整整两周才找到原因。
从那以后,我再也不敢省PG信号了。
PG信号的使用,有几个要点:
- PG必须串联:前一级的PG输出,作为后一级的使能输入。这样就能保证严格的时序关系。
- PG的延迟时间:一般PMIC的PG延迟在100μs到1ms之间。这个延迟是芯片内部固定的,你没法调。但你要知道它的存在。
- PG的电压阈值:通常PG在输出电压达到标称值的90%~95%时就会拉高。注意,不是100%。所以即使PG拉高了,电压可能还没完全稳定。
我的一个小技巧
在PG信号后面加一个RC延时,大概再加200~500μs。这样能确保电压完全稳定后再让下一级启动。这个做法,我称之为「PG+保险」策略。虽然简单,但非常有效。
4.4 PMIC配置策略:选对芯片,事半功倍
PMIC的配置,说白了就是两件事:选什么芯片,以及怎么配置它。
选芯片这块,我个人的建议是:
- 多屏系统优先选带I2C/SPI接口的PMIC。这样你可以通过软件动态调整电压和时序。比如在低功耗模式下,把某些电源轨关掉。
- 关注PMIC的通道数。一个显示屏至少需要3路电源(AVDD、VGH、VGL),再加上SoC和DDR。所以至少需要6~8路输出的PMIC。
- 注意PMIC的开关频率。高频PMIC(>2MHz)可以用更小的电感,但效率会低一些。低频PMIC(500kHz~1MHz)效率高,但电感体积大。多屏系统对空间敏感,我一般选1.5MHz左右的。
配置策略上,我总结了一套「三板斧」:
- 硬件引脚配置:通过PMIC的VSEL、EN、SLEW等引脚,用电阻分压来设定默认电压和斜坡。这是最可靠的配置方式,上电瞬间就生效。
- OTP(一次性可编程)配置:很多PMIC支持OTP,可以在出厂前把时序和电压烧录进去。量产时就不用再配置了。我建议把核心参数(如VDD_CORE电压、上电序列)用OTP固化,防止软件跑飞导致电源异常。
- 动态I2C配置:在系统启动后,通过I2C调整非关键电源。比如在进入待机模式时,降低屏电源电压来省电。
警告:千万别踩的坑
我曾经在一个项目里,为了省成本,选了一款不带OTP的PMIC。结果量产时发现,每块板子的I2C配置参数都不一样,因为PMIC的默认寄存器值有偏差。最后只能每块板子单独校准,生产效率极低。
所以我的建议是:核心参数用OTP或硬件引脚固定,非核心参数用I2C动态调整。这个原则,能帮你省掉很多麻烦。
最后说一句,PMIC时序这件事,纸上谈兵没用。我建议你拿到开发板后,第一件事就是用示波器把每一路电源的上电波形抓出来。看看时序对不对,斜坡够不够陡,有没有过冲。只有亲眼看到了,心里才有底。
嗯,这一节就到这里。下一节咱们聊聊多屏系统的时钟同步问题,那又是一个容易出幺蛾子的地方。