高通平臺底電流調節心得

Q:底電流和待機電流的概念?
A:底電流即機器完全睡眠時的最低電流;待機電流即機器在一段時間內的待機平均電流,通常需要插入SIM卡測待機電流。

Q:底電流調試方法?
A:1.首先,需要進行射頻QCN文件下載並進行射頻校準,因爲QCN文件不下載射頻不能正常工作,會引起漏電,繼而引起底電流偏大。
   2.射頻校準後如果仍然存在較大底電流,則需要進入飛行模式測試底電流,並排除GPIO、LCD、CAMERA、SENSOR等外設問題,可把外設拆除再進行測試。
   3.分析機器有無進入睡眠狀態,可通過串口信息查看linux kernel有無睡眠,kernel沒有進入睡眠則查看是哪個模塊引起的並有針對性分析相應模塊。如果kernel已經睡眠,還存在底電流偏大問題,則需要接上jtag線,並通過trace32分析,最主要的是分析系統各模塊的clock有無關閉,例如:lcd的MDP_VSYNC_CLK沒有關閉,則需要查看lcd模塊。
   4.可通過檢測TCXO引腳的狀態來確定modem端是否已經睡眠。
   5.在modem端tlmm_bsp.c文件下比對各個GPIO有無設置錯誤繼而引起漏電。另外,sleep_target.c文件也值得分析。    
   6.如果相同代碼上的其它項目底電流ok的話,應該重點排查新項目新添加的模塊或者GPIO口是否被更改。
   7.如果以上都ok的情況下仍然存在底電流過大問題,則需要硬件協助排查問題。

小結:引起底電流過大的問題就是睡眠狀態下有些資源沒有被完全關閉導致漏電,這對使用電池作爲電源的手機來說影響很大,底電流的調節是一個綜合的過程,需要團隊每個人的配合。

================================================================

最近調試了幾個底電流偏高的項目,加深了對高通平臺底電流的理解,記錄如下,備忘。

1.當底電流偏高時,先不要急着連上JTAG線(連JTAG線很是麻煩),應該先用示波器測量TXCO腳,看modem能否睡眠。如果TXCO引腳在睡眠時爲低電平,不會輸出正弦波,則說明modem能睡眠,也就是說軟件層能睡眠,這時候即可斷定是硬件漏電引起的,應該測量各GPIO引腳看是否是正常狀態。必要時需要逐個拆元器件來判斷是哪個硬件引起的漏電。

2.當modem不能睡眠時則需要連接上JTAG,通過trace32工具來判斷哪個clk沒有關掉,定位到相應模塊再有針對性地解決問題。以下是一些使用trace32工具調試時需要執行的一些命令:

Msm_pm_collapse() in msm_sleep() in pm.c/pm2.c
Clk_regime_apc_rail_off() in modem switches off the power rail to the Apps.

BP side:
sleepmod_tcxo_shutdown() // Perform TCXO shutdown
sleepmod_ok_tcxo_shutdown() //Check votes and other misc reasons not to perform TCXO shutdown.
clk_regime_tcxo_shutdown_asm() //performs the TCXO shut-down

clkrgm_linux

 

do ../boot_debug.cmm         //執行高通給我們提供的腳本來加載modem端代碼以便使用trace32工具調試modem端

d.load.elf M8X25QDOSKOLYM3070.elf /nocode /noclear       //加載modem端編譯出來的鏡像文件,需要注意的事這個文件需要與下載到機器裏的modem端軟件相匹配

b.s clk_regime_apc_rail_off /o          //設置斷點,可以通過這個斷點判斷app是否睡眠

b.s sleepmod_ok_tcxo_shutdown /o //當modem運行到這個函數,說明modem準備睡眠,但不一定能睡眠,這個時候可以查看clkrgm_linux變量,可得到哪個clk沒有關掉

 

Y.SPATH.SRD += ../../core\power\SLEEP\src\

symbol.sourcepath.setrecursedir  ../your path  //這個命令能將trace32中的彙編代碼與本地代碼相匹配

v.v gSleepInfo

v.v clkrgm_linux


==============================================================

以上內容僅簡單的思路整理供筆者備忘,並沒有詳細介紹trace32工具的連接方法,一些細節問題也沒有詳細介紹,所以可能無法通過上述步驟來實現對高通平臺底電流的調試。


轉自:http://blog.csdn.net/gary_zh/article/details/9129203


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章