BQ2084DBT [TI]
SBS v1.1 COMPLIANT GAS GAUGE FOR USE WITH THE BQ29312; SBS v1.1可以让电量监测计适用于的BQ29312型号: | BQ2084DBT |
厂家: | TEXAS INSTRUMENTS |
描述: | SBS v1.1 COMPLIANT GAS GAUGE FOR USE WITH THE 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-MΩ pulldown 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-MΩ pulldown
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
相关型号:
©2020 ICPDF网 联系我们和版权申明