高通平台手机的power概览

2019-07-14 01:53发布

Power消耗相关

下面的东西总结性居多,没有涉及到具体的方法,操作性不强,只是作为一个全局概览。

1.Power相关测试的KPI选项

静态:手机闲置时的功耗

suspend:当手机明确不使用时,特别是按了power键灭屏告诉手机我要休息的时候,此时手机会主动发起suspend过程,将所有的设备尝试挂起 idle:用户没有明确告诉手机休息的时候,手机也没有事情可做,那么久进入了cpu idle例程;同时设备在无事可做的时候也会主动将自己挂起;

使用场景要求:手机使用时典型的场景和设备功耗

一般会先要求测试各个独立的场景,然后可能是复合场景的功耗测试。 1.典型场景:使用浏览器上网,播放音乐(有线耳机/蓝牙耳机),录音,拍照,录像,下载,安装/卸载软件,蓝牙连接,wifi连接时/闲置时 2.设备:蓝牙,wifi,FM,GPS,Modem在不同网络制式下的功耗,Audio,Media,Camera 符合场景:基本上是挑选一些实际中使用的场景 听着音乐上网,发短信,开着wifi打电话,蓝牙播放音乐

2.高通片子上如何管理整个system的功耗
3.知识点

rpm管理整个系统的功耗,站在power角度上看,rpm是master,其他的所有设备,子系统都是slave 管理范畴:clock,power rail,bus width等 管理的框架:NPA(Node Power Arch),关于如何投票可以参考AP侧的clock的driver和Modem,LPASS中的投票部分; rpm的框架:rpm和各个子系统的关系:通过NPA来管理所有的请求,通过SMEM来通信 rpm中有PMIC的driver,可以操作PMIC;另外还有BUS,CLK,DDR的driver,可以控制他们的功耗。 MPM会在rpm睡眠后接管整个系统,最主要的功能是负责唤醒整个系统,所以很重要的一部分是中断的管理。 关于debug的手段: 纯软件:rpm log,kernel log,dynamic_debug,ftrace,wakelock,debug_mask,suspend/idle过程的理解; 其他方法:dump,可以dump出睡眠时各个GPIO的配置(针对低电流过高的问题);dump使用过程中的clock状态(针对使用场景中功耗过高)

4.常见问题

1.底电流过高(check睡眠时的GPIO状态的配置,特别是修改过高通参考设计部分的GPIO); 2.底电流正常,但是波峰比较多,就debug中断,可以打开中断的debug_mask
静态功耗的power角度: 子系统+设备(WIFI,sensor) 先将设备(WIFI,BT,,sensor:light,autorotate,压力,握力)都关闭,集中调试子系统的状态,然后挨个打开设备调试设备的driver(一般比较简单). 3.使用场景中的功耗:和高通参考数据做对比