admin管理员组

文章数量:1572326

手机功耗基础介绍

做过几个手机和平板项目,负责功耗部分,将功耗大致分为以下几个部分
1.CPU IDLE(系统休眠)
2.Thermal(温升控制)
3.Charger(充电模块)
4.PMIC(供电模块)

CPU IDLE

CPU IDLE是功耗工程师必须要知道的概念,也就是CPU休眠,CPU休眠常常和系统待机挂钩,CPU IDLE会根据系统的状态进入不同的IDLE模式。例如mtk平台分别有suspend,deep idle,sodi(screen on deep idle), sodi3。当然高通也有几个类似的idle模式。系统在灭屏,暗屏,亮屏,飞行模式,wifi模式下都会进入不同的idle状态,不同的idle状态会关闭不同的子系统,降低一些模块的时钟频率,进而达到节省功耗的状态。

CPU IDLE伴随着终端系统的各个场景,如熄屏待机,亮屏home 界面待机,相机预览待机,微信界面待机等。而手机和平板等终端的功耗高低大多都是通过各个场景的待机功耗而评定的。

下面介绍一下终端功耗的基本知识点

无论是什么终端,只要是高耗电移动设备,都涉及到系统功耗,功耗这里就俗称为电量的消耗吧!比如一款终端的电池电量为6400maH,意思就是终端以持续不断的6400mA电流的耗电,终端可以待机1一个小时,所以控制手机的实时耗电非常重要!

功耗的测量是通过power monitor的设备来测量的
power monitor 图

先介绍一个基础词汇待机底电,待机的情况挺多,比如灭屏待机,亮屏待机,wifi待机,蓝牙待机,三方app待机等,场景多得很。下面一一介绍
灭屏待机先附上电流图一张
图一,灭屏飞行模式待机电流图,灭屏飞行待机系统一般会进入suspend的最深度休眠状态,从这张图可以看出待机底电流为6mA(及电流图中最低处的电流,当然这张待机电流图非常平稳,几乎稳定在底电6mA)(一般情况下待机底电流会在1-10mA之间)
灭屏待机高频唤醒问题附上电流图
图二,灭屏待机高频唤醒电流图,这里从图中可以看出在图一的基础上多出了很多的毛刺,这钟毛刺是在系统休眠状态下产生的,称为唤醒,顾名思义,一些子系统的活动或者异将cpu从休眠中唤醒,这些子系统可以包括蓝牙,wifi,sensor,modem,hrtimer等,休眠唤醒的唤醒源多种多样,可以通过mobile log,bugreport,ftrace,systrace,dump log等log工具分析!所以在解决高频唤醒问题的时候多多使用各种log来分析差异!以上工具和具体调试手法后面一一介绍

灭屏待机低电流高问题附上电流图
图三,灭屏待机底电流高电流图,从图三中可以看出比对图一底电流变得更高了,这证明在suspend休眠状态下某些子系统仍然在耗电,如memory,熔断异常等操作都有可能引起待机底电流变高。待机底电流变高的问题可以抓取对比bugreport,dumplog,systrace等log来分析!此类型问题在后面会有实战讲解,哈哈哈,非常有趣!!!

亮屏待机(称为home screen on idle)
图四,亮屏待机电流图,亮屏待机电流底电会随着亮度的不同而发生变化,亮屏待机会进入一种叫home screen on idle的休眠状态,也会关闭一些资源,如cup部分下电等!影响亮屏待机电流的因素也挺多,如ess,aal等feature,一些显示参数都会影响亮屏待机电流,电流图如下,哈哈哈!
三方场景灭屏待机
图五,微信灭屏待机电流图,微信灭屏待机,就是登陆微信后再灭屏待机,系统也会进入休眠,但会被微信相关的应用唤醒&#x

本文标签: 功耗基础手机