我是靠谱客的博主 糟糕香烟,最近开发中收集的这篇文章主要介绍【MTK】【功耗】息屏待机功耗超标,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题背景

【预置条件】进入camera后按home键退出,息屏,紧接着测试息屏功耗即可
【操作步骤】灭屏, 充电到91%开始待机
【实际结果】测试机待机电流大于25mA
【预期结果】平均功耗≤25mA
息屏待机功耗一般都是系统那边先做分析,他们会看是哪个模块存在问题再次细分,如kernel和app的唤醒会直
接指出

wake
app wake

系统直接定位到camera存在问题----理由为:
1.开机第一次不进入camera,待机功耗符合标准,当进入camera后再次测试待机功耗 
功耗会多出20~30ma不等
2.直接拔掉主摄camera待机电流正常

camera功耗问题三路电排查思路

1.首先排查camera上下电问题-------没有硬件飞线,选择自测摸底,查看是GPIO供电还是PMIC供电
GPIO供电直接cat 前后gpio状态即可,之后看camera部分用到的gpio口前后变化:
sys/devices/platform/pinctrl/mt_gpio
/sys/kernel/debug/gpio
PMIC可以看下以下两个目录找到对应的pmic或者额外芯片供电模块状态
/sys/kernel
/sys/devices
存在漏电无非就是以上几路电没有下电,结合情况可以看到开机第一次不进入camera息屏待机功耗不超标,
则可以排除camera三路电下电的问题,因为在开机的时候会去做一次check sensor id,这时候就会存在
一次上下电,如果这三路电有问题则开机第一次应该也是有问题的,可以通过以上方法看GPIO和PMIC状态确认,
最后只剩下AF_AVDD这一路电了,因为AF_AVDD只有在进入camera后才会上电,如果下电存在问题则会导致
上述问题,结合电路图可以看到它由芯片引脚直供电所以在下电的时候可能存在问题

可以用以下方法确认是否是AF_AVDD导致的

adb shell setprop vendor.debug.af_motor.disable 1
adb shell setprop vendor.debug.af_motor.position 512
进入camera确认AF真的为disable状态
再次测试功耗是否也会超标,此题情况为af position设置为512后功耗不再超标
所以可以确定为AF下电存在问题
解决办法为:在AF驱动中release时或者在退出camera时通过直接写寄存器来下电

为什么设置af position为512 ?

直接查看马达的datasheet可以看到和中置马达在初始位置是不会耗电的

datasheet
为什么可以通过写寄存器来下电?

马达可以通过写寄存器使IC进入sleepmode模式,使功耗降到最低,也叫做power down mode

最后

以上就是糟糕香烟为你收集整理的【MTK】【功耗】息屏待机功耗超标的全部内容,希望文章能够帮你解决【MTK】【功耗】息屏待机功耗超标所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(130)

评论列表共有 0 条评论

立即
投稿
返回
顶部