PM8909 linear charger硬件概述

電池充電是由qpnp-vm-bus.c(電池驅動BMS)和qpnp-linear-charger.c(線性充電器)組成;安全

SMMB charger:Switch-ModeBattery Charger and Boost peripheral開關模式電池充電器和升壓外圍設備code

CV:ConstantVoltage恆壓blog

CC:ConstantCurrent恆流接口

FET:Field EffectTransistor場效應管ip

AICL:Automactic ImputCurrent Limit自動輸入電流限制it

QPNP:QualcommPlug N Play高通即插即用軟件

對應源代碼:配置

kernel\drivers\power\qpnp-linear-charger.c

1. 電池充放電電路鏈接

VBAT(電池正極)---------------------->PMIC:VPH_PWR自適應

VBUS(如USB線,USB充電器、DC充電器)--------------------->PMIC:VBUS_USBINim

2. PM8909 Linear Charger(線性充電器)

可見PM8909線性充電器包括LinearCharger和VM-BM部分,下面介紹LinearCharger部分

3. Linear Charger Peripherals

QPNP線性充電器主要的模塊以下:

3.1 Charger peripheral(LBC_CHGR)充電外設

  • VBAT_STATUS:電池電壓狀態(weak,good,ornear end-of-charge)

  • IBAT_MAX:最大的電池充電電流設置

  • IBAT_SAFE:最大的電池安全充電電流設置(可配置一次)

  • 充電中斷狀態,好比CHG_DONE,CHG_FAILED等等

  • VDD_MAX:最大電池電壓,典型值爲4.2V或是4.35V

  • VDD_SAFE:最高的電池安全電壓(可配置一次),典型值爲4.5V

  • VIN_MIN:充電器最小電壓輸入電壓,應比VDD_MAX高100mV,這個是VBUS進到充電IC的最低電壓。

  • CHG_CTRL:使能/禁用或是暫停充電

  • VBAT_TRKL:ATC A閾值,TRKL指Trikle

  • VBAT_WEAK:ATC B軟件充電閾值

  • IBAT_ATC_B:ATC B階段或是軟件閾值最大充電電流

  • Safety timers:安全計時器,TCHG_MAX和TTRKL_MAX

可參考下面的信息便於理解

kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skue.dtsi

&pm8909_chg {

       qcom,vddmax-mv= <4350>;

       qcom,vddsafe-mv= <4380>;

       qcom,vinmin-mv= <4470>;

       …

}

3.2 USB charging path(LBC_USB)

(1) Power路徑選擇和狀態

(2) USB充電器電壓有效性(validity)

(3) 充電器存在狀態

(4) USB充電器過壓和低壓設置

(5) 若是USB鏈接無效或是沒有枚舉到,USB掛起設置

(6) USB枚舉計時器設置和中止位

3.3 Battery interface(LBC_BAT_IF)電池接口

(1) 電池存在和電池熱敏電阻/ID存在狀態

(2) 電池溫度狀態

(3) VREF_BAT_THM配置

(4) 電池FET狀態

(5) 經過電池ID和熱敏電阻來檢測電池是否存在

(6) 電池溫度閾值調整

(7) 內部BATFET調節器控制

3.4 LBC miscellaneous(LBC_MISC)

(1) 自適應升壓控制設置

(2) Vbat_Boot_treshold狀態

(3) Boot done bit status。

相關文章
相關標籤/搜索