1、VBAT < VBATSHRT=3.0V時
對於Charger,充電IC使用IBATSHRT=50mA,打開BatteryFET,對電池進行預充電(此時BatteryFET工作在線性區即橫流區?);同時系統負載電壓被變壓至VSYS(REG)=3.7V
2、VBAT > VBATSHRT=3.0V時
對於Charger,充電電流爲ICHARGE=1A(default),這個值通過I2C設置;系統負載電壓保持在VSYS(REG)=3.7V,(此時BatteryFET工作在線性區即橫流區?)。
此時充電效率低,ChargerIC容易發熱,但時間很短,監控IC die的溫度,保證在120C以下,如果超過120C,則減小充電電流。
此時如果系統負載電流超過限定值(通過charger的輸入電流限定值1.5A和VIN_DPM=4.2V判定),則系統負載電壓會降至VMINSYS=3.5V,即系統運行的最小電壓,並減小充電電流,此時charger進入DPPM模式, 如果充電電流減小到0,則負載電流會將負載電壓拉低,直至等於電池電壓,電池開始放電補充負載電流。
3、VBAT > VSYS(REG)=3.7V時
BatteryFET完全打開,工作在線性區,充電電流爲ICHARGE。
4、VBAT > VBATREG=4.2V時(可編程3.5~4.44V)
充電電流慢慢減小,在此階段,chargerIC會監控充電電流ITERM。
5、當ITERM < 100mA(default)時,並且VBAT > Recharge threshold voltage VRCH=VBATREG-120mV時
結束充電,關斷chargerIC內充電的MOSFET。
---------------------------------------------------------------------------------------
重新開始一個充電週期條件:
1、VBAT < VBATREG-VRCH=4.2V-0.12V;
2、有輸入電壓VSUPPLY;
3、CE bit toggle or RESET bit is set
4、 HI-Z bit toggle
-------------------------------------------------------------------------------------
單電池連接方式
1、VBAT <2.5V時,Battery FET關斷,防止電池過放;
2、VBAT > VBATUVLO時=2.5V,BatteryFET打開,類似電池電流補充模式,此時電流值不是恆定變流(此處TI文檔有誤);
3、當2.5V< VBAT < VBATSHRT=3V時,IBATSHRT=50mA,當檢測到輸出電流大約這個值時,被認爲輸出負載短路,此時關斷BatteryFET,等待一段時間再打開BatteryFET,檢測是否故障排除。
4、BGATE用來控制外部放電MOSFET,防止過放,但是我們的產品沒有使用這個功能。
------------------------------------------------------------------------------------
Default模式
使用條件:沒有I2C通信控制的情況下
進入條件:
@當沒有I2C控制時,1、Chager enabled(CD引腳控制);2、VBAT< VBATGD=3.8V,進入Default充電模式;
@當watchdog timer=30s耗盡,但是I2C沒有復位,並親此時safety timer(默認27minutes)沒有耗盡;
@在沒有I2C控制時,從任何一種錯誤模式(例如sleep、OVP)中跳出來;
在Default模式下,I2C寄存器全被設置爲默認值,safety timer被設爲默認的27minutes,VBATREG=3.6V,ICHARGE=1A,IN的最大輸入電流爲1.5A,USB的最大輸入電流取決於D+/D-的狀態,默認使能charge current termination。當進入Default模式後,safety timer開始計時。如果在default模式下charging 被 terminated,則不會再從新進入一個新的充電週期。
----------------------------------------------------------------------------------
Safety Timer and Watchdog Timer機制
1、Safety Timer
(bq24160這種機制主要是防止對壞電池持續充電,但對於不能拆卸電池的手機來說,存在一個bug,但TI之後對這個問題進行的設計修改)
當充電還沒完成,但是safety timer已經耗盡的情況下,充電被停止,並且CE bit被置“1”,STAT和INT管腳會產生一個128uS的脈衝,同時I2C的狀態寄存器的STATx位被狀態機更新(更新後指示charger處在哪種狀態?111=fault)
Default模式下,通過從新連接輸入電源即removing/inserting the input supply(USB或BAT)或復位CD Pin可以從起timer。但當時的芯片並不支持USB supply toggle,這意味着在default模式下一旦safety timer耗盡,存在必須插拔電池的風險。
下面分析這種情況出現的條件。產品中我們並沒有使用charger的負載輸出功能,而是把負載全部直連到VBAT上。通過voltage monitor設置了S1 Boot啓動的電壓閾值Vboot,USB下爲3.3V,PC下爲3.6V。當2.5V<VBAT<Vboot時,此時ChargerIC在工作,並且是default模式,safty timer=27minutes,涓流充電值爲50mA。如果在27分鐘內,電池電壓不能達到Vboot,timer超時,芯片鎖死進入suspend模式,造成手機充不進去電。又因爲芯片在低電壓下不支持default模式下的USB toggle復位timer,這種情況只能等電池自放電,到VBAT<VBATUVLO時=2.5V時,芯片停止工作,timer復位,再從新充電;或者從新插拔電池。TI對chargerIC做了修改支持default模式低電壓下時USB 的toggle復位safty timer的功能,保證可以從電池的過放充電至S1boot啓動的電壓(要多次插拔USB???)。
同樣,當S1boot啓動時,I2C沒有正常配置charger時,也同樣會出現這個問題。
PMIC電壓低於2.7V時不能工作,系統沒有正常的掉電時序,所以系統掉電後會有漏電流50~100mA,這也會吸收掉涓流充電的電流,造成電池電壓不能回覆。
Host模式下,safety timer已經耗盡的情況下,充電被停止,並且CE bit被置“1”,charger必須通過I2C清除CEbit爲“0”,從啓充電週期,並且狀態機清除 FAULTx。
2、Watchdog Timer
用來監控host,I2C每次對charger操作後timer從啓,30s,I2C在30s內要喂狗,方法是向TMR_RST內寫“1”reset timer,timer被reset後這一位被狀態機自動置“0”。這個過程持續到電池充滿或Safety Timer 超時。當Watchdog Timer超時的時候,IC會進入default模式,默認設置被load。進入Default模式後,Host可以通過I2C從新設置IC寄存器,同時也從新啓動了Watchdog Timer。