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