主板外设调试ok,测主板休眠电流,26mA。这里首先拔掉lcd,休眠底电流正常。根据以往套路,有几种可能,外设没进入休眠,电源控制异常,引脚状态不对。一般也容易排除问题。

由于lcd和tp一体ic,需要同时看这两个驱动。

android 获取休眠平均电流 代码 休眠电流过大_引脚

先看tp驱动,由于是移植高通平台的代码,发现没进入休眠,修改代码,随fb进行休眠。再次测量电流,18mA。再次查看原理图,发现en使能引脚在休眠没有拉低,修改代码后发现tp休眠异常了。跟fae沟通后,原来需要在tp休眠后,才能拉低使能脚,同时不能拉lcd的复位脚。该ic的整体休眠过程

1.lcd发0x28,0x10

2.tp 0xA5写0x03

3 en引脚拉低

按该流程修改代码后,整机电流4mA。还是漏电,得继续排除。

图上还有个id脚(没用到),该引脚的配置没问题。

en脚芯片内部有上拉,怀疑这里有问题,量到该引脚确实拉低,去掉该上拉电阻,也是一样的情况。最终也要求屏厂去掉该上拉电阻,虽然消耗电流小,但该上拉电阻没必要。

接下来就排除mipi信号的影响了(这个也不好确定问题,一般也不怀疑这个的影响),由于第一次主板数量少,主板在调试过程经常会焊接,导致正常的主板就不多。跟屏厂沟通后,寄主板给他们分析。

这是他们测量出来的数据

android 获取休眠平均电流 代码 休眠电流过大_上拉电阻_02

差异也就在mipi信号线上,屏厂在lcd休眠后,让mipi的时钟保持1.2V,底电流正常。我这边让cpu休眠时,不让mipi进入休眠,休眠电流也正常,也就是问题mipi时钟的电压上。屏厂的解释是该ic有误进hs mode行为,导致mipi模块从电源抽取电流导致待机功耗偏大。于是提议发送0x28,0x10后,忽略mipi信号的变化,这样应该就不会进入hs mode模式。最新的解决方案是发送0x28,0x10后,继续发送其他两个命令。

将这款屏移植到另一种平台时,屏耗电的情况又出现了,检查下移植都到位了,没发现问题。最终解决开机闪屏时,发现屏的复位脚被一个芯片占用了,屏蔽该无用的器件,闪屏情况消失了,屏的底电流也正常了。