axp202電源管理

2021-06-28 04:43:45 字數 1194 閱讀 2629

問題:充電電流被限制,導致充電時間過長。

**版本分支:android4.3_master

復現問題,檢測電流變化,發現機器在深度休眠後電流會由原來的1.2a變成0.5a。

猜測:可能是由於充電電流過小導致充電時間過長。

>>#echo 30 > sys/class/axppower/axpreg

>>#cat sys/class/axppower/axpreg

得到結果為:63(此為十六進製制),轉換為2進製為:1100011,此時0x30[1-0]位的取值為:11,根具datasheet發現此時充電電流限流是關閉的。

深度休眠後用同樣的方法檢視暫存器0x30,得到結果0x30為:61,轉換二進位制後為:1100001,0x30[1-0]位取值為:01,根據datasheet發現此時被限流為500ma,與發現的問題相符。

檢視datasheet會發現,限制流量大小的控制是通過暫存器0x33來控制的,同樣此時可以讀取0x33的值,根據datasheet中的說明計算,同樣可以得到電流為500ma,以此來驗證了猜想。

由於問題是發生在深度休眠後,故此檢視**,查詢軟體在深度休眠時以及休眠喚醒時做了哪些動作。或者查詢那些地方對0x30這個暫存器做了修改,讓其主動的限制充電電流為500ma。

查詢與休眠相關的函式,resume,suspend

最終發現在檔案mod5_config.h檔案中,的mode5_batt_resume函式中,對0x30做了值的改變。

注釋掉此**後,發現問題消失,說明問題是因為此處而引起的,分析此處**在整個**中的功能,是否可以直接去掉,不可以直接去掉的需要新增判斷做區分,或者想別的辦法修改vbus的充電電流。

請教修改的當事人,得知此處是由於以前乙個專案沒有dc充電口,但是用usb充電時,重點電流過大會導致usb在pcb上的引腳溫度過高而軟化,容易出現問題。因此限制電流,經過改版後,已經不存在這個問題,但是**中沒有恢復導致問題。可以直接注釋掉。

vbus:是用來監測是否為usb充電,檢測為usb充電時電流會自動設定為500ma。

注意:git blam 檔名  檢視這個在什麼時候什麼人修改了什麼東西。

datasheet需要細看,特別是暫存器相關的地方。

分析問題思路:1.遇到問題後先分析引起這個問題的可能原因。

2.復現問題,並觀察可能因素的一些變化。

3.修改變化去驗證現象。從而肯定問題的原因。

4.找到乙個不會影響其他功能的辦法。

AXP 202 禁長按關機功能

在 axp battery first init charger 呼叫之後,增加下面 fibo 禁axp 長按關機 禁16s長按ldo1關閉使能 這乙個條 沒有資料中說明,axp clr bits charger master,axp hotover ctl,0x08 禁 長按power鍵 使能 a...

全志AXP209電源管理晶元介紹

axp209是一款高度整合的電源管理ic,為由單電池li電池 li ion或li 聚合物 供電且需要多p的應用提供了簡單靈活的電源解決方案也有輸出。它完全滿足了應用處理器在精確功率控制方面日益複雜的需求。axp209整合了乙個自適應的 與usb相容的pwm充電器 兩個降壓轉換器 buck dc dc...

電源管理 電源變動試驗 CRANKING

需求描述 主機廠一般要求做emc試驗 如掉電試驗 時產品不能復位。比如da跑android系統,重啟的話需要20s左右 比如tbox cranking時候復位了,重啟約要1min 期間不能正常使用,影響使用者體驗。解決辦法 法1 很多情況下都是硬體計算好儲能電容,保證產品掉電後還能給mcu 4g w...