Sbs 1.1-Compliant Gas Gauge Enabled With Impedancetrack™ Technology For Use With The Bq29312
Sbs 1.1-Compliant Gas Gauge Enabled With Impedancetrack™ Technology For Use With The Bq29312
Sbs 1.1-Compliant Gas Gauge Enabled With Impedancetrack™ Technology For Use With The Bq29312
www.ti.com
APPLICATIONS
Notebook PCs
Medical and Test Equipment
Portable Instrumentation
DESCRIPTION
The bq20z80 SBS-compliant gas gauge IC, incorporating patented ImpedanceTrack technology, is designed for battery-pack or in-system installation. The
bq20z80 measures and maintains an accurate record
of available charge in Li-ion or Li-polymer batteries
using its integrated high-performance analog peripherals. The bq20z80 monitors capacity change, battery
impedance, open circuit voltage, and other critical
parameters of the battery pack, and reports the
information to the system host controller over a
serial-communication bus. It is designed to work with
the bq29312 analog front-end (AFE) protection IC to
maximize functionality and safety, and minimize
component count and cost in smart battery circuits.
The ImpedanceTrack technology continuously
analyzes the battery impedance, resulting in superior
gas-gauging accuracy. This enables remaining capacity to be calculated with discharge rate, temperature, and cell aging all accounted for during each
stage of every cycle.
AVAILABLE OPTIONS
TA
PACKAGE
38-PIN TSSOP (DBT)
40C to 85C
(1)
bq20z80DBT (1)
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.
ImpedanceTrack is a trademark of Texas Instruments.
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testing of all parameters.
bq20z80
www.ti.com
These devices have limited built-in ESD protection. The leads should be shorted together or the device
placed in conductive foam during storage or handling to prevent electrostatic damage to the MOS gates.
TSSOP (DBT)
(TOP VIEW)
VIN
TS1
TS2
PU
/PRES
SCLK
NC
VDDD
RBI
SDATA
VSSD
/SAFE
NC
NC
SMBC
SMBD
/DISP
/PFIN
VSSD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
38
37
36
35
34
33
32
31
30
29
28
VSSD
NC
NC
CLKOUT
XCK1 / VSSA
XCK2 / ROSC
FILT
VDDA
VSSA
VSSA
27
SR1
SR2
26
25
24
23
22
21
20
MRST
XALERT
LED1
LED2
LED3
LED4
LED5
NC - No internal connection
TERMINAL FUNCTIONS
TERMINAL
NO.
(1)
(2)
2
NAME
I/O (1)
DESCRIPTION (2)
VIN
TS1
TS2
PU
PRES
Active low input to sense system insertion and typically requires additional ESD protection
SCLK
I/OD
NC
VDDD
RBI
Backup power to the bq20z80 data registers during periods of low operating voltage. RBI accepts a
storage capacitor or a battery input.
10
SDATA
I/O
12
SAFE
Active high output for additional level of safety protection; e.g., fuse blow.
13
NC
14
NC
15
SMBC
I/OD
SMBus clock open-drain bidirectional pin used to clock the data transfer to and from the bq20z80
16
SMBD
I/OD
SMBus data open-drain bidirectional pin used to transfer address and data to and from the bq20z80
17
DISP
Display control for the LEDs. This pin is typically connected to VCC via a 100k resistor and a
push-button switch to VSS.
18
PFIN
Active low input to detect secondary protector output status and allows the bq20z80 to report the
status of the 2nd level protection output
20
LED5
LED5 display segment that drives an external LED depending on the firmware configuration
I = Input, IA = Analog input, I/O = Input/output, I/OD = Input/Open-drain output, O = Output, OA = Analog output, P = power
VSS refers to the common mode of VSSA and VSSD.
bq20z80
www.ti.com
I/O (1)
DESCRIPTION (2)
NO.
NAME
21
LED4
LED4 display segment that drives an external LED depending on the firmware configuration
22
LED3
LED3 display segment that drives an external LED depending on the firmware configuration
23
LED2
LED2 display segment that drives an external LED depending on the firmware configuration
24
LED1
LED1 display segment that drives an external LED depending on the firmware configuration
25
XALERT
26
MRST
Master reset input that forces the device into reset when held high
27
SR2
IA
Connections for a small-value sense resistor to monitor the battery charge- and discharge-current flow
28
SR1
IA
Connections for a small-value sense resistor to monitor the battery charge- and discharge-current flow
31
VDDA
32
FILT
IA
Analog input connected to the external PLL filter components which are a 150-pF capacitor to VSS, in
parallel with a 61.9-k resistor and a 1200-pF capacitor in series. Place these components as close as
possible to the bq20z80 to ensure optimal performance.
33
XCK2/ROSC
32.768 kHz crystal oscillator output pin or connected to a 100k, 50ppm or better resistor if the internal
oscillator is used
34
XCK1/VSSA
32.768 kHz crystal oscillator input pin or connected to VSSA if the internal oscillator is used
35
CLKOUT
32.768-kHz output for the bq29312. This pin should be directly connected to the AFE.
36
NC
37
NC
11, 29
VSSD
19, 38
VSSD
29, 30
VSSA
VI relative to VSS
(2)
TA
Tstg
(1)
(2)
0.3 V to 4.1 V
0.3 V to 6 V
0.3 V to VDD + 0.3 V
40C to 85C
65C to 150C
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.
VSS refers to the common node of V(SSA) and V(SSD).
bq20z80
www.ti.com
ELECTRICAL CHARACTERISTICS
VDD = 3.0 V to 3.6 V, TA = 40C to 85C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
VDD
Supply voltage
IDD
No flash programming
I(SLP)
Sleep mode
VOL
IOL = 0.5 mA
MIN
TYP
MAX
3.0
3.3
3.6
350 (1)
V
A
8 (1)
A
0.4
LED1 LED5
IOL = 10 mA
VOH
IOH = 1 mA
VIL
0.3
0.8
DISP
VIH
UNIT
0.4
VDD 0.5
0.3
0.8
DISP
VCC + 0.3
CIN
Input Capacitance
V(AI1)
V(AI2)
Z(AI1)
0 V1.0 V
2.5
Z(AI2)
0 V1.0 V
(1)
pF
VSS 0.3
1.0
VSS 0.25
0.25
POWER-ON RESET
VDD = 3.0 V to 3.6 V, TA = 40C to 85C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
MIN
TYP
MAX
UNIT
2.1
2.3
2.5
VHYS
50
150
200
mV
MAX
UNIT
140
2.45
135
2.40
2.35
130
VIT-
125
2.30
2.25
120
115
Vhys
2.20
110
2.15
105
2.10
-20 -10
VIT
100
0
10 20 30 40 50 60 70 80
TA - Free-Air Temperature - C
V(SROS)
Input offset
INL
TEST CONDITIONS
VSR = V(SR2) V(SR1)
MIN
TYP
0.25
0.25
1
0.004%
V
V
0.019%
bq20z80
www.ti.com
Start-up time
TEST CONDITIONS
(1)
MIN
TYP
MAX
UNIT
The frequency error is measured from the trimmed frequency of the internal system clock which is 128 oscillator frequency, nominally
4.194 MHz.
OSCILLATOR
VDD = 3.0 V to 3.6 V, TA = 40C to 85C (unless otherwise noted)
PARAMETER
TEST CONDITIONS
ROSC = 100 k
f(exo)
f(sxo)
(1)
Start-up time
(1)
MIN
TYP
MAX
2%
0.25%
2%
1%
0.25%
0.25%
UNIT
1%
0.25%
ROSC = 100 k
250
200
ms
The start-up time is defined as the time it takes for the oscillator output frequency to be within 1% of the specified frequency.
TEST CONDITIONS
(1)
t(WORDPROG)
(1)
I(DDPROG)
(1)
(1)
MIN
TYP
MAX
(1)10
Data retention
UNIT
Years
20,000
Cycles
2
ms
15
mA
TYP
MAX
UNIT
10
100
nA
REGISTER BACKUP
VDD = 3.0 V to 3.6 V, TA = 40C to 85C (unless otherwise noted)
PARAMETER
I(RBI)
V(RBI)
(1)
TEST CONDITIONS
(1)
MIN
bq20z80
www.ti.com
TEST CONDITIONS
MIN
fSMB
fMAS
tBUF
4.7
tHD:STA
4.0
tSU:STA
4.7
tSU:STO
TYP
10
MAX
100
51.2
4.0
Receive mode
Transmit mode
300
tSU:DAT
tTIMEOUT
Error signal/detect
tLOW
tHIGH
tLOW:SEXT
(3)25
tLOW:MEXT
(4)10
tF
tR
ns
250
(1)25
35
4.7
(2)4.0
50
300
1000
ms
s
ms
ns
The bq20z80 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 The bq20z80 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.
kHz
tHD:DAT
(1)
(2)
(3)
(4)
UNIT
bq20z80
www.ti.com
FUNCTIONAL DESCRIPTION
OSCILLATOR FUNCTION
The oscillator of the bq20z80 can be set up for internal or external operation. On powerup, the bq20z80
automatically attempts to start the internal oscillator. If a 100-k resistor is not connected to ROSC (pin 33), then
it attempts to start the oscillator using an external 32.768-kHz crystal.
NOTE:
Install either the 100-k ROSC resistor or the 12-pF, 32.768-kHz crystal. Do not
install both.
The performance of the internal oscillator depends on the tolerance of the 100-k resistor between RSOC (pin
33) and VSSA (pin 34). Choose a resistor with a tolerance of 0.1%, and 50-ppm or better temperature drift.
Place this resistor as close as possible to the bq20z80. If a 12-pF crystal, is used, place it as close as possible to
the XCK1 (pin 34) and XCK2 (pin 33) pins. If not properly implemented, the PCB layout in this area can degrade
oscillator performance. 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), so the error
cancels out.
GENERAL OPERATION
The bq20z80 determines battery capacity by monitoring individual cell impedance, and the amount of charge
input or removed from a rechargeable battery. In addition to measuring impedance, charge, and discharge, the
bq20z80 measures individual cell voltages, pack voltage, temperature, and current using features of the bq29312
AFE device.
The bq20z80 measures charge/discharge activity by monitoring the voltage across a small-value series sense
resistor between the cell stack negative terminal and the negative terminal of the battery pack. The individual cell
impedance is measured using the open-circuit voltage (OCV), and the change of voltage vs change of coulombs
measured under load.
The bq20z80 interfaces with the bq29312 to perform battery protection, cell balancing, and voltage translation
functions. The bq20z80 can accept inputs of up to two identical NTC thermistors (default is Semitec 103AT) for
temperature measurement, or can also be configured to use its internal temperature sensor. The bq20z80 uses
temperature to monitor the battery-pack environment.
bq20z80
www.ti.com
TEMP1
TEMP0
bq20z80
www.ti.com
Gas Gauging
The bq20z80 ImpedanceTrack feature gas-gauges a 2-, 3-, or 4-series-cell Li-Ion battery by using open-circuit
voltage (OCV) when the system is in a relaxed state, and charge integration (coulomb counting) when the
system is under load. These measurements determine Chemical State of Charge (SOC) and Chemical Capacity
(Qmax). The initial DF.Qmax Pack, DF.Qmax Cell 1, DF.Qmax Cell2, DF.Qmax Cell3, and DF.Qmax Cell4
values are taken from the cell data sheet, and are also used for the SBS.DesignCapacity( ) value. The bq20z80
acquires and updates the battery-impedance profile during normal battery usage. It uses this profile, along with
SOC and the Qmax values, to determine SBS.FullChargeCapacity( ) (FCC) and SBS.RelativeStateOfCharge
(RSOC) specifically for the present load and temperature. SBS.FCC( ) is reported as capacity or energy available
from a fully charged battery under the present load and temperature until SBS.Voltage( ) reaches the
DF.Terminate Voltage.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
QMax Pack
Integer
0 to 60000
mAh
4400
Qmax Cell 1
Integer
0 to 60000
mAh
4400
Qmax Cell 2
Integer
0 to 60000
mAh
4400
Qmax Cell 3
Integer
0 to 60000
mAh
4400
Qmax Cell 4
Integer
0 to 60000
mAh
4400
SBS.FullChargeCapacity( ) Updating
The bq20z80 updates SBS.FCC( ) each time the resistance data is updatedup to 15 times through a full
discharge.
SBS.RemainingCapacity( ) and SBS.RemainingStateOfCharge( ) Updating
The bq20z80 updates SBS.RemainingCapacity( ) at one-second intervals as coulomb transfers are measured,
and updates SBS.RemainingStateOfCharge( ) each time SBS.FullChargeCapacity( ) or SBS.
RemainingCapacity( ) is updated. SBS.FullChargeCapacity( ) and SBS.RemainingCapacity( ) are smoothed to
prevent SBS.RemainingCapacity( ) from increasing during discharge, or from decreasing during charge.
SBS.RemainingCapacity( ) is also prevented from changing more than 1% over a period of DF.RSOC_STEP
seconds in either direction.
If DF.RSOC_STEP = 0, SBS.FullChargeCapacity( ) and SBS.RemainingCapacity( ) are not smoothed, and
SBS.RemainingCapacity( ) steps are not capped.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
RSOCSTEP
Integer
0 to 256
Seconds
COMPENSATION
LoadMode2
LoadMode1
Constant current
Constant power
Reserved
Reserved
bq20z80
www.ti.com
LoadMode
00
Constant Current
Constant Power
Constant Current
Constant Power
02
Constant Current
SBS.Current( )
Constant Power
03
Constant Current
SBS.AverageCurrent( )
Constant Power
04
Constant Current
SBS.DesignCapacity( ) / 5
Constant Power
SBS.DesignEnergy( ) / 5
05
Constant Current
SBS.AtRate( ) (mAh)
Constant Power
SBS.AtRate( ) (10mWh)
Constant Current
DF.UserDefinedCurrent
Constant Power
DF.UserDefinedCurrent x SBS.DesignVoltage( )
01
06
Load Compensation
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
TVT
Integer
0 to 20000
mV
3000
ResCap
Reserve Capacity
Integer
0 to 2000
mAh
250
10
bq20z80
www.ti.com
DESCRIPTION
TDASet
TDAClea
r
FDSet
FDClear
TCASet
TCAClea
r
95
FCSet
100
FCClear
98
(1)
(2)
FORMAT
Unsigned Char
VALID RANGE
0 to 101
SIZE (BYTES)
UNITS
DEFAULT VALUE
5
100
Setting to 101% prevents the TDA or FD flag from being set or cleared based on SBS.RelativeStateOfCharge( ).
Setting to 0% prevents the TCA or FC flag from being set or cleared based on SBS.RelativeStateOfCharge( ).
11
12
DF.TerminateVoltage = FD = 1
DF.Reserve Capacity
SBS.RSOC( ) = 0%
DF.FD_Clear
DF.TDA_Clear
Power Applied
DF.TerminateVoltage = FD = 1
(if required)
100%
RSOC%
DF.PreCharge Temperature
CV( ) = DF.ChargingVoltage
0A
2nd Tier Over Current in Charge = CHG +DSG FET OFF, TCA = 1
1st Tier Over Current in Charge = CHG +DSG FET OFF, TCA = 1
Pulse Charging
bq20z80
www.ti.com
Figure 1. Typical Charge Profile of Measured Parameters and the Associated FET and Flag States
0A
RSOC%
Safety Over Temperature in Discharge = All FETs OFF, TCA + TDA + OTA + PF = 1
DF.Reserve Capacity
SBS.RSOC( ) = 0%
DF.FD_Set
DF.TDA_Set
Pack Under Voltage = CHG FET OFF, ZVCHG FET ON, TCA = 1
Cell Under Voltage = CHG FET OFF, ZVCHG FET ON, TCA = 1
Over Temperature in Discharge = CHG and DSG FETs OFF, TDA + OTA = 1
www.ti.com
DF.TCA_Clear
DF.FC_Clear
rd
2
1st Tier Over Current in Discharge = CHG +DSG FET OFF, TDA = 1
2
nd
bq20z80
Figure 2. Typical Discharge Profile of Measured Parameters and the Associated FET and Flag States
13
bq20z80
www.ti.com
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
COV
Integer
3700 to 5000
COVR
Integer
0 to 5000
COVT
Integer
0 to 60
COVDELTA
Integer
0 to 200
mV
20
THYS
Integer
0 to 200
0.1oC
150
mV
s
4300
4150
2
Pack Overvoltage
The bq20z80 can disable charging by turning off the charge FET if the pack voltage is equal to or greater than
the DF.PackOverVoltage (POV) threshold for a period equal to or greater than DF.PackOverVoltageTime
(POVT). However, if POVT = 0, this feature is disabled.
During the period between when an excessive voltage is detected and the expiration of POVT, the POV bit in
SBS.SafetyAlert( ). If, during this period, the voltage falls below the POV threshold, this flag is cleared.
If POVT expires, the charge FET is turned off. The ZVCHG FET is also turned off if the
DF.OperationConfiguration, ZVCHGx bits are set appropriately. Also, when POVT expires,
SBS.ChargingCurrent( ) is set to 0, SBS.ChargingVoltage( ) is cleared, SBS.BatteryStatus( ) Terminate_Charge_Alarm is set, and the POV bit in SBS.SafetyStatus( ) is set.
14
bq20z80
www.ti.com
For the bq20z80 to fully recover from a pack overvoltage condition, SBS.Voltage( ) must be equal to or less than
the DF.PackOverVoltageRecovery (POVR) threshold. When this occurs, the charge FET is allowed to be turned
on only if other safety and configuration states permit. On recovery from a pack overvoltage condition,
SBS.BatteryStatus( ) Terminate_Charge_Alarm is reset, SBS.ChargingCurrent( ) and SBS.ChargingVoltage( )
are set to the appropriate value per the charging algorithm, and the POV bit in SBS.SafetyStatus( ) is reset.
However, when the bq20z80 has the POV bit set, the charge FET is turned on again while SBS.Current( ) is
reported to be less than or equal to the DF.DischargeDetectionThreshold (IDSG). No other flags change state
until the full recovery is reached. This prevents overheating the charge-FET body diode during discharge from an
overvoltage condition.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
POV
Integer
0 to 30000
POVR
Integer
0 to 30000
POVT
Integer
0 to 60
UNITS
mV
s
DEFAULT
VALUE
17500
16000
2
Cell Undervoltage
The bq20z80 can disable discharging by turning off the discharge FET if any cell voltage is equal to or less than
the DF.CellUnderVoltage (CUV) threshold for a period equal to or greater than DF.CellUnderVoltageTime
(CUVT). This feature is disabled if CUVT = 0.
During the period between the time when a low voltage is first detected and the expiration of CUVT, the CUV bit
in SBS.SafetyAlert( ) is set. If, during this period, the voltage falls below the CUV threshold, this flag is cleared.
If CUVT expires, the discharge FET is turned off and the ZVCHG FET is turned on if DF.OperationConfiguration,
ZVCHGx bits are set appropriately. Also, when CUVT expires SBS.ChargingCurrent( ) is cleared,
SBS.ChargingVoltage( ) is cleared, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is set, and the CUV bit in
SBS.SafetyStatus( ) is set.
For the bq20z80 to fully recover from a cell undervoltage condition all SBS.VCELLx( ) reports should be equal to
or greater than the DF.CellUnderVoltageRecovery (CUVR) threshold. When this occurs, the discharge FET is
allowed to be turned on only if other safety and configuration states permit. On recovery from an undervoltage
condition, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is reset, SBS.BatteryStatus( ) Fully_Discharged is
set, SBS.ChargingCurrent( ) and SBS.ChargingVoltage( ) are set to the appropriate value per the charging
algorithm, and the CUV bit in SBS.SafetyStatus( ) is reset.
However, when the bq20z80 has the CUV bit set, the discharge FET is turned on again as long as SBS.Current(
) is reported to be greater than or equal to the DF.ChargeDetectionThreshold (ICHG). No other flags change
state until full recovery is reached. This prevents overheating the discharge-FET body diode during charging from
an undervoltage condition.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
CUV
Integer
0 to 3500
CUVR
Integer
0 to 3600
CUVT
Integer
0 to 60
ICHG
Integer
0 to 2000
mA
60
mV
DEFAULT
VALUE
2800
3000
Pack Undervoltage
The bq20z80 can disable discharging by turning off the discharge FET if SBS.Voltage( ) is equal to or less than
the DF.PackUnderVoltage (PUV) threshold for a time period equal to or greater than DF.PackUnderVoltageTime
(PUVT). This feature is disabled if PUVT = 0.
During the period between the time when a low voltage is first detected and the expiration of PUVT, the PUV bit
in SBS.SafetyAlert( ) is set. If, during this period, the voltage falls below the PUV threshold, this flag is cleared.
If PUVT expires, the discharge FET is turned off and the ZVCHG FET is turned on if DF.OperationConfiguration,
ZVCHGx bits are set appropriately. Also when PUVT expires, SBS.ChargingCurrent( ) is cleared,
SBS.ChargingVoltage( ) is cleared, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is set, and the PUV bit in
SBS.SafetyStatus( ) is set.
15
bq20z80
www.ti.com
For the bq20z80 to fully recover from a pack undervoltage condition, SBS.Voltage( ) should be equal to or
greater than the DF.PackUnderVoltageRecovery (PUVR) threshold. When this occurs, the discharge FET is
allowed to be turned on only if other safety and configuration states permit. On recovery from a pack
undervoltage condition,SBS.BatteryStatus( ) Terminate_Discharge_Alarm is reset, SBS.BatteryStatus( )
Fully_Discharged is set, SBS.ChargingCurrent( ) and SBS.ChargingVoltage( ) are set to the appropriate value
per the charging algorithm, and the PUV bit in SBS.SafetyStatus( ) is reset.
However, when the bq20z80 has the PUV bit set, the discharge FET is turned on again, as long as SBS.Current(
) is reported to be greater than or equal to the DF.ChargeDetectionThreshold (ICHG). No other flags change
state until full recovery is reached. This prevents overheating the discharge-FET body diode during charging from
an undervoltage condition.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
PUV
Integer
0 to 16000
PUVR
Integer
0 to 16000
PUVT
Integer
0 to 60
UNITS
mV
s
DEFAULT
VALUE
11000
12000
2
DF TIME
FET
SBS.SAFETYALERT( ),
SBS.SAFETYSTATUS( )
AND DF.NRCONFIG
Tier-1
Charge
Overcurrent,Charge
(OCC)
CHG
OCC
Tier-2
Charge
Overcurrent, Charge 2
(OCC2)
CHG
OCC2
Tier-1
Discharge
Overcurrent, Discharge
(OCD)
DSG
OCD
DSG
OCD2
CHG,
DSG
AOCD (1)
Tier-2
Overcurrent, Discharge 2
Discharge
(OCD2)
Tier-3
Discharge
(1)
DF CLEAR
THRESHOLD
Overcurrent,
Charge Recovery
(OCC)
No SBS.SafetyAlert( ) flag
If the timer of any tier expires during charge, the charge FET is turned off and the ZVCHG FET is turned off if the
DF.OperationConfiguration, ZVCHGx bits are set appropriately. When this occurs, the AFE_Current_Fault timer
is started from 0, SBS. ChargingCurrent( ) is cleared, SBS.ChargingVoltage( ) is cleared, SBS.BatteryStatus( )
Terminate_Charge_Alarm is set, and the correct tier flag is set in SBS.SafetyStatus( ).
However, when the bq20z80 has either SBS.SafetyStatus( )OCC or OCC2 set, the charge FET is turned on
again, as long as SBS.Current( ) is reported to be less than or equal to the DF.DischargeDetectionThreshold
(IDSG). No other flags change state until full recovery is reached. This prevents overheating the charge-FET
body diode during discharge. This action is not affected by the state of the NR bit in DF.OperationConfiguration.
If the timer of either of the first two tiers expires during discharge, the discharge FET is turned off and the
ZVCHG FET is turned on if the DF.OperationConfiguration, ZVCHGx bits are set appropriately. When this occurs
the AFE_Current_Fault timer is started from 0, SBS.ChargingCurrent( ) is cleared, SBS.BatteryStatus(
)Terminate_Discharge_Alarm is set, and the correct tier flag is set in SBS.SafetyStatus( ).
16
bq20z80
www.ti.com
When the bq29312 detects a discharge-overcurrent fault, the charge and discharge FETs are turned off, the
EVENT pin of the bq20z80 is driven low, and the bq29312 is interrogated. When the bq20z80 identifies the
overcurrent condition, the AFE_Current_Fault timer is started from 0, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is set, SBS.ChargingCurrent( ) is cleared, and the AOCD bit in SBS.SafetyStatus( ) is set.
However, when the bq20z80 has SBS.SafetyStatus( )OCD, OCD2 or AOCD set, the FETs are turned on again,
as long as SBS.Current( ) is reported to be less than or equal to the DF.DischargeDetectionThreshold (IDSG).
No other flags change state until full recovery is reached. This prevents overheating the charge-FET body diode
during discharge. This action is not affected by the state of the NR bit in DF.OperationConfiguration.
The bq20z80 can individually configure each overcurrent-protection feature to recover via two different methods
based on the NR bit in DF.OperationConfiguration.
Standard Recovery, where DF.OperationConfiguration.NR = 0, and the overcurrent tier is selected in
DF.NRConfig. When the pack is removed and re-inserted the condition is cleared. Pack removal and re-insertion
is detected by a high-to-low transition on the PRES input. When the tier is not selected in DF.NRConfig, that
particular feature uses the Non-Removable Battery Mode recovery.
Non-Removable Battery Mode Recovery where DF.OperationConfiguration.NR = 1. The state of DF.NRConfig
has no consequence when DF.OperationConfiguration.NR = 1. This recovery requires SBS.AverageCurrent( ) to
be less than or equal to the respective recovery threshold, and for the AFE_Current_Fault timer to be equal to or
greater than DF.Current Recovery Time.
When a charge-fault recovery condition is detected, then the charge FET is allowed to be turned on, if other
safety and configuration states permit. , the ZVCHG FET is turned off if the DF.OperationConfiguration, ZVCHGx
bits are set appropriately, SBS.BatteryStatus( ) Terminate_Charge_Alarm is reset, SBS.ChargingCurrent( ) and
SBS.ChargingVoltage( ) are set to the appropriate value per the charging algorithm, and the appropriate
SBS.SafetyStatus( ) flag is reset.
When a discharge-fault recovery condition is detected, the discharge FET is allowed to be turned on if other
safety and configuration states permit. The ZVCHG FET is turned off if the DF.OperationConfiguration, ZVCHGx
bits are set appropriately, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is reset, SBS.ChargingCurrent( )
and SBS.ChargingVoltage( ) are set to the appropriate value per the charging algorithm, and the appropriate
SBS.SafetyStatus( ) flag is reset.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
OCC
0 to 20000
OCCR
0 to 2000
OCCT
0 to 60
UNITS
mA
s
DEFAULT
VALUE
4000
200
5
CRT
0 to 60
10
OCD
0 to 20000
mA
4000
OCDR
0 to 20000
mA
200
Integer
OCDT
0 to 60
OCC2
0 to 20000
mA
6000
OCC2T
0 to 60
OCD2
0 to 20000
mA
6000
2
OCD2T
0 to 60
AOCD
Hex
00 to 1f
AOCDR
Integer
0 to 500
mA
100
AOCDT
Hex
00 to 0f
bq20z80
www.ti.com
Short Circuit
FET
SBS.SAFETYSTATUS( )
AND DF.NRCONFIG
Charge
CHG
ASCC
Discharge
DSG
ASCD
DF CLEAR THRESHOLD
When the bq29312 detects a short circuit in charge (ASCC) or short circuit in discharge (ASCD) fault, the charge
and discharge FETs are turned off, the EVENT pin of the bq20z80 is driven low and the bq29312 is interrogated.
When the bq20z80 identifies the short-circuit condition, the AFE_Current_Fault timer is started from 0,
SBS.BatteryStatus( ) Terminate_Discharge_Alarm is set, SBS.ChargingCurrent( ) is cleared, and the ASCC or
ASCD bit in SBS.SafetyStatus( ) is set.
However, when the bq20z80 has SBS.SafetyStatus( ) SCC set, the CHG FET is turned on again, as long as
SBS.Current( ) is reported to be less than or equal to the DF.DischargeDetectionThreshold (IDSG). Also, when
the bq20z80 has SBS.SafetyStatus( ) SCD set, the DSG FET is turned on again, as long as SBS.Current( ) is
reported to be greater than or equal to DF.ChargeDetectionThreshold (ICHG). No other flags change state until
full recovery is reached. This prevents overheating of charge- or discharge-FET body diode during operation.
This action is not affected by the state of the NR bit in DF.OperationConfiguration.
Each bq20z80 short-circuit protection feature can be individually configured to recover via two different methods,
based on the NR bit in DF.OperationConfiguration.
Standard Recovery is where DF.OperationConfiguration.NR = 0 and the overcurrent tier is selected in
DF.NRConfig. When the pack is removed and re-inserted, the condition is cleared. Pack removal and re-insertion
is detected by transition on the PRES input from low to high to low. When the tier is not selected in
DF.NRConfig, that particular feature uses the Non-Removable Battery Mode recovery.
Non-Removable Battery Mode Recovery is where DF.OperationConfiguration.NR = 1. The state of
DF.NRConfig has no consequence when NR = 1. This recovery requires SBS.AverageCurrent( ) to be less than
or equal to the DF.ShortCircuitRecovery threshold and for the AFE_Current_Fault timer to be equal to or greater
than DF.Current Recovery Time.
When the recovery condition for a charge fault is detected, the charge FET is allowed to be turned on if other
safety and configuration states permit. The ZVCHG FET is turned off if the DF.OperationConfiguration, ZVCHGx
bits are set appropriately. When this occurs, SBS.BatteryStatus( ) Terminate_Charge_Alarm is reset,
SBS.ChargingCurrent( ) and SBS.ChargingVoltage( ) are set to the appropriate values per the charging
algorithm, and the appropriate SBS.SafetyStatus( ) flag is reset.
When the recovery condition for a discharge fault is detected, the discharge FET is allowed to be turned on if
other safety and configuration states permit, and the ZVCHG FET is turned on if the DF.OperationConfiguration,
ZVCHGx bits are set appropriately, SBS.BatteryStatus( ) Terminate_Discharge_Alarm is reset,
SBS.ChargingCurrent( ) and SBS.ChargingVoltage( ) are set to the appropriate value per the charging algorithm,
and the appropriate SBS.SafetyStatus( ) flag is reset.
LABEL
18
DESCRIPTION
FORMAT
VALID
RANGE
SCC
Hex
x0 to xf
SCCT
Hex
0x to fx
SCD
Hex
x0 to xf
SCDT
Hex
0x to fx
SCR
Integer
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
00
x0
0x
mA
bq20z80
www.ti.com
Over-Temperature Protection
The bq20z80 has over-temperature protection for both charge and discharge conditions. In either case, if
SBS.Temperature( ) is greater than or equal to the protection threshold for a period greater than or equal to the
protection delay time then action is taken. However, if the delay time is set to 0 then the feature is disabled.
DF THRESHOLD
DF TIME
FET
SBS.SAFETYALERT( )
SBS.SAFETYSTATUS( )
DF CLEAR
THRESHOLD
Charge
Over Temperature,
Charge (OTC)
Over Temperature,
Charge Time (OTCT)
CHG
OTC
Discharge
Over Temperature,
Discharge (OTD)
Over Temperature,
Discharge Time (OTDT)
DSG
OTD
During the period between detection of excessive temperature and the expiration of the timer, the respective
SBS.SafetyAlert( ) bit is set. If the timer expires or SBS.Temperature( ) returns within the normal operation range,
the SBS.SafetyAlert( ) bit is cleared.
If OTC becomes set and if DF.OperationConfiguration.OTFET is set, the CHG FET is turned off and the ZVCHG
FET turned off, if the DF.OperationConfiguration, ZVCHGx bits are set appropriatly. If OTD becomes set and if
DF.OperationConfiguration, OTFET is set, the DSG FET turns off. If the OTFET bit is cleared, no FET action is
taken. Also, SBS.BatteryStatus( ) Over_Temperature_Alarm is set, SBS.ChargingCurrent( ) is cleared,
SBS.ChargingVoltage( ) is cleared, SBS.BatteryStatus( ) Terminate_Charge_Alarm or SBS.BatteryStatus( )
Terminate_Discharge_Alarm is set, and the corresponding flag in SBS.SafetyStatus( ) is set.
However, when the bq20z80 has either SBS.SafetyStatus( ) OTC bit set, the CHG FET is turned on again, as
long as SBS.Current( ) is reported to be less than or equal to the DF.DischargeDetectionThreshold (IDSG). Also,
when the bq20z80 has SBS.SafetyStatus( ) OTD set, the DSG FET is turned on again, as long as SBS.Current( )
is reported to be less than or equal to the DF.ChargeDetectionThreshold (ICHG). No other flags change state
until full recovery is reached. This prevents overheating the respective FET's body diode during operation. This
action is not affected by the state of the NR bit in DF.OperationConfiguration.
For normal recovery to be achieved, SBS.Temperature( ) must be less than or equal to the respective
DF.OverTemperature Recovery in Charge or DF.OverTemperature Recovery in Discharge. When this occurs, the
FETs are returned to the normal operating state if applicable, SBS.BatteryStatus( ) Over_Temperature_Alarm is
cleared, SBS.BatteryStatus( ) Terminate_Charge_Alarm or SBS.BatteryStatus( ) Terminate_Discharge_Alarm is
cleared, SBS.ChargingCurrent( ) and SBS.ChargingVoltage( ) are set to the appropriate values per the charging
algorithm, and the appropriate SBS.SafetyStatus( ) flag is reset.
LABEL
DESCRIPTION
OTC
FORMAT
VALID
RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 to 1200
0.1C
550
OTCR
0 to 1200
0.1C
450
OTCT
0 to 60
ICHG
0 to 2000
mA
50
OTD
0 to 1200
0.1C
600
OTDT
0 to 30
OTDR
0 to 1200
0.1C
500
IDSG
0 to 2000
mA
50
Integer
AFE Watchdog
The bq29312 incorporates a watchdog feature that automatically turns off the FETs if the bq29312 does not
receive the appropriate frequency input on the WDI pin. The bq20z80 has no warning that this is about to
happen, but can report that it occurred, once the bq20z80 can next interrogate the bq29312.
When the EVENT input of the bq20z80 is triggered by the XALERT pin of the bq29312, the bq20z80 reads
AFE.STATUS and records the status to RAM for use by SBS.AFEData( ) and other data management functions.
If the WDF bit is set, the WDF bit in SBS.Safety Status( ) is set, and periodic verification of the bq29312 RAM is
undertaken. If 3 attempts of the periodic verification fail, the bq20z80 sets AFE_P of DF.PF_Status and enters
permanent failure. See Periodic AFE Verification for further details.
19
bq20z80
www.ti.com
If the periodic verification passes, the WDF flag in SBS.SafetyStatus is cleared and the FETs returned to normal
operation.
Host Watchdog
The bq20z80 can be configured to require the host system to communicate with the battery periodically, else the
battery disables charging and discharging. The Host Watchdog function is only active in Normal Power Mode and
is disabled if the timeout period is set to 0.
If the bq20z80 does not receive any valid SMBus communications for a period of time equal to or greater than
DF.Host Watchdog Timeout, the FETs are turned off, SBS.ChargingVoltage( ) = 0, SBS.ChargingCurrent( ) = 0,
SBS.BatteryStatus( ), TCA and TDA are set, and SBS.SafetyStatus( ) HWDG is set.
For normal recovery to be achieved, normal SMBus communications must be resumed. When this occurs, the
FETs are returned to the normal operating state, SBS.BatteryStatus( ) Terminate_Charge_Alarm and
SBS.BatteryStatus(
)
Terminate_Discharge_Alarm
are
cleared,
SBS.ChargingCurrent(
)
and
SBS.ChargingVoltage( ) are set to the appropriate value per the charging algorithm, and the HWDG
SBS.SafetyStatus( ) flag is reset.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
HWTO
Integer
0 to 240
10
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
PF_FLAG
Hex
0000 or 3672
0000
20
bq20z80
www.ti.com
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
PFINT
Integer
0 to 30
0 (4 typ)
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
SOV
Integer
0 to 20000
mV
18000
SOVT
Integer
0 to 30
0 (4 typ)
DESCRIPTION
SOCC
SOCD
SOCT
FORMAT
VALID RANGE
0 to 30000
Integer
0 to 30000
0 to 30
SIZE
(BYTES)
UNITS
mA
DEFAULT
VALUE
0 (10000 typ)
0 (10000 typ)
4
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
SOTC
0 to 1200
0.1C
650
SOTCT
0 to 30
0 (4 typ)
SOTD
0 to 1200
0.1C
750
SOTDT
0 to 30
0 (4 typ)
Integer
21
bq20z80
www.ti.com
DESCRIPTION
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
CIM
FORMAT
0 to 5000
mV
1000
CIMT
0 to 30
I_CIM
0 to 200
mA
BRT
0 to 240
0 (60 typ)
Integer
DESCRIPTION
FETF
FETFT
FORMAT
Integer
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
0 to 5000
mA
200
0 to 30
0 (2 typ)
DESCRIPTION
AFL
FCRT
22
FORMAT
Integer
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
0 to 255
counts
0 (2 typ)
0 to 255
20
bq20z80
www.ti.com
DESCRIPTION
ACT
PFCRT
FORMAT
VALID RANGE
Integer
0 to 255
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 (10 typ)
100
DESCRIPTION
FFT
FFL
FORMAT
Integer
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 to 30
0 (10 typ)
0 to 20
mA
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
DFCKS
DF Checksum
Integer
00000000 to ffffffff
UNITS
DEFAULT
VALUE
00
23
bq20z80
SLUS625B SEPTEMBER 2004 REVISED DECEMBER 2004
www.ti.com
COMMUNICATIONS
The bq20z80 uses SMBus 1.1 with Master Mode and PEC options per the SBS specification.
SMBus On and Off State
The bq20z80 detects an SMBus off state when SMBC and SMBD are logic-low for equal to or greater than 2
seconds. Clearing this state requires either SMBC or SMBD to transition high, and within 1 ms, the
communication bus is available.
Packet Error Checking
The bq20z80 can receive or transmit data with or without PEC.
In the read-word protocol, the bq20z80 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 bq20z80
compares the value to its calculation. If the PEC is correct, the bq20z80 responds with an ACKNOWLEDGE. If it
is not correct, the bq20z80 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
bq20z80. The bq20z80 then sends the PEC, and the host, acting as a master-receiver, generates a NOT
ACKNOWLEDGE and a stop condition.
Gas Gauge
24
bq20z80
www.ti.com
Gas Gauge
25
bq20z80
www.ti.com
DF Checksum: 0x0004, This function is only available when the bq20z80 is 'Unsealed', where
SBS.OperationStatus( ) SS = 0. A write to this command forces the bq20z80 to generate a
checksum of the static elements of the Data Flash (DF) array, write it to DF, and return the
generated checksum on a read. A Read returns the DF Checksum which is stored in DF.
NOTE:
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
FET1
FET0
PF1
PF0
STATE3
STATE2
STATE1
STATE0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
FET1, FET0 Indicated the state of the charge and discharge FETs
0,0
0,1
1,0
1,1
PF1, PF0
Fuse is blown
0,1
1,0
1,1
FET failure
STATE3, STATE2, STATE1, STATE0 Indicates battery state as defined in the State and Status bit Summary
Table 3. STATE Code for Manufacture Status
bq2084 STATE
26
Wakeup
SBS.OperationStatus( ) WAKE
Precharge
SBS.ChargingStatus( ) PCHG
Chargesusp
SBS.ChargingStatus( ) CHGSUSP
Terminatecharge
Normalcharge
SBS.ChargingStatus( ) FCHG
Provisionalcharge
SBS.ChargignStatus( ) XCHG
Normaldischarge
SBS.OperationStatus( ) DSG
bq20z80
www.ti.com
Battfail_chargeterminate
Battfail_afe_chg
SBS.SafetyStatus( ) SCC
Battfail_afe_dsg
Battfail_chg
Battfail_dsg
Removed
SBS.OperationStatus( ) PRES
Sleep
Permanent_failure
SBS.SafetyStatus( ) PF
Depleted_ac
Overheatdischarge
Overheatcharge
Battfail_overcharge
Battfail_lowtemp
(1) must be followed by (2). If the clear fails then (1) can only be re-sent after 4s since
the last communication in the failed attempt. If communication, other than the second
code, occurs after the first code is sent, the clear fails.
SAFE Activation: 0x0030 This function is only available when the bq20z80 is Unsealed, and drives the SAFE
pin high.
SAFE Clear: SAFE Clear 0x0031 This function is only available when the bq20z80 is Unsealed, and drives the
SAFE pin low, only if protection functions allow. This does not clear PF Mode.
LEDs ON: 0x0032 This function is only available when the bq20z80 isUnsealed, and activates all configured
LEDs and will stay ON.
LED's OFF: 0x0033 This function is only available when the bq20z80 is Unsealed, and deactivates all configured
LEDs.
Display ON: 0x0034 This function is only available when the bq20z80 is Unsealed, and activates the configured
LED display per the level of SBS.RemainingStateOfCharge( ). The display turns off per the normal
display conditions.
Calibration Mode: 0x0040 This function is only available when the bq20z80 is Unsealed, and places the
bq20z80 into calibration mode. See the Calibration and Test section of this specification for further
details.
bq20z80 Reset: 0x00041 This function is only available when the bq20z80 is Unsealed, and when written to the
bq20z80 undergoes a full reset.
27
bq20z80
www.ti.com
is
set
in
DF.Remaining
Capacity
Alarm.
If
If the ALARM_MODE bit is set in SBS.BatteryMode( ), the SBS.AlarmWarning( ) message is disabled for a set
period of time. See the SBS.BatteryMode( ) function for further information.
SBS.RemainingCapacityAlarm( ) may be expressed in terms of capacity (mAh) or power (10mWh), depending on
the setting of the CAPACITY_MODE bit in SBS.BatteryMode( ) (see SBS.BatteryMode( )).
BATTERY MODE
CAPACITY_MODE bit = 0
CAPACITY_MODE bit = 1
Units:
mAh at C/5
10mWh at P/5
Range:
0 to 65,535 mAh
0 to 65,535 10mWh
Granularity
not applicable
Accuracy
see RemainingCapacity( )
RemainingTimeAlarm( ) (0x02)
This read or write-word function sets or gets the Remaining Time Alarm unsigned integer value in minutes and
with a range of 0 to 65,535.
When the SBS.AverageTimeToEmpty( ) is less than SBS.RemainingTimeAlarm( ), the bq20z80 sends
SBS.AlarmWarning( ) messages to the SMBus Host with the REMAINING_TIME_ALARM (RTA) bit set. RTA is
cleared when SBS.RemainingTimeAlarm( ) is less than SBS.AverageTimeToEmpty( ), or when the
SBS.AverageTimeToEmpty( ) is increased by charging.
The default value of SBS.RemainingTimeAlarm( ) is set in DF.Remaining Time Alarm. If
SBS.RemainingTimeAlarm( ) is set to 0, the alarm is disabled. If the ALARM_MODE bit is set in
SBS.BatteryMode( ) then the SBS.AlarmWarning( ) message is disabled for a set period of time. See the
SBS.BatteryMode( ) function for further information.
BatteryMode( ) (0x03)
This read- or write-word function selects the various battery operational modes and reports the battery's
capabilities, modes, and flags minor conditions requiring attention.
28
bq20z80
www.ti.com
BatteryMode( )
bit7
High Byte
CapM
Low Byte
CF
bit6
bit5
bit4
bit3
bit2
bi1
bit0
ChgM
AM
RSVD
RSVD
RSVD
PB
CC
RSVD
RSVD
RSVD
RSVD
RSVD
PBS
ICC
The SBS.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 default state of SBS.BatteryMode( ) is stored in DF.Initial Battery Mode.
FIELD
FORMAT
ALLOWABLE VALUES
ICC = INTERNAL_CHARGE_CONTROLLER
Read Only
Fixed to 1
PBS = PRIMARY_BATTERY_SUPPORT
Read Only
Fixed to 0
CF = CONDITION_FLAG
Read Only
0 Battery OK
CC = CHARGE_CONTROLLER_ENABLED
Read/Write
PB = PRIMARY_BATTERY
Read/Write
AM = ALARM_MODE
Read/Write
Read/Write
CapM = CAPACITY_MODE
Read/Write
NOTE:
Because only CF, AM, ChgM and CapM are active; the remaining bits are not
described here. See the SBD specification for details on those bits.
CONDITION_FLAG: Indicates that the battery is requesting a conditioning cycle. Set by an increment of 20
counts in SBS.CycleCount( ) and cleared when SBS.FullChargeCapacity( ) has been updated.
ALARM_MODE: Disables the bq20z80's ability to master the SMBus and send SBS.AlarmWarning( ) messages
to the SMBus Host and the Smart Battery Charger.
When ALARM_MODE = 1, the bq20z80 does not master the SMBus, and SBS.AlarmWarning( )
messages are not sent to the SMBus Host and the Smart Battery Charger for a period of no more
than 65 seconds and no less than 45 seconds. The ALARM_MODE bit is automatically cleared by
the bq20z80 60 seconds after being set to 1.
When ALARM_MODE = 0 (default), the bq20z80 sends the SBS.AlarmWarning( ) messages to the
SMBus Host and the Smart Battery Charger any time an alarm condition is detected.
NOTE:
The system must poll the Smart Battery every 10 seconds, even when the system is
suspended, or while it is powered by AC if the ALARM_MODE bit is set.
CHARGER_MODE: Enables or disables the bq20z80's transmission of SBS.ChargingCurrent( ) and
SBS.ChargingVoltage( ) messages to the Smart Battery Charger.
When CHARGER_MODE = 1, the bq20z80 will NOT transmit SBS.ChargingCurrent( ) and
SBS.ChargingVoltage( ) values to the Smart Battery Charger.
When CHARGER_MODE = 0 (default), the bq20z80 transmits the SBS.ChargingCurrent( ) and
SBS.ChargingVoltage( ) values to the Smart Battery Charger when charging is desired.
29
bq20z80
www.ti.com
BIT = 0
BIT = 1
mA
10 mW
1 to 32,767 mA
1 to 32,767 10 mW
1 to 32,768 mA
1 to 32,768 10 mW
1 Unit
NA
AtRateTimeToFull( ) (0x05)
This read-word function returns an unsigned integer value of the predicted remaining time to fully charge the
battery at the AtRate( ) value in minutes, with a range of 0 to 65534. A value of 65,535 indicates that the
SBS.AtRate( ) = 0.
SBS.AtRateTimeToFull( ) can report time based on constant current (SBS.BatteryMode( ) CAPACITY = 0) or
constant power (SBS.BatteryMode( ) CAPACITY = 1), and updates within one second after the SMBus host sets
the AtRate value. The bq20z80 automatically updates SBS.AtRateTimeToFull( ) based on the SBS.AtRate( ) at
one-second intervals.
30
bq20z80
www.ti.com
AtRateTimeToEmpty( ) (0x06)
This read-word function returns an unsigned integer value of the predicted remaining operating time in minutes
with a range of 0 to 65534, if the battery is discharged at the SBS.AtRate( ) value. A value of 65,535 indicates
that SBS.AtRate( ) = 0.
SBS.AtRateTimeToEmpty( ) can report time based on constant current (SBS.BatteryMode( ) CAPACITY = 0), or
constant power (SBS.BatteryMode( ) CAPACITY = 1), and is updated within one second after the SMBus host
sets the SBS.AtRate( ) value. The bq20z80 automatically updates SBS.AtRateTimeToEmpty( ) based on the
SBS.AtRate( ) at one-second intervals.
AtRateOK( ) (0x07)
This read-word function returns a Boolean value that indicates whether or not the battery can deliver the
SBS.AtRate( )-value of additional energy for 10 seconds.
If SBS.AtRate( ) is greater than or equal to 0, the SBS.AtRateOK( ) function always returns OK (logic 1).
The bq20z80 updates SBS.AtRateOK( ) within one second after the SMBus host sets the SBS.AtRate( ) value.
The bq20z80 automatically updates SBS.AtRateOK( ) based on the SBS.AtRate( ) at one-second intervals.
Temperature( ) (0x08)
This read-word function returns an unsigned integer value of the temperature in units of 0.1K, as measured by
the bq20z80. It has a range of 0 to 6553.5K.
The source of the measured
DF.OperationConfiguration.
(1)
temperature
is
configured
by
the
TEMP0
TEMP1
TEMP0
and
TEMP1
bits
in
Voltage( ) (0x09)
This read-word function returns an unsigned integer value of the sum of the individual cell voltage measurements
in mV with a range of 0 to 20000mV.
Current( ) (0x0a)
This read-word function returns a signed integer value of the measured current being supplied (or accepted) by
the battery in mA, with a range of 32,768 to 32,767. A positive value indicates charge current and negative
indicates discharge.
NOTE:
31
bq20z80
www.ti.com
MaxError( ) (0x0c)
This read-word function returns an unsigned integer value of the expected margin of error, in %, in the
state-of-charge calculation with a range of 1 to 100%.
SBS.MaxError( ) is set to 100% on a full reset, and is updated by the following mechanism.
On SBS.FullChargeCapacity( ) and/or QMAX update, the SBS.MaxError( ) is set to 1%.
On ResistanceFactor update,
1. If MaxError( ) <= 7% then MaxError = 2% + MaxError_Adder
2. Else MaxError( ) = 10% + MaxError_Adder
Where the Internal counter MaxError_Adder is Incremented by 0.1% every cycle.
RelativeStateOfCharge( ) (0x0d)
This read-word function returns an unsigned integer value of the predicted remaining battery capacity expressed
as a percentage of SBS.FullChargeCapacity( ), in %, with a range of 0 to 100%.
AbsoluteStateOfCharge( )(0x0e)
This read-word function returns an unsigned integer value of the predicted remaining battery capacity expressed
as a percentage of SBS.DesignCapacity( ), in %, with a range of 0 to 100%. If SBS.BatteryMode( ) CAPACITY
bit is set then the predicted remaing capacity is a percentage of SBS.RemainingCapacity( ) /
(SBS.DesignCapacity( ) x SBS.DesignVoltage( )).
Note that AbsoluteStateOfCharge( ) can return values greater than 100%.
RemainingCapacity( ) (0x0f)
This read-word function returns an unsigned integer value of the predicted charge or energy remaining in the
battery. The SBS.RemainingCapacity( ) value is expressed in either charge or energy, depending on the setting
of the BatteryMode( ) CAPACITY_MODE bit.
BATTERY MODE()
CAPACITY_MODE
Units
Range
Granularity
Accuracy
CAPACITY_MODE
BIT = 0
BIT = 1
mAh
10 mWh
065,535mAh
065,535 10 mWh
mAh
10 mWh
0, +MaxError()
FullCharageCapacity()
FullChargeCapacity( ) (0x10)
This read-word function returns an unsigned integer value of the predicted pack capacity when it is fully charged.
SBS.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.
BATTERY MODE()
CAPACITY_MODE
Units
Range
Granularity
Accuracy
CAPACITY_MODE
BIT = 0
BIT = 1
mAh
10 mWh
065,535mAh
065,535 10 mWh
mAh
10 mWh
-0, +MaxError()
FullCharageCapacity()
RunTimeToEmpty( ) (0x11)
This read-word function returns an unsigned integer value of the predicted remaining battery life at the present
rate of discharge, in minutes, with a range of 0 to 65,534 min. A value of 65,535 indicates battery is not being
discharged.
32
bq20z80
www.ti.com
SBS.RunTimeToEmpty( ) is calculated and updated based on current or power, depending on the setting of the
SBS.BatteryMode( ) CAPACITY_MODE bit.
AverageTimeToEmpty( ) (0x12)
This read-word function returns an unsigned integer value of predicted remaining battery life, in minutes, based
upon SBS.AverageCurrent( ) with a range of 0 to 65534. A value of 65,535 indicates that the battery is not being
discharged.
AverageTimeToEmpty( ) is calculated based on current or power, depending on the setting of the BatteryMode( )
CAPACITY_MODE bit.
AverageTimeToFull( ) (0x13)
This read-word function returns an unsigned integer value of predicted remaining time until the battery reaches
full charge, in minutes, based on SBS.AverageCurrent( ) with a range of 0 to 65,535. A value of 65,534 indicates
that the battery is not being charged.
ChargingCurrent( ) (0x14)
This read-word function returns an unsigned integer value of the desired charging rate, in mA, with a range of 0
to 65,535. A value of 65,535 indicates that a charger should operate as a voltage source outside its maximum
regulated current range.
See Section 12, Section 5, and Section 6 sections of this data sheet for further details.
ChargingVoltage( ) (0x15)
This read-word function returns an unsigned integer value of the desired charging voltage, in mV, where the
range is 0 to 65,534. A value of 65,535 indicates that the charger should operate as a current source outside its
maximum regulated voltage range.
Please review the charging and safety features of the bq20z80 for further information on this command..
BatteryStatus( ) (0x16)
This read-word function returns the status of the bq20z80-based battery.
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 SBS.BatteryMode( )
CAPACITY_MODE bit.
BatteryMode( )
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
Low Byte
OCA
TCA
RSVD
OTA
TDA
RSVD
RCA
RTA
INIT
DSB
FC
FD
Error Codes
ERROR CODES
OCA = Over_Charge_Alarm
0x7
Unknown Error
TCA = Terminate_Charge_Alarm
0x6
Bad Size
OTA = Over_Temperature_Alarm
0x5
Overflow/Underflow
TDA = Terminate_Discharge_Alarm
0x4
Access Denied
RCA = Remaining_Capacity_Alarm
0x3
Unsupported Command
RTA = Remaining_Time_Alarm
0x2
Reserved Command
INIT = Initialized
0x1
Busy
DSG = Discharging
0x0
OK
FC = Fully_Charged
FD = Fully_Discharged
33
bq20z80
www.ti.com
Alarm Bits
OVER_CHARGED_ALARM: See Overcharge in the Primary Protection section of this data sheet.
TERMINATE_CHARGE_ALARM: See 'Primary Charge Termination' in the 'Charging', 'Primary Protection
Features' and 'Secondary Protection Features' sections of this data sheet
OVER_TEMP_ALARM: See 'Over Temperature' functions in the 'Primary Protection Features' and 'Secondary
Protection Features' of this data sheet.
TERMINATE_DISCHARGE_ALARM: See the 'Primary Protection Features' and 'Secondary Protection Features' sections of this data sheet.
REMAINING_CAPACITY_ALARM: See SBS.RemainingCapacityAlarm( ) section of the datasheet.
REMAINING_TIME_ALARM: See SBS.RemainigTimeAlarm( ) section of the datasheet.
Status Bits
INITIALIZED: Set when a valid load of data flash at full or partial reset has occurred. It is cleared when an
improper data flash load is detected.
DISCHARGING: Set when SBS.Current( ) > 0 and is reset when SBS.Current( ) = 0.
FULLY_CHARGED: See 'Primary Charge Termination' and 'Over Charge' functions in the 'Charging' and
'Primary Protection Features' and 'Secondary Protection Features' sections of this data sheet
respectively.
FULLY_DISCHARGED: Is set when (SBS.Voltage( ) = DF.Terminate Voltage AND SBS.Current( ) < DF.Over
Current in Discharge (OCD) threshold), OR when SBS.RelativeStateOfCharge( ) < FD_Set %.
This bit is cleared when SBS.RelativeStateOfCharge( ) is greater than or equal to FD_Clear%.
ERRORS CODES
OK
DESCRIPTION
The bq20z80 processed the function code with no errors detected.
Busy
Reserved
The bq20z80 detected an attempt to read or write to a function code reserved by this version of the specification.
The bq20z80 detected an attempt to access an unsupported optional manufacturer function code.
Unsupported
The bq20z80 does not support this function code as defined in this version of the specification.
AccessDenied
Over/Underflow
BadSize
The bq20z80 detected an attempt to write to a function code with an incorrect data block.
UnknownError
CycleCount( )(0x17)
This read-word function returns, as an unsigned integer value, the number of cycles the battery has experienced,
with a range of 0 to 65,534. The default value of SBS.CycleCount( ) is stored in DF.Cycle Count (CCNT) which is
updated each time SBS.CycleCount( ) increments.
If DF.Operation Configuration CCT = 0, one cycle = accumulated discharge = DF.Cycle Count Threshold.
If DF.Operation Configuration CCT = 1, one cycle = accumulated discharge = DF.Cycle Count
%SBS.FullChargeCapacity( ).
34
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
3800
CCT
Unsigned Int
0 to 65534
mAh
CCnt
Cycle Count
Unsigned Int
0 to 65534
Counts
CC%
Unsigned Int
0 to 100
90
bq20z80
www.ti.com
DesignCapacity( ) (0x18)
This read-word function returns, as an unsigned integer value, the theoretical or nominal capacity of a new pack,
stored in DF.Design Capacity or DF.Design Power.
The SBS.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.
BATTERY MODE()
CAPACITY_MODE
CAPACITY_MODE
BIT = 0
BIT = 1
mAh
10 mWh
Range
065,535mAh
065,535 10 mWh
Granularity
Not applicable
Not applicable
Accuracy
Not applicable
Not applicable
Design Capacity
Design Power
Units
Default
DesignVoltage( ) (0x19)
This read-word function returns an unsigned integer value of the theoretical voltage of a new pack, in mV, with a
range of 0 to 65,534. The default value of SBS.DesignVoltage( ) is in DF.Design Voltage.
SpecificationInfo( ) (0x1a)
This read-word function returns, as an unsigned integer value, the version number of the Smart Battery
Specification the battery pack supports, as well as voltage- and current-scaling information.
Power scaling is the product of the voltage scaling times the current scaling. The SBS.SpecificationInfo( ) is
packed in the following fashion:
SpecID_H 0x10 + SpecID_L) + (VScale + IPScale 0x10) 0x100
VScale (voltage scaling) and IPScale (current scaling) should always be set to zero. The default setting of
SBS.SpecificationInfo( ) is in DF.Specification Information.
FIELD
BITS USED
FORMAT
ALLOWABLE VALUES
015
SpecID_L
0...3
SpecID_H
4...7
015
VScale
8...11
IPScale
12...15
ManufactureDate( ) (0x1b)
This read-word function returns the date the pack was manufactured in a packed integer. The date is packed in
the following fashion:
(year-1980) 512 + month 32 + day
The default SBS.ManufactureDate( ) is in Data Flash Manufacture Date.
FIELD
BITS USED
FORMAT
ALLOWABLE VALUES
Daty
0...4
Month
5...8
Year
9...15
SerialNumber( ) (0x1c)
This read-word function is used to return an unsigned integer serial number. The default value of
SBS.SerialNumber( ) is in DF.Serial Number.
ManufacturerName( ) (0x20)
This read-block function returns a character string containing the battery manufacturer's name with a maximum
length of 11 characters (11 Data + length byte).
35
bq20z80
www.ti.com
The default setting of SBS.ManufacturerName( ) is in DF.Manufacturer Name. When the bq20z80 is in Unsealed
or higher security mode, this block is R/W.
DeviceName( ) (0x21)
This read-block function returns a character string that contains the battery name with a maximum length of 7
characters (7 Data + length byte).
The default setting of SBS.DeviceName( ) is in DF.Device Name. When the bq20z80 is in Unsealed or higher
security mode, this block is R/W.
DeviceChemistry( ) (0x22)
This read-block function returns a character string that contains the battery chemistry with a maximum length of 4
characters (4 Data + length byte).
The default setting of SBS.DeviceChemistry( ) is in DF.Device Chemistry although it has no use for internal
charge control or fuel gauging. When the bq20z80 is in Unsealed or higher security mode, this block is R/W.
ManufacturerData( ) (0x23)
This read-block function returns several configuration data flash elements with a maximum length of 31 Data + 1
length byte (stored in Manufacturer Data Length) where the total bytes, including length byte, cannot exceed 32
bytes. When the bq20z80 is in Unsealed or higher security mode, this block is R/W.
The data available is:
MANUFACTURING DATA
Lot Code of Pack
2-bytes
2-bytes
Firmware Version
1-byte
Hardware Revision
1-byte
Cell Revision
2-bytes
Count
1-byte
Count
1-byte
Count
1-byte
Check Sum
Number
1-byte
SYSTEM DATA
36
sets
the
32-byte
block
number
for
bq20z80
RAM
to
be
read
by
bq20z80
www.ti.com
AFEData( ) (0x45)
This read-block function returns the AFE memory map, beginning with AFE.0x00 as the MSB returned with a
maximum length of 9 data bytes + 1 length byte.
FETControl( ) (0x46)
This write/read-word function allows direct control of the FETs for test purposes using SMBus commands.
1. Bit 0, 5 & 6 = Reserved
2. Bit 1 = DSG, Discharge FET
3. Bit 2 = CHG, Charge FET
4. Bit 3 = ZVCHG, Zero-Volt Charge (Precharge) FET
5. Bit 4 = OD, General Purpose Open Drain output
6. Bit 7 = CNTL, Control bit for allowing FET override control by normal operation
When the bit is set, the FET is turned on. When the bit is cleared, the FET is turned off.
When CNTL = 1, all gas-gauge-based FET operations are overridden when an SBS.FETControl( ) command is
received. When CNTL = 0, if normal gas-gauge operation requires a FET to change state, it is allowed.
NOTE:
If an AFE condition requires a FET to turn off, the settings in this command are
ignored regardless of the state of CNTL.
SafetyAlert( ) (0x50)
This read-word function returns indications of pending safety issues, such as when safety timers have started, or
fail counters are non-zero but have not reached the required time or value to trigger an SBS.SafetyStatus( )
change. The bit arrangement follows that of SBS.SafetyStatus( ). See the SBS.SafetyStatus( ) and Primary
Protection Features sections of the data sheet for further details.
SafetyStatus( ) (0x51)
This read-word function returns the current status of the safety functions.
BatteryMode( )
bit7
bit6
bit5
High Byte
Low Byte
bit4
bit3
OTD
OTC
CUV
COV
OCD
OCC
OCD2
PF
HWDG
bit2
bi1
bit0
OCC2
PUV
POV
AOCD
SCC
SCD
SCD
PUV
SCC
OCC2
AOCD
OCD2
HWDG
OCC
PF
OCD
COV
OTC
CUV
OTD
POV
PFAlert( ) (0x52)
This read-word function returns indications of pending permanent failure issues, such as when safety timers have
started, or fail counters are non-zero, but have not reached the required time or value to trigger a DF.Permanent
Failure Status change. The bit arrangement follows that of SBS.PFStatus( ). See the SBS.PFStatus( ) and
Secondary Protection Features sections of the data sheet for further details.
37
bq20z80
www.ti.com
PFStatus( ) (0x53)
The permanent failure status register indicates the source of the bq20z80 permanent-failure condition. The bit
arrangement follows that of DF.PFStatus. See the DF.PFStatus and Secondary Protection Features sections of
the data sheet for further details.
When any NEW cause of PF is detected in SBS.PFStatus( ), the NEW cause is added to DF.PLFlag1. This
allows DF.PFlag1 to show ALL of the different PF conditions that have occurred. On the first occasion of
SBS.PFStatus( ) changing from 0x00 the value is stored to DF.PFFlag2.
OperationStatus( ) (0x54)
This read-word function returns the current status of the operation status of the bq20z80.
BatteryMode( )
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
PRES
FA
SS
Load Mode
Low Byte
WAKE
DSG
XDSG
XDSGI
XDSGT
XDSGV
VOK
QEN
QEN
VOK
XDSGV
XDSGI
XDSGT
XDSG
1 = Discharge fault
DSG
WAKE
LoadMode
CSV
SS
1 = Sealed mode
FA
PRES
ChargingStatus( ) (0x55)
This read-word function returns the current status of the charging functions.
ChargingStatus( )
bit7
bit6
bit5
High Byte
XCHG
CHGSUSP
PCHG
Low Byte
PULSEOFF
CB
PCMTO
bit4
bit3
bit2
bi1
MCHG
TCHG2
TCHG1
FCHG
PULSE
FCMTO
OCHGV
OCHGI
OC
XCHGLV
PCMTO
FCMTO
XCHGLV
1 = Battery is depleted
OC
1 = Overcharge fault
OCHGI
OCHGV
CB
MCHG
1 = Maintenance-charging in progress
TCHG
38
bit0
bq20z80
www.ti.com
Pulse
CHGSUSP
1 = Charging suspended
FCHG
PCHG
1 = Pre-charging in progress
XCHG
1 = Charging disabled
ResetData( ) (0x57)
This read-word function returns the data stored in DF.Reset Counter - Partial in the low byte and DF.Reset
Counter - Full in the high byte.
ResetData( ) (0x58)
This read-word function returns the data stored in DF.Reset Counter - Watchdog in the low byte.
FlashWriteData( ) (0x59)
This read-word function returns the number of data flash writes than have occured in the lifetime of the device.
PackVoltage( ) (0x5a)
This read-word function returns an unsigned integer representing the measured voltage from the AFE Pack pin,
in mV, with a range of 0 to 65,534.
UnSealKey( ) (0x60)
This read/write block (2-words) command allows to the user to change the Unseal key for the
Sealed-to-Unsealed security-state transition. This function is only available when the bq20z80 is in the
Full-Access Mode.
FullAccessKey( ) (0x61)
This read/write block (2-words) command allows the user to change the Full-Access security key for the
Unsealed-to-Full-Access security-state transition. This function is only available when the bq20z80 is in the
Full-Access Mode.
PFKey( ) (0x62)
This read/write block (2-words) command allows to the user to change the Permanent-Failure-Clear key. This
function is only available when the bq20z80 is in the Full Access Mode.
ManufacturerInfo( ) (0x70)
This read-block function returns the data stored in DF.Manufacturer Info 18, where Manufacturer Info 1 is the
MSB with a maximum length of 8 data + 1 length byte. When the bq20z80 is in Unsealed or higher security
mode, this block is R/W.
DataFlashClass( ) (0x77)
This write word command sets the bq20z80 data flash Class that is to be accessed by the
SBS.DataFlashSubClass( ) commands that follow. These commands only allow access to the data flash
locations that are not reserved (or private) within the respective labeled class. See 'Data Flash Access' for further
details.
A NACK is returned to the SBS.DataFlashClass( ) command if the value of the class is outside of the allowed
range. The classes are defined in the 'Data Flash' section of this data sheet.
DataFlashSubClass( ) Commands
These commands are used to access the consecutive 32-byte subclasses of each class.
39
bq20z80
www.ti.com
NOTE:
Any DF location deemed Reserved or Private responds with a NACK unless the
bq20z80 is in the correct security state to allow access.
DataFlashClassSubClass1( ) (0x78)
DataFlashClassSubClass5( ) (0x7c)
DataFlashClassSubClass2( ) (0x79)
DataFlashClassSubClass6( ) (0x7d)
DataFlashClassSubClass3( ) (0x7a)
DataFlashClassSubClass7( ) (0x7e)
DataFlashClassSubClass4( ) (0x7b)
DataFlashClassSubClass8( ) (0x7f)
DATA FLASH
Data Flash can only be updated if SBS.Voltage( ) = DF.Valid Update Voltage. In this case, the flash update is
cancelled. Data flash reads and writes are verified according to the method detailed in the 'Primary Protection
Features' section of this data sheet.
Access
In different security modes, the data flash access conditions change, based on the Public or Private (reserved)
status of that location. See SBS.ManufacturerAccess( ) for further details.
SECURITY MODE
DF PUBLIC ACCESS
DF PRIVATE ACCESS
BootROM
N/A
N/A
Full Access
R/W
R/W
Unsealed
R/W
Sealed
N/A
bit7
bit6
bit5
bit4
bit3
bit2
High Byte
LEDR
LEDRCA
CHGLED
Low Byte
MAC2
MAC1
SLEEP
bi1
bit0
DMODE
LED1
LED0
CC1
CC0
TEMP1
TEMP0
ZVCHG1
ZVCHG0
The Operation Configuration bits enable, disable and configure various features of the bq20z80.
ZVCHG0, ZVCHG1 These bits enable or disable the use of ZVCHG or CHG FET for Zero-Volt/Pre-charge
modes.
ZVCHG1
ZVCHG0
FET USED
ZVCHG
CHG
OD
No Action
TEMP0, TEMP1 These bits select the measurement source used for SBS.Temperature( ).
SLEEP
40
TEMP1
TEMP0
TEMPERATURE() SOURCE
1=
bq20z80
www.ti.com
CC0, CC1
These bits configure the bq20z80 for the number of series cells in the battery stack.
MAC1, MAC2 These bits configure the SBS.ManufacturerAccess( ) function for multiple data options, but only
00 options exist today and should not be changed. Other combinations are reserved for future use.
CC1
CC0
# OF SERIES CELLS
Reserved
LED0, LED1
These bits configure the number of LEDs used in the LED Display.
DMODE
LED1
LED0
# OF LED'S USED
CHGLED
LEDR
BCAST
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
RESCAP
CHGTERM
CCT
Low Byte
CHGSUSP
DSGOT
CHGFET
CHGIN
NR
CPE
HPE
BCAST
This bit enables or disables SBS broadcasts to smart charger and host.
0 = Broadcast to host and charger enabled
1 = Broadcast to host and charger disabled
HPE
This bit enables or 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
41
bq20z80
SLUS625B SEPTEMBER 2004 REVISED DECEMBER 2004
CPE
www.ti.com
This bit enables or disables PEC transmissions to the smart-battery charger for master-mode alarm
messages.
0 = No PEC byte on alarm warning to charger
1 = PEC byte on alarm warning to charger
NR
CHGIN
This bit can set enable the CHG FET (and ZVCHG FET if used) to turn off when the bq20z80 is in
charge-inhibit mode.
0 = No FET change in charge-inhibit mode
1 = Charge and ZVCHG, if used, turn off in charge-inhibit mode
CHGFET
This bit enables or disables the CHG FET from reacting to a valid charge termination.
0 = CHG FET stays on at charge termination
1 = CHG FET turns off at charge termination
OTFET
This bit enables or disables FET actions from reacting to an Over Temperature Fault.
0 = There is NO opposite FET action when an Over Temperature condition is detected
1 = There is opposite FET action when an Over Temperature condition is detected
CHGSUSP
This bit can enable the CHG FET (and ZVCHG FET if used) to turn off when the bq20z80 is in
Charge Suspend mode.
0 = No FET change in Charge Suspend mode
1 = Charge and ZVCHG, if used, turns off in Charge Suspend mode
CCT
CHGTERM This bit enables or disables TCA and FC to be cleared after charger termination confirmed.
0 = SBS.BatteryStatus( ) TCA and FC bits are not cleared by charge termination confirmation, but
are cleared by other means.
1 = SBS.BatteryStatus( ) TCA and FC bits are cleared by charge termination confirmation, or by
other means.
RESCAP
42
bq20z80
www.ti.com
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
OCD
OCC
OCD2
OCC2
Low Byte
OC
AOCD
SCC
SCD
The NR_Config bits enable the current and charge protection recovery features to be treated differently based on
the DF.Operation Configuration, NR bit. The individual features indicate the recovery options available.
SCD
Short Circuit, Discharge can be configured to have additional recovery mechanisms depending on
DF.Operation Configuration, NR.
SCC
Short Circuit, Charge can be configured to have additional recovery mechanisms depending on
DF.Operation Configuration, NR.
AOCD
AFE Overcurrent, Discharge can be configured to have additional recovery mechanisms depending
on DF.Operation Configuration, NR.
OC
OCC2
Tier-2 Overcurrent, Charge can be configured to have additional recovery mechanisms depending
on DF.Operation Configuration.
OCD2
OCC
OCD
43
bq20z80
www.ti.com
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
FBF
SOCD
SOCC
AFE_P
AFE_C
Low Byte
DFF
DFETF
CFETF
CIM
SOTD
SOTC
SOV
PFIN
PFIN
SOV
SOTC
SOTD
CIM
CFETF
DFETF
DFF
AFE_C
AFE_P
SOCC
SOCD
FBF
Set when the fuse has not cut off current, even though the output has been driven low
bit7
bit6
bit5
bit4
bit3
bit2
bi1
bit0
High Byte
XSOCD
XSOCC
XAFE_P
XAFE_C
Low Byte
XDFF
XDFETF
XCFETF
XCIM
XSOTD
XSOTC
XSOV
XPFIN
If corresponding DF.PF_Status AND DF.PermanentFailureConfiguration bits are set (1), the output is driven and
latched low. This does not include the FBF bit of DF.PermanentFailure Status.
Lifetime Data
Lifetime Maximum Temperature: This data flash value is updated if the current SBS.Temperature( ) is > the
current Lifetime Maximum Temperature value for a time greater than Lifetime Update Time (LTUT),
OR an increment greater than Lifetime Temperature Delta (LTTD).
Lifetime Minimum Temperature: This data flash value is updated if the current SBS.Temperature( ) is < the
current Lifetime Minimum Temperature value for a time greater than LTUT, OR an increment
greater than Lifetime Temperature Delta (LTTD).
Lifetime Average Temperature: If SBS.Temperature( )NEW + LTTD = SBS.Temperature( )OLD =
SBS.Temperature( )NEW - LTTD. Then, the Lifetime Average Temperature is updated. The
average is calculated as a simple average of all the valid temperature readings.
Lifetime Maximum Discharge Current: This data flash value is updated if the current SBS.AverageCurrent ( )
is greater than the current Lifetime Maximum Discharge Current value, and SBS.AverageCurrent( )
is negative (discharge) for a time greater than LTUT, OR an increment greater than Lifetime
Current Delta (LTCD).
Lifetime Maximum Charge Current: This data flash value is updated if the current SBS.AverageCurrent( ) is
greater than the current Lifetime Maximum Charge Current value, and SBS.AverageCurrent( ) is
positive (charge) for a time greater than LTUT, OR an increment greater than LTCD.
44
bq20z80
www.ti.com
Lifetime Maximum Battery Voltage: This data flash value is updated if the current SBS.Voltage( ) is greater
than the current Lifetime Maximum Battery Voltage value for a time greater than LTUT, OR an
increment greater than Lifetime Battery Voltage Delta (LTBVD).
Lifetime Minimum Battery Voltage: This data flash value is updated if the current SBS.Voltage( ) is less than
the current Lifetime Minimum Battery Voltage value for a time greater than LTUT, OR an increment
greater than LTBVD.
Lifetime Maximum Cell Voltage: This data flash value is updated if any SBS.VCELLx( ) is greater than the
current Lifetime Maximum Cell Voltage value for a time greater than LTUT, OR an increment
greater than Lifetime Cell Voltage Delta (LTCVD).
Lifetime Minimum Cell Voltage: This data flash value is updated if the current SBS.VCELLx( ) is less than the
current Lifetime Minimum Cell Voltage value for a time greater than LTUT, OR an increment greater
than LTCVD.
Lifetime Maximum Power: This data flash value is updated when DF.SBSAveragePower( ) is greater than the
current Lifetime Maximum Power value for a time greater than LTUT, OR an increment greater than
Lifetime Max Power Delta (LTMPD).
When the Life Time Update Time expires then ALL Life Time data is updated to data flash.
LABEL
DESCRIPTION
FORMAT
LTMaxT
Unsigned Int
LTMinT
LTAveT
Signed Int
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 to 1400
-600 to 1400
0.1C
-600 to 1400
LTMaxDSG
0 to 65345
LTMaxCHG
0 to 65345
LTMaxV
0 to 65345
LTMinV
0 to 65345
LTMaxCV
0 to 65345
LTMinCV
LTMP
mA
2
0
mV
0 to 65345
Unsigned Int
0 to 65345
10mWh
LTUT
0 to 60
10
LTTD
0 to 200
0.1C
50
LTCD
0 to 200
mA
50
200
LTBVD
0 to 2000
mv
LTCVD
0 to 200
mV
50
LTMPD
0 to 256
10mWh
200
45
bq20z80
www.ti.com
CHARGE CONTROL
Figure 5 shows the charge algorithm by mode.
Charger Detected
NO
Is T( ) valid to
begin charge?
NO
YES
NO
Is T( ) outside
of Suspend
range?
YES
Is T( ) valid
to begin Fast
Charge?
YES
NO
Is V( ) valid
to begin Fast
Charge?
YES
Set State to Fast Charge
CC( ) = FC, FCHG = 1
Is T( ) outside
of Suspend
range?
NO
YES
Is T( ) in
Throttle Middle
Range?
NO
Notes:
1) If ANY safety function activation is
detected then charging mode is exited
regardless of state.
NO
Set CC( ) = PC
FCHG = TCHG = 1
YES
Is T( ) in
Throttle High
Range?
3) If DF.OperationConfiguration, NR =
0 AND /PRES is detected high then
charging mode is exited regardless of
state
YES
NO
Is V( ) valid
to continue
Fast Charge?
YES
NO
YES
Is T( ) valid
to continue
Fast Charge?
NO
Has
Termiantion
Criteria been
met?
YES
Charge
Termination
46
bq20z80
www.ti.com
CC-CV Charging
SBS.ChargingCurrent( ) (0x14) Read only, 16-bit unsigned integer word, units in mA. Reports the appropriate
charging current per the charging algorithm in this section. The default value is set in DF.Fast
Charge Current (FCHGI), and altered per the algorithm or safety conditions.
SBS.ChargingVoltage( ) (0x15) Read only, 16-bit unsigned integer word, units in mV. Reports the appropriate
charging voltage per the charging algorithm in this section. The default value is set in DF.Fast
Charge Voltage (FCHGV), and altered per the algorithm or safety condition.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
FCHGI
Integer
0 to 10000
mA
3000
FCHGV
Integer
0 to 20000
mV
16800
DESCRIPTION
XCHGTL
XCHGTH
THYS
Temperature Hysteresis
FORMAT
Integer
VALID RANGE
SIZE
(BYTES)
-400 to 1200
-400 to 1200
0 to 100
UNITS
DEFAULT
VALUE
0.1C
450
0
30
Pre-Charge Mode
The bq20z80 sets SBS.ChargingCurrent( ) to DF.Pre-Charge Current (PCHGI) when DF.Charge Inhibit
Temperature is less than SBS.Temperature( ), which is less than or equal to DF.Pre-Charge Temperature
(PCHGT), OR if SBS.VCELL(ANY)( ) is less than DF.Pre-Charge Voltage (PCHGV). Depending on the setting of
DF.OperationConfigurationZVCHG0, ZVCHG1, FET action may be taken.
ZVCHG1
ZVCHG0
FET USED
ZVCHG
CHG
OD Pin
No Action
During precharge, PCHG in SBS.Charging Status( ) is set, and is cleared when SBS.Temperature( ) is greater
than or equal to DF.Pre-Charge Temperature (PCHGT) + THYS, AND SBS.VCELL(ALL)( ) is greater than or
equal to DF.Pre-Charge Voltage Recovery (PCHGVR), OR Charge Suspend is entered, a fault condition
detected, or the battery removed if DF.OperationConfiguration, NR, is cleared.
LABEL
DESCRIPTION
PCHGT
Pre-Charge Temperature
PCHGV
Pre-Charge Voltage
PCHGVR
PCHGI
Pre-Charge Current
FORMAT
VALID RANGE
SIZE
(BYTES)
-400 to 1200
Integer
0 to 20000
0 to 20000
0 to 2000
UNITS
DEFAULT
VALUE
0.1C
120
mV
13000
mV
14000
mA
250
47
bq20z80
www.ti.com
Fast Charge
The bq20z80 sets SBS.ChargingCurrent( ) to DF.Fast Charge Current (FCHGI) when if DF.Pre-Charge
Temperature + THYS is less than SBS.Temperature( ), which is less than or equal to DF.Over Temperature in
Charge, AND if DF.Pre-Charge Voltage is less than or equal to SBS.Voltage( ), which is less than
SBS.ChargingVoltage( ) + DF.Over Charging Voltage (OCHG). See Over Charging Voltage section for further
details. During fast charge, FCHG in SBS.ChargingStatus( ) is set, and the CHG FET is turned on if no protection
conditions are detected.
Fast Charge Temperature Throttling
The bq20z80 alters SBS.ChargingCurrent( ) and sets the TCHGx bits in SBS.ChargingStatus( ) during fast
charge in response to changing temperature conditions. If DF.Charge Suspend Temperature High (CHGSUSPH)
is greater than SBS.Temperature( ), which is greater than or equal to CHGSUSPH - Delta Temperature (dT),
SBS.ChargingCurrent( ) is set to DF.Pre-Charge Currentand SBS.ChargingStatus( ) TCHG1 .
If CHGSUSPH - dT is greater than SBS.Temperature( ) which is greater than or equal to CHGSUSPH 2 dT,
SBS.ChargingCurrent( ) is set to (DF.Fast Charge CurrentDF.Pre-Charge Current) 2 and
SBS.ChargingStatus( ) TCHG2 is set.
If CHGSUSPH - 2 dT is greater than SBS.Temperature( ) which is greater than or equal to DF.Pre-Charge
Temperature, SBS.ChargingCurrent( ) is set to DF.Fast Charge Current, and SBS.ChargingStatus( ) TCHG is
cleared.
SBS.ChargingStatus( ) TCHGx are also cleared when another charging mode is entered, a protection condition
is detected, or the battery is removed while the DFOperationConfiguration, NR bit is set.
However, if DF.dT is set to 0, no throttling change in SBS.ChargingCurrent( ) from DF.Fast Charge
Currentoccurs.
LABEL
DESCRIPTION
OCHG
dT
Delta Temperature
CHGSUSH
FORMAT
VALID RANGE
SIZE
(BYTES)
0 to 2000
Integer
0 to 500
400 to 1200
UNITS
DEFAULT
VALUE
mV
500
0.1C
50
0.1C
550
SBS.ChargingCurrent(
is
set
to
0,
and
the
CHGSUSP
bit
in
To return to normal charging, SBS.Temperature( ) must be greater than or equal to DF.Charge Inhibit
Temperature Low (XCHGTL) + Temperature Hysteresis (THYS), AND greater then or equal to DF.Charge Inhibit
Temperature High (XCHGTH) THYS. The bq20z80 clears the CHGSUSP bit of SBS.ChargingStatus( ) when
this condition is met, and sets SBS.ChargingCurrent( ) according to the appropriate charging mode entered. The
FETs are also returned to their previous state at this time.
The CHGSUSP bit of SBS.ChargingStatus( ) is also cleared when a protection condition is detected, or when the
battery is removed while DF.OperationConfiguration, NR, is cleared.
LABEL
DESCRIPTION
CHGSUSPL
CHGSUSH
48
FORMAT
Integer
VALID RANGE
400 to 1200
400 to 1200
SIZE
(BYTES)
UNITS
0.1C
DEFAULT
VALUE
50
550
bq20z80
www.ti.com
Pulse Charging
Pulse charging is part of the fast-charging mode and is a loop. During the loop, the measured cell voltages are
calculated every 250ms. This data is not reported via the SBS.VCELLx( ) commands.
The pulse-charging loop is entered when the maximum cell voltage is greater than or equal to DF.Max Charge
Voltage (VMAX), OR maximum cell voltage is greater than or equal to DF.Charge ON Voltage (VON) for
DF.Maximum ON Pulse (tON). When these conditions are met, the CHG FET is turned off, and the
SBS.ChargingStatus( )PULSE and PULSE_OFF bits are set.
If the maximum cell voltage is less than DF.Charge OFF Voltage (VOFF), AND the CHG FET is off for
DF.Minimum OFF Pulse (tOFF), the CHG FET is turned on and the SBS.ChargingStatus( )PULSE_OFF bit
cleared.
bq208xx Normal Charging Mode
(CHG FET = ON)
Turn CHG FET on, reset
timer, and start t MAX
tTERM
timer
No
Yes
Has t MAX
expired?
Is V
<V
CELLMAX
CHG_ON
Yes
No
Yes
No
No
Is V
Yes
Ye
expired?
CELLMAX
>V
MAX
No
Has tCHG_OFF
expired?
Reset
tCHG_OFF
ITERM
timer
No
been reached
Yes
Yes
No
Is V
CELLMAX
>
Yes
VCHG_OFF
No
Start
tCHG_ON
timer
alarm
DESCRIPTION
FORMAT
VALID RANGE
VON
0 to 5000
VOFF
0 to 5000
tON
tOFF
Integer
0 to 240
0 to 240
VMAX
0 to 5000
SIZE
(BYTES)
UNITS
mV
s/8
mV
DEFAULT
VALUE
4200
4200
480
0
4270
bq20z80
www.ti.com
DESCRIPTION
MCHGI
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
0 to 255
0 to 1000
0 to 1000
mV
300
mA
DEFAULT
VALUE
0
CHGTI
CHGTV
FCT
0 to 100
100
CTW
0 to 60
40
Integer
250
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
TV
Terminate Voltage
Integer
0 to 20000
mV
8000
Overcharging Voltage
The bq20z80 sets the OCHGV bit in SBS.ChargingStatus( ) when SBS.Voltage( ) is greater than or equal to
SBS.ChargingVoltage( ) + DF.Over Charging Voltage (OCHGV) for a time greater than or equal to DF.Pack
Overvoltage Time (POVT). If OCHGV = 0, this feature is completely disabled.
When OCHGV is set, the CHG FET is turned off and the ZVCHG FET is turned off if the ZVCHG0,1 bits in
DF.Operation Configuration are set appropriately. Also, SBS.ChargingCurrent( ) is set to 0,
SBS.ChargingVoltage( ) is set to 0, and SBS.BatteryStatus( )Terminate_Charge_Alarm is set.
To recover from this mode, SBS.Current( ) must be greater than or equal to DF.Dicharge Detection Current.
When the bq20z80 recovers from an Over Charging Voltage state, the CHG and ZVCHG FET's are returned to
the previous state in accordance with the charging algorithm, and SBS.BatteryStatus( )Terminate_Charge_Alarm
is reset. The OCHGV flag, SBS.ChargingCurrent( ), SBS.ChargingVoltage( ) are not reset via this recovery.
50
bq20z80
www.ti.com
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
OCHGV
Integer
0 to 3000
mV
500
Overcharging Current
The bq20z80 sets the OCHGI bit in SBS.ChargingStatus( ) is set when SBS.Current( ) is greater than or equal to
SBS.ChargingCurrent( ) + DF.Over Charging Current (OCHGI) threshold for DF.Over Current in Charge time
(tOCC). If OCHGI = 0 then feature is completely disabled.
When OCHGI is set then the CHG will to be turned OFF and ZVCHG FET is turned OFF if the ZVCHG0,1 bits in
DF.Operation Configuration are set appropriately. Also, SBS.ChargingCurrent( ) is set to 0,
SBS.ChargingVoltage( ) is set to 0, and SBS.BatteryStatus( ) Terminate_Charge_Alarm is set.
To recover from this mode then SBS.AverageCurrent( ) must be less than or equal to DF.OverCurrent in Charge
Recovery. When the bq20z80 recovers from an Over Charging Current state then SBS.ChargingCurrent( ),
SBS.ChargingVoltage( ) and the CHG and ZVCHG FET's are returned to previous state in accordance with the
charging algorithm and the DF.OperationConfiguration ZVCHG0,1 bits. SBS.BatteryStatus( ) Terminate_Charge_Alarm and SBS.ChargingStatus( ) OCHGI are cleared.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
OCHGI
Integer
0 to 2000
mA
500
Overcharge
The bq20z80 sets the OC bit in SBS.ChargingStatus( ) when the amount of capacity added after the point where
SBS.RemainingCapacity( ) is equal to or greater than SBS.FullChargeCapacity( ) + DF.Maximum Over Charge
(OCHG). If OCHG is set to 0, this feature is completely disabled.
When OC is set, the CHG FET and ZVCHG FET are turned off if the ZVCHG0,1 bits in DF.Operation
Configuration are set appropriately. Also, SBS.ChargingCurrent( ) is set to 0, SBS.ChargingVoltage( ) is set to 0,
and SBS.BatteryStatus( ) Terminate_Charge_Alarm, Fully_Charged and Over_Charged_Alarm are set.
If DF.Operation Configuration CHGFET is set, the CHG FET is not turned off.
There are 3 recovery methods from this fault state:
1. If DF.NR_Config, OC = 1 AND DF.Operational Configuration, NR bit = 0, AND a transition of bit0 input from
low to high to low (pack removal and re-insertion) occurs, the bq20z80 recovers from this fault mode.
2. If DF.Operational Configuration, NR bit = 1 AND SBS.Current( ) is less than or equal to 0mA, AND there has
been DF.Maximum Over Charger Recovery (OCHGR) amount of continuous discharge, the bq20z80
recovers from this fault mode.
3. If SBS.RemainingStateOfCharge%( ) becomes less than or equal to DF.FC_Clear%, the bq20z80 recovers
from this fault mode.
On recovery, the CHG and ZVCHG FETs are returned to the previous state in accordance with the charging
algorithm, and the DF.OperationConfiguration, ZVCHG0,1 bits are returned to the previous state.
SBS.BatteryStatus(
)Terminate_Charge_Alarm,
Fully_Charged
and
Over_Charged_Alarm,
and
SBS.ChargingStatus( ) OC are cleared.
LABEL
DESCRIPTION
OCHG
OCHGR
FC_CLR
FORMAT
Integer
VALID RANGE
SIZE
(BYTES)
0 to 4000
0 to 100
UNITS
mAh
%
DEFAULT
VALUE
300
2
95
51
bq20z80
www.ti.com
DESCRIPTION
IFCCHG
FCMTO
FORMAT
Integer
VALID RANGE
0 to 2000
0 to 14400
SIZE
(BYTES)
2
UNITS
DEFAULT
VALUE
mA
800
10800
52
LABEL
DESCRIPTION
IPCCHG
PCMTO
FORMAT
Integer
VALID RANGE
0 to 2000
0 to 14400
SIZE
(BYTES)
2
UNITS
DEFAULT
VALUE
mA
50
3600
bq20z80
www.ti.com
POWER MODE
The bq20z80 has several power modes. During these modes, the bq20z80 modifies its operation to minimize
power consumption from the battery.
During normal operation, the bq20z80 takes ADC.Current, ADC.Voltage and ADC.Temperature measurements,
performs calculations, updates SBS data, and makes protection and status decisions at one-second intervals.
Between these periods of activity, the bq20z80 is in a reduced power state.
During this measurement period, the PU pin is pulled high, the PRES input state is read, and PU is released. If
PRES is high, the PRES bit in SBS.OperationStatus( ) is cleared. If PRES is low, the PRES bit
SBS.OperationStatus( ) is set indicating the system is present (the battery is inserted).
If DF.Operation Configuration, NR is cleared, the PRES input must also be low (DF.Operation Status, PRES = 1)
for the bq20z80 to enter Normal Mode.
Normal Mode Discharge Fault Current
The bq20z80 reports a Normal Mode Discharge Fault due to Current by setting SBS.OperationStatus( )XDSGI
when SBS.BatteryStatus( ), DISCHARGING is set {battery not charging}, AND SBS.SafetyStatus( ), OCD is set.
When this occurs, the CHG and DSG FETs are turned off, and ZVCHG FET is turned OFF if the ZVCHG0,1 bits
in DF.Operation Configuration are set appropriately. Also, SBS.ChargingCurrent( ) is set to 0, and
SBS.BatteryStatus( )Terminate_Discharge_Alarm is set.
When SBS.SafetyStatus( ), OCD clears, the SBS.ChargingCurrent( ) and the CHG, DSG and ZVCHG FET's are
returned
to
previous
state
in
accordance
with
the
charging
algorithm,
and
the
DF.OperationConfigurationZVCHG0,1 bits are TBD. SBS.BatteryStatus( )Terminate_Discharge_Alarm and
SBS.OperationStatus( )XDSGI are also cleared.
Normal Mode Discharge Fault - Temperature
The bq20z80 will report a Normal Mode Discharge Fault due to Temperature by setting
SBS.OperationStatus( )XDSGT when SBS.BatteryStatus( ), DISCHARGING is set {battery not charging}, AND
either SBS.SafetyStatus( ), OTD is set, OR SBS.Temperature( ) is less than or equal to DF.Discharge Inhibit
Temperature Low (XDSGTL), and greater than or equal to DF.Discharge Inhibit Temperature High (XDSGTH).
When this occurs, the CHG and DSG FETs are turned off, and the ZVCHG FET is turned off if the ZVCHG0,1
bits in DF.Operation Configuration are set appropriately. Also, SBS.ChargingCurrent( ) is set to 0, and
SBS.BatteryStatus( )Terminate_Discharge_Alarm is set.
When SBS.SafetyStatus( ), OTD clears, and SBS.Temperature( ) is greater than or equal to DF.Discharge Inhibit
Temperature Low (XDSGTL) + THYS and less than or equal to DF.Discharge Inhibit Temperature High
(XDSGTH) + THYS, the SBS.ChargingCurrent( ) and the CHG, DSG and ZVCHG FET's are returned to the
previous state in accordance with the charging algorithm, and the DF.OperationConfiguration ZVCHG0,1 bits are
TBD. SBS.BatteryStatus( )Terminate_Discharge_Alarm, and SBS.OperationStatus( )XDSGT are also cleared.
LABEL
DESCRIPTION
XDSGTL
XDSGTH
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
Integer
40 to 120
0.1C
DEFAULT
VALUE
50
600
53
bq20z80
www.ti.com
Sleep Mode
In Sleep mode, the bq20z80 measures ADC.Voltage and ADC.Temperature every DF.tSLEEP time period, and
ADC.Current is measured at intervals equal to DF.tSLEEPDF.Sleep Current Multiplier (tSLEEPX). At each
interval, the bq20z80 performs calculations, updates SBS data and makes protection and status decisions.
Between these periods of activity the bq20z80 is in a reduced-power state.
The bq20z80 enters sleep mode when the following conditions exist.
SBS.Current( ) in charge or discharge is less than or equal to DF.Sleep Threshold (ISLEEP), AND SMBus is
Low for a Bus Low period (tBUSLOW), AND DF.Operation Configuration, SLEEP bit is set
OR
SBS.Current( ) is less than or equal to DF.Sleep Threshold in discharge, AND SBS.ManufacturerAccess( )
Sleep command is received, AND DF.Operation Configuration, SLEEP bit is set.
AND
If DF.Operation Configuration, NR is cleared, the PRES input must also be high, SBS.OperationStatus( ),
PRES = 0, for the bq20z80 to enter sleep.
Entry to Sleep mode is held off if any flag in SBS.PFAlert( ) or SBS.SafetyAlert( ) is set, or if any
protection-feature recovery timers are active and have not expired, sleep mode is not entered and the bq20z80
remains in Normal mode.
On entry to sleep, and if DF.Operation Configuration, NR is cleared, the CHG and DSG FETs are turned off, and
the ZVCHG FET is turned off if the ZVCHG0,1 bits in DF.Operation Configuration are set appropriately. If
DF.Operation Configuration, NR is set, the CHG FET is turned off, and the ZVCHG FET is turned off if the
ZVCHG0,1 bits in DF.Operation Configuration are set appropriately.
Also, on entry to sleep, the auto calibration of the ADC begins. However, if SBS.Temperature( ) is less than or
equal to 5C and greater than or equal to 45C, Auto Calibration of the ADC is not started on entry to sleep
mode.
The bq20z80 exits sleep if |SBS.Current( )| is non-zero, OR the SMBC or the SMBD input transitions high, OR
{any SBS.OperationStatus( ), SBS.ChargingStatus( ) or SBS.SafetyStatus( ) flag changes state}.
If DF.Operation ConfigurationNR is cleared, the bq20z80 to exits sleep mode when PRES is pulled low
(SBS.OperationSatatu( ) PRES = 1).
LABEL
DESCRIPTION
tSLEEP
Sleep Time
ISLEEP
tBUSLOW
tSLEEPX
FORMAT
VALID RANGE
SIZE
(BYTES)
0 to 200
Integer
1
0 to 60
UNITS
DEFAULT
VALUE
mA
10
54
bq20z80
www.ti.com
LABEL
DESCRIPTION
VSHUT
tSHUT
Shutdown Time
CHGPRES
FORMAT
Integer
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 to 20000
mV
9000
0 to 2
0 to 21000
mV
17000
Shutdown Mode
The bq20z80 enters shutdown mode if the following conditions are met:
SBS.Voltage( ) is less than or equal to the DF.Shutdown Voltage (VSHUT) threshold,
OR
SBS.ManufacturerAccess( ) shutdown command} AND Voltage at the bq29312 Pack pin is less than the
DF.Charger Present (CHGPRES) threshold for a period of DF.Shutdown Time (tSHUT) AND SBS.Current( )
is zero.
If DF.Operation Configuration, NR is set, CHGPRES must be greater than VSHUT + 6% for correct operation. It
is also recommended that the value of CHGPRES be greater than 4.3V the number of series cells for any
setting on NR.
When the bq20z80 meets these conditions, the CHG, DSG and ZVCHG FETs are turned off, and the bq29312 is
commanded to shut down. In shutdown mode, the bq20z80 is completely powered down because its supply is
removed.
To exit shutdown mode, the voltage at the PACK pin of the bq29312 must be greater than its minimum operating
voltage. When this occurs, the bq29312 returns power to the bq20z80, SBS.OperationStatus( )WAKE is set, and
data flash configuration is loaded into the RAM of the bq20z80 and the bq29312. If the data-flash load was valid,
the SBS.BatteryMode( ), INIT bit is set. When the DF load is completed, the SBS.OperationStatus( )WAKE bit is
cleared.
If the data-flash load was bad, SBS.BatteryMode( ), INIT = 0, and the bq20z80 will attempt one reload. If the
bq20z80 has attempted load 2 times without success, the bq20z80 enters the Data Flash Verification Failure
state.
See Data Flash Verification for more details.
LABEL
DESCRIPTION
VSHUT
tSHUT
Shutdown Time
CHGPRES
FORMAT
Integer
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
0 to 20000
mV
9000
0 to 60
0 to 21000
mV
17000
Display
Configuration
Number of LEDs Supported
Operation Configuration, LED0 and LED1 determine the number of LEDs supported.
LED1
LED0
LED's SUPPORTED
User
55
bq20z80
www.ti.com
NOTE:
At powerup, the LEDs Supported bit is read and the associated LEDxON and
LEDxOFF thresholds are loaded into data flash.
Display Mode
The mode of the display is set in DF.Operation Configuration, DMODE.
DMODE
LEDs SUPPORTED
% DATA
FULL REFERENCE
SBS.RSOC( )
SBS.DesignCapacity( )
Absolute Mode
SBS.ASOC( )
SBS.FullChargeCapacity( )
THRESHOLD
3-LEDs
ALARM
LED ALARM
10%
LED1OFF
0 to 32%
LED2OFF
33 to 65%
LED3OFF
LED4OFF
LED5OFF
4-LEDs
5-LEDs
USER
10%
10%
LED_ALARM%
0 to 24%
0 to 19%
LED1OFF%
25 to 49%
20 to 39%
LED2OFF%
66 to 100%
50 to 74%
40 to 59%
LED3OFF%
75 to 100%
60 to 79%
LED4OFF%
80 to 100%
LED5OFF%
The LEDxOFF threshold is the % of SBS.RSOC( ) or SBS.ASOC( ) to enable the respective LED.
The LED_ALARM threshold is the % of SBS.RSOC( ) or SBS.ASOC( ) at which the remaining active LEDs will
Flash at a 50% duty cycle rate of LED_Flash.
If LEDRCA in DF.Operational Configuration is set, AND If SBS.BatteryStatus( ) RCA is set, the display flashes at
the DF.LED_Flash rate with a 50% duty cycle.
If LED0, LED1 = User, the User data flash percentages are used.
When LEDRCA =1, the LED_ALARM is ignored.
When LEDRCA = 0, the SBS.BatteryStatus( ) is ignored.
Display Format - Charge
This mode is available when SBS.BatteryStatus( ) DSG = 0
LED
THRESHOLD
3-LEDs
4-LEDs
5-LEDs
USER
ALARM
LED ALARM
10%
10%
10%
LED_ALARM%
LED1ON
0 to 32%
0 to 24%
0 to 19%
LED1ON%
LED2ON
33 to 65%
25 to 49%
20 to 39%
LED2ON%
LED3ON
66 to 100%
50 to 74%
40 to 59%
LED3ON%
LED4ON
75 to 100%
60 to 79%
LED4ON%
LED5ON
80 to 100%
LED5ON%
The LEDxON threshold is the % of SBS.RSOC( ) or SBS.ASOC( ) to enable the respective LED.
The LED_ALARM threshold is the % of SBS.RSOC( ) or SBS.ASOC( ) at which the remaining active LEDs flash
at the rate of DF.LED_Flash, with a 50% duty cycle.
If LEDRCA in DF.OperationConfiguration is set AND if SBS.BatteryStatus( ) RCA is set, the display flashes at the
DF.LED_Flash rate with a 50% duty cycle.
If LED0, LED1 = User, the User data flash percentages are used.
If DF.LED_Blink is greater than 0, the top active LED blinks at the DF.LED_Blink rate with a 50% duty cycle.
56
bq20z80
www.ti.com
LED5
LED4
LED3
LED2
LED1
Flash
PFIN
Flash
SOV
Flash
SOTC
Flash
SOTD
Flash
CIM
Flash
CFETF
Flash
DFETF
Flash
DFF
Flash
AFE_C
Flash
AFE_P
Flash
Display Timing
When the display is activated, between each active LED illumination there is a delay time of DF.LED_Delay.
When all active LEDs are illuminated, the display remains active for DF.LED_Hold time. When this time expires,
all LEDs turn off at the same time.
LABEL
DESCRIPTION
FORMAT
VALID RANGE
SIZE
(BYTES)
UNITS
DEFAULT
VALUE
LED_Flash
LED_Blink
Unsigned Integer
0 to 1000
ms
750
LED_Delay
LED_Hold
LED1ON
LED2ON
19
LED3ON
39
LED4ON
59
50
50
0 to 10
Byte
LED5ON
LED1OFF
LED2OFF
20
LED3OFF
40
LED4OFF
60
LED5OFF
80
0 to 100
79
0
Display Activation
There are 4 methods of display activation.
1. ManufacturerAcces( ) commands See ManufacturerAccess( ) section for details.
2. If Operation configuration LEDR is set, the display is activated on exit from reset.
3. Charge activity detected. If CHGLED in Operation Configuration is set, while SBS.Current( ) is greater than
Charge Detection Current (ICHG), the display remains active.
4. High-to-Low logic transition on the DISP pin. The next high-to-low transition of DISP is not recognized until
DF.LED_Hold expires.
If a high-to-low logic transition on the DISP pin occurs, and the low-state held for DF.tLED_HOLD, the
permanent-failure display is activated after the capacity display. The next high-to-low transition of DISP is not
recognized until DF.LED_Hold expires.
If SBS.Voltage( ) is less than or equal to DF.Terminate Voltage, the display is disabled.
57
bq20z80
SLUS625B SEPTEMBER 2004 REVISED DECEMBER 2004
www.ti.com
If DF.OperationConfiguration, PFD0 is set, then the PF display can be activated for a further period of 2 x
LED_Hold in two possible ways depending on the DF.OperationConfiguration, PFD1. The PF display is shown
after the normal SOC display.
1. If a high-to-low logic transition on the DISP pin occurs, AND the low-state is held for tLED_HOLD, AND
DF.OperationConfiguration, PFD1 = 0
2. If a high-to-low logic transition on the DISP pin occurs, AND DF.OperationConfiguration, PFD1 = 1.
The next high-to-low transition of DISP is not recognized until LED_Hold expires.
58
4-Mar-2005
PACKAGING INFORMATION
Orderable Device
Status (1)
Package
Type
Package
Drawing
BQ20Z80DBT
ACTIVE
SM8
DBT
38
50
None
CU NIPDAU
Level-1-220C-UNLIM
BQ20Z80DBTR
ACTIVE
SM8
DBT
38
2000
None
CU NIPDAU
Level-1-220C-UNLIM
Lead/Ball Finish
(1)
Eco Plan - May not be currently available - please check http://www.ti.com/productcontent for the latest availability information and additional
product content details.
None: Not yet available Lead (Pb-Free).
Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements
for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered
at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes.
Green (RoHS & no Sb/Br): TI defines "Green" to mean "Pb-Free" and in addition, uses package materials that do not contain halogens,
including bromine (Br) or antimony (Sb) above 0.1% of total product weight.
(3)
MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDECindustry standard classifications, and peak solder
temperature.
Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is
provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the
accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take
reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on
incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited
information may not be available for release.
In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI
to Customer on an annual basis.
Addendum-Page 1
MECHANICAL DATA
MPDS019D FEBRUARY 1996 REVISED FEBRUARY 2002
DBT (R-PDSO-G**)
30 PINS SHOWN
0,50
0,27
0,17
30
16
0,08 M
0,15 NOM
4,50
4,30
6,60
6,20
Gage Plane
0,25
1
15
08
0,75
0,50
Seating Plane
0,15
0,05
1,20 MAX
PINS **
0,10
20
24
28
30
38
44
50
A MAX
5,10
6,60
7,90
7,90
9,80
11,10
12,60
A MIN
4.90
6,40
7,70
7,70
9,60
10,90
12,40
DIM
4073252/E 02/02
NOTES: A.
B.
C.
D.
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TIs terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TIs standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty. Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products
Applications
Amplifiers
amplifier.ti.com
Audio
www.ti.com/audio
Data Converters
dataconverter.ti.com
Automotive
www.ti.com/automotive
DSP
dsp.ti.com
Broadband
www.ti.com/broadband
Interface
interface.ti.com
Digital Control
www.ti.com/digitalcontrol
Logic
logic.ti.com
Military
www.ti.com/military
Power Mgmt
power.ti.com
Optical Networking
www.ti.com/opticalnetwork
Microcontrollers
microcontroller.ti.com
Security
www.ti.com/security
Telephony
www.ti.com/telephony
www.ti.com/video
Wireless
www.ti.com/wireless
Mailing Address:
Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright 2005, Texas Instruments Incorporated