PMU知识积累

更新时间:2024-03-17 03:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1 电池三个管脚作用

两边是正负极。中间管脚用来检测电池的温敏电阻值,如果没有接,则上拉到PMU的Vref。当用吉时利电源不接中间管脚的时候,可能会出问题,一般会认为电池不在位,中间管脚也是用来检测电池是否在位的方法之一。

2 sink特性

总电流、PWM占空比

3 如何看上下拉

首先明确:

1> 上下拉电阻上一定会有电流

2> 上下拉电阻被上下拉的一端一般都是高阻

4 LP3925硬件原理图

Li-Ion/Li-Poly battery BATTRSENSEPwr_OnRSTIN_NPwrKeyRstKeyUSBorAC-AdaptOnlyVBUSVIN_CHGLP3925RSTOUTPS_HOLDOSC_ 32KHZIICIRQ_NSLEEP电压转换IICGPIOPRSTNPWENCLK32KIOSCENUSB BUSUSBLC1808

5 USB上电时序

USB有两路电,VBUS(也是VIN_CHG)和D3V3(USB核电压)。 当USB插入时候VBUS就会上电。

PMU检查到VBUS上电,产生插入中断,通知DBB PMU检查到VBUS上电,然后对D3V3上电。 DBB接受到PMU的GPIO中断。 OS进行中断分发。 进入GPIO的ISR。

GPIO的ISR发送消息给线程。(ISR里面不能直接操作I2C,无法进行清中断) 线程收到插入中断,清中断,并回调USB函数高速USB模块有USB插入。

如上为整个过程。

如上图,黄线的表达为:GPIO的ISR内拉低该信号(使用的是GPIO_111),线程接收到ISR发送的消息后拉高GPIO。低电平过程就是中断到线程时间。

绿线的表达为:PMU的中断信号(GPIO信号),PMU产生给DBB中断,GPIO拉低,DBB清中断后,PMU将该GPIO拉高。绿线的下降沿到黄线的下降沿为PMU产生中断到DBB的ISR接收到中断的时间。绿线的低电平宽度为硬件视角的ISR处理周期。

红线表达为:D3V3的信号,既USB核电压信号。可以看出当绿线的下降沿到来时,红线的上升沿到来,既当PMU通知DBB有USB插入时,同时开始给USB核供电。(由于绿线除了USB中断还有很多其他中断,故不是所有的绿色下降沿都有红色上升沿)

紫色表达为:vbus。当USB插入时候,VBUS就会拉高。拉高一端时间后才产生中断并拉高usb核电压,这个时间很不合理,一般会浪费48ms(LP8765),而USB拔出时,VBUS立刻下降,并立刻拉低USB核,同时产生中断,和插入有延迟不一样。

案例:USB插拔过快假死

USB plug in&out make system dead f

Vbus上电到PMU产生中断:48ms (LP8765硬件问题无法缩短) OS接收到中断到通知的ISR:15ms

ISR得到中断到通知到线程清中断并通知USB:10ms (一般500us,偶尔线程调度耗时较长)

如上整个耗时为 73ms。插入USB 73ms后USB开始解复位,此时如果拔出USB,则解复位失败,USB驱动代码处理不合理直接进入while(1) 最后假死。

6 I2C没响应案例

环境:

1710片上I2C / Lp8765 现象:

读中断I2C的FIFO为空

原因:

使用了某款烂CAM,拉低了

睡眠的时候会将CAMIF_MOD 第2位写成 1,进行省电,但对于该款CAM,这种动作会拉低I2C导致I2C没有响应。

修改方法是使用该CAM并且使用I2C的时候该位写成0,进入nomal mode

7 充电过程中查看电量不准确

8 开机读时间不对导致的死机

9 限流太小开机不了

大电流把电压拉到3v以下了。

10 待机电流大了0.4ma

TD106为0.7ma B板突然变成了1.2ma 回退版本,累死。 使用PC工具dump寄存器,发现sink2还是enable的状态。 后发现B板有背光芯片,没有使用sink2,但是sink2仍然enable状态。 修改

\\arena\\src\\drivers_turnkey\\custom\\src\\PF_FEA_L1710FWT_B0_1_HS\\lp8765_custom_power.h #define PMU_POWER_LED_DEFAULT LP8765_SINK_PWM_SCALE_0P00

这个问题其实不用花这么大力气,主要受硬件误导了,他们说B板硬件一直没换,PMU内部功耗突然增加

就只能去检查我们改的代码。

从较老版本代码比较回退了几个关键点,但是自己犯傻没有把trace32的开关关掉,没有睡眠,后来发现了

后来汤勇给了个功耗低的烧录文件,dump出来pmu所有寄存器,和功耗高的比了比,不同的地方还挺多的。

发现功耗高 sink2没有disable,之前李斌说过可能是这个原因,关掉sink2功耗少了0.4ma,就是他们测出来多的那些电流

然后跟lcd代码才知道B板的lcd是用了背光芯片,如果用sink2来控制背光,sink2开机就enable的,否则应该disable

B板的配置在 B0_1HS 这个目录,这个目录LCD的配置和 TD106的LT 目录的一样了,这个是问题的根源

这个配置应该负责LCD的同学和负责PMU的同学根据B板的硬件给出合适的配置,大家对这些配置目录

不太感冒容易出问题。。

11 1100L频繁报重启充电

现象:使用吉时利电源+B板,电压到4.2v上报充电完成,向下调节电压到3.9v,频繁上报充电重启。

原因:B板上,vchg到vbat间有电阻压降,导致4.2v到vbat不到4.2v,降压导致电源电压下降,吉时利电源质量不好,出现0.15v左右的尖峰抖动,导致电压在4.1v~3.9v之间抖动(通过示波器查看),进而造成频繁重启充电。

本文来源:https://www.bwwdw.com/article/anh8.html

Top