PMIC 介绍

PMIC 介绍,第1张

最近看reboot 问题, 对PMIC 概念一头雾水

QCOM:掉电分析:

reboot 问题分析,保存重启之前的log,pstore . 开启更多的log日志

qcom 平台开启更多的log 日志

PMIC(Power Management IC)又称电源管理IC,是一种特定用途的集成电路,其功能是为主系统作管理电源等工作。PMIC常用于以电池作为电源的装置,例如移动电话或便携式媒体播放器。 由于这类装置一般有多于一个电源(例如电池及USB电源),系统又需要多个不同电压的电源,加上要控制电池的充放电,以传统方式满足这样的需求会占用不少空间,同时增加产品开发时间,因此造就了PMIC的出现。

PMIC 主要功能:[电源管理,充电控制,开关机控制电路]

外还整合了过/欠压(OVP/UVP)、过温(OTP)、过流(OCP)等保护电路

主要意义:调整充电电流和系统电流分配关系,最大程度保证系统的正常工作

LDO是利用较低的工作压差,通过负反馈调整输出电压使之保持不变的稳压器件。压差小的话用LDO,带可关断功能便于电源管理。压差大的还是用DC-DC效率高。

从PMIC 看开机流程:

CPU工作正常后,可以通过I2C接口对PMIC的各个模块进行控制。比如系统变频的时候,不同的工作频率要调整core电压到对应的电压。RTC时间的设置和ALARM的时钟。同时PMIC可以将异常事件产生中断信号给CPU,CPU再进行中断处理。因此bug 有可能是PMIC 中断CPU ,CPU PS HOLD 通知PMIC 导致关机

PMIC的电源越多,对系统的模块供电就越细,各个模块的电源受牵连就小,所以就越省电。

PMIC 模块功能实现角度考虑

Linux PMIC software architecture

在设备中设置alarm闹铃,然后选择震动和闹铃和屏幕最低亮度。确保进入vddmin后,当闹铃响的时候,会crash,OCP:过电流保护OCP(英文名称:over current protection)

预定当被测电流增大超过允许值时执行相应保护动作(如使断路器跳闸)的一种措施保护。

kernel log :

Power-off reason: Triggered from GP_FAULT0

流程:

kernel/drivers/regulator/core.c

调试之后:

根据最后出现的LDO为:pm660_l11,可以判断LDO11引起了OCP问题。

通过检查硬件原理图,发现LDO11被以下三个部件使用:SPKR,SNS和DISP,分别为音频的喇叭,sensor和显示部分,因为闹铃只用到喇叭和显示器,所以sensor的电流应该为0

通过查找dts发现:

qcom,cdc-vdd-digital-current = <5000>可以看出DTS 配置电流是5000

注意电流值是dts里面配置的,而不是实际电流

当每个LDO所有consumer加起来的电流<LPM规定的某个值,即为LPM模式,否则为NPM模式

当处于LPM模式下的设备,此时的实际电流大于 这个LDO所有consumer加起来的电流(加起来的电流是设备树的电流,而不是实际电流)就会发生OCP

因此修改调整如下:解决问题

qcom,cdc-vdd-digital-current = <5000>-------------- <10000>

获取新的Log:

REF:

https://zh.wikipedia.org/wiki/%E9%9B%BB%E6%BA%90%E7%AE%A1%E7%90%86IC

https://blog.csdn.net/m0_37166404/article/details/80807252

http://huaqianlee.github.io/2015/06/24/Android/qcom-pmic-driver/

PMU作为消费电子(手机、MP4、GPS、PDA等)特定主芯片配套的电源管理集成单元,能提供主芯片所需要的、所有的、多档次而各不相同电压的电源,同电压的能源供给不同的手机工作单元,像处理器、射频器件、相机模块等,使这些单元能够正常工作。按主芯片需要而集成了电源管理,充电控制,开关机控制电路。包括自适应的USB-Compatible的PWM充电器,多路直流直流转换器(BuckDC-DCconverter),多路线性稳压器(LDO),Charge Pump,RTC电路,马达驱动电路,LCD背光灯驱动电路,键盘背光灯驱动电路,键盘控制器,电压/电流/温度等多路12-BitADC,以及多路可配置的GPIO。此外还整合了过/欠压(OVP/UVP)、过温(OTP)、过流(OCP)等保护电路。高级的PMU可以在USB以及外部交流适配器、锂电池和应用系统负载之间安全透明的分配电能。动态电源路径管理(DPPM) 在系统和电池充电之间共享交流适配器电流,并在系统负载上升时自动减少充电电流。调整充电电流和系统电流分配关系,最大程度保证系统的正常工作,当通过 USB 端口充电时,如果输入电压降至防止 USB 端口崩溃的阈值以下,则基于输入电压的动态电源管理 (IDPM) 便减少输入电流。当适配器无法提供峰值系统电流时,电源路径架构还允许电池补偿这类系统电流要求。LDO是利用较低的工作压差,通过负反馈调整输出电压使之保持不变的稳压器件。压差小的话用LDO,带可关断功能便于电源管理。压差大的还是用DC-DC效率高。按照系统需要能提供多种电压的电源,这些电压是电压调整所需的,另外这些电源还可以与功能同步开、关这些供电电压,以支持电压域切换。PMU一般是和主芯片绑定定制的。因为它要配合CPU的上电时序。某些电压的上电顺序和之间的时间间隔有先后关系和时间要求。这个是掩模好的。PMU其实是带有掩模程序的专用电源控制器。要32.768KHZ的晶体和19.2M的晶体.待机状态是32.768KHZ的晶体工作,正常工作是19.2M的主晶体工作。靠上电池后PMIC进入待机状态,PMU由32.768KHZ的晶体提供时钟,按POWER按键触发开机后,安装定制的开机顺序将对应的LDO,DC-DC打开,19.2M的主时钟工作,CPU电源正常后,输出设置给CPU,输出复位信号给CPU,释放复位信号,CPU开始启动。CPU输出PS_HOLD信号将PMIC的状态处于工作状态。(关机的时候CPU将PS_HOLD拉低电,PMIC关闭进入关机状态)CPU工作正常后,可以通过I2C接口对PMIC的各个模块进行控制。比如系统变频的时候,不同的工作频率要调整core电压到对应的电压。RTC时间的设置和ALARM的时钟。同时PMIC可以将异常事件产生中断信号给CPU,CPU再进行中断处理。PMIC的电源越多,对系统的模块供电就越细,各个模块的电源受牵连就小,所以就越省电。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/680450.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-30
下一篇2023-07-30

发表评论

登录后才能评论

评论列表(0条)

    保存