www.ti.com
Charge and Discharge Counting
Coulomb Counter Dead Band
Voltage
Current
Auto Calibration
Temperature
bq20z80-V101
SLUS625D – SEPTEMBER 2004 – REVISED OCTOBER 2005
The integrating delta-sigma ADC measures the charge/discharge flow of the battery by measuring the voltage
drop across a small-value sense resistor between the SR1 and SR2 pins. The integrating ADC measures bipolar
signals from -0.25 V to 0.25 V. The bq20z80 detects charge activity when VSR = V(SR1)-V(SR2) is positive and
discharge activity when VSR = V(SR1)-V(SR2) is negative. The bq20z80 continuously integrates the signal over time,
using an internal counter. The fundamental rate of the counter is 0.65 nVh.
The bq20z80 does not accumulate charge or discharge for gas gauging when the current input is below the
dead-band current threshold. The threshold is programmed in DF:CC Deadband (Coulomb Counter Deadband)
and should be set sufficiently high to prevent false signal detection with no charge or discharge flowing through
the sense resistor.
NAME
CLASS / SUBCLASS
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
CC Deadband
Calibration / Current (107)
Integer
0 to 255
1
294nV
34
The bq20z80 updates the individual series cell voltages through the bq29312A at one-second intervals. In Sleep
mode the period changes from 1 s to DF:Sleep Voltage Time. The bq20z80 configures the bq29312A to connect
the selected cell, cell offset, or bq29312A VREF to the CELL pin of the bq29312, which is required to be
connected to VIN of the bq20z80. The internal ADC of the bq20z80 measures the voltage, scales and calibrates
it appropriately, then reports the SBS.Voltage( ) and the individual cell voltages in SBS.CellVoltage1( ),
SBS.CellVoltage2( ), SBS.CellVoltage3( ), and SBS.CellVoltage4( ). This data is also used to calculate the
impedance of the cell for the Impedance Track gas-gauging when SBS.Current( ) is above 100 mA and dV/dt is
< 1
V/s.
The bq20z80 uses the SR1 and SR2 inputs to measure and calculate the battery charge and discharge current.
This value is reported via SBS.Current( ) and is updated at one-second intervals in normal mode, and at intervals
defined by DF:Sleep Current Time in sleep mode. SBS.AverageCurrent( ) is implemented as a single-pole
infinite-impulse response (IIR) filter with a 14.5 s time constant using SBS.Current( ) data and is also updated
once per second.
NAME
CLASS / SUBCLASS
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
Sleep Current Time
Power / Power (68)
Integer
0 to 255
1
s
20
The bq20z80 provides an auto-calibration feature to cancel the voltage offset error across SR1 and SR2 for
maximum charge measurement accuracy. The bq20z80 performs auto-calibration when the SMBus lines stay
low continuously for a minimum of 5 s and SBS.Temperature( ) is within bounds of DF:Cal Inhibit Temp Low and
DF:Cal Inhibit Temp High. The bq20z80 is capable of automatic offset calibration down to 1
V.
NAME
CLASS / SUBCLASS
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
Cal Inhibit Temp Low
50
Power / Power (68)
Signed Int
-400 to 1200
2
0.1
°C
Cal Inhibit Temp High
450
The bq20z80 TS1 and TS2 inputs, in conjunction with two identical NTC thermistors (default are Semitec
103AT), measure the battery environmental temperature. The bq20z80 can also be configured to use its internal
temperature sensor. The bq20z80 updates the reported temperature each second in normal mode, and each
DF:Sleep Voltage Time in Sleep mode, via SBS.Temperature( ) depending on the state of DF:Operation Cfg A
[TEMP1, TEMP0].
NAME
CLASS / SUBCLASS
FORMAT
VALID RANGE
SIZE (BYTES)
UNITS
DEFAULT VALUE
Sleep Voltage Time
Power / Power (68)
Integer
0 to 100
1
s
5
Operation Cfg A
Configuration / Registers (64)
Hex
0x0000 to 0xffff
2
N/A
0x0f29
8