PM 底电流调试工作总结 .
2013-01-21 22:20
881 查看
高通7x27a平台目前遇到几个底电流调试问题,发表以下见解
1:首先个人在调试不睡眠中遇见2次由于串口睡眠模式配置不对导致系统无法睡眠的问题,要是串口连接其他模块比如BT和modem,我们在sleep模式不可以配置成普通gpio功能,这样很容易导致睡眠时无法与设备通讯导致无法睡眠,modem有radio lock 。
2:在系统可以睡下,底电流在20mA以下但是大于2mA的情况下,很可能是设备漏电造成或者开了一些clk,特别是clk对底电流影响很大。我自己有遇见过wifi芯片gpio倒灌漏电,CTP漏电。只要发现是哪个设备漏电,解决起来应该不难。遇见过一次camera clk导致sleep底电流偏大,普通外设需要的CLK我们睡眠时应该关闭。
3:只要系统可以睡下,我们在kenel config里使用小点的配置来逐一排查哪些设备漏电,逐一检测,睡眠模式通常gpio配置成pull_in pull_down。只要发现问题就好办了。
4:关于系统不睡的调试,我们可以在kernel CMD中填入no_console_suspend来使睡眠时串口输出log,还有可以打开PM_DEBUG。具体方法有篇文章有介绍。
目前认为做的最有成就感的2件事,一是将无法睡下的手机调到可以sleep底电流到5mA,再排查出漏电问题底电流降到1.几mA,二是决解一款芯片漏电降低底电流致该方案成功上市。
For the current optimization, you could check with below:
1. external device, you could remove one by one to check.
2. check power supply with each LDO, please disable them if not used,
and enter LPM if needed. --when sleep the current will add 0.1mA once you used a ldo to supply voltage known by experience.
3. check each GPIO setting
1:首先个人在调试不睡眠中遇见2次由于串口睡眠模式配置不对导致系统无法睡眠的问题,要是串口连接其他模块比如BT和modem,我们在sleep模式不可以配置成普通gpio功能,这样很容易导致睡眠时无法与设备通讯导致无法睡眠,modem有radio lock 。
2:在系统可以睡下,底电流在20mA以下但是大于2mA的情况下,很可能是设备漏电造成或者开了一些clk,特别是clk对底电流影响很大。我自己有遇见过wifi芯片gpio倒灌漏电,CTP漏电。只要发现是哪个设备漏电,解决起来应该不难。遇见过一次camera clk导致sleep底电流偏大,普通外设需要的CLK我们睡眠时应该关闭。
3:只要系统可以睡下,我们在kenel config里使用小点的配置来逐一排查哪些设备漏电,逐一检测,睡眠模式通常gpio配置成pull_in pull_down。只要发现问题就好办了。
4:关于系统不睡的调试,我们可以在kernel CMD中填入no_console_suspend来使睡眠时串口输出log,还有可以打开PM_DEBUG。具体方法有篇文章有介绍。
目前认为做的最有成就感的2件事,一是将无法睡下的手机调到可以sleep底电流到5mA,再排查出漏电问题底电流降到1.几mA,二是决解一款芯片漏电降低底电流致该方案成功上市。
For the current optimization, you could check with below:
1. external device, you could remove one by one to check.
2. check power supply with each LDO, please disable them if not used,
and enter LPM if needed. --when sleep the current will add 0.1mA once you used a ldo to supply voltage known by experience.
3. check each GPIO setting
相关文章推荐
- PM 底电流调试工作总结
- 今天的工作总结以及明天的工作内容——PM(李忠)
- 一次工作中程序bug的调试总结
- 今日工作总结——调试Arduino——20171107
- 今日工作总结——调试Arduino——20171107
- 【工作总结】无线遥控PCB板调试
- 错误总结:C/C++运行时提示".exe已停止工作"? 调试时出现Program received signal SIGSEGV,Segmentation fault?引用无效内存一般是什么错误?
- PM 底电流调试工作总结
- si470x驱动调试工作总结
- 【工作总结】LLDB调试技巧 - 篇一
- 第一周周二一天工作总结和周三工作计划——PM(李忠)
- DM9000CEP调试工作过程总结
- 最近工作中总结的一些调试技巧
- 阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
- Eclipse工作常见问题总结
- 调试SPI总结
- 在广州移动工作一个星期总结
- 20120118工作总结
- 工作总结:常用的C#方法(部分来源于网络收藏)
- 【PM】提高工作效率-番茄工作法