1. 程式人生 > >高通平臺手機的power概覽

高通平臺手機的power概覽

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.使用場景中的功耗:和高通參考資料做對比