bq2085
SLUS541 – OCTOBER 2002
SBS-COMPLIANT GAS GAUGE IC
FOR USE WITH THE bq29311
FEATURES
D Provides Accurate Measurement of Available
D
D
D
D
D
D
D
Charge in Li-Ion and Li-Polymer Batteries
Supports the Smart Battery Specification
(SBS) V1.1
Integrated Time Base Removes Need for
External Crystal
Works With the TI bq29311 Analog Front End
(AFE) Protection IC to Provide Complete Pack
Electronics for 10.8-V or 14.4-V Battery Packs
With Few External Components
Based on a Powerful Low-Power RISC CPU
Core With High-Performance Peripherals
Integrated FLASH Memory Eliminates the
Need for External Configuration EEPROM
Measures Charge Flow Using a High
Resolution 16-Bit Integrating Converter
– Better Than 3-nVh of Resolution
– Self-Calibrating
– Offset Error Less Than 1-µV
Uses 16-Bit Delta Sigma Converter for
Accurate Voltage and Temperature
Measurements
D Programmable Cell Modeling for Maximum
D
D
Battery Fuel Gauge Accuracy
Drives 3-, 4-, or 5-Segment LED Display for
Remaining Capacity Indication
38-Pin TSSOP (DBT)
APPLICATIONS
D Notebook PCs
D Medical and Test Equipment
D Portable Instrumentation
DESCRIPTION
The bq2085 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 bq2085 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
bq29311 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 bq2085, the host controller
can manage remaining battery power to extend the
system run time as much as possible.
BLOCK DIAGRAM
Pack+
Charge/Discharge
Power FETs
LDO
Supply Voltage
bq29311
SMBus
bq2085
Temp
Sensor
512 Bytes
Config.
FLASH
EPROM
ADC
Voltage
Glueless
Interface
Cell Inputs
Safety Control
Integrating
ADC
Coulomb
Counting
Level
Translator
+
–
+ Li-Ion
– Cells
+
–
Sense
Resistor
(10 mΩ - 20 mΩ)
Pack–
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 2002, Texas Instruments Incorporated
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of Texas Instruments
standard warranty. Production processing does not necessarily include
testing of all parameters.
www.ti.com
1
bq2085
SLUS541 – OCTOBER 2002
DESCRIPTION (CONTINUED)
The bq2085 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 3-nVh
and an offset measurement error of less than 1-µV
(typical). For voltage and temperature reporting, the
bq2085 uses a 16-bit A-to-D converter. In conjunction
with the bq29311, the onboard ADC also monitors
individual cell voltages in a battery pack and allows the
bq2085 to generate the control signals necessary to
implement the cell balancing and the required safety
protection for Li-ion and Li-polymer battery chemistries.
The bq29311 AFE protection IC provides power to the
bq2085 from a 3 or 4 series Li-ion cell stack, eliminating
the need for an external regulator circuit.
TSSOP PACKAGE
(TOP VIEW)
VIN
TS
OC
N/C
N/C
SCLK
N/C
VDDD
RBI
SDATA
VSSD
SAFE
N/C
N/C
SMBC
SMBD
DISP
EVENT
VSSD
The bq2085 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.
The bq2085 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.
The bq2085 contains 512 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 bq2085 also
automatically calibrates or learns the true battery
capacity in the course of a discharge cycle from
programmable near full to near empty levels.
2
1
38
2
37
3
36
4
35
5
34
6
33
7
32
8
31
9
30
10
29
11
28
12
27
13
26
14
25
15
24
16
23
17
22
18
21
19
20
VSSD
N/C
N/C
CLKOUT
VSSA
ROSC
FILT
VDDA
VSSA
VSSP
SR1
SR2
MRST
N/C
LED1
LED2
LED3
LED4
LED5
NC – No internal connection
AVAILABLE OPTIONS
TA
PACKAGE
38-PIN TSSOP
(DBT)
bq2085DBT{
–20°C to 85°C
† The bq2085 is available taped and reeled. Add an R suffix to the
device type (e.g., bq2085DBTR) to order tape and reel version.
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
Terminal Functions
TERMINAL
I/O
DESCRIPTION
NAME
No.
CLKOUT
35
I
32.768-kHz output to the bq29311
DISP
17
I
Display control for the LED drivers LED1 through LED5
FILT
32
I
Analog input connected to the external PLL filter
EVENT
18
I
Input from bq29311 XALERT output
LED1
24
O
LED2
23
O
LED3
22
O
LED4
21
O
LED5
20
O
MRST
LED dis
display
lay segments that each may drive an external LED
26
I
Master reset input that forces the device into reset when held high
N/C
4, 5, 7, 13,
14, 25, 36, 37
–
No connection
OC
3
I
Analog input for auto ADC offset compensation; should be connected to VSSA
RBI
9
I
Register backup that provides backup potential to the bq2085 data registers during periods of low
operating voltage. RBI accepts a storage capacitor or a battery input.
ROSC
33
I
Internal time base bias input
SAFE
12
O
Output for additional level of safety protection; e.g., fuse blow.
SCLK
6
O
Communication clock to the bq29311
SDATA
10
I/O
Data transfer to and from bq29311
SMBC
15
I/O
SMBus clock open-drain bidirectional pin used to clock the data transfer to and from the bq2085
SMBD
16
I/O
SMBus data open-drain bidirectional pin used to transfer address and data to and from the bq2085
SR1
28
I
SR2
27
I
TS
2
I
Thermistor voltage input connection to monitor temperature
VDDA
31
I
Positive supply for analog circuitry
VDDD
8
I
Positive supply for digital circuitry and I/O pins
VIN
Connections for a small
small-value
value sense resistor to monitor the battery charge
charge- and discharge
discharge-current
current flow
1
I
Single cell voltage input from the bq29311
VSSA
30, 34
I
Negative supply for analog circuitry
VSSD
11, 19, 38
I
Negative supply for digital circuitry
VSSP
29
I
Negative supply for output circuitry
www.ti.com
3
bq2085
SLUS541 – OCTOBER 2002
ABSOLUTE MAXIMUM RATINGS
over operating free-air temperature (unless otherwise noted)†
Supply voltage range, VDD relative to VSS (see Note 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 V to 6 V
Open-drain I/O pins, V(IOD) relative to VSS (see Note 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . –0.3 V to 6 V
Input voltage range to all other pins, VI relative to VSS (see Note 1) . . . . . . . . . . . . . . . . . . . . . –0.3 V to VDD + 0.3V
Operating free-air temperature range, TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 20°C to 85°C
Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 65°C to 150°C
† 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.
NOTE 1: VSS refers to the common node of V(SSA), V(SSD), and V(SSP).
ELECTRICAL CHARACTERISTICS
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
VDD
IDD
Supply voltage
Operating current
VDDA and VDDD
No flash programming
I(SLP)
V(OLS)
Low-power storage mode current
Hibernate mode
Output voltage low: (LED1–LED5)
I(OLS) = 10 mA
VIL
VIH
Input voltage low DISP
Input voltage high DISP
MIN
TYP
MAX
3.0
3.3
3.6
UNIT
V
450
µA
1
µA
0.4
V
–0.3
0.8
V
2
VCC + 0.3
V
0.4
V
VOL
Output voltage low SMBC, SMBD, SDATA, SCLK,
EVENT, SAFE
V(ILS)
Input voltage low SMBC, SMBD, SDATA, SCLK,
EVENT, SAFE
–0.3
0.8
V
V(IHS)
Input voltage high SMBC, SMBD, SDATA, SCLK,
EVENT, SAFE
1.7
6
V
1.0
IOL = 0.5 mA
V(AI)
Z(AI1)
Input voltage range VIN, TS, OC
Input impedance SR1, SR2
0 V–1.0 V
VSS – 0.3
10
Z(AI2)
Input impedance VIN, TS, OC
0 V–1.0 V
8
V
MΩ
MΩ
Power-On Reset (see Figure 1)
PARAMETER
VIT–
Vhys
4
TEST CONDITIONS
MIN
TYP
MAX
UNIT
Negative-going voltage input
2.1
2.3
2.5
V
Power-on reset hysteresis
50
125
210
mV
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
2.50
150
2.45
145
140
2.40
VIT–
Vhys
2.35
135
2.30
130
2.25
125
2.20
120
2.15
115
2.10
–20
V hys – Hysteresis Voltage – mV
V IT– – Negative-Going Input Threshold Voltage – V
POR BEHAVIOR
vs
FREE-AIR TEMPERATURE
110
–5
10
25
40
55
70
85
TA – Free-Air Temperature – °C
Figure 1
INTEGRATING ADC CHARACTERISTICS
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
V(SR)
V(SROS)
Input voltage range, V(SR2) and V(SR1)
INL
Integral nonlinearity error
TEST CONDITIONS
VSR = V(SR2) – V(SR1)
MIN
TYP
MAX
–0.3
1.0
Input offset
UNIT
V
µV
1
0.003%
0.009%
PLL SWITCHING CHARACTERISTICS
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
t(sp)
Start-up time (see Note 2)
NOTE 2: The frequency error is measured from 32.768 Hz.
TEST CONDITIONS
MIN
±0.5% frequency error
TYP
MAX
2
5
UNIT
ms
Internal Oscillator
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
MIN
–2%
f(exo)
(
)
Frequency error (see Note 3)
VDD = 3.3 V
f(sxo) Start-up time (see Note 4)
NOTES: 3. The frequency error is measured from 32.768 Hz.
4. The start-up time is defined as the time it takes for the oscillator output frequency to be ±1%.
www.ti.com
–1%
TYP
MAX
UNIT
2%
1%
275
µs
5
bq2085
SLUS541 – OCTOBER 2002
SMBus TIMING SPECIFICATIONS
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
MIN
TYP
UNIT
100
kHz
SMBus operating frequency
Slave mode, SMBC 50% duty cycle
SMBus master clock frequency
Master mode, no clock low slave extend
TBUF
THD:STA
Bus free time between start and stop
4.7
µs
Hold time after (repeated) start
4.0
µs
TSU:STA
TSU:STO
Repeated start setup time
4.7
µs
Stop setup time
4.0
µs
THD:DAT
Data hold time
TSU:DAT
TTIMEOUT
Data setup time
TLOW
THIGH
Clock low period
Clock high period
See Note 6
50
µs
TLOW:SEXT
TLOW:MEXT
Cumulative clock low slave extend time
See Note 7
25
ms
Cumulative clock low master extend time
See Note 8
10
ms
TF
TR
Clock/data fall time
See Note 9
300
ns
Clock/data rise time
See Note 10
1000
ns
NOTES: 5.
6.
7.
8.
9.
10.
Error signal/detect
10
MAX
FSMB
FMAS
51.2
Receive mode
0
Transmit mode
300
kHz
µss
µs
250
See Note 5
25
35
ms
µs
4.7
4.0
The bq2085 times out when any clock low exceeds TTIMEOUT
THIGH Max. is minimum bus idle time. SMBC = 1 for t > 50 µs causes reset of any transaction involving bq2085 that is in progress.
TLOW:SEXT is the cumulative time a slave device is allowed to extend the clock cycles in one message from initial start to the stop.
TLOW:MEXT is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop.
Rise time TR = (VILMAX – 0.15 V) to (VIHMIN + 0.15 V).
Fall time TF = 0.9 VDD to (VILMAX – 0.15 V).
DATA FLASH MEMORY SWITCHING CHARACTERISTICS
VDD = 3.0 V to 3.6 V, TA = –20°C to 85°C (unless otherwise noted)
PARAMETER
t(RETENSION)
t(WORDPROG)
TEST CONDITIONS
Data retention
See Note 11
Flash programming write-cycles
See Note 11
Word programming time
See Note 11
I(DDPROG)
Flash-write supply current
NOTE 11: Specified by design. Not production tested.
MIN
TYP
MAX
10
105
See Note 11
UNIT
Years
Cycles
2
ms
14
16
mA
TYP
MAX
UNIT
10
100
nA
Register Backup
PARAMETER
I(RBI)
TEST CONDITIONS
RBI data-retention input current (see Note 12)
V(RBI)
RBI data-retention voltage
NOTE 12: Specified by design. Not production tested.
6
MIN
VRB > 3.0 V, VDD < VIT
1.3
www.ti.com
V
bq2085
SLUS541 – OCTOBER 2002
SMBus TIMING DIAGRAMS
TLOW
SCLK
TR
THD:STA
THIGH
THD:DAT
THD:STA
TF
TSU:STA
TSU:STO
TSU:DAT
SDATA
TBUF
P
S
S
Start
P
Stop
TLOW:SEXT
SCLKACK†
SCLKACK†
TLOW:MEXT
TLOW:MEXT
TLOW:MEXT
SCLK
SDATA
† SCLKACK is the acknowledge-related clock pulse generated by the master.
Figure 2. SMBus Timing Diagram
FUNCTIONAL DESCRIPTION
Internal Oscillator Function
The internal oscillator performance is additionally dependent on the tolerance of the 113k resistor connected
between RSOC (pin 33) and VSSA (pin 34). It is recommended that this resistor be as close to the bq2085 as
possible and that it have a specification of ±0.1% tolerance and ±50 ppm temperature drift or better. The layout
of the PCBA is also an additional contributing factor to 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).
General Operation
The bq2085 determines battery capacity by monitoring the amount of charge input or removed from a
rechargeable battery. In addition to measuring charge and discharge, the bq2085 measures battery voltage,
temperature, and current, estimates battery self-discharge, and monitors the battery for low-voltage thresholds.
The bq2085 measures charge and discharge activity by monitoring the voltage across a small-value series
sense resistor between the battery’s 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 bq2085 interfaces with the bq29311 to perform battery protection, cell balancing, and voltage translation
functions.
The bq2085 can accept any NTC thermistor (default is Semitec 103AT) for temperature measurement or can
be configured to use its internal temperature sensor. The bq2085 uses temperature to monitor the battery pack
and to compensate the self-discharge estimate.
www.ti.com
7
bq2085
SLUS541 – OCTOBER 2002
Measurements
The bq2085 uses an integrating sigma-delta analog-to-digital converter (ADC) for current measurement and
a second sigma delta ADC for battery voltage and temperature measurement. Voltage, current, and
temperature measurements are made every second.
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 as shown in the schematic. The integrating ADC measures bipolar
signals from –0.3 to 1.0 V. The bq2085 detects charge activity when VSR = V(SR1)–V(SR2) is positive and
discharge activity when VSR = V(SR1)–V(SR2) is negative. The bq2085 continuously integrates the signal over
time, using an internal counter. The fundamental rate of the counter is 2.6 nVh. The bq2085 updates Remaining
Capacity() with the charge or discharge accumulated in this internal counter once every second.
Offset Calibration
The bq2085 provides an autocalibration feature to cancel the voltage offset error across SR1 and SR2 for
maximum charge measurement accuracy. The bq2085 performs autocalibration when the SMBus lines stay low
for a minimum of 20 s. The bq2085 is capable of automatic offset calibration down to 1µV.
Digital Filter
The bq2085 does not measure charge or discharge counts below the digital filter threshold. The digital filter
threshold is programmed in the Digital Filter DF 0x2b 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 bq2085 monitors the individual series
cell voltages through the bq29311. The bq2085 configures the bq29311 to present the selected cell to the
VCELL pin of the bq29311 which should be connected to VIN of the bq2085. The internal ADC of the bq2085
then measures the voltage and scales it appropriately. The bq2085 then reports the Voltage( ) and the individual
cell voltages in VCELL1, VCELL2, VCELL3, and VCELL4 located in 0x3c–0x3f.
Current
The bq2085 uses the SR1 and SR2 inputs to measure and calculate the battery charge and discharge current
as represented in the data register Current( ).
Temperature
The TS input of the bq2085 in conjunction with an NTC thermistor measures the battery temperature as shown
in the schematic. The bq2085 reports temperature in Temperature( ).
The bq2085 can also be configured to use its internal temperature sensor by setting the IT bit in Misc
Configuration DF 0x2a. Data flash locations DF 0xa4 through DF 0xad also have to be changed to prescribed
values if the internal temperature sensor option is selected.
Gas Gauge Operation
Table 1. Data Flash Settings for Internal or External Temperature Sensor
LOCATION
Dec (Hex)
INTERNAL TEMP SENSOR SETTING
Dec (Hex)
Misc. Configuration
42 (0x2a)
Bit 7 = 1
Bit 7 = 0
TS Const1
164/5 (0xa4/5)
0 (a3)
37251 (0x9183)
TS Const2
166/7 (0xa6/7)
0 (a2)
20848 (0x5170)
TS Const3
168/9 (0xa8/9)
–11136 (a1)
57999 (0xe28f)
TS Const4
170/1 (0xaa/b)
5754 (a0)
4012 (0x0fac)
TS Const5
172/3 (0xac/d)
13348 (3424)
5190 (0x1446)
LABEL
8
www.ti.com
EXTERNAL TEMP SENSOR SETTING
Dec (Hex)
bq2085
SLUS541 – OCTOBER 2002
General
The operational overview in Figure 3 illustrates the gas gauge operation of the bq2085. Table 3 describes the
bq2085 registers.
Inputs
Charge
Current
Battery Electronics
Load Estimate
Discharge
Current
Charge
Efficiency
Compensation
Temperature
Compensation
–
Main Counters and
Capacity Reference (FCC)
Self-Discharge
Timer
+
–
Remaining
Capacity
(RM)
–
+
≤
Full
Charge
Capacity
(FCC)
+
+
Discharge
Count
Register
Qualified
(DCR)
Transfer
Temperature, Other Data
Outputs
Chip-Controlled
Available Charge
LED Display
Two-Wire
Serial Port
Figure 3. bq2085 Operational Overview
The bq2085 accumulates a measure of charge and discharge currents and estimates self-discharge of the
battery. The bq2085 compensates the charge current measurement for temperature and state-of-charge of the
battery. The bq2085 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 bq2085 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 full discharge of the battery. It is used
as the battery full-charge reference for relative capacity indication. The bq2085 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
bq2085 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 bq2085 learns the true discharge capacity of the battery under
system use conditions.
Main Gas-Gauge Registers
The gas-gauge register functions are described in Table 3.
www.ti.com
9
bq2085
SLUS541 – OCTOBER 2002
RemainingCapacity( ) (RM)
RM represents the remaining capacity in the battery. The bq2085 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 FCC and down during discharge and self-discharge to a
minimum of 0. In addition to charge and self-discharge compensation, the bq2085 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.
DesignCapacity( ) (DC)
DC is the user-specified battery full capacity. It is calculated from Pack Capacity DF 0x31-0x32 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 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 bq2085 sets FCC to the value stored in Last Measured
Discharge DF 0x35-0x36. During subsequent discharges, the bq2085 updates FCC with the last measured
discharge capacity of the battery. The last measured discharge of the battery is based on the value in the DCR
register after a qualified discharge occurs. Once updated, the bq2085 writes the new FCC value to data flash
in mAh to Last Measured Discharge. FCC represents the full battery reference for the relative display mode and
relative state of charge 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 increment. The bq2085 initializes DCR, at the beginning of a discharge, to FCC
– RM when RM is within the programmed value in Near Full DF 0x2f. The DCR initial value of FCC – RM is
reduced by FCC/128 if SC = 0 (bit 5 in Gauge Configuration) and is not reduced if SC = 1. DCR stops counting
when the battery voltage reaches the EDV2 threshold on discharge.
Capacity learning (FCC Update) and Qualified Discharge
The bq2085 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
Battery Low%)
(1)
Battery Low % = (value stored in DF 0x2e) ÷ 2.56
A qualified discharge occurs if the battery discharges from RM ≥ FCC – Near Full to the EDV2 voltage threshold
with the following conditions:
D No valid charge activity occurs during the discharge period. A valid charge is defined as a charge of 10 mAh
into the battery.
D No more than 256 mAh of self-discharge or battery load estimation occurs during the discharge period.
D The temperature does not drop below the low temperature thresholds programmed in Learning Low Temp
DF 0x9b 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 bq2085 detected EDV2.
D No midrange voltage correction occurs during the discharge period.
D Current remains ≥ 3C/32 when EDV2 or Battery Low % level is reached.
D No overload condition exists when EDV2 threshold is reached or if RM( ) has dropped to Battery Low%
*FCC.
10
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
The bq2085 sets VDQ=1 in pack status when qualified discharge begins. The bq2085 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 bq2085 saves the new FCC value to the data flash within 4
seconds of being updated.
End-of-Discharge Thresholds and Capacity Correction
The bq2085 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 bq2085 for overall voltage or single-cell EDV
thresholds. If programmed for single cell EDV determination, the bq2085 determines EDV on the basis of the
lowest single-cell voltage. Fixed EDV thresholds may be programmed in EMF/EDV0 DF 0x84-0x85, EDV C0
Factor/EDV1 DF 0x86-0x87, and EDV R Factor/EDV2 DF 0x88-0x89. If the CEDV bit in Gauge Configuration
DF 0x29 is set, automatic EDV compensation is enabled and the bq2085 computes the EDV0, EDV1, and EDV2
thresholds based on the values in DF 0x84-0x8d and the battery’s current discharge rate and temperature. The
bq2085 disables EDV detection if Current( ) exceeds the Overload Current threshold programmed in DF 0x58
– DF 0x59. The bq2085 resumes EDV threshold detection after Current( ) drops below the Overload Current
threshold. Any EDV threshold detected is reset after charge is applied and VDQ is cleared after 10mAh of
charge.
Table 2. State of Charge Based on Low Battery Voltage
THRESHOLD
RELATIVE STATE OF CHARGE
EDV0
0%
EDV1
3%
EDV2
Battery Low %
The bq2085 uses the EDV thresholds to apply voltage-based corrections to the RM register according to
Table 1. The bq2085 performs EDV-based RM adjustments with Current( ) ≥ C/32. No EDVs are set if current
< C/32. The bq2085 adjusts RM as it detects each threshold. If the voltage threshold is reached before the
corresponding capacity on discharge, the bq2085 reduces RM to the appropriate amount as shown in Table 2.
This reduction occurs only if current ≥ C/32 when the EDV threshold is detected. If RM reaches the capacity
level before the voltage threshold is reached on discharge, the bq2085 prevents RM from decreasing further
until the battery voltage reaches the corresponding threshold only on a full learning cycle discharge. RM is not
held at the associated EDV percentage on a nonlearning discharge cycle (VDQ=0) or if current < C/32.
If Battery Low % is set to zero, EDV1 and EDV0 corrections are disabled.
Table 3. bq2085 Register Functions
FUNCTION
COMMAND CODE
ACCESS
UNITS
ManufacturerAccess
0x00
read/write
NA
RemainingCapacityAlarm
0x01
read/write
mAh, 10 mWh
RemainingTimeAlarm
0x02
read/write
minutes
BatteryMode
0x03
read/write
NA
AtRate
0x04
read/write
mA, 10mW
AtRateTimeToFull
0x05
read
minutes
AtRateTimeToEmpty
0x06
read
minutes
AtRateOK
0x07
read
Boolean
Temperature
0x08
read
0.1°K
Voltage
0x09
read
mV
Current
0x0a
read
mA
AverageCurrent
0x0b
read
mA
MaxError
0x0c
read
percent
www.ti.com
11
bq2085
SLUS541 – OCTOBER 2002
Table 3. bq2085 Register Functions (Continued)
FUNCTION
COMMAND CODE
ACCESS
UNITS
RelativeStateOfCharge
0x0d
read
percent
AbsoluteStateOfCharge
0x0e
read
percent
RemainingCapacity
0x0f
read
mAh, 10 mWh
FullChargeCapacity
0x10
read
mAh, 10 mWh
RunTimeToEmpty
0x11
read
minutes
AverageTimeToEmpty
0x12
read
minutes
AverageTimeToFull
0x13
read
minutes
ChargingCurrent
0x14
read
mA
ChargingVoltage
0x15
read
mV
Battery Status
0x16
read
NA
CycleCount
0x17
read
cycles
DesignCapacity
0x18
read
mAh, 10 mWh
DesignVoltage
0x19
read
mV
SpecificationInfo
0x1a
read
NA
ManufactureDate
0x1b
read
NA
SerialNumber
0x1c
read
integer
0
0
Reserved
0x1d-0x1f
ManufacturerName
0x20
read
string
DeviceName
0x21
read
string
DeviceChemistry
0x22
read
string
ManufacturerData
0x23
read
string
Pack status
0x2f (LSB)
read
NA
Pack configuration
0x2f (MSB)
read
NA
VCELL4
0x3c
read
mV
VCELL3
0x3d
read
mV
VCELL2
0x3e
read
mV
VCELL1
0x3f
read
mV
Self-Discharge
The bq2085 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity
during periods of inactivity. The bq2085 makes self-discharge adjustments to RM( ) every 1/4 seconds when
awake and periodically when in sleep mode. The period is determined by Sleep Timer DF 0xe7.
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. The following table 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 0x2c).
12
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
Table 4. Self-Discharge for Rate Programmed
TEMPERATURE
(°C)
SELF-DISCHARGE RATE
Temp < 10
1/4 Y% per day
10 ≤ Temp Safety Temperature (DF 0x6a and 0x6b)
D When Misc Configuration (DF 0x2a) bit 5 AC is set and the AFE has failed at least AFE Fail Times (DF 0xd3,
d4)
The bq2085 checks the programming of the AFE registers at a period determined by AFE Check Time DF 0xe4.
The units of the check period are seconds unless the bq2085 is in sleep mode, in which case the period is AFE
Check Time x Sleep Current Time (DF 0xe7). If the data is not correct, the bq2085 increments an internal
counter.
An example circuit using the SAFE output to blow a fuse is shown in Figure 5.
FUSE
BAT+
VCC
1 MΩ
Cell 4
0.1 µF
BSS84
100 kΩ
2N7002
SAFE
1 MΩ
Figure 5. Example SAFE Circuit Implementation
www.ti.com
19
bq2085
SLUS541 – OCTOBER 2002
Low-Power Modes
The bq2085 enters sleep mode when the charge and discharge current is less than the threshold programmed
in Sleep Current Threshold DF 0xe5, the SMBus lines are low for at least 2 s, and bit 4 of Misc. Configuration
DF 0x2a is set to zero. The bq2085 wakes up periodically to monitor voltage and temperature and to apply
self-discharge adjustment. The sleep period is set in Sleep Timer DF 0xe7. The bq2085 wakes up at a period
set by Sleep Current Time DF 0xe6 to measure current. The bq2085 comes out of sleep when the SMBus lines
go high or if the current is greater than Sleep Current Threshold. A rising edge on SMBC or SMBD restores the
bq2085 to the full operating mode.
Reset Conditions
On power-up the entire IC is reset and data is loaded from Data Flash to configure the SBS Data and the system.
On a partial reset (loss of VCC but RBI holds RAM valid) then a limited number of locations are taken.
These actions are the following:
D
D
D
D
D
The AFE registers are rewritten.
PackStatus() VDQ flag is cleared (the proposed change is not to clear VDQ).
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 bq2085 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 VCC and may be
pulled-up higher than VCC. Also, the bq2085 does not pull these lines low if VCC to the part is zero.
The communication ports allow a host controller, an SMBus compatible device, or other processor to access
the memory registers of the bq2085. In this way a system can efficiently monitor and manage the battery.
SMBus
The SMBus interface is a command-based protocol. A processor acting as the bus master initiates
communication to the bq2085 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 bq2085 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 bq2085 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 bq2085 acts as the bus master. This occurs when the bq2085 broadcasts charging
requirements and alarm conditions to device addresses 0x12 (SBS Smart Charger) and 0x10 (SBS Host
Controller.)
SMBus Protocol
The bq2085 supports the following SMBus protocols:
D Read word
D Write word
D Block read
A processor acting as the bus master uses the three protocols to communicate with the bq2085. The bq2085
acting as the bus master uses the write word protocol.
20
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
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 offstate, 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 bq2085 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 bq2085 can receive or transmit data with or without PEC. Figure 6 shows the communication protocol for
the read word, write word, and read block messages without PEC. Figure 7 includes PEC.
In the read word protocol, the bq2085 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 bq2085
compares the value to its calculation. If the PEC is correct, the bq2085 responds with an ACKNOWLEDGE. If
it is not correct, the bq2085 responds with a NOT ACKNOWLEDGE and sets an error code.
In the write word and block read, the host generates an ACKNOWLEDGE after the last byte of data sent by the
bq2085. The bq2085 then sends the PEC and the host acting as a master-receiver generates a NOT
ACKNOWLEDGE and a stop condition.
1
S
1
S
7
Battery Address
0001011
7
Battery Address
0001011
1
0
1
0
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
1
8
A
Command Code
8
1
8
A
Command Code
Data Byte Low
A
1
S
8
Data Byte High
7
Battery Address
0001011
1
0
ÎÎ
ÎÎ
1
8
A
Data Byte Low
Write Word
1
ÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
ÎÎ
1
8
A
Data Byte High
ÎÎ
ÎÎ
1
1
7
1
1
A
S
Battery Address
1
A
1
1
A
P
1
A
P
Read Word
1
8
A
Command Code
ÎÎ
ÎÎ
ÎÎ
ÎÎ
1
1
7
1
1
A
S
Battery Address
1
A
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ
8
1
8
1
8
1
8
1
1
Byte Count = N
A
Data Byte 1
A
Data Byte 2
A
Data Byte N
A
P
Block Read
Host Processor
A – ACKNOWLEDGE
bq2083
A – NOT ACKNOWLEDGE
S – START
P – STOP
ÎÎ
ÎÎ
Figure 6. SMBus Communication Protocol Without PEC
www.ti.com
21
bq2085
SLUS541 – OCTOBER 2002
PEC Protocol (Continued)
1
S
1
S
ÎÎ
ÎÎ
7
1
Battery Address
0
0001011
1
8
A
Command Code
ÎÎ
ÎÎ
7
1
Battery Address
0
0001011
Write Word
1
8
A
Command Code
ÎÎ
ÎÎ
ÎÎ
ÎÎ
1
8
A
Data Byte Low
ÎÎ
ÎÎ
1
1
A
S
8
Data Byte High
1
8
A
PEC
ÎÎ
ÎÎ
1
A
1
P
ÎÎÎ
ÎÎÎ
7
1
1
Battery Address 1
A
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎ
ÎÎ
1
A
8
1
8
1
8
1
1
Data Byte Low
A
Data Byte High
A
PEC
A
P
Read Word
1
S
ÎÎ
ÎÎ
7
1
Battery Address 0
0001011
1
8
A
Command Code
ÎÎ
ÎÎ
1
1
A
S
ÎÎÎ
ÎÎÎ
1
1
Battery Address 1
7
A
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎ
8
Byte Count = N
1
8
1
8
1
8
1
8
1
1
A
Data Byte 1
A
Data Byte 2
A
Data Byte N
A
PEC
A
P
Block Read
ÎÎ
ÎÎ
ÎÎ
A–
A–
S–
P–
Host Processor
bq2083
ACKNOWLEDGE
NOT ACKNOWLEDGE
START
STOP
Figure 7. SMBus Communication Protocol With PEC
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 bq2085. This includes the host following the read
word protocol. The bq2085 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 bq2085 transmits a PEC of 0xe8 to the host.
PEC Enable in Master Mode
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.
22
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
SMBus On and Off State
The bq2085 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 bq2085 detects the Off State. When the SMBC and SMBD
lines go high, the bq2085 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 bq29311 regulated VCC (V(REG)) and a temperature of 0-70_C.
ManufacturerAccess( ) (0x00)
Description: This function provides writable command codes to control the bq2085 during normal operation
and pack manufacture. The following commands are available:
0x0001 Device Type instructs the bq2085 to return the IC part number; i.e., 2083 (0823h) to Manufacture
Access( ) so it can be read.
0x0002 Firmware Revision instructs the bq2085 to return the firmware revision.
0x0003 EDV Level instructs the bq2085 to return the pending end-of-discharge voltage level so it can be read.
0x062b SEAL instructs the bq2085 to restrict access to those functions listed in Table 3. The bq2085 completes
the seal function and clears ManufacturerAccess( ).
Purpose: The ManufacturerAccess( ) function provides the system host access to bq2085 functions that are
not defined by the SBD.
SMBus protocol: Read or write word
Input/Output: Word
RemainingCapacityAlarm( ) (0x01)
Description: Sets or gets the low-capacity threshold value. Whenever the RemainingCapacity( ) falls below
the low capacity value, the bq2085 sends AlarmWarning( ) messages to the SMBus host with the
REMAINING_CAPACITY_ALARM bit set. A low-capacity value of 0 disables this alarm. The bq2085 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
bq2085 low-capacity alarm.
SMBus protocol: Read or write word
Input/Output: Unsigned integer-value below which Low Capacity messages are sent.
BATTERY MODES
CAPACITY_MODE
BIT = 0
CAPACITY_MODE
BIT = 1
Units
mAh at C/5
10 mWh at P/5
Range
0–65,535 mAh
0–65,535 10 mWh
Granularity
Not applicable
Accuracy
See RemainingCapacity( )
www.ti.com
23
bq2085
SLUS541 – OCTOBER 2002
RemainingTimeAlarm( ) (0x02)
Description: Sets or gets the Remaining Time Alarm value. Whenever the AverageTimeToEmpty( ) falls below
the remaining time value, the bq2085 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 bq2085
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 bq2085
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 Whether the battery capacity information is specified in units of mAh or 10 mWh (CAPACITY_MODE bit)
D 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 bq2085 broadcasts. The RELEARN_FLAG bit allows the bq2085 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 bq2085 forces bits 0-6 to zero and prohibits writes to bit 7.
Table 12 summarizes the meanings of the individual bits in the BatteryMode( ) word and specifies the default
values, where applicable, are noted.
INTERNAL_CHARGE_CONTROLLER bit is not used by the bq2085.
24
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
PRIMARY_BATTERY_SUPPORT bit is not used by the bq2085.
RELEARN_FLAG bit set indicates that the bq2085 is requesting a capacity relearn cycle for the battery. The
bq2085 sets the RELEARN_FLAG on a full reset and if it detects 20 cycle counts without an FCC update. The
bq2085 clears this flag after a learning cycle has been completed.
CHARGE_CONTROLLER_ENABLED bit is not used by the bq2085. The bq2085 forces this bit to zero.
PRIMARY_BATTERY bit is not used by the bq2085. The bq2085 forces this bit to zero.
Table 12. Battery Mode Bits and Values
Battery Mode( ) BITS
BITS USED
FORMAT
INTERNAL_CHARGE_CONTROLLER
0
Read only bit flag
1
Read only bit flag
PRIMARY_BATTERY_SUPPORT
Reserved
2–6
RELEARN_FLAG
7
Read only bit flag
CHARGE_CONTROLLER_ENABLED
8
R/W bit flag
9
R/W bit flag
PRIMARY_BATTERY
Reserved
ALLOWABLE VALUES
0—Battery OK
1—Relearn cycle requested
10–12
ALARM_MODE
13
R/W bit flag
0—Enable alarm broadcast (default)
1—Disable alarm broadcast
CHARGER_MODE
14
R/W bit flag
0—Enable charging broadcast (default)
1—Disable charging broadcast
CAPACITY_MODE
15
R/W bit flag
0—Report in mA or mAh (default)
1—Report in 10mW or 10 mWh
ALARM_MODE bit is set to disable the bq2085’s ability to master the SMBus and send AlarmWarning( )
messages to the SMBus host and the smart battery charger. When set, the bq2085 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 seconds and no less than 59 seconds. 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 bq2085 resets the bit and starts or restarts a 60-seconds (nominal) timer. After
the timer expires, the bq2085 automatically enables alarm broadcasts to ensure that the accidental
deactivation of broadcasts does not persist. An SMBus host that does not want the bq2085 to be a master
on the SMBus must therefore continually set this bit at least once per 59 seconds to keep the bq2085 from
broadcasting alarms.
D The ALARM_MODE bit defaults to a cleared state when the bq2085 enters SLEEP mode.
D 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 bq2085’s transmission of ChargingCurrent( ) and
ChargingVoltage( ) messages to the smart battery charger. When set, the bq2085 does not transmit
ChargingCurrent( ) and ChargingVoltage( ) values to the smart battery charger. When cleared, the bq2085
transmits the ChargingCurrent( ) and ChargingVoltage( ) values to the smart battery charger. The
CHARGER_MODE bit defaults to a cleared state when the bq2085 enters SLEEP mode.
www.ti.com
25
bq2085
SLUS541 – OCTOBER 2002
CAPACITY_MODE bit indicates if capacity information is reported in mA/mAh or 10mW/10 mWh. When set,
the bq2085 reports capacity information in 10 mW/10 mWh as appropriate. When cleared, the bq2085 reports
capacity information in mA/mAh as appropriate. The CAPACITY_MODE bit defaults to a cleared state when the
bq2085 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:
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 bq2085 updates the non-AtRate related register values within 1 s of changing the state of the
CAPACITY_MODE bit. The AtRate( ) values are updated after the next AtRate value is written to the bq2085
(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 When the AtRate( ) value is positive, the AtRateTimeToFull( ) function returns the predicted time to
full-charge at the AtRate value of charge.
D When the AtRate( ) value is negative, the AtRateTimeToEmpty( ) function returns the predicted operating
time at the AtRate value of discharge.
D 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
26
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
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
10 mW
Charge range
1 to 32,767 mA
1 to 32,767 10 mW
Discharge range
–1 to –32,768 mA
–1 to –32,768 10 mW
Granularity
1 Unit
Accuracy
NA
AtRateTimeToFull( ) (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 bq2085 updates AtRateTimeToFull( ) within 5 ms after
the SMBus host sets the AtRate value. The bq2085 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 bq2085 updates AtRateTimeToEmpty( ) within 5 ms after the SMBus
host sets the AtRate( ) value. The bq2085 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 seconds. If the AtRate value is zero or positive, the AtRateOK( ) function ALWAYS
returns OK (logic 1).
www.ti.com
27
bq2085
SLUS541 – OCTOBER 2002
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 bq2085 updates
AtRateOK( ) within 5 ms after the SMBus host sets the AtRate( ) value. The bq2085 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 bq2085.
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.
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.
28
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
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). The AverageCurrent( ) function returns values equivalent to
Current( ) during the battery’s first minute of operation.
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 bq2085 sets MaxError( ) to 100% on a full reset. The bq2085 sets MaxError( )
to 2% on completion of a learning cycle, unless the bq2085 limits the learning cycle to the +512/-256 mAh
maximum adjustment values. If the learning cycle is limited, the bq2085 sets MaxError( ) to 8% unless
MaxError( ) was already below 8%. In this case MaxError( ) does not change. The bq2085 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
www.ti.com
29
bq2085
SLUS541 – OCTOBER 2002
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
Output: Unsigned integer—remaining charge in units of mAh or 10 mWh.
BATTERY MODES
CAPACITY_MODE
BIT = 0
CAPACITY_MODE
BIT = 1
Units
mAh
10 mWh
Range
0–65,535mAh
0–65,535 10 mWh
Granularity
mAh
10 mWh
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.
30
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
BATTERY MODES
CAPACITY_MODE
BIT = 0
CAPACITY_MODE
BIT = 1
Units
mAh
10 mWh
Range
0–65,535 mAh
0–65,535 10 mWh
Granularity
mAh
10 mWh
Accuracy
–0, +MaxError( ) * FullCharageCapacity( )
RunTimeToEmpty( ) (0x11)
Description: Returns the predicted remaining battery life at the present rate of discharge (minutes). The
RunTimeToEmpty( ) value is calculated based on either current or power depending on the setting of the
BatteryMode( ) 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 one-minute rolling average of the predicted remaining battery life (minutes). The
AverageTimeToEmpty( ) 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.
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 one-minute rolling average of the predicted remaining time until the battery reaches
full charge (minutes).
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
www.ti.com
31
bq2085
SLUS541 – OCTOBER 2002
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. The
ChargingCurrent( ) value should be used in combination with the ChargingVoltage( ) value to set the charger’s
operating point. Together, these functions permit the bq2085 to dynamically control the charging profile
(current/voltage) of the battery. The bq2085 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 bq2085 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
Granularity: 1mV
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 bq2085 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 bq2085. 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
32
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
Output: Unsigned Integer–status register with alarm conditions bit mapped as follows:
ALARM BITS
0x8000
OVER_CHARGED_ALARM
0x4000
TERMINATE_CHARGE_ALARM
0x2000
Reserved
0x1000
OVER_TEMP_ALARM
0x0800
TERMINATE_DISCHARGE_ALARM
0x0400
Reserved
0x0200
REMAINING_CAPACITY_ALARM
0x0100
REMAINING_TIME_ALARM
STATUS BITS
0x0080
Initialized
0x0040
DISCHARGING
0x0020
FULLY_CHARGED
0x0010
FULLY_DISCHARGED
ERROR CODES
0x0007
Unknown Error
0x0006
BadSize
0x0005
Overflow/Underflow
0x0004
AccessDenied
0x0003
UnsupportedCommand
0x0002
ReservedCommand
0x0001
Busy
0x0000
OK
Alarm Bits
OVER_CHARGED_ALARM bit is set whenever the bq2085 detects that the battery is being charged beyond
the maximum overcharge limit. This bit is cleared when the bq2085 detects that the battery is no longer being
charged and there are 2 mAh of continuous discharge (i.e., the bq2085 detects discharge activity or no activity
above the digital filter).
TERMINATE_CHARGE_ALARM bit is set when the bq2085 detects that one or more of the battery charging
parameters are out of range (e.g., its voltage, current, or temperature is too high) or when the bq2085 detects
a primary charge termination. This bit is cleared when the parameter falls back into the allowable range, the
termination condition ceases, or when the bq2085 detects that the battery is no longer being charged.
OVER_TEMP_ALARM bit is set when the bq2085 detects that the internal battery temperature is greater than
or equal to the Max Temperature threshold. This bit is cleared when the internal temperature falls back into the
acceptable range.
TERMINATE_DISCHARGE_ALARM bit is set when RM = 0, Voltage( ) ≤ Terminate Voltage, 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 bq2085 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.
www.ti.com
33
bq2085
SLUS541 – OCTOBER 2002
REMAINING_TIME_ALARM bit is set when the bq2085 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 bq2085 is has detected a valid load of data flash at full or partial reset. It is
cleared when the bq2085 detects an improper data flash load.
DISCHARGING bit is set when the bq2085 determines that the battery is not being charged. This bit is cleared
when the bq2085 detects that the battery is being charged.
FULLY_CHARGED bit is set when the bq2085 detects a primary charge termination or an Overcharge
condition. It is cleared when RelativeStateOfCharge( ) is less than the programmed Fully Charged Clear % in
DF 0x47.
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
OK
The bq2085 processed the function code without detecting any errors.
Busy
The bq2085 is unable to process the function code at this time.
Reserved
The bq2085 detected an attempt to read or write to a function code reserved by this version of the specification.
The bq2085 detected an attempt to access an unsupported optional manufacturer function code.
Unsupported
The bq2085 does not support this function code which is defined in this version of the specification.
AccessDenied
The bq2085 detected an attempt to write to a read-only function code.
Over/Underflow
The bq2085 detected a data overflow or underflow.
BadSize
The bq2085 detected an attempt to write to a function code with an incorrect data block.
UnknownError
The bq2085 detected an unidentifiable error.
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 0x37-0x38. The bq2085 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 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 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.
34
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
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
mAh
10 mWh
Range
0–65,535 mAh
0–65,535 10 mWh
Granularity
Not applicable
Not applicable
Accuracy
Not applicable
Not applicable
DesignVoltage( ) (0x19)
Description: Returns the theoretical voltage of a new pack (mV). The bq2085 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 bq2085 VScale (voltage scaling) and IPScale (current scaling) should always be set to zero. The bq2085
sets SpecificationInfo( ) to the value programmed in Specification Information DF 0x06-0x07.
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
BITS USED
FORMAT
ALLOWABLE VALUES
SpecID_L
0...3
4-bit binary value
0–15
SpecID_H
4...7
4-bit binary value
0–15
VScale
8...11
4-bit binary value
0 (multiplies voltage by 10^ VScale)
IPScale
12...15
4-bit binary value
0 (multiplies current by 10 ^ IPScale)
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 bq2085 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( ).
www.ti.com
35
bq2085
SLUS541 – OCTOBER 2002
SMBus protocol: Read word
Output: Unsigned integer-packed date of manufacture:
FIELD
BITS USED
FORMAT
ALLOWABLE VALUES
Day
0...4
5-bit binary value
0–31 (corresponds to date)
Month
5...8
4-bit binary value
1–12 (corresponds to month number)
Year
9...15
7-bit binary value
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 bq2085 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 bq2085 sets ManufacturerName( ) to the
value programmed in Manufacturer Name Length 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).
DeviceName( ) (0x21)
Description: This function returns a character string that contains the battery name. For example, a
DeviceName( ) of bq2085 indicates that the battery is a model bq2085. The bq2085 sets DeviceName( ) to the
value programmed in Device Name Length 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 bq2085
sets DeviceChemistry( ) to the value programmed in Device Chemistry Length DF 0x22–0x26.
Purpose: The DeviceChemistry( ) function gives cell chemistry information for use by charging systems. The
bq2085 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).
36
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
The following is a partial list of chemistries and their expected abbreviations. These abbreviations are not case
sensitive.
Lead acid
PbAc
Lithium ion
LION
Nickel cadmium
NiCd
Nickel metal hydride
NiMH
Nickel zinc
NiZn
Rechargeable alkaline-manganese
RAM
Zinc air
ZnAr
The ManufacturerData( ) (0x23)
Description: This function allows access to the manufacturer data contained in the battery (data). The bq2085
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 bq2085 under various programming sets. The ManufacturerData( ) function returns the
following information in order: Pack Configuration, Gauge Configuration, Misc Configuration, 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 (12 + 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 bq2085 operation. The pack status register is the least significant byte of the
word.
The pack configuration register reflects how the bq2085 is configured as defined by the value programmed in
Pack Configuration in DF 0x28.
The pack status register consists of the following bits:
b7
b6
b5
b4
AFE
EDV2
SS
VDQ
b3
b2
b1
b0
0
SOV
CVOV
CVUV
AFE
The AFE bit indicates whether the bq29311 RAM integrity check has failed.
0
1
bq29311 integrity check passed
bq29311 integrity check failed
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 bq2085.
0
1
The bq2085 is in the unsealed state.
The bq2085 is in the sealed state.
www.ti.com
37
bq2085
SLUS541 – OCTOBER 2002
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
SOV
The SOV bit indicates that the safety output limits have been exceeded. Once set, the flag stays set until the
bq2085 is reset.
0
1
Safety limits not exceeded
Safety limits exceeded
CVOV
The CVOV bit indicates that a protection limit has been exceeded. It is set on a Prolonged Overcurrent,
Overvoltage, or Overtemperature condition. 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. It is set on an overload or overdischarge
condition. The bit is not latched and merely reflects the present fault status.
0
1
No secondary protection limits exceeded
A secondary protection limit exceeded
VCELL4-VCELL1 (0x3c-0x3f)
These functions return the calculated individual cell voltages in mV.
Data Flash
General
The bq2085 accesses the internal data flash during reset and when storing historical data. The data flash stores
basic configuration information for use by the bq2085. The data flash must be programmed correctly for proper
bq2085 operation.
Memory Map
Table 13 shows the memory map for the data flash. It shows the default programming for the bq2085. 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.
38
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
Table 13. Data Flash Memory Map
DATA FLASH ADDRESS
HIGH BYTE
DATA
NAME
LOW BYTE
LI ION EXAMPLE
LI-ION
MSB
LSB
0x00
0x01
Remaining Time Alarm
10 minutes
00
0a
0x02
0x03
Remaining Capacity Alarm
360 mAh
01
68
0x04
0x05
Design Voltage
10800 mV
2a
30
0x06
0x07
Specification Information
v1.1/PEC
00
31
0x08
0x09
Manufacture Date
2/15/02=11343
2c
4f
0x0a
0x0b
Serial Number
1
00
01
0x0c
0x0d
Cycle Count
0
00
00
0x0e
Manufacturer Name Length
11
0b
0x0f
Character 1
T
54
0x10
Character 2
e
45
0x11
Character 3
x
58
0x12
Character 4
a
41
0x13
Character 5
s
53
0x14
Character 6
0x15
Character 7
I
49
0x16
Character 8
n
4e
0x17
Character 9
s
53
0x18
Character 10
t
54
0x19
Character 11
.
2e
0x1a
Device Name Length
6
06
0x1b
Character 1
b
42
0x1c
Character 2
q
51
0x1d
Character 3
2
32
0x1e
Character 4
0
30
0x1f
Character 5
8
38
0x20
Character 6
3
33
0x21
Character 7
—
00
0x22
Device Chemistry Length
4
04
0x23
Character 1
L
4c
0x24
Character 2
I
49
0x25
Character 3
O
4f
0x26
Character 4
N
4e
0x27
Manufacturer Data Length
12
09
0x28
Pack Configuration
DMODE, LED1, CC1
c2
0x29
Gauge Configuration
CSYNC
40
0x2a
Misc Configuration
VOD
01
0x2b
Digital Filter
9860 nV
22
0x2c
Self-Discharge Rate
0.2%
14
0x2d
Electronics Load
0 mA
00
0x2e
Battery Low %
7.03%
12
Near Full
200 mAh
0x2f
0x30
20
00
c8
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.
www.ti.com
39
bq2085
SLUS541 – OCTOBER 2002
Table 13. Data Flash Memory Map (Continued)
DATA FLASH ADDRESS
HIGH BYTE
DATA
NAME
LOW BYTE
LI ION EXAMPLE
LI-ION
MSB
LSB
0x31
0x32
Design Capacity
3600 mAh
0e
10
0x33
0x34
Reserved
0
00
00
0x35
0x36
Last Measured Discharge
3600 mAh
0e
10
0x37
0x38
Cycle Count Threshold
2880 mAh
0b
40
0x39
0x3a
Charging Voltage
12600 mV
31
38
0x3b
0x3c
Precharge Voltage
8000 mV
1f
40
0x3d
0x3e
Fast-Charging Current
2500 mA
09
c4
0x3f
0x40
Maintenance Charging Current
0 mA
00
00
0x41
0x42
Precharge Current
100 mA
00
64
0x43
Precharge Temp
9.6°C
0x44
Reserved
1e
0x45
Reserved
00
0x46
Fast Charge Termination %
100%
ff
0x47
Fully Charged Clear %
95%
5f
60
0x48
0x49
Current Taper Threshold
240 mA
00
f0
0x4a
0x4b
Current Taper Qual Voltage
100 mV
00
64
0x4c
Reserved
0x4d
0x4e
Reserved
0x4f
Reserved
0x51
Charge Efficiency
0x52
Reserved
0x54
0x55
40
Maximum Overcharge
0x50
0x53
28
300 mAh
100%
54.6°C
5°C
Reserved
0x58
0x59
Overload Current
0x5a
0x5b
Over Voltage Margin
0x5c
0x5d
Overcurrent Margin
0x5e
0x5f
Reserved
0x60
0x61
Cell Over Voltage
0x62
0x63
0x64
0x65
0x66
0x67
Reserved
0x68
0x69
Safety Over Voltage
0x6a
0x6b
Safety Over Temperature
ff
64
Temperature Hysteresis
0x57
2c
02
MaxTemperature
0x56
01
02
22
32
01
ae
5000 mA
13
88
208 mV
00
d0
500 mA
01
f4
01
00
4350 mV
10
fe
Cell Under Voltage
2300 mV
08
fc
Terminate Voltage
8500 mV
21
34
00
00
20000 mV
4e
20
70°C
02
bc
0x6c
Reserved
ef
0x6d
Reserved
03
0x6e
0x6f
VOC75
11890 mV
2e
72
0x70
Reserved
bf
0x71
Reserved
56
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.
40
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
Table 13. Data Flash Memory Map (Continued)
DATA FLASH ADDRESS
HIGH BYTE
LOW BYTE
0x72
0x73
DATA
NAME
LI ION EXAMPLE
LI-ION
MSB
Reserved
0x74
LSB
40
VOC50
11430 mV
2c
a6
0x75
Reserved
7f
0x76
Reserved
3d
0x77
0x78
Reserved
0x79
27
VOC25
11270 mV
2c
06
0x7a
Reserved
3f
0x7b
Reserved
24
0x7c
Reserved
0e
0x7c
Reserved
14
0x7e
Reserved
40
0x7f
0x80
Reserved
0b
e1
0x81
0x82
Reserved
0b
68
0x83
Reserved
19
0x84
0x85
EMF/EDV0
3000 mV
0b
b8
0x86
0x87
EDV C0 Factor/EDV1
0x88
0x89
EDV R0 Factor/EDV2
3250 mV
0c
b2
3400 mV
0d
48
0x8a
0x8b
0x8c
0x8d
EDV T0 Factor
0
00
00
EDV R1 Factor
0
00
00
0x8e
EDV TC Factor
0
00
0x8f
EDV C1 Factor
0
00
0x90
Reserved
08
0x91
Reserved
9b
0x92
Reserved
c7
0x93
Reserved
64
0x94
Reserved
14
0x95
0x96
Reserved
02
00
0x97
0x98
Reserved
01
00
0x99
Reserved
08
0x9a
Reserved
02
0x9b
Learning Low Temp
0x9c
Reserved
11.9°C
77
0a
0x9d
0x9e
Reserved
01
80
0x9f
0xa0
Reserved
01
00
0xa1
Reserved
08
0xa2
Reserved
18
0xa3
Reserved
14
0xa4
0xa5
TS Const 1
91
83
0xa6
0xa7
TS Const 2
51
70
0xa8
0xa9
TS Const 3
e2
8f
0xaa
0xab
TS Const 4
0f
ac
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.
www.ti.com
41
bq2085
SLUS541 – OCTOBER 2002
Table 13. Data Flash Memory Map (Continued)
DATA FLASH ADDRESS
HIGH BYTE
DATA
NAME
LOW BYTE
LI ION EXAMPLE
LI-ION
MSB
LSB
0xac
0xad
TS Const 5
00
00
0xae
0xaf
Reserved
0f
ac
0xb0
Reserved
0xb1
AFE Brnout Shutdn
Shutdown = 6.475, Brownout = 7.975 V
32
00
0xb2
AFE Over Curr Dsg
140 mV
12
0xb3
AFE Over Curr Chg
70 mV
04
0xb4
AFE Over Curr Delay
Charge = 31 ms, Discharge = 31 ms
ff
0xb5
Reserved
0xb6
AFE Short Circ Thrsh
275 mV
00
07
AFE Short Circuit Delay
61 µs (charge and discharge)
0xb8
0xb9
AFE Vref*
9750 mV
26
16
0xba
0xbb
Sense Resistor Gain*
0.02 Ω
3b
d0
0xbc
0xbd
CC Delta*
0.0001298 mAh
94
08
0xbe
0xbf
CC Delta*
b1
c0
0xb7
0xc0
0xc1
11
Reserved
0xc2
fa
CC Offset*
1528
0xc3
DSC Offset*
15
05
f8
0xc4
ADC Offset*
16
11
0xc5
Temperature Offset*
0
00
0xc6
Board Offset*
0
00
10
0xc7
0xc8
Reserved
00
40
0xc9
0xca
Reserved
01
00
0xcb
0xcc
Reserved
0xcd
0xce
05
Version
1.0
Reserved
01
00
00
32
0xcf
0xd0
Cell Over Voltage Reset
4150 mV
10
36
0xd1
0xd2
Cell Under Voltage Reset
3000 mV
0b
b8
0xd3
0xd4
AFE Fail Limit
2 counts
00
02
0xd5
0xd6
Reserved
0xd7
0xd8
Cell Balance Thresh
0xd9
0xda
ff
ff
3900 mV
0f
3c
00
64
Cell Balance Window
100 mV
0xdb
Cell Balance Min
40 mV
28
0xdc
Cell Balance Interval
20 seconds
14
0xdd
0xde
Reserved
a5
5a
0xdf
0xd0
Reserved
7a
43
0xe1
0xe2
Reserved
20
83
0xe3
Reserved
0xe4
AFE Check Time
0 seconds
00
00
0xe5
Sleep Current Thresh
2 mA
04
0xe6
Sleep Current Time
20 seconds
14
0xe7
Sleep Time
100 seconds
64
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.
42
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
PROGRAMMING INFORMATION
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 0xbc–0xbf 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 0xba-0xbb 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.
(2)
Sense Resistor Gain + 306.25
Rs
Digital Filter
The desired digital filter threshold, VDF (V), is set by the value stored in Digital Filter DF 0x2b.
(3)
Digital Filter + VDF
290 nV
Cell and Pack Characteristics
Battery Pack Capacity and Voltage
Pack capacity in mAh units is stored in Design Capacity, DF 0x31–0x32. In mAh mode, the bq2085 copies
Design Capacity to DesignCapacity( ). In mWh mode, the bq2085 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 Last Measured Discharge, in mAh, is stored in DF 0x35–0x36. Last Measured Discharge
is modified over the course of pack usage to reflect cell aging under the particular use conditions. The bq2085
updates Last Measured Discharge in mAh after a capacity learning cycle. The bq2085 uses the Last Measured
Discharge value to calculate FullChargeCapacity( ) in units of mAh or 10 mWh.
Remaining Time and Capacity Alarms
Remaining Time Alarm in DF 0x00-0x01 and Remaining Capacity Alarm in 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( ) setting.
EDV Thresholds and Near Full Percentage
The bq2085 uses three pack-voltage thresholds to provide voltage-based warnings of low battery capacity. The
bq2085 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 0x84–0x85, DF
0x86–0x87, and DF 0x88–0x89, respectively.
For capacity correction at EDV2, Battery Low % DF 0x2e 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.
(4)
Battery Low % = (STATEOFCHARGE% • 2.56)
The bq2085 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 0x2f, 0x30
in mAh.
www.ti.com
43
bq2085
SLUS541 – OCTOBER 2002
EDV Discharge Rate and Temperature Compensation
If EDV compensation is enabled, the bq2085 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)
(5)
EMF is a no-load cell voltage higher than the highest cell EDV threshold computed. EMF is programmed in
mV in EMF/EDV1 DF 0x84–0x85.
ILOAD is the current discharge load magnitude.
n = the number of series cells
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 )
(6)
C (either 0%, 3%, or Battery Low % for EDV0, EDV1, and EDV2, respectively) and C0 are the capacityrelated EDV adjustment factors. C0 is programmed in EDV C0 Factor/EDV1 DF 0x86–87. C1 is the desired
residual battery capacity remaining at EDV0 (RM = 0). The C1 factor is stored in EDV C1 Factor DF 0x8f.
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)
(7)
R0 is the first order rate dependency factor stored in EDV R0 Factor/EDV2 DF 0x88–0x89.
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
0x8c-0x8d.
T0 adjusts the variation of impedance with battery temperature. T0 is programmed in EDV T0 Rate Factor DF
0x8a–0x8b.
TC adjusts the variation of impedance for cold temperatures (T < 23°C). TC is programmed in EDV TC DF 0x8e.
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
The graphs in Figures 8 and 9 show the calculated EDV0, EDV1, and EDV2 thresholds versus capacity using
the typical compensation values for different temperatures and loads for a Li-Ion 3s2p 18650 pack. The
compensation values vary widely for different cell types and manufacturers and must be matched exactly to the
unique characteristics for optimal performance.
44
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
VOLTAGE
vs
CAPACITY
VOLTAGE
vs
CAPACITY
11.5
11.5
Battery Low % = 7%
Load = 500 mA
11.0
20°C
EDV2
EDV2
10.5
45°C
10.5
Battery Low % = 7%
TA = 35°C
11.0
500 mA
EDV1
V – Voltage – V
V – Voltage – V
EDV1
10.0
9.5
9.0
8.5
10.0
1A
2A
9.5
9.0
8.5
8.0
8.0
7.5
EDV0
7.5
7.0
0
1
2
3
4
5
6
7
8
9
10
Capacity – %
0
1
2
3
4
5
6
7
8
9
10
Capacity – %
Figure 8. EDV Calculations vs Capacity for
Various Temperatures
Figure 9. EDV Calculations vs Capacity for
Various Loads
Overload Current Threshold
The overload protection disables discharge when the 16-bit limit programmed in DF 0x58–0x59 is breached.
The threshold is stored in mA.
Midrange Capacity Corrections
Three voltage-based thresholds, VOC25 DF 0x78–0x79, VOC50 DF 0x73–0x74, and VOC75 DF 0x6e–0x6f,
are used to test the accuracy of the RM based on open-circuit pack voltages. These thresholds are stored in
the data flash in mV. The values represent the open-circuit battery voltage at which the battery capacity should
correspond to the associated state of charge for each threshold.
Self-Discharge Rate
The nominal self-discharge rate, %PERDAY (% per day), is programmed in an 8-bit value Self-Discharge Rate
DF 0x2c by the following relation:
(8)
Self-Discharge Rate + %PERDAY
0.01
Charge Efficiency
The bq2085 applies the efficiency factor, EFF%, to all charge added to the battery. EFF% is encoded in Charge
Efficiency DF 0x51 according to equation 16:
Charge Efficiency + (EFF% • 2.56–1)
(9)
Other Compensation
Battery Electronics Load
The amount of internal battery electronics load estimate in µA, BEL, is stored in Electronics Load DF 0x2d as
follows:
www.ti.com
45
bq2085
SLUS541 – OCTOBER 2002
Electronics Load + BEL
3
Change Control
Charging Voltage
The 16-bit value, Charging Voltage DF 0x39–0x3a programs the ChargingVoltage( ) value broadcast to a smart
charger. It also sets the base value for determining overvoltage conditions during charging and voltage
compliance during a constant-voltage charging methodology. It is stored in mV.
Over Voltage
The 16-bit value, Over Voltage Margin DF 0x5a–0x5b, sets the limit over ChargingVoltage( ) in mV that is to be
considered as an overvoltage charge-suspension condition.
Charging Current
ChargingCurrent( ) values are either broadcast to a Level 2 smart battery charger or read from the bq2085 by
a Level 3 smart battery charger. The bq2085 sets the value of ChargingCurrent( ), depending on the charge
requirements and charge conditions of the pack.
When fast charge is allowed, the bq2085 sets ChargingCurrent( ) to the rate programmed in Fast-Charging
Current DF 0x3d–0x3e. Fast-Charging Current is stored in mA.
When fast charge terminates, the bq2085 sets ChargingCurrent( ) to zero and then to the Maintenance
Charging Current DF 0x3f, 0x40 when the termination condition ceases. The desired maintenance current is
stored in mA.
When Voltage( ) is less than EDV0, the bq2085 sets ChargingCurrent( ) to Precharge Current DF 0x41, 0x42.
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 0° and the precharge threshold PC (°C), the bq2085 sets ChargingCurrent( ) to
PreCharge Current. The threshold is programmed in the Precharge Temp DF 0x43.
Precharge Temp +
(10)
PC (°C)
0.1
The bq2085 also sets ChargingCurrent( ) to the precharge rate if Voltage( ) is less than the value programmed
in Precharge Voltage DF 0x3b–0x3c. Precharge Voltage is programmed in mV.
Charge Suspension
During charge, the bq2085 compares the current to the ChargingCurrent( ) plus the value in OverCurrent Margin
DF 0x5c–0x5d. If the pack is charged at a current above or equal to the ChargingCurrent( ) plus the programmed
value, the bq2085 sets ChargingCurrent( ) to zero to stop charging.
The desired Overcurrent Margin is programmed in mA.
The desired temperature threshold for charge suspension, MAXTEMP (°C), is programmed in Max
Temperature DF 0x53, 0x54 and is stored as shown:
(11)
Max Temperature + MAXTEMP
0.1
The bq2085 clears the maximum temperature condition when Temperature( ) drops by the amount
programmed in Temperature Hysteresis DF 0x55 from MAXTEMP or when the temperature is less than or equal
to 43.0°C. Temperature Hysteresis is stored in °C.
The bq2085 suspends fast charge when fast charge continues past full by the amount programmed in Maximum
Overcharge DF 0x4e-0x4f. Maximum Overcharge is programmed in mAh.
46
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
FULLY_CHARGED Bit Clear Threshold
The bq2085 clears the FULLY_CHARGED bit in BatteryStatus( ) when RelativeStateOfCharge( ) reaches the
value, Fully Charged Clear % DF 0x47. Fully Charged Clear % is an 8-bit value and is stored in percent.
Fast Charge Termination Percentage
The bq2085 sets RM to a percentage of FCC on charge termination if the CSYNC bit is set in the gauge
configuration register. The percentage of FCC, FCT%, is stored in Fast Charge Termination % in DF 0x46. The
value is stored as shown:
Fast Charge Termination% = (FCT% * 2.56–1)
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 increment
CycleCount( ). Cycle Count threshold is a 16-bit value stored in mAh.
Current Taper Termination Characteristics
Two factors in the data flash set the current taper termination for Li-Ion battery packs. The two locations are
Current Taper Qual Voltage DF 0x4a and Current Taper Threshold DF 0x48–0x49. Current taper termination
occurs during charging when the pack voltage is above or equal to the charging voltage minus the qualification
voltage, and the charging current is below the taper threshold for at least 40 seconds. Current Taper Qual
Voltage DF 0x4a is stored in mV and Current Taper Threshold DF 0x48–0x49 in mA.
Cell Balancing
Four constants set the cell balancing parameters. Cell Balance Threshold DF 0xd9–0xda sets the maximum
voltage in mV that each cell must achieve to initiate cell balancing. Cell Balance Window DF 0xd9–0xda sets
in mV the amount that the cell balance threshold can increase. Cell Balance Min DF 0xdb sets in mV the cell
differential that must exist to initiate cell balancing and Cell Balance Interval DF 0xdc sets the cell balancing time
interval in seconds. Programming Cell Balance Threshold to 65,535 disables cell balancing.
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
RelativeStateOfCharge( ).
0
LEDs reflect AbsoluteStateOfCharge( )
1
LEDs reflect RelativeStateOfCharge( )
LED
outputs
indicate
AbsoluteStateOfCharge( )
or
LED1–LED0
The LED bits set the number of LEDs for Remaining Capacity ( ) indication.
0–1 Configures the bq2085 for three LEDs
1–0 Configures the bq2085 for four LEDs
1–1 or 0–0 Configures the bq2085 for five LEDs
www.ti.com
47
bq2085
SLUS541 – OCTOBER 2002
HPE
The hpe bit enables/disables PEC transmissions to the smart battery host for master mode alarm messages.
0
No PEC byte on alarm warning to host
1
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
No PEC byte on broadcasts to charger
1
PEC byte on broadcasts to charger
SM
The SM bit enables/disables master mode broadcasts by the bq2085.
0
Broadcasts to host and charger enabled
1
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 bq2085 for the number of series cells in the battery pack.
1–1 Configures the bq2085 for four series cells
1–0 Configures the bq2085 for three 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 bq2085, 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 bq2085 does not alter RM at the time of a valid charge termination.
The bq2085 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
Learning cycle optimized for independent charger
0
Learning cycle optimized for Smart Charger
CEDV
The CEDV bit determines whether the bq2085 implements automatic EDV compensation to calculate the EDV0,
EDV1, and EDV2 thresholds base on rate, temperature, and capacity. If the bit is cleared, the bq2085 uses the
fixed values programmed in data flash for EDV0, EDV1, and EDV2. If the bit is set, the bq2085 calculates EDV0,
EDV1, and EDV2.
48
0
EDV compensation disabled
1
EDV compensation enabled
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
EDVV
The EDVV bit selects whether EDV termination is to be done with regard to voltage or the lowest single-cell
voltage.
0
EDV conditions determined on the basis of the lowest single-cell voltage
1
EDV conditions determined on the basis of Voltage( )
OVSEL
The OVSEL bit determines if Safety Over Voltage is based on pack or highest cell voltages.
0
Safety over voltage based on pack voltage
1
Safety over voltage 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 bq2085 compares the pack
voltage to RM and may adjust RM according to the values programmed in VOC25, VOC50, and VOC75.
0
Continuous midrange corrections disabled
1
Continuous midrange corrections enabled
OTVC
The OTVC bit programs the bq2085 to perform a midrange voltage one time after a device reset.
0
One-time midrange correction disabled
1
One-time midrange correction enabled
Safety Control
Secondary Protection Limits for Li-Ion
The cell undervoltage (VUV) and overvoltage (VOV) limits are programmed in Cell Under and Cell Over Voltage
DF 0x62–0x63, DF 0x60–0x61, respectively. Both values are stored in mV. Cell Over Voltage Reset DF 0xef
and Cell Under Voltage Reset 0xd1–0xd2 set the reset points in mV for these safety parameters.
SAFE Threshold
The safety voltage threshold is programmed in Safety Over Voltage DF 0x68–0x69. It is stored in mV.
If Misc Configuration bit 2 (OVSEL) = 0 then Safety Over Voltage is based on pack voltage, but if OVSEL = 1,
then it is based on highest cell voltage.
The safety overtemperature (SOT) in °C is programmed in Safety Over Temperature DF 0x6a–0x6b. It is stored
as
(12)
SafetyOvertemperature + SOT
0.1
AFE Configuration
The AFE protection limits are programmed as specified in the bq29311 data sheet.
AFE Brnout/Shutdn 0xb1 sets the brownout and shutdown voltage levels
AFE Over Curr Dsg DF 0xb2 sets the overcurrent threshold on discharge.
AFE Over Curr Chg DF 0xb3 sets the overcurrent threshold on charge.
AFE Over Curr Delay DF 0xb4 sets the delay timing for over current in the charge and discharge direction.
AFE Short Circ Thresh DF 0xb6 sets the short circuit threshold and
AFE Short Circuit Delay DF 0xb7 sets the short circuit delay time.
www.ti.com
49
bq2085
SLUS541 – OCTOBER 2002
AFE Integrity Check
AFE Check Time DF 0xe4 sets the period in seconds for the AFE integrity check.
The AFE Fail Limit (DF 0xd3,d4) is the number of AFE integrity check failures that occur before the AFE flag
is set.
Sleep Mode
The sleep current threshold, SLP (mA), is stored in Sleep Current Thresh DF 0xe5 as:
Sleep Current Thresh +
(13)
SLP(mA)
0.5
The wake-up period for current measurement, WAT(s), is set in Sleep Current Time DF 0xe6 as:
Sleep Current Time +
(14)
WAT(s)
0.5
Miscellaneous Configuration
Misc Configuration DF 0x2a contains additional bit programmable features.
b7
b6
b5
b4
b3
b2
b1
b0
IT
0
AC
DS
OT
ECLED
PHG
VOD
IT
The IT bit configures the bq2085 to use its internal temperature sensor.
0
bq2085 requires an external thermistor.
1
bq2085 uses its internal temperature sensor.
AC
The AC bit enables the SAFE output to function based on the AFE integrity check.
0
SAFE is not activated based on the AFE integrity check.
1
SAFE activated based on the AFE integrity check.
DS
The DS bit programs the bq2085 to enter sleep mode on SMBus inactivity.
0
bq2085 enters sleep mode when the SMBus is low for 2 s.
1
bq2085 does not enter sleep mode.
OT
The OT bit programs the bq2085 to turn off the discharge FET when the bq2085 detects an overtemperature
condition. Charge FET is always turned off in overtemperature conditions.
0
bq2085 does not turn off the discharge FET on overtemperature.
1
bq2085 turns off the discharge FET on overtemperature.
ECLED
The ECLED bit programs the LED activity during charging (DSG bit = 0).
50
0
The LEDs are not enabled during charging.
1
The LEDs are enabled during charging.
www.ti.com
bq2085
SLUS541 – OCTOBER 2002
PHG
The PHG bit configures the bq2085 to control a precharge FET.
0
The bq2085 does not control a precharge FET.
1
The bq2085 may turn on or off a precharge FET according to the programmed precharge conditions.
VOD
The VOD bit enables a 1-second time delay on the charge and discharge FET control.
0
No delay
1
1-second delay
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 SepcificationInfo( ).
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.
www.ti.com
51
bq2085
SLUS541 – OCTOBER 2002
APPLICATION INFORMATION
The internal oscillator performance also depends on the tolerance of the 113k resistor connected between
RSOC (pin 33) and VSSA (pin 34). It is recommended that this resistor be placed as close to the bq2085 as
possible and that it have a specification of ±0.1% tolerance and ±50 ppm temperature drift or better. The layout
of the PCBA is also an additional contributing factor to 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).
Figure 10 shows a typical bq2085-based battery pack application. The circuit consists of the bq29311 analog
front end (AFE) IC, LED display, 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 bq2085 operation. Table 13 shows the data
flash memory map and outlines the programmable functions available in the bq2085.
52
www.ti.com
VM
VL
VG
X3
X4
X5
1K
CO
C7
.1uF
1K
R10
5 C11 .1uF
6
7 C10 .1uF
8
Current sense resistor R13 should have Temp Coefficient of 75 PPM
or less.
C5
.1uF
.1uF
VC3
VSS
ICT
3
C4
.1uF
1K
R9
C6
VC2
VC1
SNS
VCC
Resistor R29 should have Temp Coefficient of 50 PPM or less @.2% or better.
R7 1K
R6 1K
R5 1K
R4
R3 1K
1K
R8
4
3
2
1
2
1K
100
.1uF
C3 .1uF
C2
U1
S–8244
BAV99
D1
.1uF
C9
.1uF
1
R2
R1
PACK_
SMBD
C12
.1uF
Q2
Si4435DY
8765
300
R12
C13
.1uF
1
C14
.1uF
D2
BAV99
JP1
Q3
2N7002
F1
7A C
R11
1M
B
A
8765
SMBC
Tie Digital GND, Analog GND, & Sense Connections to
high current path at a single point at sense resistor R13
PACK_
VH
X2
.1uF
C1
VP
1
2
3
4
5
6
4
4
321
321
Q4
3
4
321
7
6
5
4
3
10
2
1
1
R13
.020
1W
SR1
8
VC5
VC4
VC3
VC2
VC1
CNTL
VBAT
CLKIN
XALERT
SDATA
SCLK
LEDOUT
TOUT
VREG
VPACK
CHG
5K
R21
100
R20
100
12
16
17
15
14
20
18
19
24
R19
VCELL
SR2 GND GND
9
13 11
bq29311
U2
PCHG
21
5K
5K
22
R17
R18
1MEG
R15
R14
1MEG
R16
1MEG
DSG
23
8765
VCC
Si4435DY
100
R22
C15
.047uF
C16
0.1uF
R24
100K
Q5
BSS84
R23
1MEG
C18
0.1uF
1
R25
100K
0.1uF
C17
C20
0.1uF
C21
0.1uF
1
C19
0.1uF
100K
R26
VCC
1
ROSC
1
3 1
C23
0.1uF
1
11
Display
SW1
19
38
2 4
30
1
GREEN
D3
25
24
23
22
21
20
18
36
16
15
3
2
32
34
100
R30
2
R29
33 113K .2%
C25
0.47uF
NC
VSSA
26
MRST
FILT
9
RBI
OC
12
SAFE
TS
10
SDATA
SMBC
6
SCLK
SMBD
7
NC
17
DISP
NC
35
CLKOUT
EVENT
28
SR1
LED5
27
SR2
LED4
4
NC
LED3
13
bq2085DBT
NC
LED2
5
U3
NC
LED1
37
NC
NC
29
VSSP
VSSD VSSD VSSD VSSA
VDDA
31
R28
10
R27
10
VCCD
VIN
1
0.47uF 8
14
2
C24
TP1
C22
.47uF
1
1
1
470
150pF
C27
R32
61.9K
100
R34
100
470
R36
100
R38
D4
AZ23C5V6
1
R37
61.9K
GREEN
D7
R35
2200pF
C26
R33
8.45K
GREEN
D5
R31
2
Q1
1
2
Si4435DY
470
R39
GREEN
D8
1M
R40
1M
R41
SMBD
SMBC
TG1
T1
C28
RT1
0.47uF
1
C8
1
2
www.ti.com
470
R42
2
X1
J1
bq2085
SLUS541 – OCTOBER 2002
APPLICATION INFORMATION
Figure 10. Typical bq2085 Implementation
53
PACKAGE OPTION ADDENDUM
www.ti.com
6-Feb-2020
PACKAGING INFORMATION
Orderable Device
Status
(1)
BQ2085DBT
ACTIVE
Package Type Package Pins Package
Drawing
Qty
TSSOP
DBT
38
50
Eco Plan
Lead/Ball Finish
MSL Peak Temp
(2)
(6)
(3)
Green (RoHS
& no Sb/Br)
NIPDAU
Level-2-260C-1 YEAR
Op Temp (°C)
Device Marking
(4/5)
-20 to 85
2085DBT
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
RoHS: TI defines "RoHS" to mean semiconductor products that are compliant with the current EU RoHS requirements for all 10 RoHS substances, including the requirement that RoHS substance
do not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, "RoHS" products are suitable for use in specified lead-free processes. TI may
reference these types of products as "Pb-Free".
RoHS Exempt: TI defines "RoHS Exempt" to mean products that contain lead but are compliant with EU RoHS pursuant to a specific EU RoHS exemption.
Green: TI defines "Green" to mean the content of Chlorine (Cl) and Bromine (Br) based flame retardants meet JS709B low halogen requirements of