內(nèi)容簡介
在默認的headset工程中,當系統(tǒng)進行關(guān)機的時候,會讓芯片進入到dormant狀態(tài),本文介紹如何在關(guān)機后讓芯片進入到Off狀態(tài)。
測試工具
MDE:MDE_WIN_2.8.0.37_x64
Toolkit:ADK Toolkit 1.2.16.21_x64
QACT:NULL
Bluesuite:NULL
Hardware:Qualcomm QCC3084
Software:adk-src-1-0_qtil_standard_oem_qcc518x-qcc308x,ADK-23.1-CS1-r00593.1 headset
Here we go
分析
從芯片的datasheet中可以看到,芯片的狀態(tài)有No Power state、Active state、Shallow Sleep state、Deep Sleep state、Dormant state和Off state,除了No Power state以外,其他的狀態(tài)都是芯片通電時正常的工作狀態(tài)。這里我們主要看Dormant和Off狀態(tài):
從以上的描述很容易發(fā)現(xiàn),Off state比Dormant state功耗更低,隨之而來的代價就是在Off狀態(tài)下只能通過SYS_CTRL和VCHG兩個引腳才能喚醒。但是為了能讓耳機更省電,很多產(chǎn)品都會選擇讓其進入Off狀態(tài)。
高通默認的headset程序在關(guān)機后進入的的Dormant狀態(tài),這個可以通過實際測量關(guān)機后的功耗得到。
經(jīng)過分析代碼后log,我們可以得知在進入最后的關(guān)機狀態(tài)時,程序會運行到shutdown_table的位置:
在finalPowerOffSleepStep函數(shù)中可以看到調(diào)用了進入dormant的接口函數(shù):
這也印證了默認程序并沒有進入到Off狀態(tài)。
解決方法
要讓程序關(guān)機后進入到Off狀態(tài)也很簡單,只要修改finalPowerOffSleepStep里面的調(diào)用(用appPowerDoPowerOff替換appPowerEnterDormantMode)即可:
這樣修改后,沒記錯的話會讓芯片在關(guān)機狀態(tài)下的功耗達到微安級別。
審核編輯:劉清
-
sys
+關(guān)注
關(guān)注
0文章
9瀏覽量
9156 -
SRC
+關(guān)注
關(guān)注
0文章
60瀏覽量
17961
原文標題:如何讓QCC517x518x的headset工程在關(guān)機后進入到Off state
文章出處:【微信號:TalkBT,微信公眾號:藍牙】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論