BQ2084DBT [TI]

SBS v1.1 COMPLIANT GAS GAUGE FOR USE WITH THE BQ29312; SBS v1.1可以让电量监测计适用于的BQ29312
BQ2084DBT
型号: BQ2084DBT
厂家: TEXAS INSTRUMENTS    TEXAS INSTRUMENTS
描述:

SBS v1.1 COMPLIANT GAS GAUGE FOR USE WITH THE BQ29312
SBS v1.1可以让电量监测计适用于的BQ29312

文件: 总63页 (文件大小:619K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
9,7 mm x 6,4 mm  
ꢆꢇ ꢆ ꢈ ꢉꢊ ꢉ ꢋ ꢌ ꢍꢎ ꢏꢐ ꢑꢒ ꢓ ꢔ ꢑꢆ ꢔ ꢑꢕ ꢔ ꢖ ꢗꢌ ꢘ  
ꢕ ꢆꢖ ꢙꢐ ꢓꢚ ꢓꢚ ꢖ ꢀꢁ ꢂꢛꢜꢉ ꢂ  
FEATURES  
DESCRIPTION  
D
D
D
D
Provides Accurate Measurement of Available  
Charge in Li-Ion and Li-Polymer Batteries  
The bq2084 SBS-compliant gas gauge IC for battery pack  
or in-system installation maintains an accurate record of  
available charge in Li-ion or Li-polymer batteries. The  
bq2084 monitors capacity and other critical parameters of  
the battery pack and reports the information to the system  
host controller over a serial communication bus. It is  
designed to work with the bq29312 analog front-end (AFE)  
protection IC to maximize functionality and safety and  
minimize component count and cost in smart battery  
circuits. Using information from the bq2084, the host  
controller can manage remaining battery power to extend  
the system run time as much as possible.  
Supports the Smart Battery Specification  
(SBS) V1.1  
Integrated Time Base Removes Need for  
External Crystal with Optional Crystal input  
Works With the TI bq29312 Analog Front End  
(AFE) Protection IC to Provide Complete Pack  
Electronics for 7.2-V, 10.8-V or 14.4-V Battery  
Packs With Few External Components  
D
D
D
Based on a Powerful Low-Power RISC CPU  
Core With High-Performance Peripherals  
The bq2084 uses an integrating converter with continuous  
sampling for the measurement of battery charge and  
discharge currents. Optimized for coulomb counting in  
portable applications, the self-calibrating integrating  
converter has a resolution better than 0.65-nVh and an  
offset measurement error of less than 1-µV (typical). For  
voltage and temperature reporting, the bq2084 uses a  
16-bit A-to-D converter. In conjunction with the bq29312,  
the onboard ADC also monitors the pack and individual  
cell voltages in a battery pack and allows the bq2084 to  
generate the control signals necessary to implement the  
cell balancing and the required safety protection for Li-ion  
and Li-polymer battery chemistries.  
Integrated FLASH Memory Eliminates the  
Need for External Configuration EEPROM  
Uses 16-Bit Delta Sigma Converter for  
Accurate Voltage and Temperature  
Measurements  
D
Measures Charge Flow Using a High  
Resolution 16-Bit Integrating Converter  
− Better Than 0.65-nVh of Resolution  
− Self-Calibrating  
− Offset Error Less Than 1-µV  
D
D
D
Programmable Cell Modeling for Maximum  
Battery Fuel Gauge Accuracy  
The bq2084 supports the Smart Battery Data (SBData)  
commands and charge-control functions. It communicates  
data using the System Management Bus (SMBus) 2-wire  
protocol. The data available include the battery’s  
remaining capacity, temperature, voltage, current and  
remaining run-time predictions.  
Drives 3-, 4-, or 5-Segment LED Display for  
Remaining Capacity Indication  
38-Pin TSSOP (DBT)  
The bq2084 provides LED drivers and a push-button input  
to depict remaining battery capacity from full to empty in  
20%, 25%, or 33% increments with a 3-, 4-, or 5-segment  
display.  
APPLICATIONS  
D
D
D
Notebook PCs  
Medical and Test Equipment  
Portable Instrumentation  
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments  
semiconductor products and disclaimers thereto appears at the end of this data sheet.  
ꢎꢘ ꢌ ꢝꢕ ꢋ ꢓꢐ ꢌꢒ ꢝ ꢑꢓꢑ ꢞꢟ ꢠꢡ ꢢ ꢣꢤ ꢥꢞꢡꢟ ꢞꢦ ꢧꢨ ꢢ ꢢ ꢩꢟꢥ ꢤꢦ ꢡꢠ ꢪꢨꢀ ꢫꢞꢧ ꢤꢥꢞ ꢡꢟ ꢬꢤ ꢥꢩꢊ ꢎꢢ ꢡꢬꢨ ꢧꢥꢦ  
ꢧ ꢡꢟ ꢠꢡꢢ ꢣ ꢥꢡ ꢦ ꢪꢩ ꢧ ꢞ ꢠꢞ ꢧ ꢤ ꢥꢞ ꢡꢟꢦ ꢪ ꢩꢢ ꢥꢭꢩ ꢥꢩ ꢢ ꢣꢦ ꢡꢠ ꢓꢩꢮ ꢤꢦ ꢐꢟꢦ ꢥꢢ ꢨꢣ ꢩꢟꢥ ꢦ ꢦꢥ ꢤꢟꢬ ꢤꢢ ꢬ ꢯ ꢤꢢ ꢢ ꢤ ꢟꢥꢰꢊ  
ꢎꢢ ꢡ ꢬꢨꢧ ꢥ ꢞꢡ ꢟ ꢪꢢ ꢡ ꢧ ꢩ ꢦ ꢦ ꢞꢟ ꢱ ꢬꢡ ꢩ ꢦ ꢟꢡꢥ ꢟꢩ ꢧꢩ ꢦꢦ ꢤꢢ ꢞꢫ ꢰ ꢞꢟꢧ ꢫꢨꢬ ꢩ ꢥꢩ ꢦꢥꢞ ꢟꢱ ꢡꢠ ꢤꢫ ꢫ ꢪꢤ ꢢ ꢤꢣ ꢩꢥꢩ ꢢ ꢦꢊ  
Copyright 2004, Texas Instruments Incorporated  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam during  
storage or handling to prevent electrostatic damage to the MOS gates.  
The bq2084 contains 1k bytes of internal data flash memory, which store configuration information. The  
information includes nominal capacity and voltage, self-discharge rate, rate compensation factors, and other  
programmable cell-modeling factors used to accurately adjust remaining capacity for use-conditions based on  
time, rate, and temperature. The bq2084 also automatically calibrates or learns the true battery capacity in the  
course of a discharge cycle from programmable near full to near empty levels.  
The bq29312 analog front-end (AFE) protection IC is used to maximize functionality and safety and minimize  
component count and cost in smart battery circuits. The bq29312 AFE protection IC provides power to the  
bq2084 from a 2, 3 or 4 series Li-ion cell stack, eliminating the need for an external regulator circuit.  
ORDERING INFORMATION  
PACKAGE  
T
A
38-PIN TSSOP (DBT)  
(1)  
–20°C to 85°C  
bq2084DBT  
(1)  
The bq2084 is available taped and reeled. Add an R suffix to the  
device type (e.g., bq2084DBTR) to order tape and reel version.  
ABSOLUTE MAXIMUM RATINGS  
over operating free-air temperature range unless otherwise noted  
(1)  
UNIT  
Supply voltage range, V  
Open-drain I/O pins, V  
relative to V  
SS  
(see Note 2)  
(see Note 2)  
–0.3 V to 4.1 V  
–0.3 V to 6 V  
DD  
relative to V  
SS  
(IOD)  
Input voltage range to all other pins, V relative to V (see Note 2)  
Ss  
–0.3 V to V  
+ 0.3 V  
I
DD  
Operating free-air temperature range, T  
–20°C to 85°C  
A
Storage temperature range, T  
stg  
–65°C to 150°C  
(1)  
Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and  
functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not  
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.  
(2)  
V
SS  
refers to the common node of V  
, V  
, and V .  
(SSA) (SSD)  
(SSP)  
2
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
ELECTRICAL CHARACTERISTICS  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C unless otherwise noted  
A
PARAMETER  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
V
DD  
Supply voltage  
VDDA and VDDD  
3.0  
3.3  
3.6  
V
No flash programming  
or LEDs active  
I
Operating mode current  
380  
8
µA  
µA  
DD  
(SLP)  
I
Low-power storage mode current  
Sleep mode  
Output voltage low SMBC, SMBD, SDATA, SCLK, SAFE,  
PU  
I
= 0.5 mA  
= 10 mA  
0.4  
0.4  
0.8  
0.8  
6
OL  
OL  
V
V
V
V
V
V
OL  
LED1–LED5  
I
Input voltage low SMBC, SMBD, SDATA, SCLK, EVENT,  
PU, PRES, PFIN  
–0.3  
–0.3  
2
IL  
DISP  
Input voltage high SMBC, SMBD, SDATA, SCLK, EVENT,  
PU, PRES, PFIN  
IH  
DISP  
2
V
DD  
+ 0.3  
1.0  
V
V
Input voltage range VIN, TS  
Input voltage range SR1, SR2  
Input impedance SR1, SR2  
Input impedance VIN, TS  
V
– 0.3  
V
(AI1)  
(AI2)  
(AI1)  
(AI2)  
SS  
V
SS  
– 0.25  
2.5  
0.25  
V
Z
Z
−0.25 V − +0.25 V  
0 V–1.0 V  
MΩ  
MΩ  
8
POWER-ON RESET  
V
Negative-going voltage input  
Power-on reset hysteresis  
2.1  
50  
2.3  
2.5  
V
IT+  
hys  
V
125  
200  
mV  
POWER ON RESET BEHAVIOR  
vs  
FREE-AIR TEMPERATURE  
2.50  
2.45  
2.40  
2.35  
2.30  
2.25  
2.20  
140  
135  
130  
125  
120  
115  
110  
105  
100  
V
IT−  
V
hys  
2.15  
2.10  
−20 −10  
0
10 20 30 40 50 60 70 80  
− Free-Air Temperature − °C  
T
A
INTEGRATING ADC CHARACTERISTICS  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C unless otherwise noted  
A
PARAMETER  
TEST CONDITIONS  
= V – V  
MIN  
–0.25  
TYP  
MAX  
UNIT  
V
V
(SR)  
Input voltage range, V  
Input offset  
and V  
(SR1)  
V
SR  
0.25  
(SR2)  
(SR2) (SR1)  
V
1
mV  
(SROS)  
INL  
Integral nonlinearity error  
FAST = 0, −0.1 V to  
0.8 x V  
0.004% 0.018%  
ref  
PLL SWITCHING CHARACTERISTICS  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C unless otherwise noted  
A
PARAMETER  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
t
Start-up time (see Note 1)  
0.5% frequency error  
2
5
ms  
(SP)  
(1)  
The frequency error is measured from the trimmed frequency of the internal system clock, which is 128 x oscillator frequency, nominally  
4.194 MHz.  
3
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
OSCILLATOR  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C (unless otherwise noted) (TYP: V = 3.3 V, T = 25°C)  
A
DD A  
PARAMETER  
TEST CONDITIONS  
ROSC = 100k  
XCK1 = 12 pF XTAL  
MIN  
–2% 0.5%  
−0.25%  
TYP  
MAX  
2%  
UNIT  
f
Frequency error from 32.768 kHz  
(eio)  
0.25%  
1%  
(1)  
f
Frequency drift  
ROSC = 100k, T = 0°C to 50°C  
−1%  
(dio)  
(sio)  
(sxo)  
A
f
f
ROSC = 100k  
200  
µs  
(2)  
Start-up time  
XCK1 = 12 pF XTAL  
250  
ms  
(1)  
(2)  
The frequency drift is measured from the trimmed frequency at V  
DD  
= 3.3 V, T = 25°C.  
A
The start-up time is defined as the time it takes for the oscillator output frequency to be 1%  
DATA FLASH MEMORY CHARACTERISTICS  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C unless otherwise noted  
A
PARAMETER  
TEST CONDITIONS  
See Note 1  
MIN  
10  
TYP  
MAX  
UNIT  
Years  
Cycles  
ms  
t
Data retention  
DR  
Flash programming write-cycles  
See Note 1  
See Note 1  
See Note 1  
20k  
t
Word programming time  
Flash-write supply current  
2
(WORDPROG)  
I
8
12  
mA  
(DDPROG)  
(1)  
Assured by design. Not production tested.  
REGISTER BACKUP  
PARAMETER  
TEST CONDITIONS  
> 2.0 V, VDD < V  
MIN  
TYP  
MAX  
UNIT  
nA  
I
RBI data-retention input current  
RBI data-retention voltage (see Note 1)  
Specified by design. Not production tested.  
V
RBI  
10  
100  
(RBI)  
IT  
V
1.3  
V
(RBI)  
(1)  
SMBus TIMING SPECIFICATIONS  
V
DD  
= 3.0 V to 3.6 V, T = −20°C to 85°C unless otherwise noted  
A
PARAMETER  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
kHz  
kHz  
µs  
f
SMBus operating frequency  
SMBus master clock frequency  
Bus free time between start and stop  
Hold time after (repeated) start  
Repeated start setup time  
Stop setup time  
Slave mode, SMBC 50% duty cycle  
10  
100  
(SMB)  
(MAS)  
(BUF)  
f
Master mode, no clock low slave extend  
51.2  
t
4.7  
4.0  
4.7  
4.0  
0
T
µs  
(HD:STA)  
(SU:STA)  
(SU:STO)  
t
t
µs  
µs  
Receive mode  
Transmit mode  
t
Data hold time  
ns  
(HD:DAT)  
300  
250  
25  
t
t
t
t
t
t
t
t
Data setup time  
ns  
ms  
µs  
SU:DAT)  
(TIMEOUT)  
(LOW)  
Error signal/detect  
See Note 1  
35  
Clock low period  
4.7  
4.0  
Clock high period  
See Note 2  
See Note 3  
See Note 4  
50  
25  
µs  
(HIGH)  
LOW:SEXT)  
LOW:MEXT  
f
Cumulative clock low slave extend time  
Cumulative clock low master extend time  
Clock/data fall time  
ms  
ms  
ns  
10  
(V  
ILMAX  
– 0.15 V) to (V  
IHMIN  
+ 0.15 V)  
300  
1000  
Clock/data rise time  
0.9 V  
DD  
to (V  
ILMAX  
– 0.15 V)  
ns  
r
(1)  
(2)  
(3)  
(4)  
The bq2084 times out when any clock low exceeds t  
(TIMEOUT)  
t
t
t
Max. is minimum bus idle time. SMBC = 1 for t > 50 ms causes reset of any transaction involving bq2084 that is in progress.  
(HIGH)  
(LOW:SEXT)  
(LOW:MEXT)  
is the cumulative time a slave device is allowed to extend the clock cycles in one message from initial start to the stop.  
is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop.  
4
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
SMBus TIMING DIAGRAMS  
SYSTEM DIAGRAM  
Discharge / Charge /  
Pre-Charge FETs  
Fuse  
Pack +  
bq2084  
Pre-Charge Control  
bq29312  
PF Input  
Fail-Safe  
Protection  
PCH FET Drive  
Pre-Charge  
FET Drive  
Cell Balancing  
Drive  
Power Management  
LDO, TOUT and Power Mode Control  
3.3 V  
Pres  
Temperature Measurement  
<1% Error  
LDO, Therm Output Drive and UVLO  
T
INT  
T1  
System  
1 k Bytes of  
User Flash  
32 kHz Clock  
Generator  
Delay Counters  
Watchdog  
32 kHz  
Cell Balancing Algorithm and Control  
SBS v1.1 Data System Interface  
bq29312 RAM/Comms Validation  
2
System Interface  
RAM Registers  
SMBus  
I C  
Power Mode Control  
st  
st  
Level OV and  
UV Protection  
1
Level OC  
Protection  
1
Pack Under  
Voltage Power  
Mode Control  
Cell and Pack  
Voltage  
Measurement  
2-Tier Overcurrent Protection  
Voltage Level Translator  
Capacity Prediction <1% Error  
Pack −  
Sense Resistor  
(5 to 30 m)  
5
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
PIN ASSIGNMENTS  
TSSOP (DBT)  
(TOP VIEW)  
VSSD  
NC  
NC  
1
VIN  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
2
TS  
VSSA  
PU  
PRES  
SCLK  
NC  
VDDD  
RBI  
SDATA  
VSSD  
SAFE  
NC  
3
CLKOUT  
XCK1/VSSA  
XCK2/ROSC  
FILT  
VDDA  
VSSA  
VSSA  
SR1  
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
SR2  
MRST  
EVENT  
LED1  
NC  
SMBC  
SMBD  
DISP  
PFIN  
VSSD  
LED2  
LED3  
LED4  
LED5  
6
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Terminal Functions  
TERMINAL  
I/O  
DESCRIPTION  
NO.  
TSSOP  
NAME  
CLKOUT  
DISP  
35  
17  
32  
25  
24  
23  
22  
21  
20  
26  
I
I
32.768−kHzoutput to the bq29312  
Display control for the LED drivers LED1 through LED5  
Analog input connected to the external PLL filter  
Input from bq29312 XALERT output  
FILT  
I
EVENT  
LED1  
LED2  
LED3  
LED4  
LED5  
MRST  
I
O
O
O
O
O
I
LED display segments that each may drive an external LED  
Master reset input that forces the device into reset when held high  
No connection  
7, 13, 14,  
36, 37  
NC  
PFIN  
PRES  
PU  
18  
5
I
I
Active low input to detect secondary protector output status  
Active low input to sense system insertion  
4
O
I
Output to pull up the /PRES pin for detection  
RBI  
9
Register backup that provides backup potential to the bq2084 data registers during periods of  
low operating voltage. RBI accepts a storage capacitor or a battery input.  
SAFE  
SCLK  
SDATA  
SMBC  
12  
6
O
O
Active low output for additional level of safety protection; e.g., fuse blow.  
Communication clock to the bq29312  
10  
15  
I/O Data transfer to and from bq29312  
I/O SMBus clock open-drain bidirectional pin used to clock the data transfer to and from the  
bq2084  
SMBD  
16  
I/O SMBus data open-drain bidirectional pin used to transfer address and data to and from the  
bq2084  
SR1  
28  
I
I
Connections for a small-value sense resistor to monitor the battery charge− and discharge−  
current flow  
SR2  
27  
TS  
2
I
Thermistor voltage input connection to monitor temperature  
Positive supply for analog circuitry  
VDDA  
VDDD  
VIN  
31  
I
8
1
I
Positive supply for digital circuitry and I/O pins  
Single cell voltage input from the bq29312  
I
VSSA  
VSSD  
XCK1/VSSA  
XCK2/ROSC  
3, 29, 30  
11, 19, 38  
34  
I
Negative supply for analog circuitry  
I
Negative supply for digital circuitry  
I
32.768-kHz crystal oscillator input pin or connected to VSSA if the internal oscillator is used  
33  
O
32.768-kHz crystal oscillator output pin or connected to a 100-kW, 50 ppm or better resistor if  
the internal oscillator is used  
7
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
FUNCTIONAL DESCRIPTION  
Oscillator Function  
The oscillator of the bq2084 can be set up for an internal or external operation. As the bq2084 powers up it  
automatically attempts to start the internal oscillator but if a 100-kW resistor is not connected to ROSC (pin 33)  
then it attempts to start the oscillator using an external 32.768-kHz crystal. Either the 100-kW ROSC resistor  
OR the 12 pF 32.768-kHz crystal should be mounted, NOT both.  
The performance of the internal oscillator is dependent on the tolerance of the 100-kW resistor connected  
between RSOC (pin 33) and VSSA (pin 34). It is recommended that this resistor be as close to the bq2084 as  
possible and that it has a specification of 0.1% tolerance and 50 ppm temperature drift or better. The 12-pF  
crystal, if used, should also be placed as close to the XCK1 (pin 34) and XCK2 (pin 33) pins as possible. The  
layout of the PCB around these pins and components is also an additional contributing factor to oscillator  
performance degradation.  
The average temperature drift error of the oscillator function over a learning charge or discharge cycle  
introduces an equal capacity prediction error in a learned full charge capacity (FCC).  
System Present Operation  
When the bq2084 detects that the battery is inserted into the system via a low state on the PRES input, the  
bq2084 enters normal operating mode and sets the PRES bit in PackStatus( ). When the pack is removed from  
the system and the PRES input is high, then the bq2084 enters the battery removed state and turns OFF the  
charge and discharge FETs, and enables the 0-V/precharging FET.  
General Operation  
The bq2084 determines battery capacity by monitoring the amount of charge input or removed from a  
rechargeable battery. In addition to measuring charge and discharge, the bq2084 measures individual cell  
voltages, pack voltage, temperature, and current, estimates battery self-discharge, and monitors the battery  
for low-voltage thresholds using features of the bq29312 AFE device.  
The bq2084 measures charge and discharge activity by monitoring the voltage across a small-value series  
sense resistor between the cell stack negative terminal and the negative terminal of the battery pack. The  
available battery charge is determined by monitoring this voltage and correcting the measurement for  
environmental and operating conditions.  
The bq2084 interfaces with the bq29312 to perform battery protection, cell balancing and voltage translation  
functions. The bq2084 can accept any NTC thermistor (default is Semitec 103AT) for temperature  
measurement or can also be configured to use its internal temperature sensor. The bq2084 uses temperature  
to monitor the battery pack and to compensate the self-discharge estimate.  
Measurements  
The bq2084 uses an integrating sigma-delta analog-to-digital converter (ADC) for current measurement and  
a second sigma-delta ADC for individual cell and battery voltage and temperature measurement. The individual  
cell and pack voltages, Voltage(), Current(), AverageCurrent() and Temperature are updated every 1 s during  
normal operation.  
Charge and Discharge Counting  
The integrating ADC measures the charge and discharge flow of the battery by monitoring a small-value sense  
resistor between the SR1 and SR2 pins. The integrating ADC measures bipolar signals from –0.25 V to 0.25 V.  
The bq2084 detects charge activity when VSR = V(SR1)–V(SR2) is positive and discharge activity when  
VSR = V(SR1)–V(SR2) is negative. The bq2084 continuously integrates the signal over time, using an internal  
counter. The fundamental rate of the counter is 0.65 nVh. The bq2084 updates RemainingCapacity() with the  
charge or discharge accumulated in this internal counter once every second.  
Offset Calibration  
The bq2084 provides an auto-calibration feature to cancel the voltage offset error across SR1 and SR2 for  
maximum charge measurement accuracy. The bq2084 performs auto-calibration when the SMBus lines stay  
low for a minimum of 20 s when it internally connects SR1 to SR2 and measures the internal offset. With this  
feature the bq2084 is capable of automatic offset calibration down to <1 µV.  
8
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Digital Filter  
The bq2084 does not measure charge or discharge counts below the digital filter threshold. The digital filter  
threshold is programmed in the Digital Filter DF 0x2c and should be set sufficiently high to prevent false signal  
detection with no charge or discharge flowing through the sense resistor.  
Voltage  
While monitoring SR1 and SR2 for charge and discharge currents, the bq2084 monitors the individual series  
cell voltages through the bq29312. The bq2084 configures the bq29312 to present the selected cell to the CELL  
pin of the bq29312, which should be connected to VIN of the bq2084. The internal ADC of the bq2084 then  
measures the voltage and scales it appropriately. The bq2084 then reports the Voltage( ) and the individual cell  
voltages in VCELL1(), VCELL2(), VCELL3(), and VCELL4(). There is an additional SMBus command (0x45)  
that returns the measured ADC Reading of the PACK input to the AFE.  
Current  
The bq2084 uses the SR1 and SR2 inputs to measure and calculate the battery charge and discharge current.  
This value is reported via the SBS command Current(). AverageCurrent( ) is implemented as a single pole IIR  
filter with a 14.5-s time constant.  
Temperature  
The TS input of the bq2084 in conjunction with an NTC thermistor measures the battery temperature as shown  
in the schematic. The bq2084 reports temperature via the SBS command Temperature( ).  
The bq2084 can also be configured to use its internal temperature sensor by setting the IT bit in Misc  
Configuration DF 0x2a−0x2b. Data flash locations DF 0xb5 through DF 0xc0 also have to be changed to  
prescribed values if the internal temperature sensor option is selected.  
Table 1. Data Flash Settings for Internal or External Temperature Sensor  
EXTERNAL TEMP SENSOR SETTING  
LOCATION  
DEC (HEX)  
INTERNAL TEMP SENSOR SETTING  
(SEMITEC 103AT)  
LABEL  
DEC (HEX)  
Bit 7 = 1  
DEC (HEX)  
Misc. Config  
TS Const1 A3  
TS Const2 A2  
TS Const3 A1  
TS Const4 A0  
Min Temp AD  
Max Temp  
42 (0x2a)  
Bit 7 = 0  
164/5 (0xb5/6)  
166/7 (0xb7/8)  
168/9 (0xb9/a)  
170/1 (0xbb/c)  
172/3 (0xbd/e)  
174/5 (0xbf/c0)  
0 (0x0000)  
−28285 (0x9183)  
20848 (0x5170)  
−7537 (0xe28f)  
4012 (0x0fac)  
0 (0x000)  
0 (0x0000)  
11136 (0xd480)  
5734 (0x1666)  
0 (0x0000)  
5734 (0x1666)  
4012 (0x0fac)  
Gas Gauge Operation  
General  
The operational overview in Figure 1 illustrates the gas gauge operation of the bq2084. Table 3 describes the  
bq2084 registers.  
9
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Figure 1. bq2084 Gas Gauging Operational Overview  
The bq2084 accumulates a measure of charge and discharge currents and estimates self-discharge of the  
battery. The bq2084 compensates the charge current measurement for temperature and state-of-charge of the  
battery. The bq2084 also adjusts the self-discharge estimation based on temperature.  
The main charge counter RemainingCapacity( ) (RM) represents the available capacity or energy in the battery  
at any given time. The bq2084 adjusts RM for charge, self-discharge, and other compensation factors. The  
information in the RM register is accessible through the SMBus interface and is also represented through the  
LED display.  
The FullChargeCapacity( ) (FCC) register represents the last measured learned full discharge of the battery.  
It is used as the battery full-charge reference for relative capacity indication. The bq2084 updates FCC after  
the battery undergoes a qualified discharge from nearly full to a low battery level. FCC is accessible through  
the SMBus interface.  
The Discharge Count Register (DCR) is a non-accessible register that tracks discharge of the battery. The  
bq2084 uses the DCR register to update the FCC register if the battery undergoes a qualified discharge from  
nearly full to a low battery level. In this way, the bq2084 learns the true discharge capacity of the battery under  
system use conditions.  
Main Gas-Gauge Registers  
RemainingCapacity( ) (RM)  
RM represents the remaining capacity in the battery. The bq2084 computes RM in units of either mAh or 10  
mWh depending on the selected mode. See Battery Mode( ) (0x03) for units configuration. RM counts up during  
charge to a maximum value of FullChargeCapacity() (FCC) and down during discharge and self-discharge to  
a minimum of 0. In addition to charge and self-discharge compensation, the bq2084 calibrates RM at three  
low-battery-voltage thresholds, EDV2, EDV1, and EDV0 and three programmable midrange thresholds  
VOC25, VOC50, and VOC75. This provides a voltage-based calibration to the RM counter.  
10  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DesignCapacity ( ) (DC)  
DC is the user-specified battery full capacity. It is calculated from Pack Capacity DF 0x32−0x33 and is  
represented in units of mAh or 10 mWh. It also represents the full-battery reference for the absolute display  
mode.  
FullChargeCapacity( ) (FCC)  
FCC is the last learned measured discharge capacity of the battery. It is represented in units of either mAh or  
10 mWh, depending on the selected mode. On initialization, the bq2084 sets FCC to the value stored in Full  
Charge Capacity DF 0x36−0x37. During subsequent discharges, the bq2084 updates FCC with the last learned  
measured discharge capacity of the battery. The last learned measured discharge of the battery is based on  
the value in the Discharge Count Register (DCR) after a qualified discharge occurs. Once updated, the bq2084  
writes the new FCC value to data flash in mAh to Full Charge Capacity. FCC represents the full battery reference  
for the relative display mode, relative state of charge and AtRate() calculations.  
Discharge Count Register (DCR)  
The DCR register counts up during discharge, independent of RM. DCR counts discharge activity, battery load  
estimation, and self-discharge increments. The bq2084 initializes DCR, at the beginning of a discharge, to FCC  
– RM when FCC − RM is within the programmed value in Near Full DF 0x30. The DCR initial value of FCC –  
RM is reduced by FCC/128 if SC = 1 (bit 5 in Gauge Configuration) and is not reduced if SC = 0. DCR stops  
counting when the battery voltage reaches the EDV2 threshold on discharge.  
Capacity Learning (FCC Update) and Qualified Discharge  
The bq2084 updates FCC with an amount based on the value in DCR if a qualified discharge occurs. The new  
value for FCC equals the DCR value plus the programmable nearly full and low battery levels, according to the  
following equation:  
FCC (new) = DCR (final) = DCR (initial) + Measured Discharge to EDV2 + (FCC x Battery Low%)  
here Battery Low % = (value stored in DF 0x2f) ÷ 2.56  
A qualified discharge occurs if the battery discharges from RM = FCC – Near Full to the EDV2 voltage threshold  
with the following conditions:W  
D
D
No more than 256 mAh of self-discharge or battery load estimation occurs during the discharge period  
The temperature does not drop below the low temperature threshold programmed in Learning Low Temp  
DF 0xac during the discharge period  
D
The battery voltage reaches the EDV2 threshold during the discharge period and the voltage is greater  
than or equal to the EDV2 threshold minus 256 mV when the bq2084 detected EDV2  
D
D
D
No midrange voltage correction occurs during the discharge period  
Current remains 3C/32 when EDV2 or Battery Low % level is reached.  
No overload condition exists when EDV2 threshold is reached or if RM( ) has dropped to Battery Low%  
x FCC  
D
No valid charge activity occurs during the discharge period. A valid charge is defined as an uninterrupted  
charge of 10 mAh into the battery  
The bq2084 sets VDQ=1 in PackStatus() when qualified discharge begins. The bq2084 sets VDQ=0 if any  
disqualifying condition occurs. FCC cannot be reduced by more than 256 mAh or increased by more than 512  
mAh during any single update cycle. The bq2084 saves the new FCC value to the data flash within 4 seconds  
of being updated.  
End-of-Discharge Thresholds and Capacity Correction  
The bq2084 monitors the battery for three low-voltage thresholds, EDV0, EDV1, and EDV2. The EDV  
thresholds can be programmed for determination based on the overall pack voltage or an individual cell level.  
The EDVV bit in Pack Configuration DF 0x28 configures the bq2084 for overall voltage or single-cell EDV  
thresholds. If programmed for single cell EDV determination, the bq2084 determines EDV on the basis of the  
lowest single-cell voltage. Fixed EDV thresholds must be programmed in EMF/EDV0 DF 0x95−0x96, EDV C0  
Factor/EDV1 DF 0x97−0x98 and EDV R Factor/EDV2 DF 0x99−0x9a.  
11  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
If the CEDV bit in Gauge Configuration DF 0x29 is set, automatic compensated EDVs are enabled and the  
bq2084 computes the EDV0, EDV1, and EDV2 voltage thresholds based on the values in DF 0x95−0xa0 and  
the battery’s current discharge rate and temperature. The bq2084 disables EDV detection if Current( ) exceeds  
the Overload Current threshold programmed in DF 0x5b–DF 0x5c. The bq2084 resumes EDV threshold  
detection after Current( ) drops below the Overload Current threshold. Any EDV threshold detected is reset after  
charge is detected and VDQ is cleared after 10 mAh of charge.  
The bq2084 uses the EDV thresholds to apply voltage-based corrections to the RM register according to  
Table 2.  
Table 2. State of Charge Based on Low Battery Voltage  
THRESHOLD  
EDV0  
RELATIVE STATE OF CHARGE  
0%  
3%  
EDV1  
EDV2  
Battery Low %  
The bq2084 performs EDV-based RM adjustments with Current( ) C/32. No EDV flags are set if current  
< C/32.  
The bq2084 adjusts RM as it detects each threshold. If the voltage threshold is reached before the  
corresponding capacity on discharge, the bq2084 reduces RM to the appropriate amount as shown in Table 2.  
If an RM % level is reached on discharge before the voltage reaches the corresponding threshold, then RM is  
held at that % level until the threshold is reached. RM is only held if VDQ = 1, indicating a valid learning cycle  
is in progress. If Battery Low % is set to zero, EDV1 and EDV0 corrections are disabled.  
EDV Thresholds and Near-Full Programming  
The bq2084 uses the values stored in data flash for the EDV0, EDV1, and EDV2 values or calculates the three  
thresholds from a base value and the temperature, capacity, and rate adjustment factors stored in data flash.  
If EDV compensation is disabled, then EDV0, EDV1, and EDV2 are stored directly in mV in DF 0x95–0x96, DF  
0x97–0x98, and DF 0x99–0x9a, respectively.  
For capacity correction at EDV2, Battery Low % DF 0x2f can be set at a desired state-of-charge,  
STATEOFCHARGE%, in the range of 3−19%. Typical values for STATEOFCHARGE% are 5−7%, representing  
5−7% capacity.  
Battery Low % = (STATEOFCHARGE% x 2.56)  
The bq2084 updates FCC if a qualified discharge occurs from a near-full threshold of FCC – Near Full, until  
EDV2 condition is reached. The desired near-full threshold window is programmed in Near Full in DF 0x30, 0x31  
in mAh.  
EDV Discharge Rate and Temperature Compensation Programming  
If EDV compensation is enabled, the bq2084 calculates battery voltage to determine EDV0, EDV1, and EDV2  
thresholds as a function of battery capacity, temperature, and discharge load. The general equation for EDV0,  
EDV1, and EDV2 calculation is  
EDV0,1,2 = n (EMF FBL − | ILOAD | R0 FTZ)  
EMF is a no-load cell voltage higher than the highest cell EDV threshold computed. EMF is pro-  
grammed in mV in EMF/EDV1 DF 0x95–0x96.  
ILOAD is the current discharge load magnitude.  
n = the number of series cells  
12  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
FBL is the factor that adjusts the EDV voltage for battery capacity and temperature to match the no-load  
characteristics of the battery.  
FBL = f ( C0, C + C1, T )  
C (either 0%, 3%, or Battery Low % for EDV0, EDV1, and EDV2, respectively) and C0 are the ca-  
pacity related EDV adjustment factors. C0 is programmed in EDV C0 Factor/EDV1 DF 0x97–98.  
C1 is the desired residual battery capacity remaining at EDV0 (RM = 0). The C1 factor is stored  
in EDV C1 Factor DF 0xa0.  
T is the current temperature in °K.  
R0 FTZ represents the resistance of a cell as a function of temperature and capacity.  
FTZ = f ( R1 , T0, T, C + C1, TC)  
R0 is the first order rate dependency factor stored in EDV R0 Factor/EDV2 DF 0x99–0x9a.  
T is the current temperature; C is the battery capacity relating to EDV0, EDV1, and EDV2.  
R1 adjusts the variation of impedance with battery capacity. R1 is programmed in EDV R1 Rate  
Factor DF 0x9d−0x9e.  
T0 adjusts the variation of impedance with battery temperature. T0 is programmed in EDV T0 Rate  
Factor DF 0x9b–0x9c.  
TC adjusts the variation of impedance for cold temperatures (T < 23°C). TC is programmed in EDV  
TC DF 0x9f.  
Typical values for the EDV compensation factors, based on overall pack voltages for a Li-lon 3s2p 18650 pack,  
are:  
EMF = 11550/3  
T0 = 4475  
C0 = 235  
C1 = 0  
R0 = 5350/3  
R1 = 250  
TC = 3  
13  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Table 3. bq2084 Register Functions  
FUNCTION  
ManufacturerAccess  
RemainingCapacityAlarm  
RemainingTimeAlarm  
BatteryMode  
COMMAND CODE  
0x00  
ACCESS  
Read/write  
UNITS  
NA  
0x01  
Read/write  
Read/write  
Read/write  
Read/write  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
0
mAh, 10 mWh  
minutes  
NA  
0x02  
0x03  
AtRate  
0x04  
mA, 10 mW  
minutes  
minutes  
Boolean  
0.1°K  
AtRateTimeToFull  
AtRateTimeToEmpty  
AtRateOK  
0x05  
0x06  
0x07  
Temperature  
0x08  
Voltage  
0x09  
mV  
Current  
0x0a  
mA  
AverageCurrent  
MaxError  
0x0b  
mA  
0x0c  
percent  
percent  
percent  
mAh, 10 mWh  
mAh, 10 mWh  
minutes  
minutes  
minutes  
mA  
RelativeStateOfCharge  
AbsoluteStateOfCharge  
RemainingCapacity  
FullChargeCapacity  
RunTimeToEmpty  
AverageTimeToEmpty  
AverageTimeToFull  
ChargingCurrent  
ChargingVoltage  
Battery Status  
CycleCount  
0x0d  
0x0e  
0x0f  
0x10  
0x11  
0x12  
0x13  
0x14  
0x15  
mV  
0x16  
NA  
0x17  
cycles  
mAh, 10 mWh  
mV  
DesignCapacity  
DesignVoltage  
SpecificationInfo  
ManufactureDate  
SerialNumber  
Reserved  
0x18  
0x19  
0x1a  
NA  
0x1b  
NA  
0x1c  
integer  
0
0x1d−0x1f  
0x20  
ManufacturerName  
DeviceName  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
Read  
string  
string  
string  
string  
NA  
0x21  
DeviceChemistry  
ManufacturerData  
Pack status  
0x22  
0x23  
0x2f (LSB)  
0x2f (MSB)  
0x3c  
Pack configuration  
VCELL4  
NA  
mV  
VCELL3  
0x3d  
mV  
VCELL2  
0x3e  
mV  
VCELL1  
0x3f  
mV  
VPACK  
0x45  
mV  
AFEData  
0x46  
hex  
14  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Self-Discharge  
The bq2084 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity  
during periods of inactivity. The bq2084 makes self-discharge adjustments to RM every 1/4 s when awake and  
periodically (determined by Sleep Timer DF 0xfe) when in sleep mode. The self-discharge estimation rate for  
25°C is doubled for each 10 degrees above 25°C or halved for each 10 degrees below 25°C. Table 4 shows  
the relation of the self-discharge estimation at a given temperature to the rate programmed for 25°C (Y% per  
day programmed in DF 0x2d).  
Table 4. Self-Discharge for Rate Programmed  
TEMPERATURE (°C)  
Temp < 10  
SELF-DISCHARGE RATE  
1/4 Y% per day  
10 Temp <20  
20 Temp <30  
30 Temp <40  
40 Temp <50  
50 Temp <60  
60 Temp <70  
70 Temp  
1/2 Y% per day  
Y% per day  
2Y% per day  
4Y% per day  
8Y% per day  
16Y% per day  
32Y% per day  
The nominal self-discharge rate, %PERDAY (% per day), is programmed in an 8-bit value Self−Discharge Rate  
DF 0x2d by the following relation:  
Self-Discharge Rate = %PERDAY/ 0.01  
Battery Electronic Load Compensation  
The bq2084 can be configured to compensate for a constant load (as from battery electronics) present in the  
battery pack at all times. The bq2084 applies the compensation continuously when the charge or discharge is  
below the digital filter. The bq2084 applies the compensation (BEL) in addition to self-discharge. The  
compensation occurs at a rate determined by the value stored in Electronics Load DF 0x2e. The compensation  
range is 0 µA–765 µA in steps of approximately 3 µA. The data is stored as follows:  
Electronics Load = BEL / 3  
Midrange Capacity Corrections  
The bq2084 applies midrange capacity corrections when the VCOR bit is set in Gauge Configuration DF 0x29.  
The bq2084 adjusts RM to the associated percentage at three different voltage levels: VOC25, VOC50, and  
VOC75. The VOC values represent the open circuit battery voltage at which RM corresponds to the associated  
percentage for each threshold.  
For the midrange corrections to occur, the temperature must be in the range of 19°C to 31°C inclusive and  
Current( ) and AverageCurrent( ) must both report between –64 mA and 0. The bq2084 makes midrange  
corrections as shown in the table below. For a correction to occur, the bq2084 must detect the need for  
correction twice during subsequent 20-s intervals. With the VCOR bit set, the bq2084 makes midrange  
corrections whenever conditions permit.  
If the OTVC bit in Gauge Configuration DF 0x29 is set and VCOR = 0, the bq2084 makes two Voltage()  
measurements, determines the average of the two readings and sets the appropriate RM level. No further  
RSOC% vs Voltage() validation is performed until after the next device reset.  
15  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Table 5. Midrange Corrections  
CONDITION  
RESULT  
VOC75 and RelativeStateOfCharge() 63%  
< VOC75 and RelativeStateOfCharge() 87%  
VOC50 and RelativeStateOfCharge() 38%  
<VOC50 and RelativeStateOfCharge() 62%  
VOC25 and RelativeStateOfCharge() 13%  
< VOC25 and RelativeStateOfCharge() 37%  
RelativeStateOfCharge() 75%  
RelativeStateOfCharge() 75%  
RelativeStateOfCharge() 50%  
RelativeStateOfCharge() 50%  
RelativeStateOfCharge() 25%  
RelativeStateOfCharge() 25%  
Voltage( )  
Three voltage-based thresholds, VOC25 DF 0x88–0x89, VOC50 DF 0x83–0x84, and VOC75 DF 0x7e–0x7f,  
are stored in the data flash in mV.  
Charge Control  
The bq2084 internal charge control is compatible with the constant current/constant voltage profile for Li-Ion.  
The bq2084 detects primary charge termination on the basis of the tapering charge current during the  
constant-voltage phase.  
Charging Voltage Broadcasts  
The bq2084 supports SBS charge control by broadcasting the ChargingCurrent( ) and ChargingVoltage( ) to  
the Smart Charger address. The bq2084 broadcasts the requests every 10 seconds. The bq2084 updates the  
values used in the charging current and voltage broadcasts based on the battery’s state of charge, voltage, and  
temperature.  
The 16-bit value (mV) for charging voltage is programmed in Charging Voltage DF 0x03a−0x3b although it can  
be set to 0 in different operating conditions. It also sets the base value for determining overvoltage conditions  
during charging and voltage compliance during a constant-voltage charging methodology.  
The 16-bit value, Over Voltage Margin DF 0x5d–0x5e, sets the limit over ChargingVoltage( ) in mV that is to  
be considered as an overvoltage charge-suspension condition.  
Charging Current Broadcasts  
ChargingCurrent( ) values are either broadcast to a Level 2 smart battery charger or read from the bq2084 by  
a Level 3 smart battery charger. The ChargingCurrent( ) may take any of four different values: Fast-Charging  
Current DF (0x3e–0x3f), Maintenance Charging Current (DF 0x40−0x41), Precharge Current (0x42−0x43) or  
0 depending on charge state and operating conditions.  
When fast charge is allowed, the bq2084 sets ChargingCurrent( ) to the rate programmed in Fast-Charging  
Current DF 0x3e–0x3f. Fast-Charging Current is stored in mA.  
When fast charge terminates, the bq2084 sets ChargingCurrent( ) to zero and then to theMaintenanceCharging  
Current DF 40 0x41 when the termination condition ceases. The desired maintenance current is stored in mA.  
When Voltage( ) is less than EDV0, the bq2084 sets ChargingCurrent( ) to Precharge Current DF 0x42, 0x43.  
Typically this rate is larger than the maintenance rate to charge a deeply depleted pack up to the point where  
it may be fast charged. The desired precharge rate is stored in mA.  
If temperature is between the Charge Inhibit Temp Low (DF0x46) and the precharge threshold PC (°C), the  
bq2084 sets ChargingCurrent() to PreCharge Current. The threshold is programmed in the Precharge Temp  
DF 0x44. The maximal value of precharge temperature threshold setting is 12.7°C.  
Precharge Temp = PC (°C) / 0.1  
The bq2084 also sets ChargingCurrent( ) to the precharge rate if Voltage( ) is less than the value programmed  
in Precharge Voltage DF 0x3c–0x3d. Precharge Voltage is programmed in mV.  
Alarm Broadcasts to Smart Charger and Host  
If any of the bits 8–15 in BatteryStatus( ) are set, the bq2084 broadcasts an AlarmWarning( ) message to the  
Host address. If any of the bits 12–15 in BatteryStatus( ) are set, the bq2084 also sends an AlarmWarning()  
message to the Smart Charger address. The bq2084 repeats the AlarmWarning( ) messages every 10 seconds  
until the alarm bits are cleared. All broadcasts can be disabled by setting SM (bit 2) in Pack Configuration (DF  
0x28).  
16  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Precharge Qualification  
The bq2084 sets ChargingCurrent( ) to the precharge rate as programmed in Precharge Current DF 0x42−0x43  
under the following conditions:  
D
Voltage: The bq2084 requests the precharge charge rate when any cell voltage drops below the precharge  
threshold or when the EDV0 threshold is detected. Once requested, a precharge rate remains until all cell  
voltages increase above the precharge threshold and the EDV0 condition does not exist. The precharge  
threshold is programmed in Precharge Voltage DF 0x3c–0x3d.  
D
Temperature: The bq2084 requests the precharge rate when Temperature( ) is between Charge Inhibit  
Temp Low (DF0x46) and the precharge threshold programmed in Precharge Temp 0x44. Temperature( )  
must be equal to or greater than the precharge threshold + 3°C to allow the fast-charge rate.  
Charge Suspension  
The bq2084 may temporarily suspend charge if it detects a charging fault. A charging fault includes the following  
conditions.  
D
Overcurrent: An overcurrent condition exists when the bq2084 measures the charge current to be greater  
than Charge OC Threshold (DF 0x12a–0x12b) for a time greater than Charge OC Time (DF 0x12c). On  
detecting an overcurrent condition, the bq2084 turns off the Charge FET. If the Nonremovable Battery bit  
is not set in Misc Configuration DF 0x2a, then the Discharge FET is turned off also. This condition is  
cleared when the pack is removed or if the Nonremovable Battery bit is set in Misc Configuration DF 0x2a  
and when a discharge current is detected or when SBS AverageCurrent() is less than the ClearFailCurrent  
DF 0x61−0x62 for FaultResetTime DF 0x130.  
D
D
Overtemperature: During charging, an overtemperature condition exists when Temperature( ) is greater  
than the Charge Suspend Temp High value programmed in DF 0x6d, 0x6e. On detecting an over-  
temperature condition, if enabled by the OT bit in Misc Configuration DF 0x2a the bq2084 turns off the  
Charge and Discharge FET. The overtemperature condition is cleared when Temperature( ) is equal to  
or below Charge Suspend Temp High Reset (DF 0x6f −0x70). The condition is also cleared if the pack  
is removed.  
Undertemperature: During charging, an undertemperature condition exists when Temperature( ) is less  
than the Charge Suspend Temp Low in DF 0x79 or Charge Inhibit Temp Low in DF 0x46. On detecting  
an undertemperature condition the bq2084 turns off the Charge FET. The undertemperature condition  
is cleared when Temperature( ) is greater than Charge Suspend Temp Low DF 0x79. The condition is also  
cleared if the pack is removed. The maximal value of Charge Suspend Temp Low setting is 12.7°C.  
D
D
Charging exceeds Maximum Charging Time in DF 0x10f−0x110. If charging time reaches Maximum  
Charge Time, the Charge FET is turned off. This condition is cleared when the pack detects discharge  
current or is removed.  
Cell or Pack Overvoltage: An overvoltage condition exist when any cell is greater than Cell Over Voltage  
Limit in DF 0x63−0x64 or if Voltage() is greater than Charging Voltage in 0x3a–0x3b plus  
OvervoltageMargin in 0x5d−05e. This condition is cleared when the pack is removed or if the  
Nonremovable Battery bit is set in Misc Configuration DF 0x2a and when a discharge current is detected  
or when SBS AverageCurrent() is less than the ClearFailCurrent DF 0x61−0x62 for FaultResetTime DF  
0x130. Also, the overvoltage conditon must be cleared by Voltage() less than Charging Voltage in  
0x3a–0x3b plus OvervoltageMargin in 0x5d−05e and all cell voltages less than Cell Over Voltage Reset  
in DF 0xe0−0xe1.  
D
Charging is also temporarily suspended during pulse-charging, but this is not considered a fault condition.  
Pulse Charge  
The bq2084 is capable of charge control using a pulse-charging algorithm, which allows for charge control in  
systems where the charger does not control current.  
The pulse-charging algorithm uses voltage thresholds and associated time limits for control. These are stored  
as constants in data flash. The cell voltages are read by the a/d converter every 125 ms during charging. The  
voltage used for comparison to the thresholds is the highest cell voltage. These thesholds are set by three data  
17  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
flash constants: Von Charge Voltage, Voff Charge Voltage, and Vmax Charge Voltage. Von is the lowest of  
these, and is the threshold below which the charge FET is turned on, provided the minimum off time (Pulse  
Minimum Off Time) has been met. When the voltage crosses the Voff theshold, the maximum on time (Pulse  
Maximum On Time) begins to count down. When this time has expired, the charge FET is turned off. Any time  
Vmax is exceeded, the charge FET is turned off immediately.  
The rules are:  
1. If charge FET is on:  
a. If voltage above Vmax, turn off.  
b. Else if voltage above Voff and max on time expired, turn off.  
c. Else count down max on time time.  
2. If charge FET is off:  
a. If voltage below Von and minimum off time, turn on.  
b. Else increment off time.  
Voltage is sampled every 125 ms; therefore, the minimum off time and maximum on time are in units of 125 ms,  
and pulse on and off times are integral multiples of 125 ms.  
The voltage thresholds can be chosen in such a way that they alter the charge mechanism. If Voff is set equal  
to Vmax, then every time this theshold is crossed, the charge FET turns off immediately. This effectively  
disables the maximum charge time, so that the Voff theshold has no effect. In this case, the algorithm can be  
described as having two voltage thresholds, rather than three. The charge FET simply turns on and off as it  
crosses the two thresholds.  
The minimum off time can be similarly disabled by setting it to zero or one. Due to the sample interval, the charge  
FET always is off for at least one 125-ms cycle.  
Thesholds must be chosen carefully to get the desired charging behavior. For example, if Von is set below  
charge voltage minus taper voltage, the pack can never detect full charge. During pulse charging, the charge  
FET remains off until the cells relax to below the Von voltage, which is below the qualification voltage for full  
charge detection.  
During cycle phase of pulse charging (charge FET ON), the voltage can exceed Voff value for a period of 125 ms  
until next sample is taken and FET is switched OFF. To prevent cell overvoltage termination, or pack overvoltage  
termination during this period, values for cell OV should be set larger than voltage reached during this period.  
Reasonable value of cell OV for given charger current I can be calculated, assuming cell impedance of 0.08  
/cell, as V  
OV > Von + 0.08 * I.  
(cell)  
Correspondingly, the pack overvoltage margin should be set as V  
where: n = number of series cells.  
> V  
OV x n – V  
(cell) (charge)  
(margin)  
When charging begins on a depleted battery pack, the voltage is below Voff, and may even stay below Von for  
some time. This means the pack is under constant charge, with no pulsing, for some part of the charge cycle.  
As the voltage on the cells rises, it crosses the Voff theshold (or the Vmax threshold if Voff is disabled), and  
the charge FET turns off. Initially, the off time is short, since the cells are only barely over the threshold and is  
quickly relaxed to below Von. As the cell voltages rises, the off times become longer and the on times shorter.  
This effect, in combination with the reduced current drawn by the cells, results in a gradually declining charge  
current. Eventually, this current falls below the taper current, and the pack detects the full charge condition and  
stops charging.  
The pulse-charging control operates during normal charging conditions and are overridden in case of a fault  
condition. Charging is stopped for any fault conditions which may occur, such as overtemperature or  
overcurrent, without regard to the voltage thresholds or time limits.  
Primary Charge Termination  
The bq2084 terminates charge if it detects a charge-termination condition based on current taper. A  
charge-termination condition includes the following:  
18  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
The bq2084 detects a current taper termination when the pack voltage is greater than Charging Voltage  
(DF 0x3a−0x3b) minus Current Taper Qualification Voltage (DF 0x4d−0x4e) and the AverageCurrent()  
is below the Current Taper Threshold (DF 0x4b−0x4c), but greater than the Charge Detection Current  
in DF 0x113−0x114, for a period of Current Taper Window (DF 0x4f).  
Once the bq2084 detects a Primary Charge Termination, the bq2084 sets the TERMINATE_CHARGE_  
ALARM and FULLY_CHARGED bits in BatteryStatus( ), and turns off the charge FET via the bq29312.  
The charge FET is turned on when discharge current is detected and is greater than Discharge Detection  
Current (DF 0x115−0x116), to minimize IR losses. The TERMINATE_CHARGE_ ALARM charge  
current is no longer detected or the pack is removed, but returns if charging is attempted while the  
FULLY_CHARGED bit is set.  
The bq2084 clears the FULLY_CHARGED bit when RelativeStateOfCharge( ) is less than the  
programmed Fully Charged Clear %. See Table 13 for a summary of BatteryStatus( ) alarm and status  
bit operation.  
Cell Balancing  
The bq2084 balances the cells during charge by discharging those cells above the threshold set in Cell Balance  
Threshold DF 0xe8–0xe9, if the maximum difference in cell voltages exceeds the value programmed in Cell  
Balance Min DF 0xec. For cell balancing, the bq2084 measures the cell voltages at an interval set in Cell  
Balance Interval DF 0xed. On the basis of the cell voltages, the bq2084 either selects the appropriate cell to  
discharge or adjusts the cell balance threshold up by the value programmed in Cell Balance Window 0xea–0xeb  
when all cells exceed the cell balance threshold or the highest cell exceeds the cell balance threshold by the  
cell balance window.  
The cell balance threshold is reset to the value in Cell Balance Threshold at the start of every charge cycle.  
The threshold is only adjusted once during any balance interval.  
If the cells are severely imbalanced during charging, where VCELL  
– VCELL  
> Cell Imbalance  
(MAX)  
(MIN)  
Threshold, then the CIM bit in PF Status is set.  
Table 6. Cell Balancing Programming  
NAME  
DESCRIPTION  
Cell Balance Threshold  
0xe8–0xe9  
Sets the maximum voltage in mV that each cell must achieve to initiate cell balancing.  
Programming Cell Balance Threshold to 65,535 disables cell balancing.  
Cell Balance Min  
0xec  
Sets in mV the cell differential that must exist to initiate cell balancing  
Sets in mV the amount that the cell balance threshold can increase  
Sets the cell balancing time interval in seconds.  
Cell Balance Window  
Cell Balance Interval  
Cell Imbalance Threshold  
0xea–0xeb  
0xed  
0xee−0xef  
Sets the severe imbalance fault limit  
Display Port  
General  
The display port drives a 3-, 4-, or 5-LED bar-graph display. The display is activated by a logic signal on the  
DISP input. The bq2084 can display RM in either a relative or absolute mode with each LED representing a  
percentage of the full-battery reference. In relative mode, the bq2084 uses FCC as the full-battery reference;  
in absolute mode, it uses Design Capacity (DC). The DMODE bit in Pack Configuration DF 0x28 programs the  
bq2084 for the absolute or relative display mode. The LED bits program the 3-, 4-, or 5-LED option.  
Activation  
The display may be activated at any time by a high-to-low transition on the DISP input. This is usually  
accomplished with a pullup resistor and a pushbutton switch. Detection of the transition activates the display  
and starts a 4-s display timer. Reactivation of the display requires that the DISP input return to a logic-high state  
and then transition low again. The second high-to-low transition can be detected only after the display timer  
expires. If unused, the DISP input must be pulled up to VCC. If the EDV0 bit is set, the bq2084 disables the  
LED display.  
19  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Display Modes  
In relative mode, each LED output represents 20%, 25%, or 33% of the RelativeStateOfCharge( ) value. In  
absolute mode, each LED output represents 20%, 25% or 33% of the AbsoluteStateOfCharge( ) value. Table 7  
shows the display options for 5 LEDs for 4 LEDs, Table 8 and Table 9 for 3 LEDs. In either mode, the bq2084  
blinks the LED display if RemainingCapacity( ) is less than Remaining CapacityAlarm( ). The display is disabled  
if EDV0 = 1.  
Table 7. Display Mode for Five LEDs  
CONDITION  
FIVE-LED DISPLAY OPTION  
RELATIVE OR ABSOLUTE  
STATEOFCHARGE()  
EDV0 = 1  
LED1  
OFF  
ON  
LED2  
OFF  
OFF  
ON  
LED3  
OFF  
OFF  
OFF  
ON  
LED4  
OFF  
OFF  
OFF  
OFF  
ON  
LED5  
OFF  
OFF  
OFF  
OFF  
OFF  
ON  
<20%  
20%, < 40%  
40%, < 60%  
60%, < 80%  
80%  
ON  
ON  
ON  
ON  
ON  
ON  
ON  
ON  
ON  
ON  
Table 8. Display Mode for Four LEDs  
CONDITION  
RELATIVE OR ABSOLUTE  
FOUR-LED DISPLAY OPTION  
STATEOFCHARGE()  
EDV0 = 1  
LED1  
OFF  
ON  
LED2  
OFF  
OFF  
ON  
LED3  
OFF  
OFF  
OFF  
ON  
LED4  
OFF  
OFF  
OFF  
OFF  
ON  
<25%  
25%, < 50%  
50%, < 75%  
75%  
ON  
ON  
ON  
ON  
ON  
ON  
Table 9. Display Mode for Three LEDs  
CONDITION  
THREE-LED DISPLAY OPTION  
RELATIVE OR ABSOLUTE  
STATEOFCHARGE()  
EDV0 = 1  
LED1  
OFF  
ON  
LED2  
OFF  
OFF  
ON  
LED3  
OFF  
OFF  
OFF  
ON  
<34%  
34%, < 67%  
67%  
ON  
ON  
ON  
Li-Ion Protection  
The bq2084 in conjunction with the bq29312 provides protection for Li-Ion batteries, as shown in Table 10. The  
bq2084 measures temperature and current and uses the bq29312 to measure individual cell voltage. The  
bq2084 uses this information to determine protection requirements, control the safety FETs or SAFE output  
as necessary. It is recommended that the bq2084 protection control be validated by two successive  
measurements by setting VOD=1 in Misc Configuration.  
The bq29312 can independently detect and protect the load from an overload (OL) or short circuit in charge  
(SCC) or discharge (SCD). The bq29312 sets the appropriate FET state and then alerts the bq2084 with the  
XALERT output when ever a protection threshold is breached and its associated delay time has expired. The  
bq2084 then determines if and when the FETs should be turned back on.  
20  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Table 10. CVOV and CVUV Flags in PackStatus( )  
FLAG  
SET CONDITION  
DSG FET  
CHG FET  
CLEAR CONDITION (see Note 4)  
Voltage( ) = ChargingVoltage( ) + Over  
Voltage Margin  
OFF  
(see Note 2)  
ON  
Voltage( ) < ChargingVoltage( )  
CVOV  
OFF  
(see Note 2)  
VCELL  
(ANY)  
= Cell Over Voltage  
ON  
VCELL < Cell Over Voltage Reset  
(ALL)  
OFF  
(see Note 3)  
ON  
(see Note 1)  
Voltage( ) Terminate Voltage  
Voltage( ) > Terminate Voltage  
OFF  
(see Note 3)  
ON  
VCELL  
(ANY)  
= Cell Under Voltage  
VCELL > Cell Under Voltage Reset  
(ALL)  
CVUV  
OFF  
(see Note 3)  
ON  
AverageCurrent( ) < − Over Load Current  
AverageCurrent( ) < − Current Fault Clear Threshold  
(1)  
(2)  
(3)  
(4)  
State determined by bq29312  
On if there is a discharge current 150 mA  
On if there is a charge current 50 mA  
Clear is detected and controlled by the bq2084.  
Protection Configuration  
st  
1
Level Cell Voltage Thresholds  
The cell undervoltage (VUV) and overvoltage (VOV) limits are programmed in Cell Under Voltage and Cell Over  
Voltage DF 0x65–0x66, DF 0x63–0x64, respectively. Both values are stored in mV. Cell Over Voltage Reset  
DF 0xe0−0xe1 and Cell Under Voltage Reset 0xe2–0xe3 set the reset points in mV for these safety parameters.  
Safety Overvoltage Threshold  
The safety voltage threshold is programmed in Safety Over Voltage DF 0x6b–0x6c. It is stored in mV. Exceeding  
the Safety Voltage causes permanent failure if enabled by PFConfig.  
Overcurrent Thresholds  
Discharge current threshold is programmed in Discharge OC Threshold DF 0x12d−0x12e. The discharge  
overcurrent must exist for time programmed in Discharge OC Time DF 0x12f. When an discharge overcurrent  
condition is detected the discharge FET is turned off. Similarly, a charge overcurrent is programmed in Charge  
OC Threshold DF 0x12a−0x12b. The charge overcurrent must exist for the time programmed in Charge OC  
Time DF 0x12c or Charge OC Time DF 0x12c. When a charge overcurrent condition is detected the charge  
FET is turned off.  
Temperature Thresholds  
The Safety Over Temperature in Charge (SOTC) threshold is programmed in Safety Over Temperature in  
Charge DF 0x75–0x76 and Safety Over Temperature in Discharge (SOTD) threshold is programmed in Safety  
Over Temperature in Discharge DF 0x77−0x78.  
SOTC is stored as Safety Over Temperature in Charge = SOTC/0.1 (°C) as an unsigned integer  
SOTD is stored as Safety Over Temperature in Discharge = SOTD/0.1 (°C) as an unsigned integer. Exceeding  
the Safety Temperatures causes permanent failure if enabled by PFConfig.  
There are also temperature thresholds to disable both charge and discharge FETs and to set the SBS Battery  
Status Overtemperature bit. The thresholds are set according to whether discharge or charging is detected.  
The Charge Suspend Temp High threshold is stored in DF 0x6d−0x6e with the reset threshold stored in DF  
0x6f−0x70. Likewise the Over Temperature Discharge threshold is stored in DF 0x71−0x72 with the reset  
threshold stored in DF 0x73−0x74.  
The Charge Suspend Temp Low threshold (CSTL) is stored in Charge Suspend Temp Low DF 0x79−0x7a and  
is stored as Charge Suspend Temp Low = CSTL/0.1 (°C) as a signed integer. A Charge Suspend Temp Low  
turns off the charge FET. The maximal value of Charge Suspend Temp Low setting is 12.7 °C.  
21  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
AFE Configuration  
The AFE protection limits are programmed as specified in the bq29312 data sheet.  
AFE Over Load DF 0xc5 sets the AFE overload protection threshold.  
AFE Over Load Delay DF 0xc6 sets the delay timing for overload protection.  
AFE Short Circuit in Charge DF 0xc7 sets the AFE short circuit in charge protection threshold and delay  
time.  
AFE Short Circuit in Discharge DF 0xc8 sets the AFE short circuit in discharge protection threshold and  
delay time.  
SMBus command 0x46 can be used to string read the AFE RAM with the AFE address 0x00 first, if the bq2084  
is not sealed as indicated by bit 5 of PackStatus.  
Table 11. Overcurrent Protection  
FAILURE  
FET STATUS  
CLEAR CONDITIONS  
NR=1  
AFE OLV  
CHG on, ZVCHG off, DSG off  
CHG off, ZVCHG off, DSG on  
Same AFE SCD  
Average Current ()< Clear Fail Current (DF 0x61/2) for Fault  
Reset Time (DF 0x130), or disharge current > discharge  
detection current (DF 0x115/6)  
AFE SCC  
AFE SCD  
Average Current () −Clear Fail Current (DF 0x61/2) for  
Fault Reset Time (DF 0x130), or charge current > charge  
detection current (DF 0x113/4)  
CHG on, ZVCHG off, DSG off  
CHG off, ZVCHG off, DSG on  
GG Charge OC (set by DF 0x12a to 0x12c)  
Same AFE SCC  
Same AFE SCD  
GG Discharge OC (set by DF 0x12d to 0x12f) CHG on, ZVCHG off, DSG off  
NR=0  
FAILURE  
FET STATUS  
All FETs off  
EXIT CONDITIONS  
RRES=high  
AFE OLV  
AFE SCC  
AFE SCD  
All FETs off  
All FETs off  
All FETs off  
PRES=high  
PRES=high  
GG Charge OC (set by DF 0x12a to 0x12c)  
PRES=high  
GG Discharge OC (set by DF 0x12d to 0x12f) All FETs off  
PRES=high  
AFE Integrity Check  
The bq2084 checks the programming of the AFE registers at a period determined by AFE Check Time DF 0xfb.  
The units of the check period are seconds unless the bq2084 is in sleep mode, in which case the period is AFE  
Check Time x Sleep Current Multiplier (DF 0xfd). If the data is not correct, the bq2084 increments an internal  
counter until it reaches the AFE Fail Limit (DF 0xe4). Setting AFE Check Time to 0 disables this function.  
When the internal AFE Fail counter reaches AFE Fail Limit, then the AFE bit in PF Status is set.  
AFE Watchdog Fault and Clear  
The bq29312 has a feature where the 32 kHz output (CLKOUT, pin 35) of the bq2084 is used to drive its internal  
clock. If this clock fails, a fault is declared in the AFE. See the bq29312 data sheet for further details.  
The fault is cleared automatically on return of the 32-kHz input via the bq2084 CLKOUT pin.  
Permanent Failure Mode (SAFE Output)  
The SAFE output of the bq2084 provides an additional level of safety control. The active low safety output can  
blow a fuse or control another switch on the basis of temperature, pack-voltage cell-voltage, CHG FET Failure,  
severe cell imbalance or an integrity check of the AFE and Data Flash configuration registers.  
The bq2084 can also activate the SAFE output and set the PF Flag based on the PFIN input. If this pin is low  
for PFIN Time seconds 1 s then the PFIN bit in PF Status is set.  
22  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
The SAFE output can be driven low in any of the following conditions and the bq2084 sets the PF Flag register  
(DF 0x11e) to 0x66 (011001100). The activation of the SAFE output and the setting of the PF Flag can be  
enabled or disabled for different safety option per the PF Config (DF 0x11f) register settings.  
The SAFE output and PF Flag register can only be cleared using a series of ManufacturerAccess( ) commands.  
Table 12. SAFE Activation Conditions  
CONDITION  
ACTIONS  
Voltage() > Safety Over Voltage (DF 0x6b and 0x6c),  
SOV and PF set  
SOTC and PF set  
SOTD and PF set  
AFE and PF set  
Temperature() > Safety Over Temperature in Charge (DF 0x75 and 0x76)  
Temperature() > Safety Over Temperature in Discharge (DF 0x77 and 0x78)  
When Miscellaneous Configuration (0x2a) bit 13 AC is set, and the number of AFE failures has reached the AFE Fail Limit  
(DF 0xe4)  
When VCELL  
(MAX)  
– VCELL  
(MIN)  
> Cell Imbalance Threshold (DF 0xee, 0xef) during charging  
CIM and PF set  
If charge FET is off, and charge current greater than FET Fail charge current stored in DF 0x125−0x126 for the time  
determinedby FET Fail time in DF 0x129, or if discharge FET is off and discharge current greater than FET Fail discharge  
current stored in DF 0x127−0x128 for the time determined by FET Fail time in DF 0x129.  
FETF and  
PF set  
The PFIN input has detected a low state for PFIN Time in consecutive seconds, as determined by DF 0x120  
NOTE: SAFE output activated and PF Flag set only if enabled by PF Config (DF 0x0x11f)  
PFIN, PF set  
Permanent Failure Status (PF Status)  
PF Status DF 0x11d contains the flags for the cause of the permanent failure mode.  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
PFF  
PFIN  
FETF  
CIM  
AFE  
SOTD  
SOTC  
SOV  
SOV  
The SOV bit indicates a safety overvoltage occurred which if enabled by PF Config would cause the SAFE  
output to activate.  
0
1
SOV fault not detected (default)  
SOV fault detected  
SOTC  
The SOTC bit indicates a safety overtemperature in charge occurred which if enabled by PF Config would  
cause the SAFE output to activate.  
0
1
SOTC fault not detected (default)  
SOTC fault detected  
SOTD  
The SOTD bit indicates a safety overtemperature in discharge occurred which if enabled by PF Config would  
cause the SAFE output to activate.  
0
1
SOTD fault not detected (default)  
SOTD fault detected  
AFE  
The AFE bit indicates an AFE integrity fault state occurred which if enabled by PF Config would cause the  
SAFE output to activate.  
0
1
AFE is operating correctly (default)  
AFE Integrity check fail limit reached  
CIM  
The CIM bit indicates that a severe cell imbalance occurred during charging, which if enabled by PF Config,  
would cause the SAFE output to activate.  
0
1
All cells are within the Cell Imbalance Threshold (default)  
There is a severe cell imbalance  
23  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
FETF  
The FETF bit indicates a FET or FET driver failure occurred, which if enabled by PF Config would cause  
the SAFE output to activate.  
0
1
The FETs are operating normally (default)  
The FETs or FET drivers have a fault  
PFIN  
The PFIN bit is used to indicate that the output of the 2 level protector has activated.  
nd  
0
1
The PFIN input is high (default)  
The PFIN input drive and held low by 2 level protector output  
nd  
PFF  
The PFF bit is used to indicate that current has been detected when the fuse has been set to be blown.  
0
1
Current not detected with fuse blown  
Current detected with fuse blown  
Permanent Failure Configuration (PF Config)  
PF Config DF 0x11f contains the enable/disable configuration that determines if the SAFE output is activated  
and the PF Flag set for each possible failure mode.  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
XPFIN  
XFETF  
XCIM  
XAFE  
XSOTD  
XSOTC  
XSOV  
XSOV  
The XSOV bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
SOV is set.  
0
1
Activation disabled (default)  
Activation enabled  
XSOTC  
The XSOTC bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
SOTC is set.  
0
1
Activation disabled (default)  
Activation enabled  
XSOTD  
The XSOTD bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
SOTD is set.  
0
1
Activation disabled (default)  
Activation enabled  
XAFE  
The XAFE bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
AFE is set. Bit 13 of Miscellaneous Config DF 0x2a also needs to be set for activation.  
0
1
Activation disabled (default)  
Activation enabled  
XCIM  
The XCIM bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
CIM is set.  
0
1
Activation disabled (default)  
Activation enabled  
24  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
XFETF  
The XFETF bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
FETF is set.  
0
1
Activation disabled (default)  
Activation enabled  
XPFIN  
The XPFIN bit enables or disables the activation of SAFE and the setting of the PF Flag when PF Status  
PFIN is set.  
0
1
Activation disabled (default)  
Activation enabled  
Permanent Failure Flag (PF Flag)  
PF Flag DF 0x11e contains the flag indicating if the /SAFE output has been activated.  
STATE  
Clear  
Set  
b7  
0
b6  
0
b5  
0
b4  
0
b3  
0
b2  
0
b1  
0
b0  
0
0
1
1
0
0
1
1
0
PF Flag  
The PF Flag indicates that the SAFE output of the bq2084 has been activated.  
0x00 SAFE output high (default)  
0x66 SAFE output activated  
An example circuit using the SAFE output to blow a fuse is shown in Figure 2.  
Figure 2. Example SAFE Circuit Implementation  
Low-Power Modes  
The bq2084 enters sleep mode when the charge and discharge current is less than the threshold programmed  
in Sleep Current Threshold DF 0xfc, the SMBus lines are low for at least 2s, and bit 12 of Misc. Configuration  
DF 0x2a is set to zero. Additionally, PRES must be pulled high if the NR bit in Misc Config is set to 0. The bq2084  
wakes up periodically to monitor voltage and temperature and to apply self-discharge adjustment. The sleep  
period is set in Sleep Timer DF 0xfe. The bq2084 wakes up at a period set by Sleep Current Multiplier DF 0xfd  
multiplied by Sleep Time to measure current. The bq2084 comes out of sleep when either of the SMBus lines  
go high or when the current is measured and it is greater than the Sleep Current Threshold.  
The sleep current threshold, SLP (mA), is stored in Sleep Current Thresh DF 0xfc as:  
Sleep Current Thresh = SLP(mA)/0.5  
25  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
The wake-up period for current measurement, WAT(s), is set using the following formula:  
Sleep Current Multiplier x Sleep Time = WAT(s)  
During sleep mode both charge and discharge FETs are turned off if the NR bit in Misc Config is cleared. If the  
bq2084 is in Non-Removable mode where NR=1, then the discharge FET remains on during sleep.  
Shutdown Mode  
The bq2084 goes into shutdown, in which all FETs are turned off and the pack electronics are powered down  
(including the bq2084), when SBS.Voltage() falls below Shutdown Voltage DF 0x7c−0x7d and Voltage at the  
Pack pin is less than VPACK threshold (DF 0x131, 0x132).  
Vpack is programmed in units of 0.935 mV/count, and has tolerance of 6%. For example, to set 12 V as Vpack  
Threshold, the program value should be 12000/0.935 = 12834.  
When the DSG FET is turned on, the pack voltage is very close to the battery voltage even with no charger  
attached. Therefore, to enter the shutdown. The Vpack threshold should be set higher than the shutdown  
threshold plus the tolerance.  
The bq2084 can also be instructed to enter Shutdown mode via the ManufacturerAccess( ) command. When  
the command is sent to the bq2084, the bq29312 is instructed to enter shutdown mode by the bq2084. This  
forces the chipset into its lowest power mode. The bq2084 does not issue a shutdown command to the AFE  
unless the pack voltage is less than the Vpack Threshold. Program the Vpack threshold higher than the  
SBS.Voltage() when ship command is issued. Exit from this mode is only achieved by application of a charger.  
After exiting shutdown mode, the bq2084 does not enter the shutdown mode again until the Shutdown Timer  
(DF 0x133, units are seconds) has expired even if the correct conditions are present. After the Shutdown Timer  
has expired, the SMBus command or voltage and current conditions enables the bq2084 to enter shutdown  
mode.  
26  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Normal Operation  
SBS.VCELLx( ) Measured  
SBS.PackVoltage( ) Measured  
SBS.Voltage( ) calculated  
No  
SBS.Voltage( ) <=  
DF.Shutdown  
Threshold ?  
Yes  
No  
SBS.Current( ) <= 0?  
Yes  
No  
SBS.PackVoltage( ) <  
DF.Vpack Threshold ?  
Yes  
No  
Has Time since exit  
from last Shutdown >  
DF.Shutdown Timer?  
Yes  
bq2084 Enters Shutdown  
Figure 3. Shutdown Flow Chart in Normal Operation  
Defaults  
Non−RemovablePack  
DF.ShutdownVoltage = 2.8 V x Number of Series cells  
DF.ShutdownTimer = 2 s  
Note: VpackThreshold must be greater than Shutdown voltage + 6%.  
Removable Pack  
DF.ShutdownVoltage = 2.8 V x Number of Series cells  
DF.ShutdownTimer = 20 s  
Note: VpackThreshold must be greater than Shutdown voltage + 6%.  
27  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
SBS MAC command 0x05  
received  
No  
SBS.Current( ) <= 0?  
Yes  
No  
Pack voltage < Vpack  
threshold ?  
Yes  
bq2084 Enters Shutdown  
Figure 4. Shutdown Flow Chart in SBS MAC  
Reset Conditions  
On power up, the entire IC is reset and data is loaded from Data Flash to configure the SBS Data and the battery  
management solution. On a partial reset (loss of VCC but RBI holds RAM valid), a limited number of locations  
are taken. These actions are the following:  
D
D
D
D
The AFE registers are rewritten.  
PackStatus() EDV2 flag is cleared.  
BatteryStatus() DISCHARGING flag is cleared.  
The charger and alarm broadcast period is set to 10 seconds between broadcasts.  
Communication  
The bq2084 includes an SMBus communication port. The SMBus interface is a 2-wire bidirectional protocol  
using the SMBC (clock) and SMBD (data) pins. The communication lines are isolated from V and may be  
CC  
pulled up higher than VCC. Also, the bq2084 does not pull these lines low if V to the part is zero. The  
CC  
communication ports allow a host controller, an SMBus compatible device, or other processor to access the  
memory registers of the bq2084. In this way a system can efficiently monitor and manage the battery.  
28  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
SMBus  
The SMBus interface is a command-based protocol. A processor acting as the bus master initiates  
communication to the bq2084 by generating a start condition. A start condition consists of a high-to-low  
transition of the SMBD line while the SMBC is high. The processor then sends the bq2084 device address of  
0001011 (bits 7−1) plus a R/W bit (bit 0) followed by an SMBus command code. The R/W bit (LSB) and the  
command code instruct the bq2084 to either store the forthcoming data to a register specified by the SMBus  
command code or output the data from the specified register. The processor completes the access with a stop  
condition. A stop condition consists of a low-to-high transition of the SMBD line while the SMBC is high. With  
SMBus, the most-significant bit (MSB) of a data byte is transmitted first. In some instances, the bq2084 acts  
as the bus master. This occurs when the bq2084 broadcasts charging requirements and alarm conditions to  
device addresses 0x12 (SBS Smart Charger) and 0x10 (SBS Host Controller.)  
SMBus Protocol  
The bq2084 supports the following SMBus protocols:  
D
D
D
Read word  
Write word  
Block read  
A processor acting as the bus master uses the three protocols to communicate with the bq2084. The bq2084  
acting as the bus master uses the write word protocol.  
The SMBD and SMBC pins are open drain and require external pullup resistors. A 1-Mpulldown resistor in  
the battery pack on SMBC and SMBD is required to assure the detection of the SMBus off-state, the  
performance of automatic offset calibration, and the initiation of the low-power sleep mode when the battery  
pack is removed.  
SMBus Packet Error Checking  
The bq2084 supports packet error checking as a mechanism to confirm proper communication between it and  
another SMBus device. Packet error checking requires that both the transmitter and receiver calculate a packet  
error code (PEC) for each communication message. The device that supplies the last byte in the communication  
message appends the PEC to the message. The receiver compares the transmitted PEC to its PEC result to  
determine if there is a communication error.  
PEC Protocol  
The bq2084 can receive or transmit data with or without PEC. Figure 5 shows the communication protocol for  
the read word, write word, and read block messages without PEC. Figure 6 includes PEC.  
In the read word protocol, the bq2084 receives the PEC after the last byte of data from the host. If the host does  
not support PEC, the last byte of data is followed by a stop condition. After receipt of the PEC, the bq2084  
compares the value to its calculation. If the PEC is correct, the bq2084 responds with an ACKNOWLEDGE  
(ACK). If it is not correct, the bq2084 responds with a NOT ACKNOWLEDGE (NACK) and sets an error code.  
In the write word and block read, the host generates an ACK after the last byte of data sent by the bq2084. The  
bq2084 then sends the PEC and the host acting as a master-receiver generates a NACK and a stop condition.  
29  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Gas Gauge  
Figure 5. SMBus Communication Protocol Without PEC  
Gas Gauge  
Figure 6. SMBus Communication Protocol With PEC  
30  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
PEC Calculation  
The basis of the PEC calculation is an 8-bit cyclic redundancy check (CRC−8) based on the polynomial  
C(X) = X8 + X2 + X1 + 1. The PEC calculation includes all bytes in the transmission, including address,  
command, and data. The PEC calculation does not include ACKNOWLEDGE, NOT ACKNOWLEDGE, start,  
stop, and repeated start bits.  
For example, the host requests RemainingCapacity( ) from the bq2084. This includes the host following the read  
word protocol. The bq2084 calculates the PEC based on the following 5 bytes of data, assuming the remaining  
capacity of the battery is 1001 mAh.  
D
D
D
D
Battery Address with R/W = 0: 0x16  
Command Code for RemainingCapacity( ): 0x0f  
Battery Address with R/W = 1: 0x17  
RemainingCapacity( ): 0x03e9  
For 0x160f17e903, the bq2084 transmits a PEC of 0xe8 to the host.  
PEC Enable in Master Mode  
The PEC for master mode broadcasts to the charger, host, or both can be enabled/disabled with the  
combination of the bits HPE and CPE in Pack Configuration DF 0x28.  
SMBus On- and Off-State  
The bq2084 detects whether the SMBus enters the Off State by monitoring the SMBC and SMBD lines. When  
both signals are continually low for at least 2.0 s, the bq2084 detects the Off State. When the SMBC and SMBD  
lines go high, the bq2084 detects the On State and can begin communication within 1 ms. One-Mpulldown  
resistors on SMBC and SMBD are recommended for reliable Off State detection.  
Command Codes  
The SMBus command codes are in ( ). Temperature( ), Voltage( ), Current( ), and AverageCurrent( ),  
performance specifications are at bq29312 regulated VCC (V(REG)) and a temperature of −20°C to 85°C.  
Manufacturer Access( ) (0x00)  
Description: This function provides writable command codes to control the bq2084 during normal operation  
and pack manufacture. Writing the command code to SMB command 0x00 causes following reads with the SMB  
command 0x00 to return the word indicated in the table. The following commands are available:  
COMMAND CODE  
0x0001  
NAME  
Device Type  
DESCRIPTION  
Returns IC part number so it can be read, i.e., 2084 (0x0824)  
Returns firmware version so it can be read  
0x0002  
Firmware Rev  
EDV Level  
0x0003  
Returns the pending end-of-discharge voltage level so it can be read  
Returns the battery system status so it can read  
0x0004  
Manufacturer Status  
SHIP Command  
0x0005  
Instructs the bq2084 to instruct the bq29312 to enter ship mode  
Instructs the bq2084 to restrict access to those functions listed in Table 3. The  
bq2084 completes the seal function and clears ManufacturerAccess( ).  
0x062b  
Seal  
The Manufacture Status word is defined as:  
B15  
B14  
B13  
B12  
B11  
B10  
B9  
B8  
FET1  
FET0  
PF1  
PF0  
STATE3  
STATE2  
STATE1  
STATE0  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
0
0
0
0
1
0
1
0
FET1, FET0  
Indicated the state of the charge and discharge FETs  
0,0  
0,1  
Both charge and discharge FETs are on.  
Charge FET is off, discharge FET is on.  
31  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
1,0  
1,1  
Both charge and discharge FETs are off.  
Charge FET is on, discharge FET is off.  
PF1, PF0  
Indicates permanent failure cause when permanent failure indicated by STATE3−STATE0  
0,0  
0,1  
1,0  
1,1  
Fuse is blown  
Cell imbalance failure  
Safety voltage failure  
FET failure  
STATE3, STATE2, STATE1, STATE0  
Indicates battery state as defined in the State and Status bit Summary.  
Purpose: The ManufacturerAccess( ) function provides the system host access to bq2084 functions that are  
not defined by the SBD.  
SMBus protocol: Read or write word  
Input/Output: Word  
32  
www.ti.com  
STATE  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Table 13. State and Status Bit Summary  
CHG  
(1)  
ZVCHG  
FET  
POWER  
MODE  
MAC MODE (MSB)  
CC( )  
CV( )  
DSG FET  
FUSE  
FET  
(2)  
(3)  
wakeup  
0x00 Wake up  
0
0
CV  
CV  
CV  
CV  
0
off  
on  
on  
on  
on  
on  
on  
on  
off  
off  
off  
off  
on  
on  
on  
on  
on  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
ok  
blow  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
normal  
low  
(2)  
off  
(4)  
precharge  
0x03 Precharge  
PC  
FC  
MC  
chargesusp  
0x04 Charge suspension  
0x07 Charge Terminate  
0x05 Charge  
off  
off  
terminatecharge  
normalcharge  
provisionalcharge  
normaldischarge  
depleted  
off  
on  
off  
on  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
(5)  
FC  
0
0x01 Normal  
FC  
PC  
PC  
FC  
FC  
0
CV  
CV  
CV  
CV  
CV  
0
(4)  
off  
depleted_ac  
overheatdischarge  
overheatcharge  
battfail_overcharge  
battfail_lowtemp  
battfail_chargeterminate  
battfail_afe_chg  
battfail_afe_dsg  
battfail_chg  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
off  
0x0e System Present  
0
0
0x08 Fault Charge Terminate  
0x0c Battery Failure  
0
0
(6)  
off  
0
0
(6)  
off  
FC  
0
CV  
0
off  
(6)  
off  
off  
(6)  
0x0a Over Current  
battfail_dsg  
FC  
FC  
0
CV  
CV  
0
off  
off  
off  
(7)  
removed  
0x0f Battery Out  
0x0d Sleep  
off  
off  
off  
sleep  
off  
off  
permanent_failure  
0x09 Permanent Failure  
0
0
low  
PC−precharge current, FC−fast charge current, CV−charge voltage  
(1)  
(2)  
(3)  
(4)  
(5)  
(6)  
(7)  
CHG FET always on if discharge current greater than Discharge Detection Current (DF 0x115, 0x116)  
On if FET Config = 01 (Common precharge, charge FET)  
ZVCHG FET on, OD FET off if FET Config = 00 or 02 (ZVCHG FET or precharge FET)  
ZVCHG FET on, OD FET off if FET Config = 00 (ZVCHG FET), or ZVCHG FET off, OD FET on if FET Config = 02 (precharge FET)  
0 if CVOV or PC is not CVOV and minimum cell voltage is less than the precharge cell voltage threshold  
If MiscConfig.Nonremoveable Battery is set then FET is on.  
Discharge FET is on if NR of Misc Config is set to 1.  
RemainingCapacityAlarm( ) (0x01)  
Description: Sets or gets the low-capacity threshold value. Whenever the RemainingCapacity( ) falls below  
the low-capacity value, the bq2084 sends AlarmWarning( ) messages to the SMBus host with the  
REMAINING_CAPACITY_ALARM bit set. A low-capacity value of 0 disables this alarm. The bq2084 initially  
sets the low-capacity value to Remaining Capacity Alarm value programmed in DF 0x02–0x03. The  
low-capacity value remains unchanged until altered by the RemainingCapacityAlarm( ) function. The  
low-capacity value may be expressed in either current (mA) or power (10 mWh) depending on the setting of  
the BatteryMode( ) CAPACITY_MODE bit.  
Purpose: The RemainingCapacityAlarm( ) function can be used by systems that know how much power they  
require to save their operating state. It enables those systems to more finely control the point at which they  
transition into suspend or hibernate state. The low-capacity value can be read to verify the value in use by the  
bq2084 low-capacity alarm.  
SMBus protocol: Read or write word  
Input/Output: Unsigned integer-value below which Low Capacity messages are sent.  
33  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
BATTERY MODES  
CAPACITY_MODE  
CAPACITY_MODE  
BIT = 1  
BIT = 0  
Units  
Range  
mAh at C/5  
0–65,535 mAh  
10 mWh at P/5  
0–65,535 10 mWh  
Granularity  
Accuracy  
Not applicable  
See RemainingCapacity()  
RemainingTimeAlarm( ) (0x32)  
Description: Sets or gets the Remaining Time Alarm value. Whenever the AverageTimeToEmpty( ) falls below  
the remaining time value, the bq2084 sends AlarmWarning( ) messages to the SMBus host with the  
REMAINING_TIME_ALARM bit set. A remaining time value of 0 effectively disables this alarm. The bq2084  
initially sets the remaining time value to the Remaining Time Alarm value programmed in DF 0x00–0x01. The  
remaining time value remains unchanged until altered by the RemainingTimeAlarm( ) function.  
Purpose: The RemainingTimeAlarm( ) function can be used by systems that want to adjust when the remaining  
time alarm warning is sent. The remaining time value can be read to verify the value in use by the bq2084  
RemainingTimeAlarm( ).  
SMBus protocol: Read or write word  
Input/Output: Unsigned integer—the point below which remaining time messages are sent.  
Units: Minutes  
Range: 0 to 65,535 minutes  
Granularity: Not applicable  
Accuracy: See AverageTimeToEmpty( ).  
BatteryMode( ) (0x03)  
Description: Selects the various battery operational modes and reports the battery’s mode and requests.  
Defined modes include  
D
D
Whether the battery capacity information is specified in units of mAh or 10 mWh (CAPACITY_MODE bit)  
Whether the ChargingCurrent( ) and ChargingVoltage( ) values are broadcast to the smart battery charger  
when the CHARGER_MODE bit is set.  
D
Whether all broadcasts to the smart battery charger and host are disabled  
The defined request condition is the battery requesting a conditioning cycle (RELEARN_FLAG).  
Purpose: The CAPACITY_MODE bit allows power management systems to best match their electrical  
characteristics with those reported by the battery. For example, a switching power supply represents a constant  
power load, whereas a linear supply is better represented by a constant current model. The CHARGER_MODE  
bit allows a SMBus host or smart battery charger to override the smart battery desired charging parameters  
by disabling the bq2084 broadcasts. The RELEARN_FLAG bit allows the bq2084 to request a conditioning  
cycle.  
SMBus protocol: Read or write word  
Input/Output: Unsigned integer—bit mapped—see below.  
Units: Not applicable  
Range: 0−1  
Granularity: Not applicable  
Accuracy: Not applicable  
The BatteryMode( ) word is divided into two halves, the MSB (bits 8−15) which is read/write and the LSB (bits  
0−7) which is read only. The bq2084 forces bits 0−6 to zero and prohibits writes to bit 7.  
34  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Table 14 summarizes the meanings of the individual bits in the BatteryMode( ) word. Specified default values,  
where applicable, are noted. INTERNAL_CHARGE_CONTROLLER bit is not used by the bq2084.  
PRIMARY_BATTERY_SUPPORT bit is not used by the bq2084.  
RELEARN_FLAG bit set indicates that the bq2084 is requesting a capacity relearn cycle for the battery. The  
bq2084 sets the RELEARN_FLAG on a full reset and if it detects 20-cycle counts without an FCC update. The  
bq2084 clears this flag after a learning cycle has been completed.  
CHARGE_CONTROLLER_ENABLED bit is not used by the bq2084. The bq2084 forces this bit to zero.  
PRIMARY_BATTERY bit is not used by the bq2084. The bq2084 forces this bit to zero.  
Table 14. Battery Mode Bits and Values  
BATTERY MODE() BITS  
INTERNAL_CHARGE_CONTROLLER  
PRIMARY_BATTERY_SUPPORT  
Reserved  
BITS USED  
FORMAT  
ALLOWABLE VALUES  
0
1
Read only bit flag 1 – always one  
Read only bit flag 0 – always zero  
0 – always zero  
2–6  
0—Battery OK  
1—Relearn cycle requested  
RELEARN_FLAG  
7
Read only bit flag  
CHARGE_CONTROLLER_ENABLED  
PRIMARY_BATTERY  
Reserved  
8
9
R/W bit flag  
R/W bit flag  
Not used  
Not used  
10–12  
0 – always zero  
0—Enable alarm broadcast (default)  
1—Disable alarm broadcast  
ALARM_MODE  
13  
14  
15  
R/W bit flag  
R/W bit flag  
R/W bit flag  
0—Enable charging broadcast (default)  
1—Disable charging broadcast  
CHARGER_MODE  
CAPACITY_MODE  
0—Report in mA or mAh (default)  
1—Report in 10 mW or 10 mWh  
ALARM_MODE bit is set to disable the bq2084’s ability to master the SMBus and send AlarmWarning( )  
messages to the SMBus host and the smart battery charger. When set, the bq2084 does not master the SMBus,  
and AlarmWarning( ) messages are not sent to the SMBus host and the smart battery charger for a period of  
no more than 60 s and no less than 59 s. When cleared (default), the smart battery sends the AlarmWarning( )  
messages to the SMBus host and the smart battery charger any time an alarm condition is detected.  
D
The ALARM broadcast does not occur more often than once every 10 s. Whenever the BATTERY_MODE  
command is received, the bq2084 resets the bit and starts or restarts a 60-s (nominal) timer. After the timer  
expires, the bq2084 automatically enables alarm broadcasts to ensure that the accidental deactivation  
of broadcasts does not persist. An SMBus host that does not want the bq2084 to be a master on the  
SMBus must therefore continually set this bit at least once per 59 s to keep the bq2084 from broadcasting  
alarms.  
D
D
The ALARM_MODE bit defaults to a cleared state when the bq2084 enters SLEEP mode.  
The condition of the ALARM-MODE bit does not affect the operation or state of the CHARGER_MODE  
bit, which is used to prevent broadcasts of ChargingCurrent( ) and ChargingVoltage( ) to the smart battery  
charger. CHARGER_MODE bit enables or disables the bq2084’s transmission of ChargingCurrent( ) and  
ChargingVoltage( ) messages to the smart battery charger. When set, the bq2084 does not transmit  
ChargingCurrent( ) and ChargingVoltage( ) values to the smart battery charger. When cleared, the bq2084  
transmits the ChargingCurrent( ) and ChargingVoltage( ) values to the smart battery charger. The  
CHARGER_MODE bit defaults to a cleared state when the bq2084 enters SLEEP mode.  
CAPACITY_MODE bit indicates if capacity information is reported in mA/mAh or 10 mW/10 mWh. When set,  
the bq2084 reports capacity information in 10 mW/10 mWh as appropriate. When cleared, the bq2084 reports  
capacity information in mA/mAh as appropriate. The CAPACITY_MODE bit defaults to a cleared state when  
the bq2084 enters SLEEP mode.  
The following functions are changed to accept or return values in mA/mAh or 10 mW/10 mWh depending on  
the CAPACITY_MODE bit:  
35  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
D
D
D
D
D
RemainingCapacityAlarm( )  
AtRate( )  
RemainingCapacity( )  
FullChargeCapacity( )  
DesignCapacity( )  
The following functions are calculated on the basis of capacity and may be calculated differently depending on  
the CAPACITY_MODE bit:  
D
D
D
D
D
D
D
D
AtRateOK( )  
AtRateTimeToEmpty( )  
AtRateTimeToFull( )  
RunTimeToEmpty( )  
AverageTimeToEmpty( )  
AverageTimeToFull( )  
Remaining Time Alarm( )  
BatteryStatus( )  
The bq2084 updates the non-AtRate related register values immediately after changing the state of the  
CAPACITY_MODE bit. The AtRate( ) values are updated after the next AtRate value is written to the bq2084  
(or after the next 1-s scheduled refresh calculation).  
AtRate( ) (0x04)  
Description: The AtRate( ) function is the first half of a two-function call-set used to set the AtRate value used  
in calculations made by the AtRateTimeToFull( ), AtRateTimeToEmpty( ), and AtRateOK( ) functions. The  
AtRate value may be expressed in either current (mA) or power (10 mW) depending on the setting of the  
BatteryMode( ) CAPACITY_MODE bit.  
Purpose: Since the AtRate( ) function is the first half of a two-function call-set, it is followed by the second  
function of the call-set that calculates and returns a value based on the AtRate value and the battery’s present  
state.  
D
D
D
When the AtRate( ) value is positive, the AtRateTimeToFull( ) function returns the predicted time to  
full-charge at the AtRate value of charge.  
When the AtRate( ) value is negative, the AtRateTimeToEmpty( ) function returns the predicted operating  
time at the AtRate value of discharge.  
When the AtRate( ) value is negative, the AtRateOK( ) function returns a Boolean value that predicts the  
battery’s ability to supply the AtRate value of additional discharge energy (current or power) for 10  
seconds.  
The default value for AtRate( ) is zero.  
SMBus protocol: Read or write word  
Input/Output: Signed integer-charge or discharge; the AtRate( ) value is positive for charge, negative for  
discharge, and zero for neither (default).  
BATTERY MODES  
CAPACITY_MODE  
BIT = 0  
CAPACITY_MODE  
BIT = 1  
Units  
mA  
1 to 32,767 mA  
–1 to –32,768 mA  
1 Unit  
10 mW  
Charge range  
Discharge range  
Granularity  
Accuracy  
1 to 32,767 10 mW  
–1 to –32,768 10 mW  
NA  
36  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
IAtRateTimeToFull( ) (0x05)  
Description: Returns the predicted remaining time to fully charge the battery at the AtRate( ) value (mA).  
Purpose: The AtRateTimeToFull( ) function is part of a two-function call-set used to determine the predicted  
remaining charge time at the AtRate value in mA. The bq2084 updates AtRateTimeToFull( ) within 5 ms after  
the SMBus host sets the AtRate value. The bq2084 automatically updates AtRateTimeToFull( ) based on the  
AtRate( ) value every 1 s.  
SMBus protocol: Read word  
Output: Unsigned integer—predicted time in minutes to fully charge the battery.  
Units: Minutes  
Range: 0 to 65,534 min  
Granularity: 2 min or better  
Accuracy: MaxError( ) * FullChargeCapacity( )/|AtRate( )|  
Invalid Data Indication: 65,535 indicates the AtRate = 0.  
AtRateTimeToEmpty( ) (0x06)  
Description: Returns the predicted remaining operating time if the battery is discharged at the AtRate( ) value.  
Purpose: The AtRateTimeToEmpty( ) function is part of a two-function call-set used to determine the remaining  
operating time at the AtRate( ) value. The bq2084 updates AtRateTimeToEmpty( ) within 5 ms after the SMBus  
host sets the AtRate( ) value. The bq2084 automatically updates AtRateTimeToEmpty( ) based on the AtRate()  
value every 1 s.  
SMBus protocol: Read word  
Output: Unsigned integer—estimated operating time left.  
Units: Minutes  
Range: 0 to 65,534 min  
Granularity: 2 min or better  
Accuracy: −0,+MaxError( ) × FullChargeCapacity/|AtRate( )|  
Invalid Data Indication: 65,535 indicates AtRate = 0.  
AtRateOK( ) (0x07)  
Description: Returns a Boolean value that indicates whether or not the battery can deliver the AtRate()value  
of additional energy for 10 s. If the AtRate value is zero or positive, the AtRateOK( ) function ALWAYS returns  
OK (logic 1).  
Purpose: The AtRateOK( ) function is part of a two-function call-set used by power management systems to  
determine if the battery can safely supply enough energy for an additional load. The bq2084 updates  
AtRateOK() within 5 ms after the SMBus host sets the AtRate( ) value. The bq2084 automatically updates  
AtRateOK( ) based on the At Rate( ) value every 1 second.  
SMBus protocol: Read word  
Output: Boolean—indicates if the battery can supply the additional energy requested.  
Units: Boolean  
Range: 1, 0  
Granularity: Not applicable  
Accuracy: Not applicable  
Temperature( ) (0x08)  
Description: Returns the temperature (K) measured by the bq2084.  
Purpose: The Temperature( ) function provides accurate cell temperatures for use by battery chargers and  
thermal management systems. A battery charger can use the temperature as a safety check. Thermal  
management systems may use the temperature because the battery is one of the largest thermal sources in  
a system.  
37  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
SMBus protocol: Read word  
Output: Unsigned integer—cell temperature in tenth-degree Kelvin increments.  
Units: 0.1°K  
Range: 0 to +6553.5°K {real range}  
Granularity: 0.1°K  
Accuracy: 1.5°K (from ideal Semitec 103AT thermistor performance, after calibration)  
Voltage( ) (0x09)  
Description: Returns the cell-pack voltage (mV).  
Purpose: The Voltage( ) function provides power management systems with an accurate battery terminal  
voltage. Power management systems can use this voltage, along with battery current information, to  
characterize devices they control. This ability helps enable intelligent, adaptive power-management systems.  
SMBus protocol: Read word  
Output: Unsigned integer—battery terminal voltage in mV.  
Units: mV  
Range: 0 to 20,000 mV  
Granularity: 1 mV  
Accuracy: 0.25% (after calibration)  
Current( ) (0x0a)  
Description: Returns the current being supplied (or accepted) by the battery (mA).  
Purpose: The Current( ) function provides a snapshot for the power management system of the current flowing  
into or out of the battery. This information is of particular use in power-management systems because they can  
characterize individual devices and tune their operation to actual system power behavior.  
SMBus protocol: Read word  
Output: Signed integer—charge/discharge rate in mA increments: positive for charge, negative for discharge.  
Units: mA  
Range: –32,768 to 32,767 mA  
Granularity: 1 mA  
Accuracy: 0.25% or 5 mA, whichever is greater  
AverageCurrent( ) (0x0b)  
Description: Returns a value that approximates a one-minute rolling average of the current being supplied (or  
accepted) through the battery terminals (mA). AverageCurrent( ) is implemented as a single pole IIR filter with  
a 14.5-s time constant.  
Purpose: The AverageCurrent( ) function provides the average current flowing into or out of the battery for the  
power management system.  
SMBus protocol: Read word  
Output: Signed integer—charge/discharge rate in mA increments: positive for charge, negative for discharge.  
Units: mA  
Range: –32,768 to 32,767 mA  
Granularity: 1 mA  
Accuracy: 0.25% or 5 mA, whichever is greater  
MaxError( ) (0x0c)  
Description: Returns the expected margin of error (%) in the state of charge calculation. For example, when  
MaxError( ) returns 10% and RelativeStateOfCharge( ) returns 50%, the Relative StateOfCharge( ) is more  
likely between 50% and 60%. The bq2084 sets MaxError( ) to 100% on a full reset. The bq2084 sets MaxError()  
38  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
to 2% on completion of a learning cycle, unless the bq2084 limits the learning cycle to the +512/−256 mAh  
maximum adjustment values. If the learning cycle is limited, the bq2084 sets MaxError( ) to 8% unless  
MaxError( ) was already below 8%. In this case, MaxError( ) does not change. The bq2084 increments  
MaxError( ) by 1% after four increments of CycleCount( ) without a learning cycle. If voltage-based corrections  
are applied to the coulomb counter, MaxError( ) is set to 25%.  
Purpose: The MaxError( ) function has real value in two ways: first, to give the user a confidence level about  
the state of charge and second, to give the power management system information about how aggressive it  
should be, particularly as the battery nears the end of its life.  
SMBus protocol: Read word  
Output: Unsigned integer—percent uncertainty for selected information.  
Units: %  
Range: 2–100%  
Granularity: 1%  
Accuracy: Not applicable  
RelativeStateOfCharge( ) (0x0d)  
Description: Returns the predicted remaining battery capacity expressed as a percentage of  
FullChargeCapacity( ) (%).  
Purpose: The RelativeStateOfCharge( ) function is used to estimate the amount of charge remaining in the  
battery relative to the last learned capacity.  
SMBus protocol: Read word  
Output: Unsigned integer-percent of remaining capacity.  
Units: %  
Range: 0–100%  
Granularity: 1%  
Accuracy: −0, +MaxError( )  
AbsoluteStateOfCharge( )(0x0e)  
Description: Returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity()  
(%). Note that AbsoluteStateOfCharge( ) can return values greater than 100%.  
Purpose: The AbsoluteStateOfCharge( ) function is used to estimate the amount of charge remaining in the  
battery relative to the nominal or DesignCapacity( ).  
SMBus protocol: Read word  
Output: Unsigned integer—percent of remaining capacity.  
Units: %  
Range: 0–100+%  
Granularity: 1%  
Accuracy: −0, +MaxError( )  
RemainingCapacity( ) (0x0f)  
Description: Returns the predicted charge or energy remaining in the battery. The RemainingCapacity( ) value  
is expressed in either charge or energy, depending on the setting of the BatteryMode( ) CAPACITY_MODE bit.  
Purpose: The RemainingCapacity( ) function returns the battery’s remaining capacity. This information is a  
numeric indication of remaining charge or energy given by the Absolute or Relative StateOfCharge( ) functions  
and may be in a better form for use by power management systems.  
SMBus protocol: Read word  
39  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Output: Unsigned integer—remaining charge in units of mAh or 10 mWh.  
BATTERY MODES  
CAPACITY_MODE  
BIT = 0  
CAPACITY_MODE  
BIT = 1  
Units  
Range  
mAh  
0–65,535 mAh  
mAh  
10 mWh  
0–65,535 10 mWh  
10 mWh  
Granularity  
Accuracy  
–0, +MaxError() *  
FullCharageCapacity()  
FullChargeCapacity( ) (0x10)  
Description: Returns the predicted pack capacity when it is fully charged. The FullChargeCapacity( ) value  
is expressed in either current (mAh at a C/5 discharge rate) or power (10 mWh at a P/5 discharge rate)  
depending on the setting of the BatteryMode( ) CAPACITY_MODE bit.  
Purpose: The FullChargeCapacity( ) function provides a means of understanding the tank size of the battery.  
This information, along with information about the original capacity of the battery, indicates battery wear.  
SMBus protocol: Read word  
Output: Unsigned integer—estimated full-charge capacity in units of mAh or 10 mWh.  
BATTERY MODES  
CAPACITY_MODE  
BIT = 0  
CAPACITY_MODE  
BIT = 1  
Units  
Range  
mAh  
0–65,535 mAh  
mAh  
10 mWh  
0–65,535 10 mWh  
10 mWh  
Granularity  
Accuracy  
–0, +MaxError() × FullCharageCapacity()  
RunTimeToEmpty( ) (0x11)  
Description: Returns the predicted remaining battery life at the present rate of discharge (minutes).  
TheRunTimeToEmpty( ) value is calculated based on either current or power depending on the setting of  
theBatteryMode( ) CAPACITY_MODE bit.  
Purpose: The RunTimeToEmpty( ) provides the power management system with information about the relative  
gain or loss in remaining battery life in response to a change in power policy. This information is not the same  
as the AverageTimeToEmpty( ), which is not suitable to determine the effects that result from a change in power  
policy.  
SMBus protocol: Read word  
Output: Unsigned integer—minutes of operation left.  
Units: Minutes  
Range: 0 to 65,534 min  
Granularity: 2 min or better  
Accuracy: –0, +MaxError( ) × FullChargeCapacity( ) / Current( )  
Invalid Data Indication: 65,535 indicates battery is not being discharged.  
AverageTimeToEmpty( ) (0x12)  
Description: Returns a predicted remaining battery life (minutes), based on AverageCurrent.  
TheAverageTimeToEmpty( ) value is calculated based on either current or power depending on the setting of  
the BatteryMode( ) CAPACITY_MODE bit.  
Purpose: The AverageTimeToEmpty( ) displays state-of-charge information in a more useful way. It averages  
the instantaneous estimations so the remaining time does not appear to jump around.  
SMBus protocol: Read word  
Output: Unsigned integer—minutes of operation left.  
40  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Units: Minutes  
Range: 0 to 65,534 min  
Granularity: 2 min or better  
Accuracy: –0, +MaxError( ) * FullChargeCapacity( ) / AverageCurrent( )  
Invalid Data Indication: 65,535 indicates battery is not being discharged.  
AverageTimeToFull( ) (0x13)  
Description: Returns a predicted remaining time until the battery reaches full charge (minutes), based on  
AverageCurrent.  
Purpose: The AverageTimeToFull( ) function can be used by the SMBus host’s power management system  
to aid in its policy. It may also be used to find out how long the system must be left on to achieve full charge.  
SMBus protocol: Read word  
Output: Unsigned integer—remaining time in minutes.  
Units: Minutes  
Range: 0 to 65,534 minutes  
Granularity: 2 minutes or better  
Accuracy: –0, +MaxError( ) * FullChargeCapacity( ) / AverageCurrent( )  
Invalid Data Indication: 65,535 indicates the battery is not being charged.  
ChargingCurrent( ) (0x14)  
Description: Returns the desired charging rate in mA.  
Purpose: The ChargingCurrent( ) function sets the maximum charge current of the battery.  
TheChargingCurrent( ) value should be used in combination with the ChargingVoltage( ) value to set the  
charger’s operating point. Together, these functions permit the bq2084 to dynamically control the charging  
profile (current/voltage) of the battery. The bq2084 can effectively turn off a charger by returning a value of 0  
for this function. The charger may be operated as a constant-voltage source above its maximum regulated  
current range by returning a ChargingCurrent( ) value of 65,535.  
SMBus protocol: Read word  
Output: Unsigned integer—maximum charger output current in mA.  
Units: mA  
Range: 0 to 65,535 mA  
Granularity: 1 mA  
Accuracy: Not applicable  
Invalid Data Indication: 65,535 indicates that a charger should operate as a voltage source outside its  
maximum regulated current range.  
ChargingVoltage( ) (0x15)  
Description: Returns the desired charging voltage in mV.  
Purpose: The ChargingVoltage( ) function sets the maximum charge voltage of the battery. The  
ChargingVoltage( ) value should be used in combination with the ChargingCurrent( ) value to set the charger’s  
operating point. Together, these functions permit the bq2084 to dynamically control the charging profile  
(current/voltage) of the battery. The charger may be operated as a constant-current source above its maximum  
regulated voltage range by returning a ChargingVoltage( ) value of 65,535.  
SMBus protocol: Read word  
Output: Unsigned integer—charger output voltage in mV.  
Units: mV  
Range: 0 to 65,535 mV  
41  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Granularity: 1 mV  
Accuracy: Not applicable  
Invalid Data Indication: 65,535 indicates the charger should operate as a current source outside its maximum  
regulated voltage range.  
BatteryStatus( ) (0x16)  
Description: Returns the bq2084 status word (flags). Some of the BatteryStatus( ) flags  
(REMAINING_CAPACITY_ALARM and REMAINING_TIME_ALARM) are calculated on the basis of either  
current or power depending on the setting of the BatteryMode( ) CAPACITY_MODE bit. This is important  
because use of the wrong calculation mode may result in an inaccurate alarm.  
Purpose: The BatteryStatus( ) function is used by the power management system to get alarm and status bits,  
as well as error codes from the bq2084. This is basically the same information broadcast to both the SMBus  
host and the smart battery charger by the AlarmWarning( ) function except that the AlarmWarning() function  
sets the error code bits all high before sending the data.  
SMBus protocol: Read word  
Output: Unsigned Integer-status register with alarm conditions bit mapped as follows:  
ALARM BITS  
0x8000  
0x4000  
OVER_CHARGED_ALARM  
TERMINATE_CHARGE_ALARM  
Reserved  
0x2000  
0x1000  
OVER_TEMP_ALARM  
TERMINATE_DISCHARGE_ALARM  
Reserved  
0x0800  
0x0400  
0x0200  
REMAINING_CAPACITY_ALARM  
REMAINING_TIME_ALARM  
0x0100  
STATUS BITS  
0x0080  
Initialized  
0x0040  
DISCHARGING  
FULLY_CHARGED  
FULLY_DISCHARGED  
0x0020  
0x0010  
ERROR CODES  
0x0007  
Unknown Error  
BadSize  
0x0006  
0x0005  
Overflow/Underflow  
AccessDenied  
UnsupportedCommand  
ReservedCommand  
Busy  
0x0004  
0x0003  
0x0002  
0x0001  
0x0000  
OK  
42  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Alarm Bits  
OVER_CHARGED_ALARM bit is set whenever the bq2084 detects that the battery is being charged beyond  
the maximum overcharge limit, which is full capacity plus Maximum Overcharge DF 0x51−0x52. This bit is  
cleared when the bq2084 detects that the battery is no longer being charged and there are 2 mAh of continuous  
discharge (i.e., the bq2084 detects discharge activity or no activity above the digital filter).  
TERMINATE_CHARGE_ALARM bit is set when the bq2084 detects a primary charge termination. This bit is  
cleared when the bq2084 detects that the battery is no longer being charged.  
OVER_TEMP_ALARM bit is set when the bq2084 detects that the internal battery temperature is greater than  
or equal to the OverTemperature Charge threshold while charging or OverTemperature Discharge threshold  
while discharging. This bit is cleared when the internal temperature falls back below the OverTemperature  
Charge Reset or OverTemperature Discharge Reset as appropiate..  
TERMINATE_DISCHARGE_ALARM bit is set when RM = 0, Voltage( ) = Terminate Voltage DF 0x67−0x68,  
the battery temperature is less than or equal to the Charge Suspend Temp Low DF 0x79 or the CVUV bit in  
pack status is set indicating that a Li-Ion cell voltage has dropped below the limit programmed in Cell Under.  
The bit is cleared when Voltage( ) > Terminate Voltage, RM( ) > 0, and the CVUV bit is cleared.  
REMAINING_CAPACITY_ALARM bit is set when the bq2084 detects that RemainingCapacity( ) is less than  
that set by the RemainingCapacityAlarm( ) function. This bit is cleared when either the value set by the  
RemainingCapacityAlarm( ) function is lower than the RemainingCapacity( ) or when the RemainingCapacity()  
is increased by charging.  
REMAINING_TIME_ALARM bit is set when the bq2084 detects that the estimated remaining time at the  
present discharge rate is less than that set by the RemainingTimeAlarm( ) function. This bit is cleared when  
either the value set by the RemainingTimeAlarm( ) function is lower than the AverageTimeToEmpty( ) or when  
the AverageTimeToEmpty( ) is increased by charging.  
Status Bits  
The initialized bit is set when the bq2084 has detected a valid load of data flash at full or partial reset. It is cleared  
when the bq2084 detects an improper data flash load.  
DISCHARGING bit is set when the bq2084 determines that the battery is not being charged. This bit is cleared  
when the bq2084 detects that the battery is being charged.  
FULLY_CHARGED bit is set when the bq2084 detects a primary charge termination or an Overcharge  
condition. It is cleared when RelativeStateOfCharge( ) is less than the programmed Fully Charged Clear % in  
DF 0x4a.  
FULLY_DISCHARGED bit is set when Voltage( ) or VCELL is less than the EDV2 threshold and Current( ) <  
Overload Current or when RelativeStateOfCharge( ) < Battery Low %. This bit is cleared when  
RelativeStateOfCharge( ) is greater than or equal to 20%.  
Error Codes  
ERROR CODES  
DESCRIPTION  
The bq2084 processed the function code without detecting any errors.  
The bq2084 is unable to process the function code at this time.  
OK  
Busy  
Reserved  
The bq2084 detected an attempt to read or write to a function code reserved by this version of the specification.  
The bq2084 detected an attempt to access an unsupported optional manufacturer function code.  
Unsupported  
AccessDenied  
Over/Underflow  
BadSize  
The bq2084 does not support this function code which is defined in this version of the specification.  
The bq2084 detected an attempt to write to a read-only function code.  
The bq2084 detected a data overflow or underflow.  
The bq2084 detected an attempt to write to a function code with an incorrect data block.  
The bq2084 detected an unidentifiable error.  
UnknownError  
43  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
CycleCount( )(0x17)  
Description: Returns the number of cycles the battery has experienced. The mAh value of each count is  
determined by programming the Cycle Count Threshold value in DF 0x38−0x39. The bq2084 saves the cycle  
count value to Cycle Count DF 0x0c−0x0d after an update to CycleCount( ).  
Purpose: The CycleCount( ) function provides a means to determine the battery wear. It may be used to give  
advance warning that the battery is nearing its end of life.  
SMBus protocol: Read word  
Output: Unsigned integer—count of total charge removed from the battery over its life.  
Units: cycle  
Range: 0 to 65,534 cycles; 65,535 indicates battery has experienced 65,535 or more cycles.  
Granularity: 1 cycle  
Accuracy: Absolute count  
DesignCapacity( ) (0x18)  
Description: Returns the theoretical or nominal capacity of a new pack. The DesignCapacity( ) value  
isexpressed in either current (mAh at a C/5 discharge rate) or power, (10 mWh at a P/5 discharge rate)  
depending on the setting of the BatteryMode( ) CAPACITY_MODE bit.  
Purpose: The DesignCapacity( ) function is used by the SMBus host’s power management in conjunction with  
FullChargeCapacity( ) to determine battery wear. The power management system may present this information  
to the user and also adjust its power policy as a result.  
SMBus protocol: Read word  
Output: Unsigned integer—battery capacity in units of mAh or 10 mWh.  
BATTERY MODES  
CAPACITY_MODE  
BIT = 0  
CAPACITY_MODE  
BIT = 1  
Units  
Range  
mAh  
10 mWh  
0–65,535 mAh  
Not applicable  
Not applicable  
0–65,535 10 mWh  
Not applicable  
Not applicable  
Granularity  
Accuracy  
DesignVoltage( ) (0x19)  
Description: Returns the theoretical voltage of a new pack (mV). The bq2084 sets DesignVoltage( ) to the  
value programmed in Design Voltage DF 0x04–0x05.  
Purpose: The DesignVoltage( ) function can be used to give additional information about a particular smart  
battery expected terminal voltage.  
SMBus protocol: Read word  
Output: Unsigned integer—the battery’s designed terminal voltage in mV  
Units: mV  
Range: 0 to 65,535 mV  
Granularity: Not applicable  
Accuracy: Not applicable  
SpecificationInfo( ) (0x1a)  
Description: Returns the version number of the smart battery specification the battery pack supports, as well  
as voltage and current scaling information in a packed unsigned integer. Power scaling is the product of the  
voltage scaling times the current scaling. The SpecificationInfo( ) is packed in the following fashion:  
(SpecID_H × 0x10 + SpecID_L) + (VScale + IPScale × 0x10) × 0x100.  
The bq2084 VScale (voltage scaling) and IPScale (current scaling) should always be set to zero. The bq2084  
sets SpecificationInfo( ) to the value programmed in Specification Information DF 0x06−0x07.  
44  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Purpose: The SpecificationInfo( ) function is used by the SMBus host’s power management system to  
determine what information the smart battery can provide.  
SMBus protocol: Read word  
Output: Unsigned integer—packed specification number and scaling information:  
FIELD  
SpecID_L  
SpecID_H  
VScale  
BITS USED  
0...3  
FORMAT  
ALLOWABLE VALUES  
4-bit binary value  
4-bit binary value  
4-bit binary value  
4-bit binary value  
0–15  
0–15  
4...7  
8...11  
0 (multiplies voltage by 10^ VScale)  
0 (multiplies current by 10 ^ IPScale)  
IPScale  
12...15  
ManufactureDate( ) (0x1b)  
Description: This function returns the date the cell pack was manufactured in a packed integer. The date is  
packed in the following fashion: (year−1980) * 512 + month * 32 + day. The bq2084 sets ManufactureDate() to  
the value programmed in Manufacture Date DF 0x08–0x09.  
Purpose: The ManufactureDate( ) provides the system with information that can be used to uniquely identify  
a particular battery pack when used in conjunction with SerialNumber( ).  
SMBus protocol: Read word  
Output: Unsigned integer-packed date of manufacture:  
FIELD  
Day  
BITS USED  
0...4  
FORMAT  
ALLOWABLE VALUES  
0–31 (corresponds to date)  
5-bit binary value  
4-bit binary value  
7-bit binary value  
Month  
Year  
5...8  
1–12 (corresponds to month number)  
9...15  
0–127 (corresponds to year biased by 1980)  
SerialNumber( ) (0x1c)  
Description: This function is used to return a serial number. This number, when combined with the  
ManufacturerName( ), the DeviceName( ), and the ManufactureDate( ), uniquely identifies the battery  
(unsigned integer). The bq2084 sets SerialNumber( ) to the value programmed in Serial Number DF  
0x0a–0x0b.  
Purpose: The SerialNumber( ) function can be used to identify a particular battery. This may be important in  
systems that are powered by multiple batteries where the system can log information about each battery that  
it encounters.  
SMBus protocol: Read word  
Output: Unsigned integer  
ManufacturerName( ) (0x20)  
Description: This function returns a character array containing the battery manufacturer’s name. For example,  
MyBattCo identifies the smart battery manufacturer as MyBattCo. The bq2084 sets ManufacturerName( ) to  
the value programmed in Manufacturer Name DF 0x0e–0x19.  
Purpose: The ManufacturerName( ) function returns the name of the smart battery manufacturer. The  
manufacturer’s name can be displayed by the SMBus host’s power management system display as both an  
identifier and as an advertisement for the manufacturer. The name is also useful as part of the information  
required to uniquely identify a battery.  
SMBus protocol: Read block  
Output: String—character string with maximum length of 11 characters (11 + length byte).  
45  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DeviceName( ) (0x21)  
Description: This function returns a character string that contains the battery name. For example, a  
DeviceName( ) of bq2084 indicates that the battery is a model bq2084. The bq2084 sets DeviceName( ) to the  
value programmed in Device Name DF 0x1a−0x21.  
Purpose: The DeviceName( ) function returns the battery name for identification purposes.  
SMBus protocol: Read block  
Output: String—character string with maximum length of 7 characters (7 + length byte).  
DeviceChemistry( ) (0x22)  
Description: This function returns a character string that contains the battery chemistry. For example, if the  
DeviceChemistry( ) function returns NiMH, the battery pack contains nickel metal hydride cells. The bq2084  
sets DeviceChemistry( ) to the value programmed in Device Chemistry DF 0x22–0x26.  
Purpose: The DeviceChemistry( ) function gives cell chemistry information for use by charging systems. The  
bq2084 does not use DeviceChemisty( ) values for internal charge control or fuel gauging.  
SMBus protocol: Read block  
Output: String—character string with maximum length of 4 characters (4 + length byte).  
The following is a partial list of chemistries and their expected abbreviations. These abbreviations are not case  
sensitive.  
CHEMISTRY  
ABBREVIATIONS  
Lead acid  
PbAc  
LION  
NiCd  
NiMH  
NiZn  
RAM  
ZnAr  
Lithium ion  
Nickel cadmium  
Nickel metal hydride  
Nickel zinc  
Rechargeable alkaline-manganese  
Zinc air  
The ManufacturerData( ) (0x23)  
Description: This function allows access to the manufacturer data contained in the battery (data). The bq2084  
stores seven critical operating parameters in this data area.  
Purpose: The ManufacturerData( ) function may be used to access the manufacturer’s data area. The data  
fields of this command reflect the programming of eight critical data flash locations and can be used to facilitate  
evaluation of the bq2084 under various programming sets. The ManufacturerData( ) function returns the  
following information in order: Pack Configuration, Gauge Configuration, Misc Configuration (2 bytes), Digital  
Filter, Self Discharge Rate, Pack Load Estimate, Battery Low%, and Near Full (2 bytes) AFE Status, and the  
pending EDV threshold voltage (low byte and high byte).  
SMBus protocol: Read block  
Output: Block data—data that reflects data flash programming as assigned by the manufacturer with maximum  
length of 13 characters (13 + length byte).  
Pack Status and Pack Configuration (0x2f)  
This function returns the pack status and pack configuration registers. The pack status register contains a  
number of status bits relating to bq2084 operation. The pack status register is the least significant byte of the  
word. The pack configuration register reflects how the bq2084 is configured as defined by the value  
programmed in Pack Configuration in DF 0x28.  
46  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
The pack status register consists of the following bits:  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
PRES  
EDV2  
SS  
VDQ  
AFEFAIL  
PF  
CVOV  
CVUV  
PRES  
The PRES bit indicates that the bq2084 has been inserted into the system.  
0
1
bq2084 is out of the system  
bq2084 is inserted into a system  
EDV2  
The EDV2 bit indicates that pack or cell voltage (program option) is less than the EDV2 threshold.  
0
1
Voltage > EDV2 threshold (discharging)  
Voltage = EDV2 threshold  
SS  
The SS bit indicates the seal state of the bq2084.  
0
1
The bq2084 is in the unsealed state  
The bq2084 is in the sealed state  
AFEFAIL  
The AFEFAIL bit indicates that AFE commuunications has failed.  
0
1
AFE communications okay  
AFE communications have failed  
VDQ  
The VDQ bit indicates if the present discharge cycle is valid for an FCC update.  
0
1
Discharge cycle not valid  
Discharge cycle valid  
PF  
The PF bit indicates that the bq2084 PF Flag has been set. It is cleared only when the PF Flag has been  
cleared  
0
1
bq2084 PF Flag = 0x00  
bq2084 PF Flag = 0x66  
CVOV  
The CVOV bit indicates that a protection limit has been exceeded including Prolonged Overcurrent,  
Overvoltage, or Overtemperature conditions. The bit is not latched and merely reflects the present fault  
status.  
0
1
No secondary protection limits exceeded  
A secondary protection limit exceeded  
CVUV  
The CVUV bit indicates that a protection limit has been exceeded including overload or overdischarge condi-  
tions. The bit is not latched and merely reflects the present fault status.  
0
1
No secondary protection limits exceeded  
A secondary protection limit exceeded  
47  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
VCELL4−VCELL1 (0x3c−0x3f)  
These functions return the calculated individual cell voltages in mV.  
Data Flash  
General  
The bq2084 accesses the internal data flash during reset and when storing historical data. The data flash stores  
basic configuration information for use by the bq2084. The data flash must be programmed correctly for proper  
bq2084 operation.  
Memory Map  
The following table shows the memory map for the data flash. It shows the default programming for the bq2084.  
The default programming reflects example data for a 3s2p Li-Ion battery pack with a 0.02-sense resistor. The  
data flash must be reprogrammed to meet the requirements of individual applications.  
DATA FLASH ADDRESS  
DATA  
MSB  
NAME  
LI-ION EXAMPLE  
HIGH BYTE  
0x00  
0x02  
0x04  
0x06  
0x08  
0x0a  
0x0c  
0x0e  
0x0f  
LOW BYTE  
0x01  
LSB  
0a  
68  
40  
31  
21  
01  
00  
0b  
54  
45  
58  
41  
53  
20  
49  
4e  
53  
54  
2e  
06  
42  
51  
32  
30  
38  
34  
00  
04  
4c  
49  
4f  
Remaining Time Alarm  
Remaining Capacity Alarm  
Design Voltage  
Specification Information  
Manufacture Date  
Serial Number  
Cycle Count  
10 minutes  
00  
01  
38  
00  
2e  
00  
00  
0x03  
360 mAh  
0x05  
14400 mV  
0x07  
v1.1/PEC  
0x09  
1/1/2003=11809  
0x0b  
1
0
0x0d  
Manufacturer Name Length  
Character 1  
11  
T
e
0x10  
0x11  
0x12  
0x13  
0x14  
0x15  
0x16  
0x17  
0x18  
0x19  
0x1a  
0x1b  
0x1c  
0x1d  
0x1e  
0x1f  
Character 2  
Character 3  
x
Character 4  
a
Character 5  
s
Character 6  
Character 7  
I
Character 8  
n
Character 9  
s
Character 10  
t
Character 11  
.
Device Name Length  
Character 1  
6
b
Character 2  
q
Character 3  
2
Character 4  
0
Character 5  
8
0x20  
0x21  
0x22  
0x23  
0x24  
0x25  
0x26  
0x27  
0x28  
0x29  
Character 6  
4
Character 7  
Device Chemistry Length  
Character 1  
4
L
Character 2  
I
Character 3  
O
Character 4  
N
9
4e  
09  
c3  
41  
Manufacturer Data Length  
Pack Configuration  
Gauge Configuration  
DMODE, 4-LEDs, 4-CELL  
CSYNC, OTVC  
48  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DATA FLASH ADDRESS  
DATA  
NAME  
LI-ION EXAMPLE  
HIGH BYTE  
0x2a  
0x2c  
0x2d  
0x2e  
0x2f  
LOW BYTE  
MSB  
LSB  
00  
22  
14  
00  
12  
c8  
20  
00  
20  
50  
a0  
c4  
c4  
00  
64  
60  
1e  
00  
f4  
0x2b  
Misc Configuration  
Digital Filter (Dead Band)  
Self-Discharge Rate  
Electronics Load  
OT, VOD  
9860 nV  
0.2%  
0b  
0 mA  
Battery Low %  
7.03%  
200 mAh  
7200 mAh  
0
0x30  
0x32  
0x34  
0x36  
0x38  
0x3a  
0x3c  
0x3e  
0x40  
0x42  
0x44  
0x45  
0x46  
0x47  
0x49  
0x4a  
0x4b  
0x4d  
0x4f  
0x31  
0x33  
0x35  
0x37  
0x39  
0x3b  
0x3d  
0x3f  
Near Full  
00  
1c  
00  
1c  
14  
41  
09  
09  
00  
00  
Design Capacity  
Reserved  
Full Charge Capacity  
Cycle Count Threshold  
Charging Voltage  
7200 mAh  
5200 mAh  
16800 mV  
2500 mV  
2500 mA  
0 mA  
Precharge Voltage  
Fast-Charging Current  
Maintenance Charging Current  
Precharge Current  
Precharge Temperature  
Precharge Temperature Hysteresis  
Charge Inhibit Temp Low  
Charge Inhibit Temp High  
Fast Charge Termination %  
Fully Charged Clear %  
Current Taper Threshold  
Current Taper Qual Voltage  
Current Taper Window  
Reserved  
0x41  
0x43  
100 mA  
9.6°C  
3.0°C  
0.0°C  
0x48  
50.0°C  
100%  
01  
ff  
95%  
5f  
0x4c  
0x4e  
240 mA  
300 mV  
40s  
00  
01  
f0  
2c  
28  
40  
2c  
02  
ff  
0x50  
0x51  
0x53  
0x54  
0x55  
0x56  
0x58  
0x59  
0x5b  
0x5d  
0x5f  
0x52  
Maximum Overcharge  
Reserved  
300 mAh  
100%  
01  
Charge Efficiency  
Reserved  
64  
22  
32  
ae  
88  
bc  
f4  
0x57  
Reserved  
02  
Reserved  
0x5a  
0x5c  
0x5e  
0x60  
0x62  
0x64  
0x66  
0x68  
0x6a  
0x6c  
0x6e  
0x70  
0x72  
0x74  
0x76  
Reserved  
01  
13  
02  
01  
01  
10  
08  
2c  
00  
3a  
02  
02  
02  
02  
02  
Overload Current  
5000 mA  
700 mV  
Over Voltage Margin  
Reserved  
0x61  
0x63  
0x65  
0x67  
0x69  
0x6b  
0x6d  
0x6f  
Clear Fail Current  
256 mA  
4350 mV  
2300 mV  
11300 mV  
00  
fe  
Cell Over Voltage  
Cell Under Voltage  
Terminate Voltage  
fc  
24  
00  
98  
58  
26  
bc  
58  
ee  
Reserved  
Safety Over Voltage  
Charge Suspend Temp High  
Charge Suspend Temp High Reset  
Over Temperature Discharge  
Over Temperature Discharge Reset  
Safety OverTemperature Charge  
15000 mV  
60°C  
55°C  
0x71  
0x73  
0x75  
70°C  
60°C  
75°C  
49  
www.ti.com  
DATA  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DATA FLASH ADDRESS  
NAME  
LI-ION EXAMPLE  
HIGH BYTE  
0x77  
0x79  
0x7a  
0x7b  
0x7c  
0x7e  
0x80  
0x81  
0x82  
0x83  
0x85  
0x86  
0x87  
0x88  
0x8a  
0x8b  
0x8c  
0x8d  
0x8e  
0x8f  
LOW BYTE  
MSB  
LSB  
0x78  
Safety OverTemperature Discharge  
Charge Suspend Temp Low  
Reserved  
75°C  
0°C  
02  
ee  
00  
ef  
Current Deadband  
Shutdown Voltage  
VOC75  
3 mA  
03  
60  
e8  
bf  
0x7d  
0x7f  
8800 mV  
15848 mV  
22  
3d  
Reserved  
Reserved  
56  
40  
88  
7f  
Reserved  
0x84  
0x89  
VOC50  
15240 mV  
15024 mV  
3b  
3a  
Reserved  
Reserved  
3d  
27  
b0  
3f  
Reserved  
VOC25  
Reserved  
Reserved  
24  
0e  
14  
01  
40  
e1  
68  
19  
b8  
b2  
48  
00  
00  
00  
00  
08  
9b  
c7  
64  
14  
00  
00  
08  
02  
77  
0a  
80  
00  
08  
18  
14  
Reserved  
Reserved  
Voltage Average Time  
Correction Current Limit  
Reserved  
1 s  
64 mA  
0x90  
0x92  
0x94  
0x95  
0x97  
0x99  
0x9b  
0x9d  
0x9f  
0x91  
0x93  
0b  
0b  
Reserved  
Reserved  
0x96  
0x98  
0x9a  
0x9c  
0x9e  
EMF/EDV0  
3000 mV  
0b  
0c  
0d  
00  
00  
EDV C0 Factor/EDV1  
EDV R0 Factor/EDV2  
EDV T0 Factor  
EDV R1 Factor  
EDV TC Factor  
EDV C1 Factor  
Reserved  
3250 mV  
3400 mV  
0
0
0
0
0xa0  
0xa1  
0xa2  
0xa3  
0xa4  
0xa5  
0xa6  
0xa8  
0xaa  
0xab  
0xac  
0xad  
0xae  
0xb0  
0xb2  
0xb3  
0xb4  
Reserved  
Reserved  
Reserved  
Reserved  
0xa7  
0xa9  
Reserved  
02  
01  
Reserved  
Reserved  
Reserved  
Learning Low Temp  
Reserved  
11.9°C  
0xaf  
Reserved  
01  
01  
0xb1  
Reserved  
Reserved  
Reserved  
Reserved  
50  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DATA FLASH ADDRESS  
DATA  
NAME  
LI-ION EXAMPLE  
HIGH BYTE  
0xb5  
0xb7  
0xb9  
0xbb  
0xbd  
0xbf  
LOW BYTE  
0xb6  
MSB  
91  
51  
e2  
0f  
LSB  
83  
70  
8f  
TS Const 1  
TS Const 2  
0xb8  
0xba  
TS Const 3  
0xcc  
TS Const 4  
ac  
00  
ac  
02  
00  
00  
00  
12  
0f  
0xce  
TS Const 5  
00  
0f  
0xc0  
Reserved  
0xc1  
0xc2  
0xc3  
0xc4  
0xc5  
0xc6  
0xc7  
0xc8  
0xc9  
0xcb  
0xcd  
0xcf  
Reserved  
AFE State Control  
AFE Function Control  
AFE Cell Select  
AFE Overload  
AFE Overload Delay  
AFE Short Circuit Charge  
AFE Short Circuit Discharge  
AFE Vref*  
140 mV  
31 ms  
17  
17  
16  
d0  
0a  
00  
fa  
0xca  
0xcc  
0xce  
0xd0  
9750 mV  
0.02 &  
26  
3b  
92  
16  
Sense Resistor Gain*  
CC Delta*  
0.0000323 mAh  
CC Delta*  
0xd1  
0xd2  
0xd4  
0xd5  
0xd6  
0xd7  
0xd8  
0xda  
0xdc  
0xdd  
0xdf  
Reserved  
0xd3  
CC Offset*  
49701  
c2  
25  
26  
26  
00  
00  
40  
00  
05  
00  
32  
36  
b8  
02  
ff  
DSC Offset*  
38  
38  
0
ADC Offset*  
Temperature Offset*  
Board Offset*  
0
0xd9  
0xdb  
Reserved  
00  
01  
Reserved  
Reserved  
0xde  
Version  
1.0  
01  
00  
10  
0b  
00  
ff  
Reserved  
0xe0  
0xe2  
0xe4  
0xe6  
0xe8  
0xea  
0xec  
0xed  
0xee  
0xf0  
0xe1  
0xe3  
0xe5  
0xe7  
0xe9  
0xeb  
Cell Over Voltage Reset  
Cell Under Voltage Reset  
AFE Fail Limit  
Reserved  
4150 mV  
3000 mV  
2 counts  
Cell Balance Thresh  
Cell Balance Window  
Cell Balance Min  
Cell Balance Interval  
Cell Imbalance Threshold  
Balance Vcell Max  
Balance Imax  
3900 mV  
100 mV  
40 mV  
20 s  
0f  
3c  
64  
28  
14  
f4  
00  
0xef  
0xf1  
0xf3  
0xf5  
0xf7  
0xf9  
01  
10  
00  
a5  
7a  
20  
36  
9e  
5a  
43  
83  
00  
00  
04  
0xf2  
0xf4  
Reserved  
0xf6  
Reserved  
0xf8  
Reserved  
0xfa  
Reserved  
0xfb  
AFE Check Time  
Sleep Current Thresh  
0 s  
0xfc  
2 mA  
51  
www.ti.com  
DATA  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
DATA FLASH ADDRESS  
NAME  
LI-ION EXAMPLE  
HIGH BYTE  
0xfd  
LOW BYTE  
MSB  
LSB  
Sleep Current Multiplier  
Sleep Time  
5 counts  
20 s  
05  
14  
00  
00  
00  
b8  
b8  
68  
e0  
01  
20  
0a  
64  
6a  
68  
36  
00  
00  
00  
00  
00  
12  
73  
20  
ec  
14  
a0  
06  
da  
00  
1e  
d0  
14  
0xfe  
0xff  
0x100  
0x102  
0x104  
0x106  
0x108  
0x10a  
0x10c  
0x10e  
0x110  
0x112  
0x114  
0x116  
0x118  
0x11a  
0x11c  
Manufacturer Info 1  
Manufacturer Info 2  
Manufacturer Info 3  
Vmax Charge Voltage  
Voff Charge Voltage  
Von Charge Voltage  
Pulse Max On Time  
Pulse Min Off Time  
Max Charge Time  
Precharge Detection Current  
Charge Detection Current  
Discharge Detection Current  
Reserved  
00  
00  
00  
10  
10  
10  
01  
00  
1c  
00  
00  
ff  
0x101  
0x103  
0x105  
0x107  
0x109  
0x10b  
0x10d  
0x10f  
0x111  
0x113  
0x115  
0x117  
0x119  
0x11b  
0x11d  
0x11e  
0x11f  
4280 mv  
4280 mv  
4200 mv  
60 s  
0.125 s  
7200 s  
10 mA  
100 mA  
−150 mA  
10  
10  
Reserved  
Reserved  
Permanent Fail Status  
Permanent Fail Flag  
Permanent Fail Config  
Permanent Fail Input Time  
Reserved  
0
0
0
0
0x120  
0x121  
0x123  
0x125  
0x127  
0x129  
0x12a  
0x12c  
0x12d  
0x12f  
0x130  
0x131  
0x133  
0x122  
0x124  
0x126  
0x128  
17  
26  
00  
ff  
Reserved  
FET Fail Charge Current  
FET Fail Discharge Current  
FET Fail Time  
20 mA  
−20 mA  
20 s  
0x12b  
0x12e  
Charge OC Threshold  
Charge OC Time  
4000 mA  
6 s  
0f  
Discharge OC Threshold  
Discharge OC Time  
Fault Reset Time  
10970 mA  
10 s  
2a  
30 s  
0x132  
VPACK Threshold  
Shutdown Timer  
07  
20 s  
NOTE: Reserved locations must be set as shown. Locations marked with an * are typical calibration values that can be adjusted for maximum  
accuracy. For these locations the table shows the appropriate default or initial setting.  
52  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
ADDITIONAL PROGRAMMING INFORMATION  
Additional Data Flash Programming  
The following sections describe the function of each data flash location and how the data is to be stored.  
Fundamental Parameters  
Sense Resistor Value  
The 32-bit CC Delta DF 0xcd–0xd0 corrects the coulomb counter for sense resistor variations. It represents  
the gain factor for the coulomb counter. The 16-bit Sense Resistor Gain in DF 0xcb−0xcc scales each  
integrating converter conversion to mAh. The Current( ) related measurement Sense Resistor Gain is based  
on the resistance of the series sense resistor. The following formula computes a nominal or starting value for  
Sense Resistor Gain from the sense resistor value (in ).  
Sense Resistor Gain = 306.25/Rs  
RSNS VALUE (m)  
SENSE RESISTOR GAIN  
5
61250  
30625  
15312  
10  
20  
CC offset  
CC offset DF 0xd2−0xd3, contains the offset for the coulomb counter. It is automatically updated when the  
pack has met the conditions for sleep, before it enters sleep mode.  
DSC offset  
DSC offset DF 0xd4, contains the offset for the pack ground reference. It is automatically updated when the  
pack has met the conditions for sleep, before it enters sleep mode.  
ADC offset  
ADC offset DF 0xd5, contains the offset for the a/d converter. It is automatically updated when the pack has  
met the conditions for sleep, before it enters sleep mode.  
Digital Filter  
The desired digital filter threshold, VDF (V), is set by the value stored in Digital Filter DF 0x2c.  
Digital Filter = VDF / 290 nV  
53  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Cell and Pack Characteristics  
Battery Pack Capacity and Voltage  
Pack capacity in mAh units is stored in Design Capacity, DF 0x32–0x33. In mAh mode, the bq2084 copies  
Design Capacity to DesignCapacity( ). In mWh mode, the bq2084 multiplies Design Capacity by Design Voltage  
DF 0x04–0x05 to calculate DesignCapacity( ) scaled to 10 mWh. Design Voltage is stored in mV.  
The initial value for Full Charge Capacity, in mAh, is stored in DF 0x36–0x37. Full Charge Capacity is modified  
over the course of pack usage to reflect cell aging under the particular use conditions. The bq2084 updates Full  
Charge Capacity in mAh after a capacity learning cycle.  
Remaining Time and Capacity Alarms  
Remaining Time Alarm in DF 0x00–0x01 and Remaining Capacity Alarm in DF 0x02–0x03 set the alarm  
thresholds used in the SMBus command codes 0x01 and 0x02, respectively. Remaining Time Alarm is stored  
in minutes and Remaining Capacity Alarm in units of mAh or 10 mWh, depending on the BatteryMode( ) set-  
ting.  
Cycle Count Initialization  
Cycle Count DF 0x0c−0x0d stores the initial value for the CycleCount( ) function. It should be programmed  
to 0x0000.  
Cycle Count Threshold  
Cycle Count Threshold 0x37–0x38 sets the number of mAh that must be removed from the battery to incre-  
ment CycleCount( ). Cycle Count threshold is a 16-bit value stored in mAh.  
Charge Efficiency  
The bq2084 applies the efficiency factor, EFF%, to all charge added to the battery. EFF% is encoded in  
Charge Efficiency DF 0x54 according to equation 16:  
Charge Efficiency = (EFF% 2.56–1)  
Pack Options  
Pack Configuration  
Pack Configuration DF 0x28 contains bit-programmable features.  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
DMODE  
LED1  
LED0  
HPE  
CPE  
SM  
CC1  
CC0  
DMODE  
The DMODE bit determines whether the LED outputs indicate AbsoluteStateOfCharge( ) or RelativeStateOf-  
Charge( ).  
0
1
LEDs reflect AbsoluteStateOfCharge( )  
LEDs reflect RelativeStateOfCharge( )  
LED1–LED0  
The LED bits set the number of LEDs for Remaining Capacity ( ) indication.  
0−0 Configures the bq2084 for five LEDs  
0−1 Configures the bq2084 for three LEDs  
1−0 Configures the bq2084 for four LEDs  
1−1 Configures the bq2084 for five LEDs  
54  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
HPE  
The HPE bit enables/disables PEC transmissions to the smart battery host for master mode alarm messages.  
0
1
No PEC byte on alarm warning to host  
PEC byte on alarm warning to host  
CPE  
The CPE bit enables/disables PEC transmissions to the smart battery charger for master mode messages.  
0
1
No PEC byte on broadcasts to charger  
PEC byte on broadcasts to charger  
SM  
The SM bit enables/disables master mode broadcasts by the bq2084.  
0
1
Broadcasts to host and charger enabled  
Broadcasts to host and charger disabled  
If the SM bit is set, modifications to bits in BatteryMode( ) do not re-enable broadcasts.  
CC1–CC0  
The CC bits configure the bq2084 for the number of series cells in the battery pack.  
1−1 Configures the bq2084 for four series cells  
1−0 Configures the bq2084 for three series cells  
0−1 Configures the bq2084 for two series cells  
Gauge Configuration  
Gauge Configuration DF 0x29 contains bit−programmable features:  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
0
CSYNC  
SC  
CEDV  
EDVV  
OVSEL  
VCOR  
OTVC  
CSYNC  
In usual operation of the bq2084, the CSYNC bit is set so that the coulomb counter is adjusted when a fast  
charge termination is detected. In some applications, especially those where an externally controlled charger  
is used, it may be desirable not to adjust the coulomb counter. In these cases the CSYNC bit should be  
cleared.  
0
1
The bq2084 does not alter RM at the time of a valid charge termination.  
The bq2084 updates RM with a programmed percentage of FCC at a valid charger termination.  
SC  
The SC bit enables learning cycle optimization for a Smart Charger or independent charge.  
1
0
Learning cycle optimized for independent charger  
Learning cycle optimized for Smart Charger  
CEDV  
The CEDV bit determines whether the bq2084 implements automatic EDV compensation to calculate the  
EDV0, EDV1, and EDV2 thresholds base on rate, temperature, and capacity. If the bit is cleared, the bq2084  
uses the fixed values programmed in data flash for EDV0, EDV1, and EDV2. If the bit is set, the bq2084 calcu-  
lates EDV0, EDV1, and EDV2.  
0
1
EDV compensation disabled  
EDV compensation enabled  
55  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
EDVV  
The EDVV bit selects whether EDV termination is to be done with regard to Voltage ( ) or the lowest single-cell  
voltage.  
0
1
EDV conditions determined on the basis of the lowest single-cell voltage  
EDV conditions determined on the basis of Voltage( )  
OVSEL  
The OVSEL bit determines if Safety Over Voltage is based on Voltage ( ) or highest cell voltages.  
0
1
Safety overvoltage based on Voltage ( )  
Safety overvoltage based on highest cell voltage multiplied by the number of cells and then  
compared to the safety voltage.  
VCOR  
The VCOR bit enables the midrange voltage correction algorithm. When it is set, the bq2084 compares the  
pack voltage to RM and may adjust RM according to the values programmed in VOC25, VOC50, and VOC75.  
0
1
Continuous midrange corrections disabled  
Continuous midrange corrections enabled  
OTVC  
The OTVC bit programs the bq2084 to perform a midrange voltage one time after a device reset  
0
1
One-time midrange correction disabled  
One-time midrange correction enabled  
Miscellaneous Configuration  
Misc Configuration DF 0x2a (high) and 0x2b (low) contains additional bit programmable features.  
Misc Configuration (high) DF 0x2a  
b15  
b14  
b13  
b12  
b11  
b10  
b9  
b8  
IT  
0
AFEDET  
DS  
OT  
ECLED  
1
VOD  
IT  
The IT bit configures the bq2084 to use its internal temperature sensor. The DF constants 0xb5−0xc0 need  
to match the required thermistor on internal temperature sensor. See the Data Flash Settings for Internal or  
External Temperature Sensor Table.  
0
1
bq2084 requires an external thermistor.  
bq2084 uses its internal temperature sensor.  
AFEDET  
2
The AFEDET bit programs the bq2084 to look for errors with I C communications and the AFE and enables  
the detection of the AFE permanent failure if bit 3 of PF Config 0x11f is set.  
0
1
Does not verify AFE communications.  
Does verify AFE communications.  
DS  
The DS bit programs the bq2084 to enter sleep mode on SMBus inactivity.  
0
1
bq2084 enters sleep mode when the SMBus is low for 2 s.  
bq2084 does not enter sleep mode.  
OT  
The OT bit programs the bq2084 to turn off the discharge FET when the bq2084 detects an overtemperature  
condition. Charge FET is always turned off in overtemperature conditions.  
0
1
bq2084 does not turn off the discharge FET on overtemperature.  
bq2084 turns off the discharge FET on overtemperature.  
56  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
ECLED  
The ECLED bit programs the LED activity during charging (DSG bit = 0).  
0
1
The LEDs are not enabled during charging.  
The LEDs are enabled during charging.  
VOD  
The VOD bit enables a 1-s time delay in the setting of the CVOV and CVUV bits in PackStatus.  
0
1
No delay  
1-s delay  
Misc Configuration (low) DF 0x2b  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
LEDRCA  
PFET1  
PFET0  
NR  
CHGFET  
0
0
0
LEDRCA  
The LEDRCA bit programs the LED to blink when there is a RemainingCapacityAlarm.  
0
1
The LEDs blink when there is a RemainingCapacityAlarm.  
The LEDs are off there is a RemainingCapacityAlarm.  
PFET1, PFET0  
The PFETx bits define the precharge FET operation. See the bq29312 data sheet for more detail.  
0,0 The bq29312 ZVCHG FET is turned on for precharge. Assumes charger has precharge function.  
0,1 The charge FET is turned on for precharge. Assumes charger has precharge function.  
1,0 The bq29312 OD FET is turned on for precharge. Assumes charger does not have precharge func-  
tion.  
1,1 Not defined, unpredictable operation  
NR  
The NR bit defines whether the bq2084 is to be used with a nonremovable system battery. If set to indicate  
a nonremovable system battery there are additional clear conditions for a battery failure due to overcharge,  
overcurrent, and overload. The additional conditions besides battery removal (defined as the loss system  
present pin going high) are either detection of an opposite current of that that caused the failure or when  
AverageCurrent() is less than Clear Fail Current DF 0x61, 0x62 for a time defined by Fault Reset Time DF  
0x130. Also, for a nonremovable battery the charge FET is left on for discharge current failures and the  
discharge FET is left on for charge current failures.  
0
1
Removable battery, battery fail conditions cleared by battery removal only.  
Nonremovable system battery.  
CHGFET  
The CHGFET bit programs the charge FET to remain on even after a charge terminate condition.  
0
1
The charge FET is turned off after a charge termination condition.  
The charge FET is turned on after a charge termination condition.  
57  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Constants and String Data  
Specification Information  
Specification Information DF 0x06–0x07 stores the default value for the SpecificationInfo( ) function. It is  
stored in data flash in the same format as the data returned by the SpecificationInfo( ).  
Manufacture Date  
Manufacture Date DF 0x08–0x09 stores the default value for the ManufactureDate( ) function. It is stored in  
data flash in the same format as the data returned by the ManufactureDate( ).  
Serial Number  
Serial Number DF 0x0a–0x0b stores the default value for the SerialNumber( ) function. It is stored in data flash  
in the same format as the data returned by the SerialNumber( ).  
Manufacturer Name Data  
Manufacturer Name Length DF 0x0e stores the length of the desired string that is returned by the  
ManufacturerName( ) function. Locations DF 0x0f–0x19 store the characters for ManufacturerName( ) in  
ASCII code.  
Device Name Data  
Device Name Length DF 0x1a stores the length of the desired string that is returned by the DeviceName()  
function. Locations DF 0x1b–0x21 store the characters for DeviceName( ) in ASCII code.  
Device Chemistry Data  
Device Chemistry Length DF 0x22 stores the length of the desired string that is returned by the  
DeviceChemistry( ) function. Locations DF 0x23–0x26 store the characters for DeviceChemistry( ) in ASCII  
code.  
Manufacturers Data Length  
Manufacturers Data Length DF 0x27 stores the length of the desired number of bytes that is returned by the  
ManufacturersData( ) function. It should be set to 9.  
Temperature Limits  
The limits described below are extensions to those limits detailed in the safety and charging sections of this  
data sheet.  
Charge Suspend Temp Low  
Charge Suspend Temp Low DF 0x79 sets the lowest temperature, in degrees C/10, at which normal operation  
is allowed. If the temperature falls below this limit, the pack goes into a temporary failure state, the charge  
FET is turned off, and the MAC status is set to system present. It is cleared when the pack warms, or the pack  
is removed.  
Charge Inhibit Temp Low  
Charge Inhibit Temp Low DF 0x46 inhibits charging by setting ChargingCurrent( ) and ChargingVoltage( ) to  
0 and turn off the CHG FET. It is programmed in degrees C/10 and the range of −12.8°C to 12.7°C.  
Charge Inhibit Temp High  
Charge Inhibit Temp High DF 0x47 − 0x48 inhibits charging by setting ChargingCurrent( ) and  
ChargingVoltage( ) to 0  
Charge Suspend Temp High  
Charge Suspend Temp High DF 0x6d−0x6e sets the highest temperature, in degrees C/10, at which charging  
will be allowed to continue. If this temperature is exceeded during charging, the pack goes into a temporary  
failure state, and the MAC status is set to system present. It is cleared when the pack cools below  
OverTemperature Charge Reset, or ac adapter is removed, or the pack is removed. Charging can only resume  
when the temperature returns to within the charge start temperature limits.  
58  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Charge Suspend Temp High Reset  
Charge Suspend Temp High Reset DF 0x6f−0x70 sets the temperature, in degrees C/10, at which the pack  
recovers from Charge Suspend Temp High fault.  
Over Temperature Discharge  
Over Temperature Discharge DF 0x71−0x72 sets the highest temperature, in degrees C/10, at which  
discharging will be allowed. If the pack exceeds this temperature, charge and discharge FETs are turned off,  
and MAC status is set to system present. The pack returns to normal operation when the temperature falls  
below Over Temperature Discharge Reset, or if the pack is removed.  
Over Temperature Discharge Reset  
Over Temperature Discharge Reset DF 0x73−0x74 sets the temperature, in degrees C/10, at which the pack  
will recover from Over Temperature Discharge.  
Failure Detection Thresholds  
Safety OverTemperature Charge  
Safety OverTemperature Charge DF 0x75−0x76 sets the temperature, in degrees C/10, above which, during  
charging, the pack enters permanent failure, if the XSOTC bit in Permanent Failure Configuration is set.  
Safety OverTemperature Discharge  
Safety OverTemperature Discharge DF 0x77−0x78 sets the temperature, in degrees C/10, above which,  
during discharging, the pack enters permanent failure, if the XSOTD bit in Permanent Failure Configuration  
is set.  
Charge Detection Current  
Charge Detection Current DF 0x113−0x114 sets the threshold in milliamperes for detecting charge current.  
This is a signed value and is positive. This threshold is used for detecting cross-conduction, and ensuring that  
charge termination is not improperly detected due to loss of charging current.  
Discharge Detection Current  
Discharge Detection Current DF 0x115−0x116 sets the threshold in milliamperes for detecting discharge  
current. This is a signed value and is negative. This threshold is used for detecting cross-conduction and  
determining that the charge FET should be turned on during discharge to reduce IR losses.  
FET Fail Charge Current  
FET Fail Charge Current DF 0x125−0x126 sets the threshold in milliamperes for detecting current in a charge  
FET which is turned off. This is a signed value and is positive.  
FET Fail Discharge Current  
FET Fail Discharge Current DF 0x127−0x128 sets the threshold in milliamperes for detecting current in a  
discharge FET which is turned off. This is a signed value and is negative.  
FET Fail Time  
FET Fail Time DF 0x129 sets the time in seconds that current must be detected in a FET which is turned off,  
in order to determine that the FET has failed.  
Terminate Voltage  
Terminate Voltage DF 0x67−0x68, sets the threshold below which the Terminate Discharge Alarm is set. The  
alarm is cleared when the voltage rises above this threshold, if the CVUV bit in Pack Status is not set.  
59  
ꢄꢅ  
www.ti.com  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
Offsets and Limits  
Temperature offset  
Temperature offset DF 0xd6, contains a signed offset for the pack’s temperature measurements, in degrees  
C/10. It is set at board test during pack calibration.  
Board offset  
Board offset DF 0xd7, contains a signed offset for the pack’s coulomb counter measurements. If used, it is  
set at board design time.  
Current Deadband  
Current Deadband DF 0x7b, sets the threshold in mA below which a current measurement will not be  
detected.  
Shutdown Voltage  
Shutdown Voltage DF 0x7c−0x7d sets the pack voltage below which the pack’s electronics, including the  
bq2084, is shut down to conserve power. All FETs are turned off by the AFE.  
APPLICATION INFORMATION  
Figure 7 shows a typical bq2084−based battery pack application. The circuit consists of the bq29312 analog  
front end (AFE) IC, bq29400 second level protection IC, LED, temperature measurement network, data flash  
connections, serial port and the sense resistor. The data flash stores basic battery pack configuration  
information and measurement calibration values. The data flash must be programmed properly for bq2084  
operation.  
60  
www.ti.com  
ꢀꢁ ꢂꢃ ꢄꢅ  
SLUS550C − DECEMBER 2002 − REVISED JULY 2004  
2 3  
1
5 6 8 7  
2 1 3  
5
5
7 8  
6
6
7 8  
2 1 3  
Figure 7. bq2084-Based Battery Pack Schematic  
61  
MECHANICAL DATA  
MPDS019D – FEBRUARY 1996 – REVISED FEBRUARY 2002  
DBT (R-PDSO-G**)  
PLASTIC SMALL-OUTLINE PACKAGE  
30 PINS SHOWN  
0,27  
0,17  
M
0,50  
30  
0,08  
16  
0,15 NOM  
4,50  
4,30  
6,60  
6,20  
Gage Plane  
0,25  
1
15  
0°ā8°  
0,75  
0,50  
A
Seating Plane  
0,10  
0,15  
0,05  
1,20 MAX  
PINS **  
20  
24  
28  
30  
38  
44  
50  
DIM  
5,10  
4.90  
6,60  
6,40  
7,90  
7,70  
7,90  
7,70  
9,80  
9,60  
11,10  
10,90  
12,60  
12,40  
A MAX  
A MIN  
4073252/E 02/02  
NOTES: A. All linear dimensions are in millimeters.  
B. This drawing is subject to change without notice.  
C. Body dimensions do not include mold flash or protrusion.  
D. Falls within JEDEC MO-153  
POST OFFICE BOX 655303 DALLAS, TEXAS 75265  
IMPORTANT NOTICE  
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,  
enhancements, improvements, and other changes to its products and services at any time and to discontinue  
any product or service without notice. Customers should obtain the latest relevant information before placing  
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms  
and conditions of sale supplied at the time of order acknowledgment.  
TI warrants performance of its hardware products to the specifications applicable at the time of sale in  
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI  
deems necessary to support this warranty. Except where mandated by government requirements, testing of all  
parameters of each product is not necessarily performed.  
TI assumes no liability for applications assistance or customer product design. Customers are responsible for  
their products and applications using TI components. To minimize the risks associated with customer products  
and applications, customers should provide adequate design and operating safeguards.  
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,  
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process  
in which TI products or services are used. Information published by TI regarding third-party products or services  
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.  
Use of such information may require a license from a third party under the patents or other intellectual property  
of the third party, or a license from TI under the patents or other intellectual property of TI.  
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without  
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction  
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for  
such altered documentation.  
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that  
product or service voids all express and any implied warranties for the associated TI product or service and  
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.  
Following are URLs where you can obtain information on other Texas Instruments products and application  
solutions:  
Products  
Applications  
Audio  
Amplifiers  
amplifier.ti.com  
www.ti.com/audio  
Data Converters  
dataconverter.ti.com  
Automotive  
www.ti.com/automotive  
DSP  
dsp.ti.com  
Broadband  
Digital Control  
Military  
www.ti.com/broadband  
www.ti.com/digitalcontrol  
www.ti.com/military  
Interface  
Logic  
interface.ti.com  
logic.ti.com  
Power Mgmt  
Microcontrollers  
power.ti.com  
Optical Networking  
Security  
www.ti.com/opticalnetwork  
www.ti.com/security  
www.ti.com/telephony  
www.ti.com/video  
microcontroller.ti.com  
Telephony  
Video & Imaging  
Wireless  
www.ti.com/wireless  
Mailing Address:  
Texas Instruments  
Post Office Box 655303 Dallas, Texas 75265  
Copyright 2004, Texas Instruments Incorporated  

相关型号:

BQ2084DBT-V133

SBS V1.1 Compliant Gas Gauge For Use With The bq29312 38-TSSOP -20 to 85
TI

BQ2084DBT-V133G4

SBS V1.1 Compliant Gas Gauge For Use With The bq29312 38-TSSOP -20 to 85
TI

BQ2084DBT-V140

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

BQ2084DBT-V140G4

1-CHANNEL POWER SUPPLY SUPPORT CKT, PDSO38, GREEN, PLASTIC, TSSOP-38
TI

BQ2084DBT-V141

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

BQ2084DBT-V143

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

BQ2084DBT-V143G4

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

bq2084DBT-V150

SBS v1.1-COMPLIANT GAS GAUGE WITH LED DELAY
TI

BQ2084DBT-V150G4

SBS v1.1-COMPLIANT GAS GAUGE WITH LED DELAY
TI

BQ2084DBTG4

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

BQ2084DBTR

SBS v1.1-COMPLIANT GAS GAUGE FOR USE WITH THE bq29312
TI

BQ2084DBTR-V123

1-CHANNEL POWER SUPPLY SUPPORT CKT, PDSO38, GREEN, PLASTIC, TSSOP-38
TI