树莓派4B的PMIC概述 —— MaxLinear MxL7704
我用的是树莓派4B,它的PMIC位于下图的位置,PMIC芯片的丝印上显示是“MXL7704-P4”的字样。

图1-树莓派的PMIC电源管理芯片MxL7704
这颗芯片来自于MaxLinear公司,从官网上可以找到MxL7704的资料。根据描述所说,MxL7704是一款针对为低功耗FPGA、DSP和MCU提供的电源管理芯片,具有5路输出,其中4路是同步降压稳压器(Synchronous buck regulators),1路是低压差线性稳压器(Low-dropout regulator,LDO)。此外,还具有I2C接口通信,以实现动态电压调节、上电/断电顺序控制、和PGOOD状态监控等功能。
看着挺复杂的,今天就来介绍一下这颗MxL7704,以下是其Datasheet的首页:

图2-MaxLinear MxL7704 Datasheet首页
我把本文涉及到的介绍重点已在Datasheet首页里面黄色高亮了,具体如下:
- 同步降压稳压器(Synchronous buck regulators)与低压差线性稳压器(LDO)是什么?
- 动态电压调节(Dynamic voltage scaling)是什么?
- 顺序控制(Sequencing control)是什么?
- 为什么要预编程(Pre-programmed)?
然后回答两个问题:
- 树莓派PMIC是否容易坏?
- 坏了之后是否再换一个就能用?
同步降压稳压器(Synchronous buck regulators)与低压差线性稳压器(LDO)是什么?
两者都属于稳压器件,且两者都属于降压稳压,也就是说输出端电压要小于输入端电压。
同步降压稳压器,是一种DC-DC开关电源器件,基于电感电流不能突变的原理,由开关管控制电感充放电。如下图,第1阶段中,开关管S1闭合,开关管S2断开,电源Vin给电感L1充电,输出端电压Vo小于Vin。第2阶段中,开关管S1断开,同时开关管S2闭合,电感L1作为能量源进行放电(电流方向不变),只要电路有回路,电感L1上的电压小于Vin,继而输出端电压Vo也小于Vin。第1阶段和第2阶段往复进行,再加上电容滤波,可以在输出端实现稳定降压。

图3-同步(左)或异步(右)的DC-DC开关电源降压稳压器
而同步降压稳压器里面的“同步”指的是开关管S1和开关管S2的操作具有同步性,对比“异步”是开关管S2被二极管D1取代,后者也能降压,成本低,但通常认为能量转换效率较低。
低压差线性稳压器,是通过控制晶体管的导通程度,将其作为一个可变电阻,利用可变电阻/输出负载两者的电阻之比进行分压,当然,这种分压是能够根据输出负载情况动态调整的,从而使输出端维持在某个电压。

图4-低压差线性稳压器,或简称线性稳压器、LDO
如果拿同步降压稳压器与低压差线性稳压器对比的话,通常认为有如下特点:

图5-同步降压稳压器(buck regulators)与低压差线性稳压器(LDO)特点对比
理解起来应该很容易,因为LDO是靠可变电阻分压,电阻有能量消耗,产生无效能量,所以效率更低。正因为如此,LDO不建议输出较大电流,你看下图2中MxL7704的datasheet,LDO的输出只有100mA,而同步降压稳压器能输出1.5到4A。那么适合给SoC供电的,就是后者了。
动态电压调节(Dynamic voltage scaling)是什么?
动态电压调节(DVS)可优化不同工作状态下的电源电压,通常认为给CPU降频可以以“线性方式”降低功耗,如果再加上DVS,则可以最大限度以“指数方式”降低设备功耗。下图是一个TI宣讲DVS概念的示意图:

图6-动态电压调节(DVS)示意图
顺序控制(Sequencing control)是什么?
对于FPGA器件,启动时的上电顺序通常以内核电压开始,并以I/O电压结束。类似的,断电也有一定的顺序要求。而对于ARM MCU器件,与FPGA不太一样,通常认为是I/O先上电,然后内核再上电。
MxL7704是专门给FPGA、DSP、MCU供电的PMIC,官方提供了两个型号,见图2右下部分:
- MxL7704-A IO rails up first, core last (1.2V)
- MxL7704-X for Xilinx© ZU2 and ZU3 MPSoCs
其中MxL7704-A是给ARM MCU用的,MxL7704-X是给FPGA用的。以MxL7704-A为例,我们从Datasheet中可以看到其上电和断电的顺序控制:

图7-MxL7704-A中5路电压输出(4路buck,1路LDO)的上电和掉电顺序
为什么要预编程(Pre-programmed)?
MxL7704内部有0x1D个寄存器,通过I2C进行配置,其中涉及到如各路电压输出大小、顺序控制、状态监控与异常处理等配置。寄存器拓扑图如下所示:

图8-MxL7704的寄存器
请注意,我们树莓派4B上的MxL7704丝印显示,既不是MxL7704-A,也不是MxL7704-X,而是MXL7704-P4,那怀疑就是MaxLinear公司给树莓派专供的芯片,这里面“专供”具体如何,应该就体现在寄存器的配置数据里面。
树莓派PMIC是否容易坏?
有国外网友说到,其实自从树莓派3B起,PMIC就是MxL7704,其中一个通病就是:如果你不小心将5V和3.3V短路了,那你可能会损坏PMIC。那树莓派也就玩不起来了。
所以你在操作树莓派5V和3.3V电压轨道的时候要格外小心,它容易坏。

图9-树莓派PMIC MxL7704的问题,来源自hackaday[参考链接2]
树莓派PMIC坏了之后是否再换一个就能用?
参考自hackaday[链接3]和树莓派论坛[链接4],有网友PMIC损坏后,买的是非MXL7704-P4芯片,直接焊上去还不能用,需要对其进行I2C预编程。该牛逼网友正好有2块树莓派4B,进行了将一块MXL7704里面的寄存器数据读出再写入另一块MXL7704的神操作。
在此我们把其分享的寄存器数据摘录如下,以便未来不时之需……

图10-树莓派PMIC MxL7704的寄存器数据,来源自树莓派论坛[参考链接4]
参考链接
[1] Home - MaxLinear
[3] https://hackaday.com/2023/03/24/dead-raspberry-pi-boards-pmics-and-new-hope/
[4] RaspberryPi 4 MXL7704-R4 PMIC replacement and repair
(全文完)
可以关注我的微信公众号“疯狂的运放”,及时收到最新的推文。

3994

被折叠的 条评论
为什么被折叠?



