BQ2040是TI公司生產(chǎn)的電池電量檢測芯片,它可以將檢測的信號通過I2C總線與微處理器交換數(shù)據(jù),然后將電量信號傳輸?shù)斤@示電路中,最終通過LED顯示電池電量。BQ2040支持鎳鎘、鎳氫和鋰離子電池,也支持SBS1.0協(xié)議但只可以驅(qū)動4個LED。
bq2040可進(jìn)行充電放電和自放電監(jiān)測,充電可根據(jù)溫度和充電狀態(tài)進(jìn)行補(bǔ)償;自放電也可以進(jìn)行溫度補(bǔ)償,主計數(shù)器RM表示任意時刻的剩余電量,充電增加計數(shù)器RM的值,反之放電和自放電減少RM的值并增加內(nèi)部放電計數(shù)器DCR的值。在完全放電狀態(tài)下,根據(jù)DCR的值來修正滿充電計數(shù)器FCC,它根據(jù)放電實際情況來確定電池容量,電池的初始值存放在0x60~0x61位置,空電狀態(tài)也編程到EEPROM,剩余電量百分比存放地址為0x2e,當(dāng)電池電壓低于放電終止電壓門限EDV1值時,此值將寫入剩余電量RM。
![](/uploadfile/20150616/20150616092926628.png)
在通電或者復(fù)位時,存放在EEPROM中的數(shù)據(jù)讀人滿充電計數(shù)器FCC,隨著放電的進(jìn)行,最新測量的放電計數(shù)器DCR的值和電壓降低量之和校正FCC的值,F(xiàn)CC用滿電平100%顯示充電狀態(tài)。
電池設(shè)計容量DC是由用戶指定的電池容量并且編程到EEPROM。電池剩余電量RM的值在充電到滿電平FCC時增加到最大,在放電和自放電時減少,電平低于EDV1,RM置為低電平,如果RM已經(jīng)低于或等于低電平,RM的值不變,當(dāng)?shù)碗娖竭_(dá)到EDVF時,RM設(shè)為0,為防止過充電,當(dāng)RM=FCC時,RM停止增加,在充電滿時,RM何以由用戶自定義值,初始狀態(tài)RM設(shè)為0。
放電計數(shù)器DCR在放電時開始記數(shù),它獨立于RM,即使RM降為0,它仍然可以增加。在RM=0之前,放電和自放電都可以增加DCR,當(dāng)RM=O后,只有自放電增加DCR的值。當(dāng)RM=FCC時,F(xiàn)CC復(fù)位為0,放電到EDV1時,F(xiàn)CC停止記數(shù)。當(dāng)DCR達(dá)到FFFFh時,DCR停止記數(shù),但不循環(huán)。當(dāng)檢測到SR腳有正電壓輸入,充電激活,根據(jù)VSRO按一定比例增加RM的值,充電到一定程度,激活LED顯示,RM也受充電狀態(tài)和溫度影響。當(dāng)VSRO<-VSRD時放電計數(shù)器工作,RM減少而DCR增加,VSRD是可編程門限電壓。當(dāng)放電標(biāo)志寄存器有效,RM繼續(xù)減少,DCR繼續(xù)增加,自放電估算率存放在0x4F位置,bq2040支持SBS充電控制,向智能充電地址廣播充電電流和充電電壓,每隔10秒鐘廣播充電命令,可以通過置1電池模式的14位來禁止廣播,復(fù)位時,地址0x08~0x09存放的初始充電電流被加載,根據(jù)電池的充電狀態(tài)、充電電壓和溫度可以修改廣播的充電電流。一旦檢測到有效的充電結(jié)束標(biāo)志,電池狀態(tài)寄存器的滿充位、充電結(jié)束報警位和過充電位置位,繼續(xù)充電電流設(shè)為0。一旦終止條件結(jié)束,充電終止報警和過充電報警清0,繼續(xù)充電電流設(shè)置為維持狀態(tài),直到RM的值降到設(shè)置的比例,這時滿充位清0,繼續(xù)充電電流和電壓設(shè)置為快充狀態(tài)。
標(biāo)志寄存器FLAGS2的4位決定RM的狀態(tài),如果CC=1,RM可以設(shè)為全充電容量的0-100%,如果RM低于滿充電容量,RM設(shè)置為滿充電容量,如果RM高于滿充電容量,RM不做修改。
![](/uploadfile/20150616/20150616092943206.png)
如果存在充電錯誤,bq2040可以暫停充電,充電錯誤包括:
(1)最大過充電容量。如果最大過充電超過RM=FCC,滿充電位置1,繼續(xù)充電電流設(shè)置為維持狀態(tài)。
(2)過壓狀態(tài)當(dāng)檢測的電壓超過充電電壓5%,產(chǎn)生過壓錯誤。當(dāng)bq2040檢測到過壓狀態(tài),繼續(xù)充電電流設(shè)置為0,充電結(jié)束報警位置1,當(dāng)充電電流或電壓降落到一定值,報警位清除。
(3)過電流狀態(tài)。當(dāng)檢測到充電電流超過設(shè)置電流的25%時,產(chǎn)生過流錯誤。繼續(xù)充電電流設(shè)置為0,充電終止報警位置1,當(dāng)充電電流降落到一定值,報警位清除。
(4)最大溫度。當(dāng)電池溫度達(dá)到設(shè)置的最大溫度時,繼續(xù)充電電流設(shè)置為0,過溫報警和充電終止報警位置1,當(dāng)溫度降落到一定值,過溫報警位清0。
(5)PSTAT。當(dāng)PSTAT輸入超過1.5V,繼續(xù)充電電流位清0,在放電標(biāo)志為0時,充電終止報警位置1。當(dāng)PSATA輸入小于1V或放電標(biāo)志為1時,報警位清0。
(6)低溫狀態(tài)。當(dāng)電池溫度低于12℃,繼續(xù)充電電流位處于維持狀態(tài),一旦溫度高于15℃,繼續(xù)充電位設(shè)為快充電狀態(tài)。
(7)低電壓狀態(tài)。當(dāng)電池溫度低于EDVF門限,繼續(xù)充電電流位設(shè)為EDVF,一旦充電電壓高于EDVF,繼續(xù)充電電流設(shè)為快充或維持狀態(tài)。 |