1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
HDQ16
ESCL
ESDA
RBI
REG
V
OUT
V
CC
V
SS
DISP
LED
1
LED
2
LED
3
LED
4
LED
5
SMBC
SMBD
VCELL
4
VCELL
3
VCELL
2
VCELL
1
SR
1
SR
2
SRC
TS
THON
CVON
CFC
DFC
28-pin 150-mil SSOP
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
SBS V1.1-COMPLIANT GAS GAUGE IC
bq2060
FEATURES
• Provides Accurate Measurement of Available
Charge in NiCd, NiMH, Li-Ion, and Lead-Acid
Batteries
• Supports SBS Smart Battery Data
Specification v1.1
• Supports the 2-Wire SMBus v1.1 Interface
with PEC or 1-Wire HDQ16
• Reports Individual Cell Voltages
• Monitors and Provides Control to Charge and
Discharge FETs in Li-Ion Protection Circuit
• Provides 15-Bit Resolution for Voltage,
Temperature, and Current Measurements
• Measures Charge Flow Using a V-to-F
Converter with Offset of Less Than 16 µV
After Calibration
• Consumes Less Than 0.5 mW Operating
• Drives a 4- or 5-Segment LED Display for
Remaining Capacity Indication
• 28-Pin 150-mil SSOP
DESCRIPTION
The bq2060 SBS-compliant gas gauge IC for battery
pack or in-system installation maintains an accurate
record of available charge in rechargeable batteries.
The bq2060 monitors capacity and other critical
battery parameters for NiCd, NiMH, Li-ion, and
lead-acid chemistries. The bq2060 uses a V-to-F
converter with automatic offset error correction for
charge and discharge counting. For voltage,
temperature, and current reporting, the bq2060 uses
an A-to-D converter. The onboard ADC also monitors
individual cell voltages in a Li-ion battery pack and
allows the bq2060 to generate control signals that
may be used with a pack supervisor to enhance pack
safety.
The bq2060 supports the smart battery data (SBData)
commands and charge-control functions. It
communicates data using the system management
bus (SMBus) 2-wire protocol or the Benchmarq 1-wire
HDQ16 protocol. The data available include the
battery’s remaining capacity, temperature, voltage,
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.
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.
current, and remaining run-time predictions. The
bq2060 provides LED drivers and a push-button input
to depict remaining battery capacity from full to empty
in 20% or 25% increments with a 4- or 5-segment
display.
The bq2060 works with an external EEPROM. The
EEPROM stores the configuration information for the
bq2060, such as the battery’s chemistry,
self-discharge rate, rate compensation factors,
measurement calibration, and design voltage and
capacity. The bq2060 uses the programmable
self-discharge rate and other compensation factors
stored in the EEPROM to accurately adjust remaining
capacity for use and standby conditions based on
time, rate, and temperature. The bq2060 also
automatically calibrates or learns the true battery
capacity in the course of a discharge cycle from near
full to near empty levels.
The REG output regulates the operating voltage for
the bq2060 from the battery cell stack using an
external JFET.
PIN CONNECTIONS
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.
Copyright © 2000–2005, Texas Instruments Incorporated
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
TERMINAL
NAME NO.
HDQ16 1
ESCL 2
ESDA 3 and data to and from the bq2060 and the external nonvolatile configuration
RBI 4 registers during periods of low operating voltage. RBI accepts a storage
REG 5
V
OUT
V
CC
V
SS
DISP 9 Display control input. Input that controls the LED drivers LED1–LED5
LED
-LED
1
DFC 15
CFC 16
CVON 17 connect the cells to the external voltage dividers during cell voltage
THON 18
TS 19
SRC 20 Current sense input. Input to monitor instantaneous current
SR
-SR
1
2
VCELL
- 23,24,25,2 Single-cell voltage inputs. Inputs that monitor the series element cell
1
VCELL
4
SMBD 27
SMBC 28
10,11,12,
5
Serial communication input/output. Open-drain bidirectional communications
port
Serial memory clock. Output to clock the data transfer between the bq2060
and the external nonvolatile configuration memory
Serial memory data and address. Bidirectional pin used to transfer address
memory
Register backup input. Input that provides backup potential to the bq2060
capacitor or a battery input.
Regulator output. Output to control an n-JFET for V
bq2060 from the battery potential
Supply output. Output that supplies power to the external EEPROM
6
configuration memory
7 Supply voltage input
8 Ground.
13,14
LED display segment outputs. Outputs that each may drive an external LED
Discharge FET control output. Output to control the discharge FET in the
Li-ion pack protection circuitry
Charge FET controll output. Output to control the charge FET in the Li-ion
pack protection circuitry
Cell voltage divider controll output. Output control for external FETs to
measurements
Thermistor bias control output. Output control for external FETs to connect
the thermistor bias resistor during a temperature measurement
Thermistor voltage input. Input connection for a thermistor to monitor
temperature
21,22
Charge-flow sense resistor inputs. Input connections for a small value sense
resistor to monitor the battery charge and discharge current flow
6 voltages
SMBus data. Open-drain bidirectional pin used to transfer address and data
to and from the bq2060
SMBus clock. Open-drain bidirectional pin used to clock the data transfer to
and from the bq2060
PIN DESCRIPTIONS
DESCRIPTION
regulation to the
CC
ORDERING INFORMATION
For the most current package and ordering information, see the Package Option Addendum at the end of this
document, or see the TI Web site at www.ti.com.
2
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
ABSOLUTE MAXIMUM RATINGS
(1)
SYMBOL PARAMETER MIN MAX UNIT NOTES
VCC–Supply voltage Relative to V
VIN–All other pins Relative to V
T
OPR
T
J
Operating temperature –20 +70 ° C Commercial
Junction temperature –40 +125 ° C
SS
SS
–0.3 +6 V
–0.3 +6 V
(1) Permanent device damage may occur if absolute maximum ratings are exceeded. Functional operation should be limited to the
Recommended DC Operating Conditions detailed in this data sheet.
DC ELECTRICAL CHARACTERISTICS
(V
= 2.7 V to 3.7 V, T
CC
SYMBOL PARAMETER TEST CONDITIONS MIN TYP MAX UNIT
V
CC
I
CC
I
SLP
I
LVOUT
I
VOUT
V
OLS
V
IL
V
IH
V
OL
V
ILS
V
IHS
V
AI
I
RB
V
RBI
Z
AI1
Z
AI2
Supply voltage 2.7 3.3 3.7 V
Operating current V
Low-power storage mode current 1.5 V < V
V
leakage current V
OUT
V
source current – 5 mA
OUT
Output voltage low: LED
Output voltage low: THON, CVON I
Input voltage low DISP –0.3 0.8 V
Input voltage high DISP 2 VCC+ 0.3 V
Output voltage low SMBC, SMBD, HDQ16,
ESCL, ESDA
Input voltage low SMBC, SMBD, HDQ16,
ESCL, ESDA
Input voltage high SMBC, SMBD, HDQ16,
ESCL, ESDA
Input voltage range VCELL
RBI data-retention input current V
RBI data-retention voltage 1.3 V
Input impedance: SR1, SR2 0–1.25 V 10 M Ω
Input impedance: VCELL
= –20 ° C to 70 ° C, unless otherwise noted)
OPR
–LED
, CFC, DFC I
1
5
, TS, SRC VSS– 0.3 1.25 V
1–4
, TS, SRC 0–1.25 V 5 M Ω
1–4
inactive 180 235 µ A
OUT
< 3.7 V 5 10 µ A
CC
inactive – 0.2 0.2 µ A
OUT
V
active,
OUT
V
= VCC– 0.6 V
OUT
= 5 mA 0.4 V
OLS
= 5 mA 0.36 V
OLS
IOL= 1 mA 0.4 V
– 0.3 0.8 V
1.7 6 V
> 3 V, V
RBI
< 2.0 V 10 50 nA
CC
bq2060
VFC CHARACTERISTICS
(V
= 3.1 to 3.6 V, T
CC
SYMBOL PARMETER TEST CONDITIONS MIN TYP MAX UNIT
V
SR
V
SROS
V
SRCOS
RM
VCO
RM
TCO
Input voltagerange,V
V
input offset –250 –50 250 µV
SR
Calibrated offset –16 +16 µ V
Supply voltage gain coefficient
Temperature gain coefficient
INL Integral nonlinearity error T
(1) RM
total deviation is from the nominal gain at 25 ° C.
TCO
= –0 ° C to 70 ° C, Unless Otherwise Noted
OPR
and V
SR2
SR1
(1)
(1)
V
= V
SR
V
SR2
autocorrection disabled
V
CC
Slope for T
Total deviation T
Slope for T
Total deviation T
OPR
– V
SR2
SR1
= V
,
SR1
= 3.3 V 0.8 1.2 %/V
= –20 ° C to 70 ° C – 0.09 +0.09 % / ° C
OPR
= –20 ° C to 70 ° C –1.6% 0.1%
OPR
= –0 ° C to 50 ° C –0.05 +0.05 % / ° C
OPR
= –0 ° C to 50 ° C –0.6% 0.1%
OPR
= 0 ° C –50 ° C 0.21%
– 0.25 +0.25 V
3
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
REG CHARACTERISTICS
(T
= –20 ° C to 70 ° C)
OPR
SYMBOL PARAMETER TEST CONDITIONS MIN TYP MAX UNIT
Normal Mode: REG controlled
V
RO
output voltage
Sleep Mode: REG controlled
JFET: Rds(on) < 150 Ω
Vgs(off) < –3 V at 10 µA
output voltage
I
REG
REG output current 1 µ A
SMBus AC SPECIFICATIONS
V
= 2.7 V to 3.7 V, T
CC
SYMBOL PARAMETER TEST CONDITIONS MIN TYP MAX UNIT
f
SMB
f
MAS
t
BUF
t
HD:STA
t
SU:STA
t
SU:STO
t
HD:DAT
t
SU:DAT
t
TIMEOUT
t
LOW
t
HIGH
t
LOW:SEXT
t
LOW:MEXT
SMBus operating frequency Slave mode, SMBC 50% duty cycle 10 100 kHz
SMBus master clock frequency 51.2 kHz
Bus free time between start and stop 4.7 µs
Hold time after (repeated) start 4 µ s
Repeated start setup time 4.7 µ s
Stop setup time 4 µ s
Data hold time
Data setup time 250 ns
Error signal/detect See
Clock low period 4.7 µ s
Clock high period See
Cumulative clock low slave extend time See
Cumulative clock low master extend time See
(1) The bq2060 times out when any clock low exceeds t
(2) t
HIGH Max
progress.
(3) t
LOW:SEXT
bq2060 typically extends the clock only 20 ms as a slave in the read byte or write byte protocol.
(4) t
LOW:MEXT
bq2060 typically extends the clock only 20 ms as a master in the read byte or write byte protocol.
is minimum bus idle time. SMBC = SMBD = 1 for t > 50 ms causes reset of any transaction involving bq2060 that is in
is the cumulative time a slave device is allowed to extend the clock cycles in one message from initial start to the stop. The
is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop. The
= –20 ° C to 70 ° C, unless otherwise noted
OPR
Master mode, no clock low slave
extend
Receive mode 0 ns
Transmit mode 300 ns
(1)
(2)
(3)
(4)
.
TIMEOUT
3.1 3.3 3.6
25 35 ms
4 50 µs
V
4.1
25 ms
10 ms
HDQ16 AC SPECIFICATIONS ()
V
= 2.7 V to 3.7 V, T
CC
SYMBOL PARAMETER TEST CONDITIONS MIN TYP MAX UNIT
t
CYCH
t
CYCB
t
STRH
t
STRB
t
DSU
t
DSUB
t
DH
t
DV
t
SSU
t
SSUB
t
RSPS
t
]
t
BR
Cycle time, host to bq2060 (write) 190 µ s
Cycle time, bq2060 to host (read) 190 205 250 µ s
Start hold time, host to bq2060 (write) 5 - - ns
Start hold time, host to bq2060 (read) 32 - - µ s
Data setup time - - 50 µ s
Data setup time - - 50 µ s
Data hold time 100 - - µ s
Data valid time 80 - - µ s
Stop setup time - - 145 µ s
Stop setup time - - 145 µ s
Response time, bq2060 to host 190 - 320 µ s
Break time 190 - - µ s
Break recovery time 40 - - µ s
4
= –20 ° C to 70 ° C, unless otherwise noted
OPR
t
STRH
t
DSU
t
DH
t
SSU
t
CYCH
Write ”1”
Write ”0”
t
STRB
t
DSUB
t
DV
t
SSUB
t
CYCB
Read ”1”
Read ”0”
Figure 1. SMBus Timing Data
Figure 2. HDQ16 Break Timing
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Figure 3. HDQ16 Host to bq2060
Figure 4. HDQ16 bq2060 to Host
FUNCTIONAL DESCRIPTION
GENERAL OPERATION
The bq2060 determines battery capacity by monitoring the amount of charge input to or removed from a
rechargeable battery. In addition to measuring charge and discharge, the bq2060 measures battery voltage,
temperature, and current, estimates battery self-discharge, and monitors the battery for low-voltage thresholds.
The bq2060 measures charge and discharge activity by monitoring the voltage across a small-value series sense
resistor between the battery’s negative terminal and the negative terminal of the battery pack. The available
battery charge is determined by monitoring this voltage and correcting the measurement for environmental and
operating conditions.
Figure 5 shows a typical bq2060-based battery pack application. The circuit consists of the LED display, voltage
and temperature measurement networks, EEPROM connections, a serial port, and the sense resistor. The
EEPROM stores basic battery pack configuration information and measurement calibration values. The EEPROM
must be programmed properly for bq2060 operation. Table 10 shows the EEPROM memory map and outlines
the programmable functions available in the bq2060.
5
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
FUNCTIONAL DESCRIPTION (continued)
The bq2060 accepts an NTC thermistor (Semitec 103AT) for temperature measurement. The bq2060 uses the
thermistor temperature to monitor battery pack temperature, detect a battery full charge condition, and
compensate for self-discharge and charge/discharge battery efficiencies.
MEASUREMENTS
The bq2060 uses a fully differential, dynamically balanced voltage-to-frequency converter (VFC) for charge
measurement and a sigma delta analog-to-digital converter (ADC) for battery voltage, current, and temperature
measurement.
Voltage, current, and temperature measurements are made every 2 to 2.5 seconds, depending on the bq2060
operating mode. Maximum times occur with compensated EDV, mWh mode, and maximum allowable discharge
rate. Any AtRate computations requested or scheduled (every 20 seconds) may add up to 0.5 second to the time
interval.
Charge And Discharge Counting
The VFC measures the charge and discharge flow of the battery by monitoring a small-value sense resistor
between the SR
bq2060 detects charge activity when V
is negative. The bq2060 continuously integrates the signal over time using an internal counter. The fundamental
rate of the counter is 6.25 µVh.
and SR
1
pins as shown in Figure 5 . The VFC measures bipolar signals up to 250 mV. The
2
= V
SR
– V
SR2
is positive and discharge activity when V
SR1
SR
= V
SR2
–V
SR1
Offset Calibration
The bq2060 provides an auto-calibration feature to cancel the voltage offset error across SR
and SR
1
maximum charge measurement accuracy. The calibration routine is initiated by issuing a command to
ManufacturerAccess(). The bq2060 is capable of automatic offset calibration down to 6.25 µV. Offset
cancellation resolution is less than 1 µV.
Digital Filter
The bq2060 does not measure charge or discharge counts below the digital filter threshold. The digital filter
threshold is programmed in the EEPROM and should be set sufficiently high to prevent false signal detection
with no charge or discharge flowing through the sense resistor.
Voltage
While monitoring SR
and the individual cell voltages through the VCELL
and SR
1
for charge and discharge currents, the bq2060 monitors the battery-pack potential
2
–VCELL
1
pins. The bq2060 measures the pack voltage and
4
reports the result in the Voltage() register. The bq2060 can also measure the voltage of up to four series
elements in a battery pack. The individual cell voltages are stored in the optional Manufacturer Function area.
The VCELL
maximum input for VCELL
–VCELL
1
inputs are divided down from the cells using precision resistors, as shown in Figure 5 . The
4
–VCELL
1
is 1.25 V with respect to VSS. The voltage dividers for the inputs must be
4
set so that the voltages at the inputs do not exceed the 1.25 V limit under all operating conditions. Also, the
divider ratios on VCELL
–VCELL
1
must be half of that of VCELL
2
–VCELL
3
. To reduce current consumption from
4
the battery, the CVON output may used to connect the divider to the cells only during measurement period.
CVON is high impedance for 250 ms (12.5% duty cycle) when the cells are measured, and driven low otherwise.
See Table 1 .
Current
The SRC input of the bq2060 measures battery charge and discharge current. The SRC ADC input converts the
current signal from the series sense resistor and stores the result in Current(). The full-scale input range to SBC
is limited to ± 250 mV as shown in Table 2 .
for
2
6
bq2060
SMBC THON
SR
1
ESDA
SR
2
ESCL
SRC
RBI
CFC
LED5
LED3
VCELL
4
LED4
CVON
LED1
V
CC
REG
V
OUT
LED2
DFC
DISP
TS
V
SS
VCELL
1
VCELL
2
VCELL
3
SMBD
HDQ16
V
CC
To Pack
Protection
Circuitry
V
CC
EEPROM
SDA
A0
SCL
V
CC
V
SS
A1
A2
WP
V
CC
SST113
PACK+
PACK−
R
5
SMBC
HDQ
SMBD
Thermistor
FUNCTIONAL DESCRIPTION (continued)
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Figure 5. Battery Pack Application Diagram–LED Display and Series Cell Monitoring
7
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Table 1. Example VCELL1–VCELL4 Divider and Input Range
VOLTAGE INPUT VOLTAGE DIVISION RATIO FULL-SCALE INPUT
VCELL
4
VCELL
3
VCELL
2
VCELL
1
16 20
16 20
8 10
8 10
Table 2. SRC Input Range
SENSE RESISTOR ( Ω ) FULL-SCALE INPUT
0.02 ± 12.5
0.03 ± 8.3
0.05 ± 5.0
0.10 ± 2.5
(A)
Temperature
The TS input of the bq2060 with an NTC thermistor measures the battery temperature as shown in Figure 5 . The
bq2060 reports temperature in Temperature(). THON may be used to connect the bias source to the thermistor
when the bq2060 samples the TS input. THON is high impedance for 60 ms when the temperature is measured,
and driven low otherwise.
(V)
GAS GAUGE OPERATION
General
The operational overview in Figure 6 illustrates the gas gauge operation of the bq2060. Table 3 describes the
bq2060 registers.
The bq2060 accumulates a measure of charge and discharge currents and estimates self-discharge of the
battery. The bq2060 compensates the charge current measurement for temperature and state-of-charge of the
battery. The bq2060 also adjusts the self-discharge estimation based on temperature.
Figure 6. bq2060 Operational Overview
8
FCC(new) DCR(final)
(FCCxBatteryLow%)
DCR(initial) measureddischarge to EDV2
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
The main counter RemainingCapacity() (RM) represents the available capacity or energy in the battery at any
given time. The bq2060 adjusts RM for charge, self-discharge, and leakage compensation factors. The
information in the RM register is accessible through the communications ports and is also represented through
the LED display.
The FullChargeCapacity() (FCC) register represents the last measured full discharge of the battery. It is used for
the battery’s full-charge reference for relative capacity indication. The bq2060 updates FCC when the battery
undergoes a qualified discharge from nearly full to a low battery level. FCC is accessible through the serial
communications ports.
The Discharge Count Register (DCR) is a non-accessible register that only tracks discharge of the battery. The
bq2060 uses the DCR register to update the FCC register if the battery undergoes a qualified discharge from
nearly full to a low battery level. In this way, the bq2060 learns the true discharge capacity of the battery under
system-use conditions.
Main Gas Gauge Registers
RemainingCapacity() (RM)
RM represents the remaining capacity in the battery. The bq2060 computes RM in either mAh or 10 mWh
depending on the selected mode.
On initialization, the bq2060 sets RM to 0. RM counts up during charge to a maximum value of FCC and down
during discharge and self-discharge to 0. In addition to charge and self-discharge compensation, the bq2060
calibrates RM at three low-battery-voltage thresholds, EDV2, EDV1, and EDV0 and three programmable
midrange thresholds VOC25, VOC50, and VOC75. This provides a voltage-based calibration to the RM counter.
DesignCapacity() (DC)
The DC is the user-specified battery full capacity. It is calculated from Pack Capacity EE 0x3a–0x3b and is
represented in mAh or 10 mWh. It also represents the full-battery reference for the absolute display mode.
FullChargeCapacity() (FCC)
FCC is the last measured discharge capacity of the battery. It is represented in either mAh or 10 mWh depending
on the selected mode. On initialization, the bq2060 sets FCC to the value stored in Last Measured Discharge EE
0x38–0x39. During subsequent discharges, the bq2060 updates FCC with the last measured discharge capacity
of the battery. The last measured discharge of the battery is based on the value in the DCR register after a
qualified discharge occurs. Once updated, the bq2060 writes the new FCC value to EEPROM in mAh to Last
Measured Discharge. FCC represents the full-battery reference for the relative display mode and relative state of
charge calculations.
Discharge Count Register (DCR)
The DCR register counts up during discharge, independent of RM. DCR can continue to count even after RM
has counted down to 0. Prior to RM = 0, discharge activity, light discharge estimation and self-discharge
increment DCR. After RM = 0, only discharge activity increments DCR. The bq2060 initializes DCR to FCC – RM
when RM is within twice the programmed value in Near Full EE 0x55. The DCR initial value of FCC – RM is
reduced by FCC/128 if SC = 0 (bit 2 in Control Mode) and is not reduced if SC = 1. DCR stops counting when
the battery voltage reaches the EDV2 threshold on discharge.
Capacity Learning (FCC Update) And Qualified Discharge
The bq2060 updates FCC with an amount based on the value in DCR if a qualified discharge occurs. The new
value for FCC equals the DCR value plus the programmable nearly full- and low-battery levels, according to the
following equation:
where:
BatteryLow% = (value stored in EE 0x54) ÷ 2.56
(1)
9
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
A qualified discharge occurs if the battery discharges from RM ≥ FCC – Near Full * 2 to the EDV2 voltage
threshold with the following conditions:
• No valid charge activity occurs during the discharge period. A valid charge is defined as an input 10 mAh into
the battery.
• No more than 256 mAh of self-discharge and/or light discharge estimation occurs during the discharge
period.
• The temperature does not drop below 5 ° C during the discharge period.
• The battery voltage reaches the EDV2 threshold during the discharge period and the voltage was less than
the EDV2 threshold minus 256 mV when bq2060 detected EDV2.
• No midrange voltage correction occurs during the discharge period.
FCC cannot be reduced by more than 256 mAh or increased by more than 512 mAh during any single update
cycle. The bq2060 saves the new FCC value to the EEPROM within 4 s of being updated.
Table 3. bq2060 Register Functions
FUNCTION SMBus ACCESS UNITS
ManufacturerAccess 0x00 0x00 read/write n/a
RemainingCapacityAlarm 0x01 0x01 read/write mAh, 10 mWh
RemainingTimeAlarm 0x02 0x02 read/write minutes
BatteryMode 0x03 0x03 read/write n/a
AtRate 0x04 0x04 read/write mAh, 10 mWh
AtRateTimeToFull 0x05 0x05 read minutes
AtRateTimeToEmpty 0x06 0x06 read minutes
AtRateOK 0x07 0x07 read Boolean
Temperature 0x08 0x08 read 0.1 ° K
Voltage 0x09 0x09 read mV
Current 0x0a 0x0a read mA
AverageCurrent 0x0b 0x0b read mA
MaxError 0X0c 0X0c read percent
RelativeStateOfCharge 0x0d 0x0d read percent
AbsoluteStateOfCharge 0x0e 0x0e read percent
RemainingCapacity 0x0f 0x0f read mAh, 10 mWh
FullChargeCapacity 0x10 0x10 read mAh, 10 mWh
RunTimeToEmpty 0x11 0x11 read minutes
AverageTimeToEmpty 0x12 0x12 read minutes
AverageTimeToFull 0x13 0x13 read minutes
ChargingCurrent 0x14 0x14 read mA
ChargingVoltage 0x15 0x15 read mV
Battery Status 0x16 0x16 read n/a
CycleCount 0x17 0x17 read cycles
DesignCapacity 0x18 0x18 read mAh, 10 mWh
DesignVoltage 0x19 0x19 read mV
SpecificationInfo 0x1a 0x1a read n/a
ManufactureDate 0x1b 0x1b read n/a
SerialNumber 0x1c 0x1c read Integer
Reserved 0x1d-0x1f 0x1d-0x1f - -
ManufacturerName 0x20 0x20-0x25 read string
DeviceName 0x21 0x28-0x2b read string
DeviceChemistry 0x22 0x30-0x32 read string
ManufacturerData 0x23 0x38-0x3b read string
COMMAND CODE
SMBus HDQ16
10
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Table 3. bq2060 Register Functions (continued)
FUNCTION SMBus ACCESS UNITS
Pack Status 0x2f (LSB) 0x2f (LSB) read/write n/a
Pack Configuration 0x2f (MSB) 0x2f (MSB) read/write n/a
VCELL4 0x3c 0x3c read/write mV
VCELL3 0x3d 0x3d read/write mV
VCELL2 0x3e 0x3e read/write mV
VCELL1 0x3f 0x3f read/write mV
End-of-Discharge Thresholds And Capacity Correction
The bq2060 monitors the battery for three low-voltage thresholds, EDV0, EDV1, and EDV2. The EDV thresholds
are programmed in EDVF/EDV0 EE 0x72–0x73, EMF/EDV1 EE 0x74–0x75, and EDV C1/C0 Factor/ EDV2 EE
0x78–0x79. If the CEDV bit in Pack Configuration is set, automatic EDV compensation is enabled and the
bq2060 computes the EDV0, EDV1, and EDV2 thresholds based on the values in EE 0x72–0x7d, 0x06, and the
battery’s current discharge rate, temperature, capacity, and cycle count. The bq2060 disables EDV detection if
Current() exceeds the Overload Current threshold programmed in EE 0x46 - EE 0x47. The bq2060 resumes
EDV threshold detection after Current() drops below the overload current threshold. Any EDV threshold detected
is reset after a 10-mAh charge is applied.
The bq2060 uses the thresholds to apply voltage-based corrections to the RM register according to Table 4 .
The bq2060 adjusts RM as it detects each threshold. If the voltage threshold is reached before the corresponding
capacity on discharge, the bq2060 reduces RM to the appropriate amount as shown in Table 4 . If RM reaches
the capacity level before the voltage threshold is reached on discharge, the bq2060 prevents RM from
decreasing until the battery voltage reaches the corresponding threshold.
COMMAND CODE
SMBus HDQ16
Table 4. State of Charge Based on Low Battery Voltage
THRESHOLD STATE OF CHARGE IN RM
EDV0 0%
EDV1 3%
EDV2 Battery Low %
Self-Discharge
The bq2060 estimates the self-discharge of the battery to maintain an accurate measure of the battery capacity
during periods of inactivity. The algorithm for self-discharge estimation takes a programmed estimate for the
expected self-discharge rate at 25 ° C stored in EEPROM and makes a fixed reduction to RM of an amount equal
to RemainingCapacity()/256. The bq2060 makes the fixed reduction at a varying time interval that is adjusted to
achieve the desired self-discharge rate. This method maintains a constant granularity of 0.39% for each
self-discharge adjustment, which may be performed multiple times per day, instead of once per day with a
potentially large reduction.
The self-discharge estimation rate for 25 ° C is doubled for each 10 degrees above 25 ° C or halved for each 10
degrees below 25 ° C. The following table shows the relation of the self-discharge estimation at a given
temperature to the rate programmed for 25 ° C (Y% per day):
TEMPERATURE (C) SELF-DISCHARGE RATE
Temp < 10 ¼Y% per day
10 ≤ Temp <20 ½Y% per day
20 ≤ Temp <30 Y% per day
30 ≤ Temp <40 2Y% per day
40 ≤ Temp <50 4Y% per day
50 ≤ Temp <60 8Y% per day
60 ≤ Temp <70 16Y% per day
70 ≤ Temp 32Y% per day
11
Self−DischargeUpdateTime
640 13500
256 n (Y% per day)
seconds
640 13500
256 n (Y% per day)
6750 seconds
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
The interval at which RM is reduced is given by the following equation, where n is the appropriate factor of 2 n =
¼ , ½ , 1, 2, . . . ):
The timer that keeps track of the self-discharge update time is halted whenever charge activity is detected. The
timer is reset to zero if the bq2060 reaches the RemainingCapacity()=FullChargeCapacity() condition while
charging.
Example : If T = 35 ° C (n = 2) and programmed self-discharge rate Y is 2.5 (2.5% per day at 25 ° C), the bq2060
reduces RM by RM/256 (0.39%) every
(2)
(3)
Figure 7. Self-Discharge at 2.5%/Day @25 ° C
This means that a 0.39% reduction of RM is made 12.8 times per day to achieve the desired 5% per day
reduction at 35 ° C.
Figure 7 illustrates how the self-discharge estimate algorithm adjusts RemainingCapacity() versus temperature.
Light Discharge Or Suspend Current Compensation
The bq2060 can be configured in two ways to compensate for small discharge currents that produce a signal
below the digital filter. First, the bq2060 can decrement RM and DCR at a rate determined by the value stored in
Light Discharge Current EE 0x2b when it detects no discharge activity and the SMBC and SMBD lines are high.
Light Discharge Current has a range of 44 µA to 11.2 mA.
Alternatively, the bq2060 can be configured to disable the digital filter for discharge when the SMBC and SMBD
lines are high. In this way, the digital filter does not mask the leakage current signal. The bq2060 is configured in
this mode by setting the NDF bit in Control Mode .
Midrange Capacity Corrections
The bq2060 applies midrange capacity corrections when the VCOR bit is set in Pack Configuration . The bq2060
adjusts RM to the associated percentage at three different voltage levels: VOC25, VOC50, and VOC75. The
VOC values represent the open-circuit battery voltage which RM corresponds to the associated state of charge
for each threshold.
THRESHOLD ASSOCIATED STATE OF CHARGE
VOC25 25%
VOC50 50%
VOC75 75%
12
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
For the midrange corrections to occur, the temperature must be in the range of 19 ° C to 31 ° C inclusive and the
Current() and AverageCurrent() must both be between –64 mA and 0. The bq2060 makes midrange corrections
as shown in Table 5 .
Table 5. Midrange Corrections
CONDITION RESULT
≥ VOC75 and RelativeStateOfCharge() ≤ 63% RelativeStateOfCharge() set to 75%
< VOC75 and RelativeStateOfCharge() ≥ 87% RelativeStateOfCharge() set to 75%
Voltage()
Charge Control
Charging Voltage and Current Broadcasts
The bq2060 supports SBS charge control by broadcasting the ChargingCurrent() and ChargingVoltage() to the
Smart Charger address. The bq2060 broadcasts the requests every 10 s. The bq2060 updates the values used
the charging current and voltage broadcasts based on the battery’s state of charge, voltage, and temperature.
The fast-charge rate is programmed in Fast-Charging Current EE 0x1a - 0x1b while the charge voltage is
programmed in Charging Voltage EE 0x0a-0x0b.
The bq2060 internal charge control is compatible with popular rechargeable chemistries. The primary
charge-termination techniques include a change in temperature over a change in time ( ∆ T/ ∆ t) and current taper,
for nickel-based and Li-ion chemistries, respectively. The bq2060 also provides pre-charge qualification and a
number of safety charge suspensions based on current, voltage, temperature, and state of charge.
≥ VOC50 and RelativeStateOfCharge() ≤ 38% RelativeStateOfCharge() set to 50%
< VOC50 and RelativeStateOfCharge() ≥ 62% RelativeStateOfCharge() set to 50%
≥ VOC25 and RelativeStateOfCharge() ≤ 13% RelativeStateOfCharge() set to 25%
< VOC25 and RelativeStateOfCharge() ≥ 37% RelativeStateOfCharge() set to 25%
Alarm Broadcasts to Smart Charger and Host
If any of the bits 8–15 in BatteryStatus() is set, the bq2060 broadcasts an AlarmWarning() message to the Host
address. If any of the bits 12–15 in BatteryStatus() are set, the bq2060 also sends an AlarmWarning() message
to the Smart Charger address. The bq2060 repeats the AlarmWarning() message every 10 s until the bits are
cleared.
Pre-Charge Qualification
The bq2060 sets ChargingCurrent() to the pre-charge rate as programmed in Pre-Charge Current EE 0x1e-0x1f
under the following conditions:
• Voltage: The bq2060 requests the pre-charge charge rate when Voltage() drops below the EDV0 threshold
(compensated or fixed EDVs). Once requested, a pre-charge rate remains until Voltage() increases above
the EDVF threshold. The bq2060 also broadcasts the pre-charge value immediately after a device reset until
Voltage() is above the EDVF threshold. This threshold is programmed in EDVF/EDV0 EE 0x72-0x73.
• Temperature: The bq2060 requests the pre-charge rate when Temperature() is between 0 ° C and 5 ° C.
Temperature() must rise above 5 ° C before the bq2060 requests the fast-charge rate.
Charge Suspension
The bq2060 may temporarily suspend charge if it detects a charging fault. A charging fault includes the following
conditions.
• Overcurrent: An overcurrent condition exists when the bq2060 measures the charge current to be more than
the Overcurrent Margin above the ChargingCurrent(). Overcurrent Margin is programmed in EE 0x49. On
detecting an overcurrent condition, the bq2060 sets the ChargingCurrent() to zero and sets the
TERMINATE_CHARGE_ALARM bit in Battery Status(). The overcurrent condition and TERMINATE_
CHARGE_ALARM are cleared when the measured current drops below the ChargingCurrent plus the
Overcurrent Margin .
13
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
• Overvoltage: An overvoltage condition exists when the bq2060 measures the battery voltage to be more
than the Overvoltage Margin above the ChargingVoltage() or a Li-ion cell voltage has exceeded the
overvoltage limit programmed in Cell Under-/Overvoltage. Overvoltage Margin is programmed in EE 0x48
and Cell Under-/Overvoltage in EE 0x4a (least significant nibble). On detecting an overvoltage condition, the
bq2060 sets the ChargingCurrent() to zero and sets the TERMINATE_CHARGE_ALARM bit in
BatteryStatus(). The bq2060 clears the TERMINATE_ CHARGE_ALARM bit when it detects that the battery
is no longer being charged (DISCHARGING bit set in BatteryStatus()). The bq2060 continues to broadcast
zero charging current until the overvoltage condition is cleared. The overvoltage condition is cleared when
the measured battery voltage drops below the ChargingVoltage() plus the Overvoltage Margin or when the
CVOV bit is reset.
• Over-Temperature: An over-temperature condition exists when Temperature() is greater than or equal to the
Max T value programmed in EE 0x45 (most significant nibble). On detecting an over-temperature condition,
the bq2060 sets the ChargingCurrent() to zero and sets the OVER_TEMP_ALARM and
TERMINATE_CHARGE_ ALARM bit in BatteryStatus() and the CVOV bit in Pack Status. The
over-temperature condition is cleared when Temperature() is equal to or below ( Max T – 5 ° C).
• Overcharge: An overcharge condition exists if the battery is charged more than the Maxmum Overcharge
value after RM = FCC. Maximum Overcharge is programmed in EE 0x2e–0x2f. On detecting an overcharge
condition, the bq2060 sets the ChargingCurrent() to zero and sets the OVER_CHARGED_ALARM,
TERMINATE_CHARGE_ ALARM, and FULLY_CHARGED bits in BatteryStatus(). The bq2060 clears the
OVER_ CHARGED_ALARM and TERMINATE_CHARGE_ ALARM when it detects that the battery is no
longer being charged. The FULLY_CHARGED bit remains set and the bq2060 continues to broadcast zero
charging current until RelativeStateOfCharge() is less than Fully Charged Clear % programmed in EE
0x4c.The counter used to track overcharge capacity is reset with 2mAh of discharge.
• Under-Temperature: An under-temperature condition exists if Temperature() < 0 ° C. On detecting an
under-temperature condition, the bq2060 sets ChargingCurrent() to zero. The bq2060 sets ChargingCurrent()
to the appropriate pre-charge rate or fast-charge rate when Temperature() ≥ 0 ° C.
Primary Charge Termination
The bq2060 terminates charge if it detects a charge-termination condition. A charge-termination condition
includes the following.
• ∆ T/ ∆ t: For ∆ T/ ∆ t, the bq2060 detects a change in temperature over many seconds. The ∆ T/ ∆ t setting is
programmable in both the temperature step, DeltaT (1.6 ° C – 4.6 ° C), and the time step, DeltaT Time (20
s–320 s). Typical settings for 1 ° C/minute include 2 ° C/120 s and 3 ° C/180 s. Longer times are required for
increased slope resolution. The DeltaT value is programmed in EE 0x45 (least significant nibble) and the
Delta T Time in EE 0x4e.
In addition to the ∆ T/ ∆ t timer, a holdoff timer starts when the battery is being charged at more than 255 mA
and the temperature is above 25 ° C. Until this timer expires, ∆ T/ ∆ t detection is suspended. If Current() drops
below 256 mA or Temperature() below 25 ° C, the hold-off timer resets and restarts only when the current and
temperature conditions are met again. The holdoff timer is programmable (20 s–320 s) with Holdoff Time
value in EE 0x4f.
• Current Taper : For current taper, ChargingVoltage() must be set to the pack voltage desired during the
constant-voltage phase of charging. The bq2060 detects a current taper termination when the pack voltage is
greater than the voltage determined by Current Taper Qual Voltage in EE 0x4f and the charging current is
below a threshold determined by Current Taper Threshold in EE 0x4e, for at least 40 s. The bq2060 uses the
VFC to measure current for current taper termination. The current polarity must remain positive as measured
by the VFC during this time.
Once the bq2060 detects a primary charge termination, the bq2060 sets the TERMINATE_CHARGE_ALARM
and FULLY_CHARGED bits in BatteryStatus(), and sets the ChargingCurrent() to the maintenance charge rate
as programmed in Maintenance Charging Current EE 0x1c–0x1d. On termination, the bq2060 also sets RM to a
programmed percentage of FCC, provided that RelativeStateOfCharge() is below the desired percentage of FCC
and the CSYNC bit in Pack Configuration EE 0x3f is set. If the CSYNC bit is not set and RelativeStateOfCharge()
is less than the programmed percentage of FCC, the bq2060 clears the FULLY_CHARGED bit in
BatteryStatus(). The programmed percentage of FCC, Fast Charge Termination %, is set in EE 0x4b. The
14
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
bq2060 clears the FULLY_CHARGED bit when RelativeStateOfCharge() is less than the programmed Fully
Charged Clear %. The bq2060 broadcasts the fast-charge rate when the FULLY_CHARGED bit is cleared and
voltage and temperature permit. The bq2060 clears the TERMINATE_CHARGE_ALARM when it no longer
detects that the battery is being charged or it no longer detects the termination condition. See Table 6 for a
summary of BatteryStatus() alarm and status bit operation.
Display Port
General
The display port drives a 4- or 5-LED, bar-graph display. The display is activated by a logic signal on the DISP
input. The bq2060 can display RM in either a relative or absolute mode with each LED representing a
percentage of the full-battery reference. In relative mode, the bq2060 uses FCC as the full-battery reference; in
absolute mode, it uses DC.
The DMODE bit in Pack Configuration programs bq2060 for the absolute or relative display mode. The LED bit in
Control Mode programs the 4-or 5-LED option. A 5th LED can be used with the 4-LED display option to show
when the battery capacity is ≥ to 100%.
Activation
The display may be activated at any time by a high-to-low transition on the DISP input. This is usually
accomplished with a pullup resistor and a pushbutton switch. Detection of the transition activates the display and
starts a 4-s display timer. The timer expires and turns off the display whether DISP was brought low momentarily
or held low indefinitely. Reactivation of the display requires that the DISP input return to a logic-high state and
then transition low again. The second high-to-low transition must occur after the display timer expires. The
bq2060 requires the DISP input to remain stable for a minimum of 250ms to detect the logic state.
If the EDV0 bit is set, the bq2060 disables the LED display. The display is also disabled during a VFC calibration
and should be turned off before entering the low-power storage mode.
Display Modes
In relative mode, each LED output represents 20% or 25% of the RelativeStateOfCharge() value. In absolute
mode, each LED output represents 20% or 25% of the AbsoluteStateOfCharge() value. Table 7 shows the
display operation.
In either mode, the bq2060 blinks the LED display if RemainingCapacity() is less than Remaining
CapacityAlarm(). The display is disabled if EDV0 = 1.
Secondary Protection for Li-Ion
Undervoltage and overvoltage thresholds may be programmed in the byte value Cell Under/Over Voltage EE
0x4a to set a secondary level of protection for Lithium ion cells. The bq2060 checks individual cell voltages for
undervoltage and overvoltage conditions. The bq2060 displays the results in the Pack Status register and
controls the state of the FET control outputs CFC and DFC. any cell voltage is less than the V
UV
threshold, the
bq2060 sets the CVUV bit in Pack Status and pulls the DFC pin to a logic low. If any cell voltage is greater than
the V
threshold, the bq2060 sets the CVOV bit in Pack Status and pulls the CFC pin to a logic low.
OV
Low-Power Storage Mode
The bq2060 enters low-power mode 5 to 8 s after receiving the Enable Low-Power command. In this mode the
bq2060 consumes less than 10 µA. A rising edge on SMBC, SMBD, or HDQ16 restores the bq2060 to the full
operating mode. The bq2060 does not perform any gas gauge functions during low-power storage mode.
Device Reset
The bq2060 can be reset with commands over the HDQ16 or SMBus. On reset, the bq2060 initializes its internal
registers with the information contained in the configuration EEPROM. The following command sequence
initiates a full bq2060 reset:
Write 0x4f to 0xff5a
Write 0x7d to 0x0000
Write 0x7d to 0x0080
15
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Table 6. Alarm and Status Bit Summary
BATTERY STATE CONDITIONS CC() STATE AND CC() = FAST OR PRE-CHARGE CURRENT
Overcurrent C() ≥ CC() + CC() = 0, TCA = 1 C() < CC() + Overcurrent Margin
Overvoltage VCELL1, 2, 3, or 4 > Cell Over
Over temperature T() ≥ Max T CC() = 0, OTA= 1, T() ≤ Max T - 5 ° C or T() ≤ 43 ° C
Overcharge ≥
Under temperature T() < 0 ° C CC() = 0 0 ° C ≤ T() < 5 ° C, CC() = Pre-Charge Current
Fast charge termination ∆ T/ ∆ t or Current Taper
Fully discharged V() ≤ EDV2 FD = 1 RSOC() > 20%
Overdischarged
Low capacity RM() < RCA() RCA = 1 RM() ≥ RCA()
Low run-time ATTE() < RTA() RTA = 1 ATTE() ≥ RTA()
(1) C() = Current(), CV() = ChargingVoltage(), CC() = ChargingCurrent(), V() = Voltage(), T() = Temperature(),
TCA = TERMINATE_CHARGE_ALARM, OTA = OVER_TEMPERATURE_ALARM,
OCA = OVER_CHARGED_ALARM, TDA = TERMINATE_DISCHARGE_ALARM, FC = FULLY_CHARGED,
FD = FULLY_DISCHARGED, RSOC() = RelativeStateOfCharge(). RM() = RemainingCapacity(),
RCA = REMAINING_CAPACITY_ALARM, RTA = REMAINING_TIME_ALARM,
ATTE() = AverageTimeToEmpty(), RTA() = RemainingTimeAlarm(), RCA() = RemainingCapacityAlarm(),
FCC() = FullChargeCapacity.
Overcurrent Margin
V() ≥ CV() + Overvoltage Margin
Voltage
Capacity added after RM() = FCC() CC() = 0, FC = 1 RSOC() < Fully Charged Cleared %
Maximum Overcharge
V() ≤ EDV0 TDA = 1 V() > EDV0
VCELL1, 2, 3 or 4 < Cell Under TDA = 1, CVUV = 1 VCELL1, 2, 3, or 4 ≥ Cell Under Voltage
Voltage
BatteryStatus BITS SET AND/OR BITS CLEARED
TCA = 1 DISCHARGING = 1
CC() = 0, CVOV = 1 V() < CV() + Overvoltage Margin
TCA = 1, CVOV = 1
OCA = 1, TCA = 1 DISCHARGING = 1
CC() = Maintenance RSOC() < Fully Charged Cleared %
Charging Current,
FC = 1
TCA = 1 DISCHARGING = 1 or termination condition is
(1)
Li-ion cell voltage ≤ Cell Over Voltage
T() ≥ 5 ° C, CC() = Fast-Charging Current
no longer valid.
Table 7. DISPLAY MODE (5 LED)
CONDITION 5 LED DISPLAY OPTION
RELATIVE OR
ABSOLUTE
STATEOFCHARGE
()
EDV0 = 1 OFF OFF OFF OFF OFF
<20% ON OFF OFF OFF OFF
≥ 20%, <40% ON ON OFF OFF OFF
≥ 40%, <60% ON ON ON OFF OFF
≥ 60%, <80% ON ON ON ON OFF
≥ 80% ON ON ON ON ON
16
LED1 LED2 LED3 LED4 LED5
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Table 8. DISPLAY MODE (4 LED)
CONDITION 4 LED DISPLAY OPTION
RELATIVE OR
ABSOLUTE
STATEOFCHARGE()
EDV0 = 1 OFF OFF OFF OFF
<25% ON OFF OFF OFF
≥ 25%, <50% ON ON OFF OFF
≥ 50%, <75% ON ON ON OFF
≥ 75% ON ON ON ON
Communication
The bq2060 includes two types of communication ports: SMBus and HDQ16. The SMBus interface is a 2-wire
bidirectional protocol using the SMBC (clock) and SMBD (data) pins. The HDQ16 interface is a 1-wire
bidirectional protocol using the HDQ16 pin. All three communication lines are isolated from V
pulled up higher than V
. Also, the bq2060 does not pull these lines low if V
CC
should be pulled down with a 100-k Ω resistor if not used.
The communication ports allow a host controller, an SMBus-compatible device, or other processor to access the
memory registers of the bq2060. In this way a system can efficiently monitor and manage the battery.
SMBus
The SMBus interface is a command-based protocol processor acting as the bus master initiates communication
to the bq2060 by generating a START condition. The START condition consists of a high-to-low transition of the
SMBD line while the SMBC is high. The processor then sends the bq2060 device address of 0001011 (bits 7–1)
plus a R/ W bit (bit 0) followed by an SMBus command code. The R/ W bit and the command code instruct the
bq2060 to either store the forthcoming data to a register specified by the SMBus command code or output the
data from the specified register. The processor completes the access with a STOP condition. A STOP condition
consists of a low-to-high transition of the SMBD line while the SMBC is high. With the SMBus protocol, the most
significant bit of a data byte is transmitted first.
In some instances, the bq2060 acts as the bus master. This occurs when the bq2060 broadcasts charging
requirements and alarm conditions to device addresses 0x12 (SBS Smart Charger) and 0x10 (SBS Host
Controller.)
LED1 LED2 LED3 LED4
to the part is zero. HDQ16
CC
CC
and may be
SMBus Protocol
The bq2060 supports the following SMBus protocols:
• Read Word
• Write Word
• Read Block
A processor acting as the bus master uses the three protocols to communicate with the bq2060. The bq2060
acting as the bus master uses the WriteWord protocol.
The SMBD and SMBC pins are open drain and require external pullup resistors.
SMBus Packet Error Checking
The bq2060 supports Packet Error Checking as a mechanism to confirm proper communication between it and
another SMBus device. Packet Error Checking requires that both the transmitter and receiver calculate a Packet
Error Code (PEC) for each communication message. The device that supplies the last byte in the communication
message appends the PEC to the message. The receiver compares the transmitted PEC to its PEC result to
determine if there is a communication error.
PEC Protocol
The bq2060 can receive or transmit data with or without PEC. Figure 8 shows the communication protocol for the
Read Word, Write Word, and Read Block messages without PEC. Figure 9 includes PEC.
17
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
In the Write Word protocol, the bq2060 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
bq2060 compares the value to its calculation. If the PEC is correct, the bq2060 responds with an
ACKNOWLEDGE. If is not correct, the bq2060 responds with a NOT ACKNOWLEDGE and sets an error code.
Figure 8. SMBus Communication Protocol Without PEC
Figure 9. SMBus Communication Protocol With PEC
In the Read Word and Block Read, the host generates an ACKNOWLEDGE after the last byte of data is sent by
the bq2060. The bq2060 then sends the PEC and the host acting as a master-receiver generates a NOT
ACKNOWLEDGE and a STOP condition.
PEC Calculation
The basis of the PEC calculation is an 8-bit cyclic redundancy check (CRC-8) based on the polynomial C(X) = X
+ X2+ X
1
+ 1. The PEC calculation includes all bytes in the transmission, including address, command, and data.
The PEC calculation does not include ACKNOWLEDGE, NOT ACKNOWLEDGE, START, STOP, and repeated
START bits.
For example, the host requests RemainingCapacity() from the bq2060. This includes the host following the Read
Word protocol. The bq2060 calculates the PEC based on the following 5 bytes of data, assuming that the
remaining capacity of the battery is 1001 mAh.
• Battery Address with R/ W = 0: 0x16
• Command Code for RemainingCapacity(): 0x0f
18
8
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
• Battery Address with R/ W = 1: 0x17
• RemainingCapacity(): 0x03e9
For 0x160f17e903, the bq2060 transmits a PEC of 0xe8 to the host.
PEC Enable in Master Mode
PEC for master mode broadcasts to the charger, host, or both can be enabled/disabled with the combination the
bits HPE and CPE in Control Mode .
SMBus On and Off State
The bq2060 detects whether the SMBus enters the Off state by monitoring the SMBC and SMBD lines. When
both signals are continually low for at least 2.5 s, the bq2060 detects the Off state. When the SMBC and SMBD
lines go high, the bq2060 detects the On state and can begin communication within 1 ms. One-M Ω pulldown
resistors on SMBC and SMBD are recommended for reliable Off tate detection.
HDQ16
The HDQ16 interface is a command-based protocol. (See Figure 10 .) A processor sends the command code to
the bq2060. The 8-bit command code consists of two fields, the 7-bit HDQ16 command code (bits 0–6) and the
1-bit R/W field. The R/W field directs the bq2060 either to
• Store the next 16 bits of data to a specified register or
• Output 16 bits of data from the specified register
With HDQ16, the least significant bit of a data byte (command) or word (data) is transmitted first.
A bit transmission consists of three distinct sections. The first section starts the transmission by either the host or
the bq2060 taking the HDQ16 pin to a logic-low state for a period t
transmission, where the data bit is valid by the time, t
The data bit is held for a period t
to allow the host processor or bq2060 to sample the data bit.
DH;DV
after the negative edge used to start communication.
DSU;B
The final section is used to stop the transmission by returning the HDQ16 pin to a logic-high state by at least the
time t
t
CYCH;B
If a communication error occurs (e.g., t
after the negative edge used to start communication. The final logic-high state should be until a period
SSU;B
to allow time to ensure that the bit transmission was stopped properly.
> 250µs), the host sends the bq2060 a BREAK to reinitiate the serial
CYCB
interface. The bq2060 detects a BREAK when the HDQ16 pin is in a logic-low state for a time tBor greater. The
HDQ16 pin is then returned to its normal ready-high logic state for a time tBR. The bq2060 is then ready to
receive a command from the host processor.
The HDQ16 pin is open drain and requires an external pullup resistor.
. The next section is the actual data
STRH;B
Figure 10. HDQ16 Communication Example
Command Codes
The SMBus Command Codes are in (), the HDQ16 in [ ]. Temperature(), Voltage(), Current(), and
AverageCurrent(), performance specifications are at regulated V
(V
CC
) and a temperature of 0 ° C–70 ° C.
RO
19
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
ManufacturerAccess() (0x00); [0x00–0x01]
DESCRIPTION
This function provides writable command codes to control the bq2060 during normal operation and
pack manufacture. These commands can be ignored if sent within one second after a device reset.
The following list of commands are available.
0x0618 ENABLE LOW-POWER STORAGE MODE: Activates the low-power storage mode. The bq2060 enters
the storage mode after a 5- to 8-s delay. The bq2060 accepts other commands to
ManufacturerAccess() during the delay before entering low-power storage mode. The LEDs must
be off before entering the low-power storage mode as the display state remains unchanged. During
the delay following the low-power storage command, a VFC Calibration command may be issued.
The bq2060 clears the ManufacturerAccess() command within 900 ms of acknowledging the Enable
Low-Power Storage command. The VFC Calibration command must be sent 900–1600 ms after
SMBus acknowledgment of the Enable Low-Power Storage command. In this case, the bq2060
delays entering storage mode until the calibration process completes and the bq2060 stores the
new calibration values in EEPROM.
0x062b SEAL COMMAND: Instructs the bq2060 to restrict access to those functions listed in Table 3 .
NOTE:
The SEAL Command does not change the state of the SEAL bit in Pack Configuration
in EEPROM. The bq2060 completes the seal function and clears
ManufacturerAccess() within 900 ms of acknowledging the command.
0x064d CHARGE SYNCHRONIZATION: Instructs the bq2060 to update RM to a percentage of FCC as defined
in Fast Charge Termination %. The bq2060 updates RM and clears ManufacturerAccess() within
900 ms of acknowledging the command.
0x0653 ENABLE VFC CALIBRATION: Instructs the unsealed bq2060 to begin VFC calibration. With this
command, the bq2060 deselects the SR
to avoid charge or discharge currents through the sense resistor during this calibration process.
0x067e ALTERNATE VFC CALIBRATION: Instructs the unsealed bq2060 to begin VFC calibration. With this
command, the bq2060 does not deselect the SR
offset. During this procedure no charge or discharge currents occur.
During VFC calibration, the bq2060 disables the LED display and accepts only the Stop VFC
Calibration and the SEAL Command to ManufacturerAccess(). The bq2060 disregards all other
commands. SMBus communication should be kept to a minimum during VFC calibration to reduce
the noise level and allow a more accurate calibration.
Once started, the VFC calibration procedure completes automatically. When complete, the bq2060
saves the calibration values in EEPROM. The calibration normally takes about 8 to 10 minutes. The
calibration time is inversely proportional to the bq2060 VFC (and PCB) offset error. The bq2060
caps the calibration time at one hour in the event of calibrating a zero-offset error. The VFC
calibration can be done as the last step in a battery pack test procedure because the calibration
can complete automatically after removal from a test setup.
The bq2060 clears ManufacturerAccess() within 900 ms and starts calibration within 3.2 s of
acknowledging the command.
0X0660 STOP VFC CALIBRATION: Instructs the bq2060 to abort a VFC calibration procedure. If aborted, the
bq2060 disables offset correction. The bq2060 stops calibration within 20 ms of acknowledging the
command.
0X0606 PROGRAM EEPROM: Instructs the unsealed bq2060 to connect the SMBus to the EEPROM I 2C bus.
The bq2060 applies power to the EEPROM within 900 ms of acknowledging the command. After
issuing the program EEPROM command, the bq2060 monitoring functions are disabled until the I2C
bus is disconnected. The bq2060 disconnects the I2C bus when it detects that the Battery Address
0x16 is sent over the SMBus. The Battery Address 0x16 to disconnect the I2C bus should not be
sent until 10 ms after the last write to the EEPROM.
and SR
1
inputs and calibrates for IC offset only. It is best
2
and SR
1
inputs and calibrates for IC and PCB
2
20
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Example : The following sequence of actions is an example of how to use the ManufacturerAccess() commands
in an efficient manner to take a battery pack that has completed all testing and calibration except for VFC
calibration and to make it ready for shipment in the SEALED state and in low-power storage mode:
1. Complete testing and calibration with desired final values stored in EEPROM. This process includes setting
the SEAL bit in Pack Configuration . Sending a reset command to the bq2060 during test ensures that RAM
values correspond to the final EEPROM values
2. If the initial value of RemainingCapacity() must be non-zero, the desired value may be written to Command
0x26 with the pack unsealed. A reset sent after this step resets RM to zero.
3. Issue the Enable Low-Power Storage Mode command.
4. Within 900–1600 ms after sending the Enable Low-Power command, issue the Enable VFC Calibration
command. This delays the low-power storage mode until after VFC calibration completion.
5. Issue the SEAL Command subsequent to the VFC Calibration command. The bq2060 must receive the
SEAL Command before VFC calibration completes. The bq2060 resets the OCE bit in Pack Status when
calibration begins and sets the bit when calibration successfully completes.
After VFC calibration completes automatically, the bq2060 saves the VFC offset cancellation values in EEPROM
and enters the low-power storage mode in about 20 s. In addition, the bq2060 is sealed, allowing access as
defined in Table 3 only.
PURPOSE
The ManufacturerAccess() function provides the system host access to bq2060 functions that are
not defined by the SBD.
SMBUS PROTOCOL Read or Write Word
INPUT/OUTPUT: Word
RemainingCapacityAlarm() (0x01); [0x01]
DESCRIPTION
Sets or gets the low-capacity threshold value. Whenever the RemainingCapacity() falls below the
low-capacity value, the bq2060 sends AlarmWarning() messages the SMBus Host with the
REMAINING_CAPACITY_ ALARM bit set. A low-capacity value of 0 disables this alarm. The
bq2060 initially sets the low-capacity value to Remaining Capacity Alarm value programmed in EE
0x04 - 0x05. The low-capacity value remains unchanged until altered by the
Remaining-CapacityAlarm() function. The low-capacity value may be expressed in either current
(mA) or power (10 mWh) depending on the setting of the BatteryMode()’s CAPACITY_ MODE bit.
PURPOSE
The RemainingCapacityAlarm() function can be used by systems that know how much power they
require to save their operating state. It enables those systems to more finely control the point at
which they transition into suspend or hibernate state. The low-capacity value can read to verify the
value in use by the bq2060’s low capacity alarm.
SMBus PROTOCOL Read or Write Word
INPUT/OUTPUT Unsigned integer—value below which Low Capacity messages are sent.
BATTERY MODES
CAPACITY_MODE CAPACITY_MODE
bit = 0 bit = 1
Units mAh @ C/5 10 mWh @ P/5
Range 0–65,535 mAh 0–65,535 10 mWh
Granularity Not applicable
Accuracy See RemainingCapacity()
21
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
RemainingTimeAlarm() (0x02); [0x02]
DESCRIPTION
Sets or gets the remaining time alarm value. Whenever the AverageTimeToEmpty() falls below the
remaining time value, the bq2060 sends AlarmWarning() messages to the SMBus Host with the
REMAINING_TIME_ALARM bit set. A remaining time value of 0 effectively disables this alarm. The
bq2060 initially sets the remaining time value to the Remaining Time Alarm value programmed in
EE 0x02 - 0x03. The remaining time value remains unchanged until altered by the
RemainingTimeAlarm() function.
PURPOSE
The RemainingTimeAlarm() function can be used by systems that want to adjust when the
remaining time alarm warning is sent. The remaining time value can be read to verify the value in
use by the bq2060’ RemainingTimeAlarm().
SMBus PROTOCOL Read or Write Word
INPUT/OUTPUT:
Unsigned integer—the point below which remaining time messages are sent.
Units: minutes
Range: 0 to 65,535 minutes
Granularity: Not applicable
Accuracy: see AverageTimeToEmpty()
BatteryMode() (0x03); [0x03]
DESCRIPTION This function selects the various battery operational modes and reports the battery’s mode and
requests.
Defined modes include
• Whether the battery’s capacity information is specified in mAh or 10 mWh (CAPACITY_MODE bit)
• Whether the ChargingCurrent() and ChargingVoltage() values are broadcast to the Smart Battery Charger
when the bq2060 detects that the battery requires charging (CHARGER_MODE bit)
• Whether all broadcasts to the Smart Battery Charger and Host are disabled
The defined request condition is the battery requesting conditioning cycle (RELEARN_FLAG).
PURPOSE
The CAPACITY_MODE bit allows power management systems to best match their electrical
characteristics with those reported by the battery. For example, a switching power supply
represents a constant power load, whereas a linear supply is better represented by a constant
current model. The CHARGER_MODE bit allows a SMBus Host or Smart Battery Charger to
override the Smart Battery’s desired charging parameters disabling the bq2060’s broadcasts. The
RELEARN_ FLAG bit allows the bq2060 to request a conditioning cycle.
SMBus PROTOCOL Read orWriteWord
INPUT/OUTPUT
Unsigned integer —bit mapped— see below.
Units: not applicable
Range: 0–1
Granularity: not applicable
Accuracy: not applicable
The BatteryMode() word is divided into two halves, the most significant bit (bits 8–15) which is read/write and the
least significant bit (bits 0–7) which is read only. The bq2060 forces bits 0–6 to zero and prohibits writes to bit 7.
Table 9 summarizes the meanings of the individual bits in the BatteryMode() word and specifies the default
values, where applicable, are noted.
22
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Table 9. Battery Mode Bits and Values
BATTERY MODE() BITS BITS USED FORMAT ALLOWABLE VALUES
INTERNAL_CHARGE_CONTR 0 Read only bit flag
PRIMARY_BATTERY_SUPPO 1 Read only bit flag
CHARGE_CONTROLLER_ENA 8 R/W bit flag
INTERNAL_CHARGE_CONTROLLER bit is not used by the bq2060.
PRIMARY_BATTERY_SUPPORT bit is not used by the bq2060.
RELEARN_FLAG bit set indicates that the bq2060 is requesting a capacity relearn cycle for the battery. The
bq2060 sets the RELEARN_FLAG on a full reset and it detects 20 cycle counts without an FCC update. The
bq2060 clears this flag after a learning cycle has been completed.
CHARGE_CONTROLLER_ENABLED bit is not used by the bq2060. The bq2060 forces this bit to zero.
PRIMARY_BATTERY bit is not used by the bq2060. The bq2060 forces this bit to zero.
ALARM_MODE bit is set to disable the bq2060’s ability to master the SMBus and send AlarmWarning()
messages to the SMBus Host and the Smart Battery Charger. When set, the bq2060 does not master the
SMBus, and AlarmWarning() messages are no t sent to the SMBus Host and the Smart Battery Charger for a
period of no more than 65 s and no less than 45 s . When cleared (default), the Smart Battery sends the
AlarmWarning() messages to the SMBus Host and the Smart Battery Charger any time an alarm condition is
detected.
• The bq2060 polls the ALARM_MODE bit at least every 150 ms. Whenever the ALARM_MODE bit is set, the
• The ALARM_MODE bit defaults to a cleared state within 130 ms after the bq2060 detects the SMBus
• The condition of the ALARM-MODE bit does NOT affect the operation or state of the CHARGER_MODE bit
CHARGER_MODE bit enables or disables the bq2060’s transmission of ChargingCurrent() and
ChargingVoltage() messages to the Smart Battery Charger. When set, the bq2060 does NOT transmit
ChargingCurrent() and ChargingVoltage() values to the Smart Battery Charger. When cleared, the bq2060
transmits the ChargingCurrent() and ChargingVoltage() values to the Smart Battery Charger. The
CHARGER_MODE bit defaults to a cleared state within 130 ms after the bq2060 detects the SMBus Off state.
CAPACITY_MODE bit indicates if capacity information is reported in mA/mAh or 10 mW/10 mWh. When set, the
bq2060 reports capacity information in 10mW/10mWh as appropriate. When cleared, the bq2060 reports
capacity information in mA/mAh as appropriate. The CAPACITY_MODE bit defaults to a cleared state within 130
ms after the bq2060 detects the SMBus Off state.
NOTE 1: The following functions are changed to accept or return values in mA/mAh or 10 mW/10 mWh
depending on the CAPACITY_MODE bit:
OLLER
RT
Reserved 2–6
RELEARN_FLAG 7 Read only bit flag 0—Battery OK
1—Relearn cycle requested
BLED
PRIMARY_BATTERY 9 R/W bit flag
Reserved 10–12
ALARM_MODE 13 R/W bit flag 0—Enable alarm broadcast (default)
1—Disable alarm broadcast
CHARGER_MODE 14 R/W bit flag 0—Enable charging broadcast (default)
1—Disable charging broadcast
CAPACITY_MODE 15 R/W bit flag 0—Report in mA or mAh (default)
1—Report in 10mW or 10mWh
bq2060 resets the bit and starts or restarts a 55 s (nominal) timer. After the timer expires, the bq2060
automatically enables alarm broadcasts to ensure that the accidental deactivation of broadcasts does not
persist. To prevent the bq2060 from becoming a master on the SMBus, an SMBus host must therefore
continually set this bit at least once per 50s to keep the bq2060 from broadcasting alarms.
Off-State.
which is used to prevent broadcasts ChargingCurrent() and ChargingVoltage() to the Smart Battery Charger.
23
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
• RemainingCapacityAlarm()
• AtRate()
• RemainingCapacity()
• FullChargeCapacity()
• DesignCapacity()
NOTE 2: The following functions are calculated on the basis of capacity and may be calculated differently
depending on the CAPACITY_MODE bit:
• AtRateOK()
• AtRateTimeToEmpty()
• AtRateTimeToFull()
• RunTimeToEmpty()
• AverageTimeToEmpty()
• AverageTimeToFull()
• Remaining Time Alarm()
• BatteryStatus()
The bq2060 updates the non-AtRate related register values within 3 s of changing the state of the CAPACITY_
MODE bit. The AtRate() values is updated after the next AtRate value is written to the bq2060 (or after the next
20-s scheduled refresh calculation).
AtRate() (0x04); [0x04]
DESCRIPTION
The AtRate() function is the first half of a two-function call-set used to set the AtRate value used in
calculations made by the AtRateTimeToFull(), AtRateTime-ToEmpty(), and AtRateOK() functions.
The AtRate value may be expressed in either current (mA) or power (10 mWh) depending on the
setting of the BatteryMode()’s CAPACITY_MODE bit.
PURPOSE
Because the AtRate() function is the first half of two-function call-set, it is followed by the second
function of the call-set that calculates and returns a value based on the AtRate value and the
battery’s present state. A delay of up to 1.3 s is required after writing AtRate() before the bq2060
can acknowledge the requested AtRate function.
• When the AtRate() value is positive, the AtRate-TimeToFull() function returns the predicted time to full
charge at the AtRate value of charge.
• When the AtRate() value is negative, the AtRateTimeToEmpty() function returns the predicted operating time
at the AtRate value of discharge.
• When the AtRate() value is negative, the AtRateOK() function returns a Boolean value that predicts the
battery’s ability to supply the AtRate value of additional discharge energy (current or power) for 10 seconds.
The default value for AtRate() is zero. Writing AtRate() values over the HDQ16 serial port does not trigger a
re-calculation of AtRateTimeToFull(), AtRateTimeToEmpty(), and AtRateOK() functions.
It is recommended that AtRate() requests should be limited to one request every 4 s.
SMBus PROTOCOL Read orWriteWord
INPUT/OUTPUT Signed integer—charge or discharge; the AtRate() value is positive for charge, negative for
discharge, and zero for neither (default).
24
AtRateTimeToFull() (0x05);[0x05]
DESCRIPTION
PURPOSE
SMBus PROTOCOL ReadWord
OUTPUT
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
BATTERY MODES
CAPACITY_MODE CAPACITY_MODE
bit = 0 bit = 1
Units mA 10 mW
Charge Range 1 to 32,767 mA 1 to 32,768 10 mW
Discharge Range –1 to –32,768 mA –1 to –32,768 10 mW
Granularity 1 Unit
Accuracy NA
Returns the predicted remaining time to fully charge the battery at the AtRate( ) value (mA).
The AtRateTimeToFull() function is part of two-function call-set used to determine the predicted
remaining charge time at the AtRate value in mA. The bq2060 updates AtRateTimeToFull() within
1.3 s after the SMBus Host sets the AtRate value. If read before this delay, the command is No
Acknowledged and the error code in BatteryStatus is set to not ready . The bq2060 automatically
updates AtRateTimeToFull() based on the AtRate() value every 20 s.
Unsigned integer—predicted time in minutes to fully charge the battery.
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy: ± MaxError() *
FullChargeCapacity()/|AtRate()|
Invalid Data Indication: 65,535 indicates the battery is not being charged.
AtRateTimeToEmpty() (0x06); [0x06]
DESCRIPTION
Returns the predicted remaining operating time if the battery is discharged at the AtRate() value.
PURPOSE
The AtRateTimeToEmpty() function is part of a two-function call-set used to determine the
remaining operating time at the AtRate()value. The bq2060 updates AtRateTimeToEmpty() within
1.3s after the SMBus Host sets the AtRate() value. If read before this delay, the command is No
Acknowledged, and the error code in BatteryStatus is set to not ready. The bq2060 automatically
updates AtRateTimeToEmpty() based on the AtRate() value every 20s.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—estimated operating time left.
Units: minutes
Granularity: 2 min or better
Range: 0 to 65,534 min
Accuracy: –0, +MaxError()
FullChargeCapacity/|AtRate()|
Invalid Data Indication: 65,535 indicates the battery is not being charged.
25
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
AtRateOK() (0x07); [0x07]
DESCRIPTION
Returns a Boolean value that indicates whether or not the battery can deliver the AtRate( )value of
additional energy for 10 seconds (Boolean). If the AtRate value is zero or positive, the AtRateOK()
function ALWAYS returns true.
PURPOSE
The AtRateOK() function is part of a two-function call-set used by power management systems to
determine if the battery can safely supply enough energy for an additional load. The bq2060
updates AtRateOK() within 1.3 s after the SMBus Host sets the AtRate( ) value. If read before this
delay, the command is No Acknowledged, and the error code in BatteryStatus is set to not ready .
The bq2060 automatically updates AtRateOK() based on the At Rate() value every 20 s.
SMBus PROTOCOL ReadWord
OUTPUT
Boolean—indicates if the battery can supply the additional energy requested.
Units: Boolean
Range: TRUE, FALSE
Granularity: not applicable
Accuracy: not applicable
Temperature() (0x08); [0x08]
DESCRIPTION
Returns the temperature (K) measured by the bq2060.
PURPOSE
The Temperature() function provides accurate cell temperatures for use by battery chargers and
thermal management systems. A battery charger can use the temperature as a safety check.
Thermal management systems may use the temperature because the battery is one of the largest
thermal sources in a system.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—cell temperature in tenth-degree Kelvin increments.
Units: 0.1 ° K
Range: 0 to +6553.5 ° K {real range}
Granularity: 0.1 ° K
Accuracy: ± 1. ° K (from ideal 103AT thermistor performance, after calibration)
Voltage() (0x09); [0x09]
DESCRIPTION Returns the cell-pack voltage (mV).
PURPOSE
The Voltage() function provides power management systems with an accurate battery terminal
voltage. Power management systems can use this voltage, along with battery current information,
to characterize devices they control. This ability helps enable intelligent, adaptive power
management systems.
SMBus PROTOCOL ReadWord
OUTPUT:
Unsigned integer—battery terminal voltage in mV.
Units: mV
Range: 0 to 20,000 mV
Granularity: 1 mV
26
Current() (0x0a); [0x0a]
DESCRIPTION
PURPOSE
SMBus PROTOCOL ReadWord
OUTPUT
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Accuracy: ± 0.65% (after calibration)
Returns the current being supplied (or accepted) through the battery’s terminals (mA).
The Current() function provides a snapshot for the power management system of the current
flowing into or out of the battery. This information is of particular use in power-management
systems because they can characterize individual devices and tune their operation to actual system
power behavior.
Signed integer—charge/discharge rate in mA increments—positive for charge, negative for
discharge.
Units: mA
Range: ( ± 250 mV/RS) mA
Granularity: 0.038 mV/RS (integer value)
Accuracy: ± 1 mV/RS (after calibration)
AverageCurrent() (0x0b); [0x0b]
DESCRIPTION
Returns a value that approximates a 1-minute rolling average of the current being supplied (or
accepted) through the battery’s terminals (mA). The AverageCurrent() function returns meaningful
values during the battery’s first minute of operation.
PURPOSE:
The AverageCurrent() function provides the average current flowing into or out of the battery for the
power management system.
SMBus PROTOCOL ReadWord
OUTPUT
Signed integer—charge/discharge rate in mA increments—positive for charge, negative for
discharge.
Units: mA
Range: ( ± 250 mV/R
Granularity: 0.038 mV/R
Accuracy: ± 1m V/R
MaxError() (0x0c); [0x0c]
DESCRIPTION
Returns the expected margin of error (%) in the state of charge calculation. For example, when
MaxError() returns 10% and RelativeStateOfCharge() returns 50%, the Relative StateOfCharge() is
more likely between 50% and 60%. The bq2060 sets MaxError() to 100% on a full reset. The
bq2060 sets MaxError() to 2% on completion of a learning cycle, unless the bq2060 limits the
learning cycle to the +512/–256 mAh maximum adjustment values. If the learning cycle is limited,
the bq2060 sets MaxError() to 8% unless MaxError() was already below 8%. In this case
MaxError() does not change. The bq2060 increments MaxError() by 1% after four increments of
CycleCount() without a learning cycle.
If voltage-based corrections are applied to the coulomb counter, MaxError() is set to 25%.
PURPOSE
The MaxError() function has real value in two ways: first, to give the user a confidence level about
mA
S)
(integer value)
S
(after calibration)
S
27
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
the state of charge and second, to give the power management system information about how
aggressive it should be, particularly as the battery nears the end of its life.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—percent uncertainty for selected information.
Units: %
Range: 2% to 100%
Granularity: 1%
Accuracy: not applicable
RelativeStateOfCharge() (0x0d); [0x0d]
DESCRIPTION
Returns the predicted remaining battery capacity expressed as a percentage of
FullChargeCapacity() (%).
PURPOSE
The RelativeStateOfCharge() function is used to estimate the amount of charge remaining in the
battery relative to the last learned capacity.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—percent of remaining capacity.
Units: %
Granularity: 1%
Range: 0 to 100%
Accuracy: –0, +MaxError()
AbsoluteStateOfCharge()(0x0e); [0x0e]
DESCRIPTION
Returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity()
(%). Note that AbsoluteStateOfCharge() can return values greater than 100%.
PURPOSE
The AbsoluteStateOfCharge() function is used to estimate the amount of charge remaining in the
battery relative to the nominal or DesignCapacity().
SMBUS PROTOCOL ReadWord
OUTPUT
Unsigned integer—percent of remaining capacity.
Units: %
Range: 0% to 100+%
Granularity: 1%
Accuracy: –0, +MaxError()
RemainingCapacity() (0x0f); [0x0f]
DESCRIPTION
Returns the predicted charge or energy remaining in the battery. The RemainingCapacity() value is
expressed in either charge (mAh at a C/5 discharge rate) or energy 10 mWh at a P/5 discharge
rate) depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
PURPOSE
The RemainingCapacity() function returns the battery’s remaining capacity. This information is a
28
numeric indication of remaining charge or energy given by the Absolute or Relative
StateOfCharge() functions and may be in a better form for use by power management systems.
SMBus PROTOCOL ReadWord
OUTPUT Unsigned integer—remaining charge in mAh or 10mWh.
BATTERY MODES
CAPACITY_MODE CAPACITY_MODE
bit = 0 bit = 1
Units mAh 10 mWh
Range 0 to 65,535 mAh 0 to 65,535 10 mWh
Granularity mAh 10 mWh
Accuracy –0, +MaxError() * FullChargeCapacity()
FullChargeCapacity() (0x10); [0x10]
DESCRIPTION
Returns the predicted pack capacity when it is fully charged. The FullChargeCapacity() value is
expressed in either current (mAh at a C/5 discharge rate) or power 10 mWh at a P/5 discharge
rate) depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
PURPOSE
The FullChargeCapacity() function provides the user with a means of understanding the tank size of
their battery. This information, along with information about the original capacity of the battery, can
be presented to the user as an indication of battery wear.
SMBus PROTOCOL ReadWord
OUTPUT Unsigned integer—estimated full-charge capacity in mAh or 10mWh.
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
RunTimeToEmpty() (0x11); [0x11]
DESCRIPTION
Returns the predicted remaining battery life at the present rate of discharge (minutes). The
RunTimeToEmpty() value is calculated based on either current or power depending on the setting
of the BatteryMode()’s CAPACITY_ MODE bit.
PURPOSE
The RunTimeToEmpty() provides the power management system with information about the
relative gain or loss in remaining battery life in response to a change in power policy. This
information is NOT the same as the AverageTimeToEmpty(), which is not suitable to determine the
effects that result from a change in power policy.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—minutes of operation left.
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy: –0, +MaxError() x FullChargeCapacity() / Current()
BATTERY MODES
CAPACITY_MODE CAPACITY_MODE
bit = 0 bit = 1
Units mAh 10 mWh
Range 0 to 65,535 mAh 0 to 65,535 10 mWh
Granularity mAh 10 mWh
Accuracy –0, +MaxError() * FullChargeCapacity()
29
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Invalid Data Indication: 65,535 indicates battery is not being discharged.
AverageTimeToEmpty() (0x12); [0x12]
DESCRIPTION
Returns a 1-minute rolling average of the predicted remaining battery life (minutes). The
AverageTimeToEmpty() value is calculated based on either current or power depending on the
setting of the BatteryMode()’s CAPACITY_MODE bit.
PURPOSE
The AverageTimeToEmpty() displays state-of-charge information in a more useful way. It averages
the instantaneous estimations so that the remaining time does not appear to jump around.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—minutes of operation left.
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy: –0, +MaxError() x FullChargeCapacity() / AverageCurrent()
Invalid Data Indication: 65,535 indicates battery is not being discharged.
AverageTimeToFull() (0x13); [0x13]
DESCRIPTION
Returns a 1-minute rolling average of the predicted remaining time until the battery reaches full
charge (minutes).
PURPOSE
The AverageTimeToFull() function can be used by the SMBus Host’s power management system
to aid in its policy. It may also be used to find out how long the system must be left on to achieve
full charge.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer —remaining time in minutes.
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy: MaxError() x FullChargeCapacity() / AverageCurrent()
Invalid Data Indication: 65,535 indicates the battery is not being charged.
ChargingCurrent() (0x14); [0x14]
DESCRIPTION
Returns the desired charging rate in mA.
PURPOSE
The ChargingCurrent() function sets the maximum charge current of the battery. The
ChargingCurrent() value should be used in combination with the ChargingVoltage() value to set the
charger’s operating point. Together, these functions permit the bq2060 to dynamically control the
charging profile (current/ voltage) of the battery. The bq2060 can effectively turn off a charger by
returning a value of 0 for this function. The charger may be operated as a constant-voltage source
above its maximum regulated current range by returning a ChargingCurrent() value of 65,535.
SMBus PROTOCOL ReadWord
OUTPUT
30
Unsigned integer—maximum charger output current in mA.
Units: mA
Range: 0 to 65,535 mA
Granularity: 1 mA
Accuracy: not applicable
Invalid Data Indication: 65,535 indicates that a charger should operate as a voltage source outside
its maximum regulated current range.
ChargingVoltage() (0x15); [0x15]
DESCRIPTION
Returns the desired charging voltage in mV.
PURPOSE
The ChargingVoltage() function sets the maximum charge voltage of the battery. The
ChargingVoltage() value should be used in combination with the ChargingCurrent() value to set the
charger’s operating point. Together, these functions permit the bq2060 to dynamically control the
charging profile (current/ voltage) of the battery. The charger may be operated as a
constant-current source above its maximum regulated voltage range by returning a
ChargingVoltage() value of 65,535.
SMBus PROTOCOL WriteWord
OUTPUT
Unsigned integer—charger output voltage in mV.
Units: mA
Range: 0 to 65,535 mA
Granularity: 1 mA
Accuracy: not applicable
Invalid Data Indication: 65,535 indicates that a charger should operate as a current source outside
its maximum regulated current range.
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
BatteryStatus()(0x16); [0x16]
DESCRIPTION
Returns the bq2060’s status word (flags). Some of the BatteryStatus() flags
(REMAINING_CAPACITY_ ALARM and REMAINING_TIME_ALARM) are calculated based on
either current or power depending on the setting of the BatteryMode()’s CAPACITY_ MODE bit.
This is important because use of the wrong calculation mode may result in an inaccurate alarm.
PURPOSE
The BatteryStatus() function is used by the power management system to get alarm and status bits,
as well as error codes from the bq2060. This is basically the same information broadcast to both
the SMBus Host and the Smart Battery Charger by the AlarmWarning() function except that the
AlarmWarning() function sets the Error Code bits all high before sending the data.
SMBus PROTOCOL ReadWord
OUTPUT:
Unsigned integer—Status Register with alarm conditions bit mapped as follows:
31
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
ALARM BITS
0x8000 OVER_CHARGED_ALARM
0x4000 TERMINATE_CHARGE_ALARM
0x2000 reserved
0x1000 OVER_TEMP_ALARM
0x0800 TERMINATE_DISCHARGE_ALARM
0x0400 reserved
0x0200 REMAINING_CAPACITY_ALARM
0x0100 REMAINING_TIME_ALARM
STATUS BITS
0x0080 INITIALIZED
0x0040 DISCHARGING
0x0020 FULLY_CHARGED
0x0010 FULLY_DISCHARGED
ERROR CODES
0x0007 Unknown Error
0x0006 BadSize
0x0005 Overflow/Underflow
0x0004 AccessDenied
0x0003 UnsupportedCommand
0x0002 ReservedCommand
0x0001 Busy
0x0000 OK
Alarm Bits
OVER_CHARGED_ALARM bit is set whenever the bq2060 detects that the battery is being charged beyond the
Maximum Overcharge limit. This bit is cleared when the bq2060 detects that the battery is no longer being
charged (i.e., the bq2060 detects discharge activity or no activity for the digital filter timeout periods. The digital
filter timeout period (seconds) equates to 10 times the value shared in Digital Filter EE0x52.)
TERMINATE_CHARGE_ALARM bit is set when the bq2060 detects that one or more of the battery’s charging
parameters are out of range (e.g., its voltage, current, or temperature is too high) or when the bq2060 detects a
primary charge termination. This bit is cleared when the parameter falls back into the allowable range, the
termination condition ceases, or when the bq2060 detects that the battery is no longer being charged.
OVER_TEMP_ALARM bit is set when the bq2060 detects that the internal battery temperature is greater than or
equal to the MaxT limit. This bit is cleared when the internal temperature falls back into the acceptable range.
TERMINATE_DISCHARGE_ALARM bit is set when the bq2060 detects that Voltage() is less than EDV0 or
when the CVUV bit in Pack Status is set indicating that a Li-ion cell voltage has dropped below the limit
programmed in Cell Under / Over Voltage . The bit is cleared when Voltage() is greater than EDV0 or when the
CVUV bit is cleared.
REMAINING_CAPACITY_ALARM bit is set when the bq2060 detects that RemainingCapacity() is less than that
set by the RemainingCapacityAlarm() function. This bit is cleared when either the value set by the
RemainingCapacityAlarm() function is lower than the RemainingCapacity() or when the RemainingCapacity() is
increased by charging.
REMAINING_TIME_ALARM bit is set when the bq2060 detects that the estimated remaining time at the present
discharge rate is less than that set by the RemainingTimeAlarm() function. This bit is cleared when either the
value set by the RemainingTimeAlarm() function is lower than the AverageTimeToEmpty() or when the
AverageTimeToEmpty() is increased by charging.
Status Bits
INITIALIZED bit is set when the bq2060 is has detected a valid load of EEPROM. It is cleared when the bq2060
detects an improper EEPROM load.
32
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
DISCHARGING bit is set when the bq2060 determines that the battery is not being charged. This bit is cleared
when the bq2060 detects that the battery is being charged.
FULLY_CHARGED bit is set when the bq2060 detects a primary charge termination or an overcharged
condition. It is cleared when RelativeStateOfCharge() is less than or equal to the programmed Fully Charged
Clear % in EE 0x4c.
FULLY_DISCHARGED bit is set when Voltage() is less than the EDV2 threshold. This bit is cleared when the
Relative StateOfCharge() is greater than or equal to 20%.
ERROR CODES DESCRIPTION
OK The bq2060 processed the function code without detecting any errors.
Busy The bq2060 is unable to process the function code at this time.
Reserved The bq2060 detected an attempt to read or write to a function code
Unsupported The bq2060 does not support this function code which is defined in
AccessDenied The bq2060 detected an attempt to write to a read-only function code.
Over/Underflow The bq2060 detected a data overflow or underflow.
BadSize The bq2060 detected an attempt to write to a function code with an
UnknownError The bq2060 detected an unidentifiable error.
reserved by this version of the specification. The 2060 detected an
attempt to access an unsupported optional manufacturer function
code.
this version of the specification.
incorrect data block.
CycleCount()(0x17); [0x17]
DESCRIPTION
Returns the number of cycles the battery has experienced. The mAh value of each count is
determined by programming the Cycle Count Threshold value in EE 0x3c–0x3d. The bq2060 saves
the cycle count value to Cycle Count EE 0x0e–0x0f after an update to CycleCount().
PURPOSE
The CycleCount() function provides a means to determine the battery’s wear. It may be used to
give advanced warning that the battery is nearing its end of life.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—count of total charge removed from the battery over its life.
Units: cycle
Range: 0 to 65,534 cycles 65,535 indicates battery has experienced 65,535 or more cycles.
Granularity: 1 cycle
Accuracy: absolute count
DesignCapacity() (0x18); [0x18]
DESCRIPTION
Returns the theoretical or nominal capacity of a new pack. The DesignCapacity() value is
expressed in either current (mAh at a C/5 discharge rate) or power, (10 mWh at a P/5 discharge
rate) depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
PURPOSE
The DesignCapacity() function is used by the SMBus Host’s power management with
FullChargeCapacity() to determine battery wear. The power management system may present this
information to the user and also adjust its power policy as a result.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—battery capacity in mAh or 10 mWh.
33
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Granularity Not applicable
DesignVoltage() (0x19); [0x19]
DESCRIPTION
Returns the theoretical voltage of a new pack (mV). The bq2060 sets DesignVoltage() to the value
programmed in Design Voltage EE 0x12–0x13.
PURPOSE
The DesignVoltage() function can be used to give additional information about a particular Smart
Battery’s expected terminal voltage.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—the battery’s designed terminal voltage in mV
Units: mV
Range: 0 to 65,535 mV
Granularity: not applicable
Accuracy: not applicable
BATTERY MODES
CAPACITY_MODE CAPACITY_MODE
bit = 0 bit = 1
Units mAh 10 mWh
Range 0 to 65,535 mAh 0 to 65,535 10 mWh
Accuracy Not applicable
SpecificationInfo() (0x1a); [0x1a]
DESCRIPTION
Returns the version number of the Smart Battery Specification that the battery pack supports, as
well as voltage and current scaling information in a packed unsigned integer. Power scaling is the
product of the voltage scaling times the current scaling. The SpecificationInfo is packed in the
following fashion: (SpecID_H * 0x10 + SpecID_L) + (VScale + IPScale * 0x10) * 0x100.
The bq2060 VScale (voltage scaling) and IPScale (current scaling) should always be set to zero.
The bq2060 sets SpecificationInfo() to the value programmed Specification Information EE
0x14–0x15.
PURPOSE
The SpecificationInfo() function is used by the SMBus Host’s power management system to
determine what information the Smart Battery can provide.
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—packed specification number and scaling information.
FIELD BITS USED FORMAT ALLOWABLE VALUES
SpecID_L 0...3 4-bit binary value 0–15
SpecID_H 4...7 4-bit binary value 0–15
VScale 8...11 4-bit binary value 0 (multiplies voltage by 10^ VScale)
IPScale 12...15 4-bit binary value 0 (multiplies current by 10 ^ IPScale)
ManufactureDate() (0x1b); [0x1b]
DESCRIPTION
This function returns the date the cell pack was manufactured in a packed integer. The date is
packed in the following fashion: (year-1980) * 512 + month * 32 + day. The bq2060 sets
ManufactureDate() to the value programmed in Manufacture Date EE 0x16–0x17.
34
PURPOSE
The ManufactureDate() provides the system with information that can be used to uniquely identify a
particular battery pack when used with SerialNumber().
SMBus PROTOCOL ReadWord
OUTPUT
Unsigned integer—packed date of manufacture.
FIELD BITS USED FORMAT ALLOWABLE VALUES
Day 0...4 5-bit binary value 0–31 (corresponds to date)
Month 5...8 4-bit binary value 1–12 (corresponds to month number)
Year 9...15 7-bit binary value 0–127 (corresponds to year biased by 1980)
SerialNumber() (0x1c); [0x1c]
DESCRIPTION
This function is used to return a serial number. This number, when combined with the
ManufacturerName(), the DeviceName(), and the ManufactureDate(), uniquely identifies the battery
(unsigned int). The bq2060 sets SerialNumber() to the value programmed in Serial Number EE
0x18–0x19.
PURPOSE
The SerialNumber() function can be used to identify a particular battery. This may be important in
systems that are powered by multiple batteries where the system can log information about each
battery that it encounters.
SMBus PROTOCOL ReadWord
OUTPUT Unsigned integer
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
ManufacturerName() (0x20); [0x20-0x25]
DESCRIPTION
This function returns a character array containing the battery’s manufacturer’s name. For example,
MyBattCo would identify the Smart Battery’s manufacturer as MyBattCo. The bq2060 sets
ManufacturerName() to the value programmed in Manufacturer Name EE 0x20–0x2a.
PURPOSE
The ManufacturerName() function returns the name of the Smart Battery’s manufacturer. The
manufacturer’s name can be displayed by the SMBus Host’s power management system display as
both an identifier and as an advertisement for the manufacturer. The name is also useful as part of
the information required to uniquely identify a battery.
SMBus PROTOCOL Read Block
OUTPUT
String—character string with maximum length of 11 characters (11+length byte).
DeviceName() (0x21); [0x28-0x2b]
DESCRIPTION
This function returns a character string that contains the battery’s name. For example,
DeviceName() of BQ2060 would indicate that the battery is a model BQ2060. The bq2060 sets
DeviceName() to the value programmed in Device Name EE 0x30–0x37.
PURPOSE
The DeviceName() function returns the battery’s name for identification purposes.
SMBus PROTOCOL Read Block
OUTPUT
String—character string with maximum length of 7 characters (7+length byte).
35
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
DeviceChemistry() (0x22); [0x30-0x32]
DESCRIPTION
This function returns a character string that contains the battery’s chemistry. For example, the
DeviceChemistry() function returns NiMH , the battery pack would contain nickel metal hydride cells.
The bq2060 sets DeviceChemistry() to the value programmed in Device Chemistry EE 0x40–0x44.
PURPOSE
The DeviceChemistry() function gives cell chemistry information for use by charging systems. The
bq2060 does not use DeviceChemisty() values for internal charge control or fuel gauging.
SMBus PROTOCOL Read Block
OUTPUT
Output: String—character string with maximum length of 4 characters (4+length byte).
The following is a partial list of chemistries and their expected abbreviations. These
abbreviations are not case sensitive.
Lead acid PbAc
Lithium ion LION
Nickel cadmium NiCd
Nickel metal hydride NiMH
Nickel zinc NiZn
Rechargeable alkaline-manganese RAM
Zinc air ZnAr
NOTE:
ManufacturerData() (0x23); [0x38–0x3a]
DESCRIPTION
This function allows access to the manufacturer data contained in the battery (data). The bq2060
stores seven critical operating parameters in this data area.
PURPOSE
The ManufacturerData() function may be used to access the manufacturer’s data area. The data
fields of this command reflect the programming of five critical EEPROM locations and can be used
to facilitate evaluation bq2060 under various programming sets. The ManufacturerData() function
returns the following information in order: Control Mode, Digital Filter, Self-Discharge Rate, Battery
Low %, Near Full , and the pending EDV threshold voltage (low byte and high byte.)
SMBus PROTOCOL Read Block
Pack Status and Pack Configuration (0x2f); [0x2f]
DESCRIPTION
This function returns the Pack Status and Pack Configuration registers. The Pack Status register
contains number of status bits relating to bq2060 operation. The Pack Status register is the least
significant byte of the word. The Pack Configuration register is the most significant byte of the word.
The byte reflects how the bq2060 is configured as defined by the value programmed in Pack
Configuration in EE 0x3f.
The Pack Status Register consists of the following bits:
b7 b6 b5 b4 b3 b2 b1 b0
OCE EDV2 EINT VDQ COK DOK CVOK CVUV
36
OCE
The OCE bit indicates that offset cancellation is enabled. The bq2060 sets this bit after VFC offset
calibration is complete.
0 Offset calibration is not enabled
1 Offset calibration is enabled
EDV2
The EDV2 bit indicates that Voltage() is less than the EDV2 threshold.
0 Voltage() > EDV2 threshold (discharging)
1 Voltage() ≤ EDV2 threshold
EINT
The EINT bit indicates that the VFC has detected a charge or discharge pulse.
0 No charge/discharge activity detected
1 Charge/discharge activity detected.
VDQ
The VDQ bit indicates if the present discharge cycle is valid for an FCC update.
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
0 Discharge cycle is not valid
1 Discharge cycle is valid
COK
The COK bit indicates the status of the CFC pin of the bq2060.
0 CFC pin is low
1 CFC pin is high
DOK
The DOK bit indicates the status of the DFC pin of the bq2060.
0 DFC pin is low
1 DFC pin is high
CVOV
The CVOV bit indicates that a secondary Li-ion protection limit has been exceeded. It is set if any
individual cell exceeds the programmed high voltage limit, if the pack voltage exceeds the
overvoltage threshold, or if an over-temperature condition occurs. The bit is not latched and merely
reflects the present overvoltage status.
0 No secondary protection limits exceeded
1 A secondary protection limit exceeded
37
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
CVUV
The CVUV bit indicates if any individual cell falls below the programmed low-voltage limit. The bit
applies to lithium batteries only. The bit is not latched and merely reflects the present undervoltage
status.
0 All series cells are above the low-voltage limit
1 A series cell is below the low-voltage limit
VCELL4–VCELL1 (0x3c–0x3f); [0x3c–0x3f]
DESCRIPTION
These functions return the calculated voltages in mV at the VCELL
EEPROM
GENERAL
The bq2060 accesses the external EEPROM during a full reset and when storing historical data. During an
EEPROM access, the VOUT pin becomes active and the bq2060 uses the ESCL and ESDA pins to
communicate with the EEPROM. The EEPROM stores basic configuration information for use by the bq2060.
The EEPROM must be programmed correctly for proper bq2060 operation.
through VCELL
4
inputs.
1
MEMORY MAP
Table 10 shows the memory map for the EEPROM. It also contains example data for a 10 series NiMH and a
3s3p Li-ion battery pack with a 0.05- Ω sense resistor.
Table 10. EEPROM Memory Map
EEPROM NAME
ADDRESS MSB LSB EXAMPLE MSB LSB
0x00 0x01 Check Byte 1 Li-ion, Nickel 15487 3c 7f 15487 3c 7f
0x02 0x03 Remaining Time Alarm Li-ion, Nickel 10 minutes 00 0a 10 minutes 00 0a
0x04 0x05 Remaining Capacity Alarm Li-ion, Nickel 350 mAh 01 5e 400 mAh 01 90
0x06 EDV A0 Impedance Age Factor Li-ion, Nickel 0 - 00 0 - 00
0x07 Reserved - 0 - 00 0 - 00
0x08 0x09 Reserved - 0 00 00 0 00 00
0x0a 0x0b Charging Voltage Li-ion, Nickel 18000 mV 46 50 12600 mV 31 38
0x0c 0x0d Reserved - 128 00 80 128 00 80
0x0e 0x0f Cycle Count Li-ion, Nickel 0 00 00 0 00 00
0x10 0x11 Reserved - 0 00 00 0 00 00
0x12 0x13 Design Voltage Li-ion, Nickel 12000 mV 2e e0 10800 mV 2a 30
0x14 0x15 Specification Information Li-ion, Nickel v1.1/PEC 00 31 v1.1/PEC 00 31
0x16 0x17 Manufacture Date Li-ion, Nickel 2/25/99=9817 26 59 2/25/99=9817 26 59
0x18 0x19 Serial Number Li-ion, Nickel 1 00 01 1 00 01
0x1a 0x1b Fast-Charging Current Li-ion, Nickel 4000mA 0f a0 3000 mA 0b b8
0x1c 0x1d Maintenance Charging Current Li-ion, Nickel 200mA 00 c8 0 mA 00 00
0x1e 0x1f Pre-Charge Current Li-ion, Nickel 800mA 03 20 100 mA 00 64
0x20 Manufacturer Name Length Li-ion, Nickel 9 - 09 9 - 09
0x21 Character 1 Li-ion, Nickel B - 42 B - 42
0x22 Character 2 Li-ion, Nickel E - 45 E - 45
0x23 Character 3 Li-ion, Nickel N - 4E N - 4e
(1)
CHEMISTRY NIMH DATA Li-ion DATA
EXAMPLE
(1) Reserved locations must be set as shown. Locations marked with an * are calibration values that can be for maximum accuracy. For
these locations the table shows the appropriate default or initial setting.
38
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM (continued)
Table 10. EEPROM Memory Map (continued)
EEPROM NAME
ADDRESS MSB LSB EXAMPLE MSB LSB
0x24 Character 4 Li-ion, Nickel C - 43 C - 43
0x25 Character 5 Li-ion, Nickel H - 48 H - 48
0x26 Character 6 Li-ion, Nickel M - 4d M - 4d
0x27 Character 7 Li-ion, Nickel A - 41 A - 41
0x28 Character 8 Li-ion, Nickel R - 52 R - 52
0x29 Character 9 Li-ion, Nickel Q - 51 Q - 51
0x2a Character 10 Li-ion, Nickel 0 - 00 0 - 00
0x2b Light Discharge Current Li-ion, Nickel 0 - 00 0 - 00
0x2c 0x2d Reserved - 0 00 00 0 00 00
0x2e 0x2f Maximum Overcharge Li-ion, Nickel 200 mAh ff 38 256 mAh ff 00
0x30 Device Name Length Li-ion, Nickel 7 - 07 7 - 07
0x31 Character 1 Li-ion, Nickel B - 42 B - 42
0x32 Character 2 Li-ion, Nickel Q - 51 Q - 51
0x33 Character 3 Li-ion, Nickel 2 - 32 2 - 32
0x34 Character 4 Li-ion, Nickel 0 - 30 0 - 30
0x35 Character 5 Li-ion, Nickel 6 - 36 6 - 36
0x36 Character 6 Li-ion, Nickel 0 - 30 0 - 30
0x37 Character 7 Li-ion, Nickel A - 41 A - 41
0x38 0x39 Last Measured Discharge Li-ion, Nickel 4000 mAh 0f a0 4050 mAh 0f d2
0x3a 0x3b Pack Capacity Li-ion, Nickel 4000 mAh 0f a0 4050 mAh 0f d2
0x3c 0x3d Cycle Count Threshold Li-ion, Nickel 500 mAh fe 0c 3240 mAh f3 58
0x3e Reserved - 0 - 00 0 - 00
0x3f Pack Configuration Li-ion, Nickel 232 - e8 246 - f6
0x40 Device Chemistry Length Li-ion, Nickel 4 - 04 4 - 04
0x41 Character 1 Li-ion, Nickel N - 4e L - 4c
0x42 Character 2 Li-ion, Nickel I - 49 I - 49
0x43 Character 3 Li-ion, Nickel M - 4d O - 4f
0x44 Character 4 Li-ion, Nickel H - 48 N - 4e
0x45 MaxT DeltaT Li-ion, Nickel 50C,3.0 - c7 50C, 4.6 - cf
0x46 0x47 Overload Current Li-ion, Nickel 6000 mA 17 70 6000 mA 17 70
0x48 Overvoltage Margin Li-ion, Nickel 0 - 00 800 mV - 32
0x49 Overcurrent Margin Li-ion, Nickel 512 mA - 20 512 mA - 20
0x4a Reserved Nickel 0 - 00 - - -
Cell Under/Over Voltage Li-ion - - - 118 - 76
0x4b Fast Charge Termination % Li-ion, Nickel 96% - a0 100% - 9c
0x4c Fully Charged Clear % Li-ion, Nickel 90% - a6 95% - a1
0x4d Charge Efficiency Li-ion, Nickel 97% - e1 100% - ff
0x4e Current Taper Threshold Li-ion - - - 200 mA - 12
DeltaT Time Nickel 180 s - 07 - - -
0x4f Holdoff Time Nickel 240 s - 04 - - -
Current Taper Qual Voltage Li-ion - - - 128 mV - 40
0x50 Manufacturers Data Length Li-ion, Nickel 7 - 07 7 - 07
0x51 Control Mode Li-ion, Nickel 4 - 04 4 04
0x52 Digital Filter Li-ion, Nickel 50 µV - 2d 50 µV - 2d
0x53 Self-Discharge Rate Li-ion, Nickel 1% - cb 0.21% - 05
(1)
CHEMISTRY NIMH DATA Li-ion DATA
EXAMPLE
bq2060
39
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM (continued)
Table 10. EEPROM Memory Map (continued)
EEPROM NAME
ADDRESS MSB LSB EXAMPLE MSB LSB
0x54 Battery Low % Li-ion, Nickel 7% - 12 7% - 12
0x55 Near Full Li-ion, Nickel 200 mAh - 64 200 mAh - 64
0x56 0x57 Reserved - 0 - 00 0 - 00
0x58 0x59 Reserved - 0 - 00 0 - 00
0x5a 0x5b Reserved - 0 - 00 0 - 00
0x5c 0x5d Reserved - 0 00 00 0 00 00
0x5e 0x5f VFC Offset* Li-ion, Nickel 0 00 00 0 00 00
0x60 VFC Offset* Li-ion, Nickel 0 - 00 0 - 00
0x61 Temperature Offset* Li-ion, Nickel 0 - 00 0 - 00
0x62 ADC Offset* Li-ion, Nickel 0 - 00 0 - 00
Cell 2 Calibration Factor* Li-ion - - - 0 - 00
0x63
0x64
0x65 Cell 4 Calibration Factor* Li-ion - - - 0 - 00
0x66 0x67 ADC Voltage Gain* Li-ion, Nickel 16 : 1 4e 20 16 : 1 4e 20
0x68 0x69 ADC Sense Resistor Gain* Li-ion, Nickel 0.05 Ω 30 d4 0.05 Ω 30 d4
0x6a 0x6b VFC Sense Resistor Gain* Li-ion, Nickel 0.05 Ω 20 00 0.05 Ω 20 00
0x6c 0x6d VOC 25% Li-ion, Nickel 11500 mV d3 14 10550 mV d6 ca
0x6e 0x6f VOC 50% Li-ion, Nickel 12500 mv cf 2c 10750 mV d6 02
0x70 0x71 VOC 75% Li-ion, Nickel 13500 mV cb 44 11200 mV d4 40
0x72 0x73 EDVF/EDV0 Li-ion, Nickel 9500 mV 25 1c 10265 mV 28 19
0x74 0x75 EMF/ EDV1 Li-ion, Nickel 10000 mV 27 10 11550 2d 1e
0x76 0x77 EDV T0 Factor Li-ion, Nickel 0 00 00 4475 11 7b
0x78 0x79 EDV C1/C0 Factor/EDV2 Li-ion, Nickel 10500 mV 29 04 C1 = 0 00 eb
0x7a 0X7b EDV R0 Factor Li-ion, Nickel 0 00 00 5350 14 e6
0x7c 0x7d EDV R1 Factor Li-ion, Nickel 0 - 00 250 00 fa
0x7e 0x7f Check Byte 2 Li-ion, Nickel 42330 a5 5a 42330 a5 5a
Efficiency Temperature Nickel 0.25% - 20 - - -
Compensation
Cell 3 Calibration Factor* Li-ion - - - 0 - 00
Efficiency Drop Off Percentage Nickel 96% - a0 - - -
Efficiency Reduction Rate Nickel 1% - 50 - - -
(1)
CHEMISTRY NIMH DATA Li-ion DATA
EXAMPLE
C0 = 235
EEPROM PROGRAMMING
The following sections describe the function of each EEPROM location and how the data is to be stored.
FUNDAMENTAL PARAMETERS
Sense Resistor Value
Two factors are used to scale the current-related measurements. The 16-bit ADC Sense Resistor Gain value in
EE 0x68–0x69 scales Current() to mA. Adjusting ADC Sense Resistor Gain from its nominal value provides a
method to calibrate the current readings for system errors and the sense resistor value (RS). The nominal value
is set by
40
ADC Sense Resistor Gain
625
(Rs)
VFC Sense Resistor Gain
409.6
(Rs)
Digital Filter
2250
VDF
Battery Low % STATEOFCHARGE% 2.56
EDV0,1,2 EMF F
BL
I
LOAD
R0 FTZ F
CY
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
The 16-bit VFC Sense Resistor Gain in EE 0x6a–0x6b scales each VFC interrupt to mAh. VFC Sense Resistor
Gain is based on the resistance of the series sense resistor. The following formula computes a nominal or
starting value for VFC Sense Resistor Gain from the sense resistor value.
Sense resistor values are limited to the range of 0.00916 Ω to 0.100 Ω .
Digital Filter
The digital filter threshold, VDF (µV), is set by the value stored in Digital Filter EE 0x52.
CELL CHARACTERISTICS
Battery Pack Capacity and Voltage
Pack capacity in mAh units is stored in Pack Capacity EE 0x3a–0x3b. In mAh mode, the bq2060 copies Pack
Capacity to DesignCapacity(). In mWh mode, the bq2060 multiplies Pack Capacity by Design Voltage EE
0x12–0x13 to calculate DesignCapacity() scaled to 10 mWh. Design Voltage is stored in mV.
The initial value for Last Measured Discharge in mAh is stored in EE 0x38–0x39. Last Measured Discharge is
modified over the course of pack usage to reflect cell aging under the particular use conditions. The bq2060
updates Last Measured Discharge in mAh after a capacity learning cycle. The bq2060 uses the Last Measured
Discharge value to calculate FullChargeCapacity() in mAh or 10mWh mode.
(4)
(5)
(6)
EDV Thresholds and Near-Full Percentage
The bq2060 uses three pack voltage thresholds to provide voltage-based warnings of low battery capacity. The
bq2060 uses the values stored in EEPROM for the EDV0, EDV1, and EDV2 values or calculates the three
thresholds from a base value and the temperature, capacity, and rate adjustment factors stored in EEPROM. If
EDV compensation is disabled then EDV0, EDV1, and EDV2 are stored directly in mV in EE 0x72–0x73, EE
0x74–0x75, and EE 0x78–0x79, respectively.
For capacity correction at EDV2, Battery Low % EE 0x54 can be set at a desired state-of-charge,
STATEOFCHARGE%, in the range of 5% to 20%. Typical values for STATEOFCHARGE% are 7%–12%
representing 7 –12% capacity.
The bq2060 updates FCC if a qualified discharge occurs from a near-full threshold to EDV2. The desired
near-full threshold window, NFW (mAh), is programmed in Near Full in EE 0x55.
EDV Discharge Rate and Temperature Compensation
If EDV compensation is enabled, the bq2060 calculates battery voltage to determine EDV0, EDV1, and EDV2
thresholds as a function of battery capacity, temperature, and discharge load. The general equation for EDV0,
EDV1, and EDV2 calculation is
where
• EMF is a no-load battery voltage that is higher than the highest EDV threshold that is computed. EMF is
programmed in mV in EMF/EDV1 EE 0x74–0x75.
• I
is the current discharge load.
LOAD
(7)
(8)
(9)
41
FTZ f (R1,T0,T , C C1)
Battery Low % = 7%, Load = 500mA
7500
8000
8500
9000
9500
10000
10500
11000
11500
% Capacity
Voltage (mV)
EDV1
EDV2
45C/500 mA
20C/500 mA
10 9 8 7 6 5 4 3 2 1 0
FCY f (A0,Cycle Count())
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
F
is the factor that adjusts the EDV voltage for battery capacity and temperature to match the no-load
BL
characteristics of the battery.
where
• C (0%, 3%, or Battery Low % for EDV0, EDV1, and EDV2, respectively) and C0 are the capacity-related EDV
adjustment factors. C0 is programmed in the lower 11 bits of EDV C0 Factor/EDV2 EE 0x78–79. The Residual
Capacity Factor is stored in the upper bits of EE 0x78–0x79.
Residual Capacity Factor C1 = RESIDUAL% x 256
RESIDUAL % is the desired battery capacity remaining at EDV0 (RM = 0).
• T is the current temperature in ° K
R0 * F
• R0 is the first order rate dependency factor stored in EDV R0 Factor EE 0x7a–0x7b.
• T is the current temperature; C is the battery capacity relating to EDV0, EDV1, and EDV2; and C1 is the
• R1 adjusts the variation of impedance with battery capacity. R1 is programmed in EDV R1 Rate Factor EE
• T0 adjusts the variation of impedance with battery temperature. T0 is programmed in EDV T0 Rate Factor
represents the resistance of the battery as a function of temperature and capacity.
TZ
desired residual battery capacity remaining at EDV0 (RM = 0).
0x7c–0x7d.
EE 0x76–0x77.
(10)
(11)
F
is the factor that adjusts for changing cell impedance as the battery pack is cycled:
CY
where
• A0 is the EDV aging factor that is stored in EDV A0 Factor EE 0x06. It should be set to 0 for most applications.
Typical values for the EDV compensation factors for a Li-ion 3s3p 18650 pack are
EMF = 11550
T0 = 4475
C0 = 235
C1 = 0
R0 = 5350
R1 = 250
A0 = 0
42
Figure 11. EDV Calculations vs. Capacity for Various Temperatures
(12)
Battery Low %
=7%, Temperature = 35 C
7000
EDV0
EDV1
EDV2
8000
7500
9000
8500
9500
10000
10500
11000
11500
% Capacity
Voltage (mV)
10 9 8 7 6 5 4 3 2 1 0
35C/2 A
35C/500 mA
35C/1 A
Self Discharge Rate 256
52.73
%PERDAY
Light Discharge Rate
ILEAK 1024
45
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
The graphs in Figure 11 and Figure 12 show the calculated EDV0, EDV1, and EDV2 thresholds versus capacity
using the typical compensation values for different temperatures and loads for a Li-ion 3s3p 18650 pack. The
compensation values vary widely for different cell types and manufacturers and must be matched exactly to the
unique characteristics for optimal performance.
Overload Current Threshold
The Overload Current threshold is a 16-bit value stored in EE 0x46-0x47 in mA units.
Midrange Capacity Corrections
Three voltage-based thresholds, VOC25 EE 0x6c–0x6d, VOC50 EE 0x6e–0x6f, and VOC75 EE 0x70–0x71, are
used to test the accuracy of the RM based on open-circuit pack voltages. These thresholds are stored in the
EEPROM in 2s complement of voltage in mV. The values represent the open-circuit battery voltage at which the
battery capacity should correspond to the associated state of charge for each threshold.
Self-Discharge Rate
The nominal self-discharge rate, %PERDAY (% per day), is programmed in an 8-bit value Self-Discharge Rate
EE 0x53 by the following relation:
Light Load Current
The amount of light load current in mA, ILEAK, used for compensation is stored in Light Discharge Current in EE
0x2b as follows:
ILEAK is between 0.044 mA and 11.2 mA.
Charge Efficiency
The bq2060 uses four charge-efficiency factors to compensate for charge acceptance. These factors are coded
in Charge Efficiency, Efficiency Reduction Rate, Efficiency Drop Off Percentage, and Efficiency Temperature
Compensation .
The bq2060 applies the efficiency factor, EFF%, when RelativeStateOfCharge() is less than the value coded in
Efficiency Drop Off Percentage EE 0x64. When RelativeStateOfCharge() is greater than or equal to the value
coded in Efficiency Drop Off Percentage , EFF% and ERR% determine the charge efficiency rate. ERR% defines
the percent efficiency reduction per percentage point of RelativeStateOfCharge() over Efficiency Drop Off
Percentage . EFF% is encoded in High Charge Efficiency EE 0x4d according to the following equation:
Figure 12. EDV Calculations vs. Capacity for Various Loads
(13)
(14)
43
Charge Efficiency 10 (EFF % 74.5)
Efficiency Reduction Rate
ERR%
0.0125
Efficiency Temperature Compensation
TEFF% 1.6
0.0125
Effective Charge Efficiency Reduction (nickel only)
% ERR%[RSOC EDOP%] TEFF%[Temperature 25
o
C] EFF%
Overvoltage Margin
VOVM
16
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
where
74.5 ≤ EFF% ≤ 100
ERR% is encoded in Efficiency Reduction Rate EE 0x65 according to the following equation:
where
• 0 ≤ ERR% ≤ 3.19
The Efficiency Drop Off Percentage is stored in 2s complement of percent.
The bq2060 also adjusts the efficiency factors for temperature. TEFF% defines the percent efficiency reduction
per degree C over 25 ° C. TEFF% is encoded in Efficiency Temperature Compensation EE 0x63 according to the
following equation
where
• 0 ≤ TEFF% ≤ 1.99
The bq2060 applies all four charge-compensation factors when the CHEM bit in Pack Configuration is not set,
denoting a nickel pack.
(15)
(16)
(17)
where
• RSOC() ≤ EFF% and T ≥ 25 ° C
If CHEM is set denoting a Li-ion pack, the bq2060 applies only the value coded in High Charge Efficiency and
makes no other adjustments for charge acceptance.
CHARGE LIMITS AND TERMINATION TECHNIQUES
Charging Voltage
The 16-bit value, Charging Voltage EE 0x0a-0x0b programs the ChargingVoltage() value broadcast to a Smart
Charger. It is also sets the base value for determining overvoltage conditions during charging and voltage
compliance during a constant-voltage charging methodology. It is stored in mV.
Overvoltage
The 8-bit value, Overvoltage Margin EE 0x48, sets the limit over ChargingVoltage() that is to be considered as
an overvoltage charge-suspension condition. The voltage in mV above the ChargingVoltage(), VOVM, that
should trigger a charge suspend is encoded in Overvoltage Margin as follows:
where
• VOVM is between 0 and 4080 mV.
Charging Current
ChargingCurrent() values are either broadcast to a Level 2 Smart Battery Charger or read from the bq2060 by a
Level 3 Smart Battery Charger. The bq2060 sets the value of ChargingCurrent(), depending on the charge
requirements and charge conditions of the pack.
(18)
(19)
44
Overcurrent Margin
IOIM
16
MaxT
69 MAXTEMP
1.6
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
When fast charge is allowed, the bq2060 sets ChargingCurrent() to the rate programmed in Fast Charging
Current EE 0x1a-0x1b.
When fast charge terminates, the bq2060 sets ChargingCurrent() to zero and then to the Maintenance Charging
Current EE 0x1c-0x1d when the termination condition ceases.
When Voltage() is less than EDV0, the bq2060 sets ChargingCurrent() to Pre-charge Current EE 0x1e-0x1f.
Typically this rate is larger than the maintenance rate to charge a deeply depleted pack up to the point where it
may be fast charged.
Fast Charging Current, Maintenance Charging Current , and Pre-Charge Current are stored in mA.
Charge Suspension
During charge, the bq2060 compares the current to the ChargingCurrent() plus the value IOIM. If the pack is
charged at a current above the ChargingCurrent() plus IOIM, the bq2060 sets ChargingCurrent() to zero to stop
charging. IOIM is programmed in the EEPROM value, Overcurrent Margin , encoded as
Overcurrent Margin EE 0x49 may be used to program IOIM values of 0 to 4080 mA in 16-mA steps.
The desired temperature threshold for charge suspension, MAXTEMP, may be programmed between 45 ° C and
69 ° C in 1.6 ° C steps. MaxT DeltaT EE 0x45 (most significant nibble) is stored in a 4-bit value as shown:
(20)
The bq2060 suspends fast charge when fast charge continues past full by the amount programmed in Maximum
Overcharge EE 0x2e-0x2f. Maximum Overcharge is programmed in 2s complement form of charge in mAh.
FULLY_CHARGED Bit Clear Threshold
The bq2060 clears the FULLY_CHARGED bit in BatteryStatus() when RelativeStateOfCharge() reaches the
value, Fully Charged Clear % EE 0x4c. Fully Charged Clear % is an 8-bit value and is stored as a 2s complement
of percent.
Fast Charge Termination Percentage
The bq2060 sets RM to a percentage of FCC on charge termination if the CSYNC bit is set in the Pack
Configuration register. The percentage of FCC is stored in Fast Charge Termination % in EE 0x4b. The value is
stored in 2s complement of percent.
Cycle Count Threshold
Cycle Count Threshold 0x3c–0x3d sets the number of mAh that must be removed from the battery to increment
CycleCount(). Cycle Count Threshold is a 16-bit value stored in 2s complement of charge in mAh.
(21)
45
T t
[DeltaT 2 16] 10
[320 DeltaT Time 20]
° C
s
Current Taper Qual Voltage
CELLV
2
Current TaperThreshhold
R
s
i
0.5625
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
EEPROM PROGRAMMING (continued)
∆ T/ ∆ t Rate Programming
The ∆ T portion of the ∆ T/ ∆ t rate is programmed in DeltaT , the low nibble of MaxT DeltaT EE 0x45 (least
significant nibble). The ∆ t portion is programmed in DeltaT Time EE 0x4e.
DeltaT ∆ ( ° C) DeltaT_Time t (s)
0 1.6 00 320
1 1.8 01 300
2 2.0 02 280
3 2.2 03 260
4 2.4 04 240
5 2.6 05 220
6 2.8 06 200
7 3.0 07 180
8 3.2 08 160
9 3.4 09 140
a 3.6 0a 120
b 3.8 0b 100
c 4.0 0c 80
d 4.2 0d 60
e 4.4 0e 40
f 4.6 0f 20
(22)
∆ T/ ∆ t Holdoff Timer Programming
The holdoff timer is programmed in the lower nibble of Holdoff Time EE 0x4f. The holdoff time is 320 s minus 20
times the Holdoff Time value.
Holdoff Holdoff Holdoff Holdoff
Time Time (s) Time Time (s)
00 320 08 160
01 300 09 140
02 280 0a 120
03 260 0b 100
04 240 0c 80
05 220 0d 60
06 200 0e 40
07 180 0f 20
Current Taper Termination Characteristics
Two factors in the EEPROM set the current taper termination for Li-ion battery packs. The two coded locations
are Current Taper Qual Voltage EE 0x4f and Current Taper Threshold EE 0x4e. Current taper termination occurs
during charging when the pack voltage is above the charging voltage minus CELLV (mV) and the charging
current is below the threshold coded in Current Taper Threshold for at least 40 s.
where i = the desired current termination threshold in mA, and R
= VFC sense resistor in ohms.
S
(23)
(24)
46
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
PACK OPTIONS
Pack Configuration
Pack Configuration EE 0x3f contains bit-programmable features.
b7 b6 b5 b4 b3 b2 b1 b0
DMODE SEAL CSYNC CEDV VCOR CHEM LCC1 LCC0
DMODE
The DMODE bit determines whether the LED outputs will indicate AbsoluteStateOfCharge() or
RelativeStateOfCharge()
0 LEDs reflect AbsoluteStateOfCharge()
1 LEDs reflect RelativeStateOfCharge()
SEAL
The SEAL bit determines the SMBus access state of the bq2060 on reset
0 SMBus commands (0x00–0xff) are accessible for both read and write.
1 SMBus read access is limited to commands (0x05–0x1c) and (0x20–0x23). SMBus read/write
access is limited to commands (0x00–0x04), (0x2f), and (0x3c–0x3f).
CSYNC
In usual operation of the bq2060, the CSYNC bit is set so that the coulomb counter is adjusted when a fast
charge termination is detected. In some applications, especially those where an externally controlled charger is
used, it may be desirable not to adjust the coulomb counter. In these cases the CSYNC bit should be cleared.
0 The bq2060 does not alter RM at the time of a valid charge termination.
1 The bq2060 updates RM with a programmed percentage of FCC at a valid charge termination.
CEDV
The CEDV bit determines whether the bq2060 implements automatic EDV compensation to calculate the EDV0,
EDV1, and EDV2 thresholds based on rate, temperature, and capacity. If reset, the bq2060 uses the fixed values
programmed in EEPROM for EDV0, EDV1, and EDV2. If set the bq2060 calculates EDV0, EDV1, and EDV2.
0 EDV compensation disabled
1 EDV compensation enabled
VCOR
The VCOR bit enables the midrange voltage correction algorithm. When set, the bq2060 compares the pack
voltage to RM and may adjust RM according to the values programmed in VOC25, VOC50, and VOC75 .
0 Midrange corrections disabled
1 Midrange corrections enabled
CHEM
The CHEM bit configures the bq2060 for nickel packs (NiCd or NiMH) or Li-ion packs. When set, the bq2060
employs the configuration parameters in EEPROM designated for Li-ion. When not set, the bq2060 employs the
configuration parameters designated for nickel.
47
Cell Undervoltage Overvoltage (lower)
VOV 4096
32
Cell Undervoltage Overvoltage (upper)
VOV 2048
64
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
0 The bq2060 uses nickel configuration parameters.
1 The bq2060 uses Li-ion configuration parameters
LCC0 and LCC1
The LCC0 and LCC1 bits configure the cell voltage inputs (VCELL
NO. OF SERIES CELLS LCC1 LCC0 CELL VOLTAGE INPUTS
NA 00 VCELL
2 01
3 10 VCELL
4 11
For Li-ion packs with individual measurements, LCC0 and LCC1 define the number of series elements and their
voltage measurement inputs. In each case (2, 3, or 4), the bq2060 uses the highest numbered cell voltage input
to measure the pack voltage measurement as returned with Voltage(). For nickel chemistries or Li-ion without
single-cell measurements, LCC0 and LCC1 must be set to 00. VCELL4 is the pack voltage input for this
programming.
).
1–4
= Cell Stack
4
VCELL
VCELL
= Cell 1
1
= Cell 2
2
VCELL
= Cell 1
1
= Cell 2
2
VCELL
= Cell 3
3
VCELL
= Cell 1
1
VCELL
= Cell 2
2
VCELL
= Cell 3
3
VCELL
= Cell 4
4
Remaining Time and Capacity Alarms
Remaining Time Alarm in EE 0x02–0x03 and Remaining Capacity Alarm in 0x04–0x05 set the alarm thresholds
used in the SMBus command codes 0x01 and 0x02, respectively. Remaining Time Alarm is stored in minutes
and Remaining Capacity Alarm in mAh.
Secondary Protection Limits for Li-ion
The cell undervoltage (V
) and overvoltage (V
UV
) limits are programmed in Cell Undervoltage/Overvoltage EE
OV
0x4a according to the equations:
CELL UNDER/ CELL UNDER/
OVERVOLTAGE VUV(mV) OVER VOLTAGE VOV(mV)
(UPPER NIBBLE) (LOWER NIBBLE)
0 2048 0 4096
1 2112 1 4128
2 2176 2 4160
3 2240 3 4192
4 2304 4 4224
5 2368 5 4256
6 2432 6 4288
7 2496 7 4320
8 2560 8 4352
9 2624 9 4384
a 2688 a 4416
b 2752 b 4448
(25)
(26)
48
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
CELL UNDER/ CELL UNDER/
OVERVOLTAGE VUV(mV) OVER VOLTAGE VOV(mV)
(UPPER NIBBLE) (LOWER NIBBLE)
c 2816 c 4480
d 2880 d 4512
e 2944 e 4544
f 3008 f 4576
Cycle Count Initialization
Cycle Count EE 0x0e–0x0f stores the initial value for the CycleCount() function. It should be programmed to
0x0000.
Control Modes
Control Mode EE 0x51 contains additional bit-programmable features.
b7 b6 b5 b4 b3 b2 b1 b0
NDF — HPE CPE LED SC — SM
NDF
The NDF bit disables the digital filter during discharge if the SMBC and SMBD lines are high.
0 Digital filter enabled all the time
1 Digital filter disabled if SMBC and SMBD are high
HPE
The HPE bit enables/disables PEC transmissions to the Smart Battery host for master mode alarm messages.
0 No PEC byte on alarm warning to host
1 PEC byte on alarm warning to host
CPE
The CPE bit enables/disables PEC transmissions to the Smart Battery Charger for master mode alarm
messages.
0 No PEC byte on broadcasts to charger
1 PEC byte on broadcasts to charger
LED
The LED bit configures the bq2060 for 4- or 5-LED indication
0 Selects the 5-LED indication mode
1 Selects the 4-LED indication mode
SC
The SC bit enables learning cycle optimization for a Smart Charger or independent charge
0 Learning cycle optimized for independent charger
1 Learning cycle optimized for Smart Charger
49
Vn1
VCELL 32768
1250
ADC Offset
ADC Voltage Gain
65536
Vn2
VCELL 32768
1250
ADC Offset
ADC Voltage Gain 8 (Cell 2 CalibrationFactor)
65536
Vn3
VCELL 32768
1250
ADC Offset
ADC Voltage Gain 8 (Cell 3 CalibrationFactor)
2
65536
Vn4
VCELL 32768
1250
ADC Offset
ADC Voltage Gain 8 (Cell 4 CalibrationFactor)
2
65536
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
SM
The SM bit enables/disables master mode broadcasts by the bq2060
0 Broadcasts to host and charger enabled
1 Broadcasts to host and charger disabled
If the SM bit is set, modifications to bits in BatteryMode() does not re-enable broadcasts.
MEASUREMENT CALIBRATION
ADC
To describe how the bq2060 calculates reported battery and individual cell voltages, the following abbreviations
and designations are used:
VCELL
VCELL1–4 = reported cell voltages
Vnl–4 = voltages at the different series nodes in the battery
Voltage() = reported battery voltage
V
The reported voltages measurements, Voltage() and VCELL1–4, may be calibrated by adjusting five 8- or 16-bit
registers in EEPROM: ADC Offset in EE0x62, ADC Voltage Gain in EE 0x66–0x67, Cell 2 Calibration Factor in
EE 0x63, Cell 3 Calibration Factor in EE 0x64, and Cell 4 Calibration Factor in EE 0x65.
The bq2060 first computes the node voltages Vnl, Vn2, Vn3, and Vn4. The node voltages are inputs to the voltage dividers to the VCELL
calculate the five reported voltages by the bq2060: Voltage(), VCELL1, VCELL2, VCELL3, and VCELL4.
An ADC Voltage Gain factor of 20,000 is the nominal value when using the recommended cell-voltage division
ratios of 16:1 on the VCELL
subtracts the voltage across the sense resistor from the measurements so that the reported voltages reflect the
cell-stack voltages only.
The bq2060 compute the node voltages as
–4 = voltages at the input pins of the bq2060
1
= voltage across the sense resistor
sr
through VCELL
1
and VCELL
4
input pins of the bq2060. The bq2060 computes node voltages to
4
inputs and 8:1 on the VCELL
3
and VCELL
2
1
inputs. The bq2060
Note: With LCC1-LCC0 = 00, Cell 4 Calibration Factor = 0.
ADC Offset adjusts the ADC reading for voltage and current measurements. ADC Offset is a signed 8-bit value
that cancels offset present in the circuit with no potential or current flow. ADC Offset is typically set between -20
and 20.
50
(27)
(28)
(29)
(30)
Current
ADC Reading ADC Offset ADC Sense Resistor Gain
16384
OCV
0.6 V
VFC Offsets 0
Temperature Offset TOF F 10
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
The bq2060 uses the computed node voltages to calculate the reported voltages. It does not compute reported
cell voltages greater than the selected number of nodes. If no individual cell voltages are to be measured,
LCC1–LCC0 should be set to 00 and the top of the battery stack should be connected to a voltage divider to the
VCELL
The bq2060 computes the reported voltages as
Current
The bq2060 scales Current() to mA units by the 16-bit value ADC Sense Resistor Gain in EE 0x68–0x69.
Adjusting ADC Sense Resistor Gain from its nominal value provides a method to calibrate the current readings
for variances in the ADC gain, internal voltage reference, and sense resistor value. The bq2060 calculates
Current() by
input.
4
Voltage() = Vn4(LCC1–LCC0 = 11 or 00) – V
Voltage() = Vn3(LCC1–LCC0 = 10) – V
Voltage() = Vn2 (LCC1–LCC0 = 01) – V
sr
sr
VCELL4 = Vn4- Vn3
VCELL3 = Vn3- Vn2
VCELL2 = Vn2- Vn1
VCELL1 = Vn1- V
sr
sr
The nominal value for ADC Sense Resistor Gain is given by Equation 4 .
VFC
To calibrate the coulomb counting measurement for VFC gain errors and sense resistor tolerance, the value of
VFC Sense Resistor Gain EE 0x6a-0x6b may be adjusted from its nominal value.
The nominal value of VFC Sense Resistor Gain is given by Equation 5 .
The bq2060 VFC circuit can introduce a signal opposite in sign from that of the inherent device and circuit offset
to cancel this error. The offset calibration routine is initiated with commands to ManufacturerAccess().
The bq2060 calculates the offset with the calibration routine and stores the calibration value using the least 21
bits of VFC Offset in EE 0x5e–0x60.
The least 20 bits store the offset calibration value (OCV). The sign of the offset calibration value is positive if the
21st bit is 0.
Temperature
The bq2060 uses Temperature Offset in EE 0x61 to calibrate the Temperature() function for offset. The required
offset adjustment, TOFF (C), sets Temperature Offse t according to the equation
where
–12.8 ≤ TOFF ≤ 12.7
(31)
(32)
(33)
CONSTANTS AND STRING DATA
EEPROM Constants
Check/Byte 1 EE 0x00–0x01 and Check Byte 2 EE 0x7e–0x7f must be programmed to 0x3c7f and 0xa55a,
respectively.
51
bq2060
SLUS035E – JANUARY 2000 – REVISED OCTOBER 2005
Specification Information
Specification Information EE 0x14–0x15 stores the default value for the SpecificationInfo() function. It is stored in
EEPROM in the same format as the data returned by the SpecificationInfo().
Manufacture Date
Manufacture Date EE 0x16–0x17 stores the default value for the ManufactureDate() function. It is stored in
EEPROM in the same format as the data returned by the ManufactureDate().
Serial Number
Serial Number EE 0x18–0x19 stores the default value for the SerialNumber() function. It is stored in EEPROM in
the same format as the data returned by the SerialNumber().
Manufacturer Name Data
Manufacturer Name Length EE 0x20 stores the length of the desired string that is returned by the
ManufacturerName() function. Locations EE 0x21–0x2a store the characters for ManufacturerName() in ASCII
code.
Device Name Data
Device Name Length EE 0x30 stores the length of the desired string that is returned by the DeviceName()
function. Locations EE 0x31-0x37 store the characters for DeviceName() in ASCII code.
Device Chemistry Data
Device Chemistry Length EE 0x40 stores the length of the desired string that is returned by the
DeviceChemistry() function. Locations EE 0x41–0x44 store the characters for DeviceChemistry() in ASCII code.
Manufacturers Data Length
Manufacturers Data Length EE 0x50 stores the length of the desired number of bytes that is returned by the
ManufacturersData() function. It should be set to 7.
52
PACKAGE OPTION ADDENDUM
www.ti.com
18-Jul-2006
PACKAGING INFORMATION
Orderable Device Status
BQ2060SS-E207-EP ACTIVE SSOP/
BQ2060SS-E207-EPG4 ACTIVE SSOP/
BQ2060SS-E207TR-EP ACTIVE SSOP/
BQ2060SS-E411 ACTIVE SSOP/
BQ2060SS-E411G4 ACTIVE SSOP/
BQ2060SS-E411TR ACTIVE SSOP/
BQ2060SS-E411TRG4 ACTIVE SSOP/
BQ2060SSE207TREPG4 ACTIVE SSOP/
(1)
The marketing status values are defined as follows:
(1)
Package
Type
QSOP
QSOP
QSOP
QSOP
QSOP
QSOP
QSOP
QSOP
Package
Drawing
Pins Package
Qty
Eco Plan
DBQ 28 40 Green (RoHS &
no Sb/Br)
DBQ 28 40 Green (RoHS &
no Sb/Br)
DBQ 28 2500 Green (RoHS &
no Sb/Br)
DBQ 28 40 Green (RoHS &
no Sb/Br)
DBQ 28 40 Green (RoHS &
no Sb/Br)
DBQ 28 2500 Green (RoHS &
no Sb/Br)
DBQ 28 2500 Green (RoHS &
no Sb/Br)
DBQ 28 2500 Green (RoHS &
no Sb/Br)
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in
a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
Lead/Ball Finish MSL Peak Temp
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
CU NIPDAU Level-2-260C-1 YEAR
(3)
(2)
Eco Plan - The planned eco-friendly classification: Pb-Free (RoHS), Pb-Free (RoHS Exempt), or Green (RoHS & no Sb/Br) - please check
http://www.ti.com/productcontent for the latest availability information and additional product content details.
TBD: The Pb-Free/Green conversion plan has not been defined.
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.
Pb-Free (RoHS Exempt): This component has a RoHS exemption for either 1) lead-based flip-chip solder bumps used between the die and
package, or 2) lead-based die adhesive used between the die and leadframe. The component is otherwise considered Pb-Free (RoHS
compatible) as defined above.
Green (RoHS & no Sb/Br): TI defines "Green" to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame
retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material)
(3)
MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDEC industry 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
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty . Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products Applications
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
Low Power Wireless www.ti.com/lpw Telephony www.ti.com/telephony
Video & Imaging www.ti.com/video
Wireless www.ti.com/wireless
Mailing Address: Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright 2006, Texas Instruments Incorporated