ETC BQ2060SS

bq2060
SBS v1.1-Compliant Gas Gauge IC
Features
>
>
>
>
>
>
>
>
>
>
General Description
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 Vto-F converter with offset of less
than 20µV after calibration
Consumes less than 0.5mW operating
Drives a 4- or 5-segment LED
display for remaining capacity
indication
28-pin 150-mil SSOP
Pin Connections
The bq2060 SBS-Compliant Gas
Gauge IC for battery pack or insystem 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 in conjunction 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, current, and remaining run-time predictions. The bq2060
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
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 a programmable level of full
to empty.
The REG output regulates the operating voltage for the bq2060 from the
battery cell stack using an external
JFET.
Pin Names
HDQ16
HDQ16
ESCL
ESDA
RBI
REG
VOUT
VCC
VSS
DISP
LED1
LED2
LED3
LED4
LED5
provides LED drivers a n d 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.
SMBC
SMBD
VCELL4
VCELL3
VCELL2
VCELL1
SR1
SR2
SRC
TS
THON
CVON
CFC
DFC
Serial communication
input/output
ESCL
Serial memory clock
ESDA
Serial memory data and
address
RBI
Register backup input
REG
Regulator output
VOUT
EEPROM supply output
VCC
Supply voltage
VSS
Ground
DISP
Display control input
LED1–
LED5
LED display segment outputs
28-Pin 150-mil SSOP
28PN2060.eps
SLUS035B–SEPTEMBER 2000
1
DFC
Discharge FET control
CFC
Charge FET control
VON
trol
Cell voltage divider con-
THON
Thermistor bias control
TS
Thermistor voltage input
SRC
Current sense input
SR1–
SR2
Charge-flow sense resistor
inputs
VCELL1– Single-cell voltage inputs
VCELL4
SMBD
SMBus data
SMBC
SMBus clock
bq2060
DFC
Pin Descriptions
HDQ16
Output to control the discharge FET in the
Li-Ion pack protection circuitry.
Serial communication input/output
CFC
Open-drain bidirectional communications
port.
ESCL
CVON
Serial memory data and address
THON
Thermistor bias control output
Output control for external FETs to connect
the thermistor bias resistor during a temperature measurement.
Register backup input
TS
Input that provides backup potential to the
bq2060 registers during periods of low operating voltage. RBI accepts a storage capacitor or a battery input.
Thermistor voltage input
Input connection for a thermistor to monitor
temperature.
SRC
REG
Cell voltage divider control output
Output control for external FETs to connect
the cells to the external voltage dividers
during cell voltage measurements.
Bidirectional pin used to transfer address
and data to and from the bq2060 and the
external nonvolatile configuration memory.
RBI
Charge FET control output
Output to control the charge FET in the
Li-Ion pack protection circuitry.
Serial memory clock
Output to clock the data transfer between
the bq2060 and the external nonvolatile
configuration memory.
ESDA
Discharge FET control output
Current sense voltage input
Regulator output
Input to monitor instantaneous current.
Output to control an n-JFET for VCC regulation to the bq2060 from the battery potential.
VOUT
SR1–
SR2
Input connections for a small value sense
resistor to monitor the battery charge and
discharge current flow.
Supply output
Output that supplies power to the external
EEPROM configuration memory.
VCC
Supply voltage input
VSS
Ground
DISP
Display control input
VCELL1–
VCELL4
Single-cell voltage inputs
Inputs that monitor the series element cell
voltages.
SMBD
SMBus data
Open-drain bidirectional pin used to transfer address a n d d a t a to a n d from t h e
bq2060.
I n p u t t h a t controls t h e LED d r i v e r s
LED1–LED5
LED1–
LED5
Sense resistor inputs
LED display segment outputs
SMBC
Outputs that each may drive an external
LED.
SMBus clock
Open drain bidirectional pin used to clock
the data transfer to and from the bq2060.
2
bq2060
The VFC measures bipolar signals up to 250mV. The
bq2060 detects charge activity when VSR = VSR2 – VSR1
is positive and discharge activity when VSR = VSR2 –
VSR1 is negative. The bq2060 continuously integrates
the signal over time using an internal counter. The
fundamental rate of the counter is 6.25µVh.
Functional Description
General Operation
The bq2060 determines battery capacity by monitoring
the amount of charge input 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.
Offset Calibration
The bq2060 provides an auto-calibration feature to cancel
the voltage offset error across SR1 and SR2 for 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 integrate 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 because of offset.
Figure 1 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.
Voltage
While monitoring SR1 and SR2 for charge and discharge
currents, the bq2060 monitors the battery-pack potential and t he individual cell voltages t hrough t he
VCELL1–VCELL4 pins. The bq2060 measures the pack
voltage and reports the result in Voltage(). 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 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.
The VCELL1–VCELL4 inputs are divided down from the
cells using precision resistors, as shown in Figure 1. The
maximum input for VCELL1–VCELL4 is 1.25V with respect to VSS. The voltage dividers for the inputs must be
set so that the voltages at the inputs do not exceed the
1.25V limit under all operating conditions. Also, the divider ratios on VCELL1–VCELL2 must be half of that of
VCELL3–VCELL4. To reduce current consumption from
the battery, the CVON output may used to connect the
divider to the cells only during measurement period.
CVON is high impedance for 250ms (12.5% duty cycle)
when the cells are measured, and driven low otherwise.
See Table 1.
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–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 seconds to the time
interval.
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 ±250mV as shown in Table 2.
Charge and Discharge Counting
The VFC measures the charge and discharge flow of the
battery by monitoring a small-value sense resistor
between the SR1 and SR2 pins as shown in Figure 1.
3
bq2060
Figure 1. Battery Pack Application Diagram–LED Display and Series Cell Monitoring
4
bq2060
Table 1. Example VCELL1–VCELL4 Divider
and Input Range
Voltage Input
VCELL4
VCELL3
VCELL2
VCELL1
Voltage Division
Ratio
16
16
8
8
Temperature
The TS input of the bq2060 in conjunction with an NTC
thermistor measures the battery temperature as shown
in Figure 1. 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 60ms when the
temperature is measured, and driven low otherwise.
Full-Scale Input
(V)
20.0
20.0
10.0
10.0
Gas Gauge Operation
General
Table 2. SRC Input Range
The operational overview in Figure 2 illustrates the gas
gauge operation of the bq2060. Table 3 describes the
bq2060 registers.
Sense Resistor
(W)
0.02
Current()
1 LSB Accuracy
(mA)
30.5
Full-Scale Input
(A)
0.03
20.4
±8.3
0.05
12.2
±5.0
0.10
6.1
±2.5
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.
±12.5
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
Figure 2. bq2060 Operational Overview
5
bq2060
Discharge Count Register (DCR)
information in the RM register is accessible through the
communications ports and is also represented through
the LED display.
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. DCR stops counting when the battery
voltage reaches the EDV2 threshold on discharge.
The FullChargeCapacity() (FCC) register represents the
last measured full discharge of the battery. It is used as
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.
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.
Main Gas Gauge Registers
FCC (New) = DCR + (FCC * Battery Low%)
RemainingCapacity() (RM)
(1)
where
RM represents the remaining capacity in the battery.
The bq2060 computes RM in either mAh or 10mWh depending on the selected mode.
Battery Low %= value stored in EE 0x54
A qualified discharge occurs if the battery discharges
from RM ≥ FCC - Near Full * 2 to the EDV2 voltage
threshold with the following conditions:
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.
n
No valid charge activity occurs during the discharge
period. A valid charge is defined as an input of
10mAh into the battery.
n
No more than 256mAh of self-discharge and/or light
discharge estimation occurs during the discharge
period.
n
The temperature does not drop below 5°C during the
discharge period.
n
The battery voltage reaches the EDV2 threshold
during the discharge period and the voltage was
greater than the EDV2 threshold minus 256mV when
the bq2060 detected EDV2.
n
No midrange voltage correction occurs during the
discharge period.
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 10mWh. 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 10mWh 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 upd a t e d , t h e bq2060 writes t h e 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.
FCC cannot be reduced by more than 256mAh or increased by more than 512mAh during any single update
cycle. The bq2060 saves the new FCC value to the
EEPROM within 4s of being updated.
End-of-Discharge Thresholds and Capacity Correction
The bq2060 monitors the battery for three compensated
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
6
bq2060
Table 3. bq2060 Register Functions
Function
Command Code
SMBus
HDQ16
Access
Units
ManufacturerAccess
0x00
0x00
read/write
n/a
RemainingCapacityAlarm
0x01
0x01
read/write
mAh, 10mWh
RemainingTimeAlarm
0x02
0x02
read/write
minutes
BatteryMode
0x03
0x03
read/write
n/a
AtRate
0x04
0x04
read/write
mA, 10mW
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, 10mWh
mAh, 10mWh
FullChargeCapacity
0x10
0x10
read
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, 10mWh
DesignVoltage
0x19
0x19
read
mV
SpecificationInfo
0x1a
0x1a
read
n/a
ManufactureDate
0x1b
0x1b
read
n/a
integer
SerialNumber
0x1c
0x1c
read
0x1d–0x1f
0x1d - 0x1f
-
-
ManufacturerName
0x20
0x20–0x25
read
string
DeviceName
0x21
0x28–0x2b
read
string
DeviceChemistry
0x22
0x30–0x32
read
string
string
Reserved
ManufacturerData
0x23
0x38–0x3b
read
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
7
bq2060
Table 4. State of Charge Based
on Low Battery Voltage
Self-Discharge Rate
Temperature ( C)
Temp < 10
1
Y% per
4
1
Y% per
2
10 ≤ Temp <20
Threshold
EDV0
EDV1
EDV2
State of Charge in RM
0%
3%
Battery Low %
20 ≤ Temp <30
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,
a n d EDV2 thresholds based on t h e 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.
day
day
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
The interval at which RM is reduced is given by the following equation, where n is the appropriate factor of 2
(n = 14 , 12 , 1, 2, . . . ):
(2)
Self - Discharge Update Time =
The bq2060 uses the thresholds to apply voltage-based
corrections to the RM register according to Table 4.
640 ·13500
256·n ´ ( Y % per day)
seconds
The timer that keeps track of the self-discharge update
time is halted whenever charge activity is detected. The
t i m e r is r e s e t to zero if t h e bq2060 reaches t h e
RemainingCapacity()=FullChargeCapacity() condition
while charging.
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 t he corresponding
threshold.
Example: I f T = 35°C (n = 2) a n d 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
(3)
Self-Discharge
640 ·13500
256·n ´ ( Y% per day)
The bq2060 estimates the self-discharge of the battery
to maintain an accurate measure of the battery capacity
d u r i n g periods of inactivity. The a l g o r i t h m 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.
= 6750 seconds
The self-discharge estimation 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):
Figure 3. Self-Discharge at 2.5%/Day @25C
8
bq2060
This means that a 0.39% reduction of RM will be made
12.8 times per day to achieve the desired 5% per day reduction at 35°C.
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
–64mA and 0. The bq2060 makes midrange corrections
as shown in Table 5.
Figure 3 illustrates how the self-discharge estimate algorithm adjusts RemainingCapacity() vs. temperature.
L i g h t Dis c ha rge or Sus pe nd Cu rren t
Compensation
Charge Control
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.2mA.
The bq2060 supports SBS charge control by broadcasting
the ChargingCurrent() and ChargingVoltage() to the
Smart Charger address. The bq2060 broadcasts the requests every 10s. The bq2060 updates the values used in
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.
Charging Voltage and Current Broadcasts
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 will
not mask the leakage current signal. The bq2060 is configured in this mode by setting the NDF bit in Control
Mode.
The bq2060 internal charge control is compatible with
popular rechargeable chemistries. The pr i m a r y
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.
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 at
which RM corresponds to the associated state of charge
for each threshold.
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 10s until the bits are
cleared.
Threshold
Associated State of Charge
VOC25
25%
Pre-Charge Qualification
VOC50
50%
VOC75
75%
The bq2060 sets ChargingCurrent() to the pre-charge
r a t e a s p r o g r a m m e d i n Pre-Charge Current E E
0x1e-0x1f under the following conditions:
Table 5. Midrange Corrections
Condition
Voltage()
Result
≥ VOC75 and RelativeStateOfCharge() ≤ 63%
RelativeStateOfCharge()→75%
< VOC75 and RelativeStateOfCharge() ≥ 87%
RelativeStateOfCharge()→75%
≥VOC50 and RelativeStateOfCharge() ≤ 38%
RelativeStateOfCharge()→50%
<VOC50 and RelativeStateOfCharge() ≥ 62%
RelativeStateOfCharge()→50%
≥ VOC25 and RelativeStateOfCharge() ≤ 13%
RelativeStateOfCharge()→25%
< VOC25 and RelativeStateOfCharge() ≥ 37%
RelativeStateOfCharge()→25%
9
bq2060
n
Voltage: The bq2060 requests the pre-charge charge
rate when Voltage() is below the EDV0 threshold
(fixed EDVs) or the EDVF threshold (dynamic EDVs)
as programmed in EDVF/EDV0 EE 0x72-0x73.
n
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.
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.
Charge Suspension
The bq2060 may temporarily suspend charge if it detects a charging fault. A charging fault includes the following conditions.
n
n
n
n
n
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.
Under-Temperature: An undertemperature condition exists if Temperature() < 0°C. On detecting an
undertemperature 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
T h e bq2060 t e r m i n a t e s c h a r g e if i t d e t e c t s a
charge-termination condition. A charge-termination
condition includes the following.
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-/Overoltage. Overvoltage
Margin is programmed in EE 0x48 and Cell Under/Over
Voltage in EE 0x4a (LSN). On detecting an overvoltage
condition, the bq2060 sets the ChargingCurrent() to zero
and sets the TERMINATE_CHARGE_ALARM bit in
BatteryStat- us(). 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.
n
∆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 (20s-320s). Typical settings for 1°C/minute
include 2°C/120s and 3°C/180s. Longer times are
required for increased slope resolution. The DeltaT
value is programmed in EE 0x45 (LSN) and the
Delta T Time in EE 0x4e.
In addition to the ∆T/∆t timer, a hold-off timer
starts when the battery is being charged at more
than 255mA and the temperature is above 25°C.
Until this timer expires, ∆T/∆t detection is
suspended. If Current() drops below 256mA or
Temperature() below 25°C, the hold-off timer resets
and restarts only when the current and temperature
conditions are met again. The hold-off timer is
programmable (20s – 320s) with Holdoff Time value
in EE 0x4f.
Over-Temperature: An over-temperature condition
exists when Temperature() exceeds the Max T value
programmed in EE 0x45 (MSN). 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() drops 5 degrees C below
the Max T value or 43°C.
n
Overcharge: An overcharge condition exists if the
battery is charged more than the Maxmum
Overcharge value after RM = FCC. Maximum
10
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 40s.
The bq2060 uses the VFC to measure current for
current taper termination. The current polarity must
Preliminary bq2060
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
p e r c e n t a g e of F C C , t h e b q 2 0 6 0 c l e a r s t h e
FULLY_CHARGED bit in BatteryStatus(). The programmed percentage of FCC, Fast Charge Termination
%, i s s e t i n E E 0 x 4 b . T h e b q 2 0 6 0 c l e a r s t h e
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 tem-
remain positive as measured by the VFC during this
time period.
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
R e l a t i v e S t a t e O f C h a r g e ( ) i s below t h e d e s i r e d
Table 6. Alarm and Status Bit Summary
Battery State
Conditions
CC() State and
BatteryStatus Bits Set
Overcurrent
C() > CC() + Overcurrent
Margin
Overvoltage
V() > CV() + Overvoltage TCA = 1
Margin
VCELL1, 2, 3, or 4 > Cell CC() = 0, CVOV = 1
Under/Over Voltage
Overtemperature
T() > Max T
Overcharge
RM() > FCC + Maximum CC() = 0, FC = 1
Overcharge
OCA = 1, TCA = 1
CC() = 0, TCA = 1
CC() = 0, OTA = 1,
TCA = 1, CVOV = 1
CC() = Fast or Pre-charge Current
and/or Bits Cleared
C() < CC() + Overcurrent Margin
DISCHARGING = 1
V() < CV() + Overvoltage Margin
Li-Ion cell voltage < Cell Under/Over
Voltage
T() < Max T - 5°C or T() < 43°C
RSOC() < Fully Charged Cleared %
DISCHARGING = 1
CC() = 0
0°C ≤ Τ() < 5°C, CC() = Pre-Charge Current
T() > 5°C, CC() = Fast-Charging Current
CC() = 0, FC = 1
RSOC() < Fully Charged Cleared %
TCA = 1
DISCHARGING = 1 or termination condition is no longer valid.
V() < EDV2
FD = 1
RSOC() > 20%
Overdischarged
V() < EDV0
VCELL1, 2, 3 or 4 < Cell
Under/Over Voltage
TDA = 1, CVUV = 1
V() > EDV0
VCELL1, 2, 3, or 4 > Cell Under/Over
Voltage
Low capacity
RM() < RCA()
RCA = 1
RM() ≥ RCA()
Low run-time
ATTE() < RTA()
RTA = 1
ATTE() ≥ RTA()
Undertemperature
T() < 0°C
Fast charge
termination
∆T/∆t or Current Taper
Fully discharged
Note:
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().
11
bq2060
p e r a t u r e permit. The bq2060 clears t h e 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.
Table 7. Display Mode
Condition
Relative or
Absolute
StateOfCharge()
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.
LED1
LED2 LED3 LED4
LED5
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
Condition
Relative or
Absolute
StateOfCharge()
The DMODE bit in Pack Configuration programs the
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 equal to 100%.
Activation
The d i s p l a y m a y be a c t i v a t e d a t a n y t i m e 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 display timer that advances for four
seconds. 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.
5 LED Display Option
4 LED Display Option
LED1
LED2
LED3
LED4
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
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.
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 low-power
storage mode.
Battery
State
Conditions
V() > CV() + Overvoltage
Margin
Overvoltage
VCELL1, 2, 3, or 4 > Cell
Under / Over Voltage
Overtemperature T() > Max T
VCELL1, 2, 3, or 4 < Cell
Undervoltage
Under / Over Voltage
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 t h a n Remaining
CapacityAlarm(). Unless noted, EDV0 = 0.
Active
Pin
Low
CFC
CFC
DFC
If any cell voltage is less than the VUV 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
12
bq2060
the VOV threshold, the bq2060 sets the CVOV bit in Pack
Status and pulls the CFC pin to a logic low.
most-significant bit (MSB) of a data byte is transmitted
first.
Low-Power Storage Mode
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.)
The bq2060 enters low-power mode 5– 8s 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.
SMBus Protocol
The bq2060 supports the following SMBus protocols:
Device Reset
The bq2060 can be reset with commands over the
HDQ16 or SMBus. Upon reset, the bq2060 initializes its
internal registers with the information contained in the
configuration EEPROM. The following command sequence initiates a full bq2060 reset:
n
Read Word
n
Write Word
n
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 Write Word protocol.
Write 0x4f to 0xff5a
The SMBD and SMBC pins are open drain and require
external pullup resistors.
Write 0x7d to 0x0000
Write 0x7d to 0x0080
SMBus Packet Error Checking
Communication
The bq2060 supports Packet Error Checking as a mechanism to confirm proper communication between it and
another SMBus device. Packet Error Checking requires
t h a t both the t ransmitter and r eceiver 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.
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
( d a t a ) p i n s . T h e HDQ16 i n t e r f a c e i s a 1-wire
bidirectional protocol using the HDQ16 pin. All three
communication lines are isolated from VCC and may be
pulled-up higher than VCC. Also, the bq2060 will not
pull these lines low if VCC to the part is zero . HDQ16
should be pulled down with a 100KΩ resistor if not used.
PEC Protocol
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.
The bq2060 can receive or transmit data with or without
PEC. Figure 4 shows the communication protocol for
the Read Word, Write Word, and Read Block messages
without PEC. Figure 5 includes PEC.
SMBus
The SMBus interface is a command-based protocol. A
processor acting as the bus master initiates communication to the bq2060 by generating a START condition. A
START condition consists of a high-to-low transition of
the SMBD line while the SMBC is high. The processor
then sends the 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 (LSB) 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 SMBus, the
13
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
it is not correct, the bq2060 responds with a NOT ACKNOWLEDGE and sets an error code.
In the Read Word and Block Read, the host generates an
ACKNOWLEDGE after the last byte of data 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.
bq2060
1
S
7
Battery Address
0001011
1
1
8
1
8
1
8
1
1
0
A
Command Code
A
Data byte low
A
Data byte high
A
P
Write Word
1
S
7
Battery Address
0001011
1
1
8
1
1
7
1
1
0
A
Command Code
A
S
Battery Address
1
A
8
1
8
1
Data byte low
A
Data byte high
A
P
Host Processor
Read Word
1
S
7
Battery Address
0001011
1
1
8
1
1
7
1
1
0
A
Command Code
A
S
Battery Address
1
A
bq2060
8
1
8
1
8
1
8
1
1
Byte Count =N
A
Data byte 1
A
Data byte 2
A
Data byte N
A
P
A – ACKNOWLEDGE
A – NOT ACKNOWLEDGE
S – START
P – STOP
Block Read
FG2060HCP.eps
Figure 4. SMBus Communication Protocol without PEC
1
S
7
Battery Address
0001011
1
1
8
1
8
1
8
1
0
A
Command Code
A
Data byte low
A
Data byte high
A
8
1
PEC
A
1
P
Write Word
1
S
7
Battery Address
0001011
1
1
8
1
1
7
1
1
0
A
Command Code
A
S
Battery Address
1
A
8
1
8
1
8
1
1
Data byte low
A
Data byte high
A
PEC
A
P
Host Processor
bq2060
Read Word
1
S
7
Battery Address
0001011
1
1
8
1
1
7
1
1
0
A
Command Code
A
S
Battery Address
1
A
A – ACKNOWLEDGE
A – NOT ACKNOWLEDGE
S – START
P – STOP
8
1
8
1
8
1
8
1
8
1
1
Byte Count =N
A
Data byte 1
A
Data byte 2
A
Data byte N
A
PEC
A
P
Block Read
FG2060PEC.eps
Figure 5. SMBus Communication Protocol with PEC
14
bq2060
PEC Calculation
pulldown resistors on SMBC and SMBD
mended for reliable OH State detection.
The basis of the PEC calculation is an 8-bit Cyclic Redundancy Check (CRC-8) based on the polynomial C(X)
= X8 + X2 + X1 + 1. The PEC calculation includes all
bytes in the transmission, including address, command,
and data. The PEC calculation does not include ACKNOWLEDGE, NOT ACKNOWLEDGE, START, STOP,
and Repeated START bits.
HDQ16
The HDQ16 interface is a command-based protocol. (See
Figure 6.) 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 (MSB bit 7). The R/W field directs the bq2060
either to
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 the remaining capacity of the battery is 1001mAh.
n
Store the next 16 bits of data to a specified register or
n
Output 16 bits of data from the specified register
With HDQ16, the least significant bit (LSB) of a data
byte (command) or word (data) is transmitted first.
n
Battery Address with R/W = 0: 0x16
n
Command Code for RemainingCapacity(): 0x0f
n
Battery Address with R/W = 1: 0x17
n
RemainingCapacity(): 0x03e9
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 STRH;B. The next section is the actual
data-transmission, where the data bit is valid by the
time, t DSU;B after the negative edge used to start communication. The data bit is held for a period t DH;DV to
allow the host processor or bq2060 to sample the data
bit.
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 of
the bits HPE and CPE in Control Mode.
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 SSU;B after the negative edge used to start
communication. The final logic-high state should be until a period t CYCH;B to allow time to ensure that the bit
transmission was stopped properly.
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.5s, 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 1ms. One-MΩ
If a communication error occurs (e.g., t CYCB > 250µs),
the host sends the bq2060 a BREAK to reinitiate the serial interface. The bq2060 detects a BREAK when the
HDQ16 pin is in a logic-low state for a time t B or
Send Host to bq2060
HDQ Command Code
Break
are recom-
Send Host to bq2060 or
Receive from bq2060
16 bit Data
tRR
R/W
MSB
Bit7
LSB
Bit0
tRSPS
Start-bit
Address-Bit/
Data-Bit
Stop-Bit
TD2060CE.eps
Figure 6. HDQ16 Communication Example
15
bq2060 Preliminary
greater. The HDQ16 pin is then returned to its normal
ready-high logic state for a time t BR. The bq2060 is then
ready to receive a command from the host processor.
0x067e Alternate VFC Calibration: Instructs the
unsealed bq2060 to begin VFC calibration. With this
command the bq2060 does not deselect the SR1 and SR2
inputs and calibrates for IC and PCB offset. During
this procedure no charge or discharge currents
must flow through the sense resistor.
The HDQ16 pin is open drain and requires an external
pullup resistor.
Command Codes
During VFC calibration, the bq2060 disables the LED
display and accepts only the Stop VFC Calibration and
the SEAL Command to ManufacturerAccess(). The
bq2060 d i s r e g a r d s a l l o t h e r commands. SMBus
communication should be kept to a minimum during
VFC calibration to reduce the noise level and allow a
more accurate calibration.
The SMBus Command Codes are in ( ), the HDQ16 in [ ].
Temperature(), Voltage(), Current(), and AverageCurrent(),
performance specifications are at regulated VCC (VRO)
and a temperature of 0–70°C.
ManufacturerAccess() (0x00); [0x00–0x01]
Description:
This function provides writable command codes to control the bq2060 during normal operation and pack manufacture. The following list of commands are available.
Once started, the VFC calibration procedures 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 zero offset error. The VFC calibration can be done as the last step in a battery pack
test procedure since the calibration can complete automatically after removal from a test setup.
0x0618 Enable Low-Power Storage Mode: Activates
the low-power storage mode. The bq2060 enters the storage mode after a 5–8s 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.
The bq2060 clears ManufacturerAccess() within 900ms
and starts calibration within 3.2s of acknowledging the
command.
During the delay following the low-power storage command, a VFC Calibration command may be issued.
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 20ms of acknowledging the command.
The bq2060 clears the ManufacturerAccess() command
within 900ms of acknowledging the Enable Low-Power
Storage command. The VFC Calibration command must
be sent 900–1600ms 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.
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
900ms of acknowledging the command. After issuing the
program EEPROM command, the bq2060 monitoring
functions are disabled until the I 2C bus is disconnected.
The bq2060 disconnects the I 2C 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 10ms after the last write to the
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 t h e s e a l f u n c t i o n a n d c l e a r s
ManufacturerAccess() within 900ms of acknowledging
the command.
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 other calibration without the
SEAL bit set in Pack Configuration in EEPROM.
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 900ms of acknowledging the command.
0x0653 Enable VFC Calibration: Instructs the unsealed bq2060 to begin VFC calibration. With this command the bq2060 deselects the SR1 and SR2 inputs and
calibrates for IC offset only. It is best to avoid charge or
discharge currents through the sense resistor during
this calibration process.
2.
16
Issue the Program EEPROM command and set the
SEAL bit in Pack Configuration in EEPROM.
bq2060
3.
Issue the Enable Low-Power Storage Mode command.
4.
Within 900–1600ms 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.
Battery Modes
CAPACITY_MODE CAPACITY_MODE
bit = 0
bit = 1
Units
mAh @C/5
10mWh @P/5
Range
0–65,535mAh
0–65,535 10mWh
Granularity
Not applicable
Accuracy
See RemainingCapacity()
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.
After VFC calibration completes automatically, the
bq2060 saves the VFC offset cancellation values in
EEPROM and enters the low-power storage mode in
about 20s. 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.
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’s
RemainingTimeAlarm().
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 to
t h e SMBus Host with t h e 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 unc h a n g e d u n t i l a l t e r e d by t h e R e m a i n i n g CapacityAlarm() function. The low-capacity value may
be expressed in either current (mA) or power (10mWh)
depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
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]
Purpose:
The RemainingCapacityAlarm() function can be used by
systems that know how much power they require to save
their operating state. It enables those systems to more
finely control the point at which they transition into suspend or hibernate state. The low-capacity value can be
read to verify the value in use by the bq2060’s low capacity alarm.
Description:
This function selects the various battery operational
modes and reports the battery’s mode and requests.
Defined modes include:
SMBus Protocol: Read or Write Word
n
Whether the battery’s capacity information is
specified in mAh or 10mWh (CAPACITY_MODE bit)
n
Whether the ChargingCurrent() and ChargingVoltage()
values are broadcast to the Smart Battery Charger
when the bq2060 detects the battery requires charging
(CHARGER_MODE bit)
n
Whether all broadcasts to the Smart Battery Charger
and Host are disabled
Input/Output: Unsigned integer—value below which
Low Capacity messages are sent.
17
bq2060
The defined request condition is the battery requesting a
conditioning cycle (RELEARN_FLAG).
Table 8 summarizes the meanings of the individual bits
in the BatteryMode() word and specifies the default values, where applicable, are noted.
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 by
d i s a b l i n g t h e bq2060’s b r o a d c a s t s .
The
RELEARN_FLAG bit allows the bq2060 to request a
conditioning cycle.
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 if
it detects 20 cycle counts without an FCC update. The
bq2060 clears this flag after a learning cycle has been
completed.
SMBus Protocol: Read or Write Word
CHARGE_CONTROLLER_ENABLED bit is not used
by the bq2060. The bq2060 forces this bit to zero.
Input/Output:
Unsigned integer —bit mapped— see below.
PRIMARY_BATTERY bit is not used by the bq2060.
The bq2060 forces this bit to zero.
Units: not applicable
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 NOT sent to
the SMBus Host and the Smart Battery Charger for a
period of no more than 65s and no less than 45s.
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.
Range: 0–1
Granularity: not applicable
Accuracy: Not applicable
The BatteryMode() word is divided into two halves, the
MSB (bits 8–15) which is read/write and the LSB (bits
0–7) which is read only. The bq2060 forces bits 0–6 to
zero and prohibits writes to bit 7.
Table 8. Battery Mode Bits and Values
Battery Mode() Bits
INTERNAL_CHARGE_CONTROLLER
PRIMARY_BATTERY_SUPPORT
Reserved
RELEARN_FLAG
CHARGE_CONTROLLER_ENABLED
PRIMARY_BATTERY
Reserved
Bits Used
Format
0
Read only bit flag
1
Read only bit flag
2–6
7
Read only bit flag
8
9
10–12
R/W bit flag
R/W bit flag
ALARM_MODE
13
R/W bit flag
CHARGER_MODE
14
R/W bit flag
CAPACITY_MODE
15
R/W bit flag
18
Allowable Values
0—Battery OK
1—Relearn cycle requested
0—Enable alarm broadcast (default)
1—Disable alarm broadcast
0—Enable charging broadcast (default)
1—Disable charging broadcast
0—Report in mA or mAh (default)
1—Report in 10mW or 10mWh
bq2060
n
The bq2060 polls the ALARM_MODE bit at least
every 150ms. Whenever the ALARM_MODE bit is
set, the bq2060 resets the bit and starts or restarts a
55s (nominal) timer. After the timer expires, the
bq2060 automatically enables alarm broadcasts to
ensure that the accidental deactivation of broadcasts
does not persist. An SMBus host that does not want
the bq2060 to be a master on the SMBus must
therefore continually set this bit at least once per 45s
to keep the bq2060 from broadcasting alarms.
n
The ALARM_MODE bit defaults to a cleared state
within 130ms after the bq2060 detects the SMBus
Off-State.
n
The condition of the ALARM-MODE bit does NOT
affect the operation or state of the CHARGER_MODE
bit which is used to prevent broadcasts of
ChargingCurrent() and ChargingVoltage() to the
Smart Battery Charger.
AtRate()
n
RemainingCapacity()
n
FullChargeCapacity()
n
DesignCapacity()
AtRateOK()
n
AtRateTimeToEmpty()
n
AverageTimeToEmpty()
n
AverageTimeToFull()
n
Remaining Time Alarm()
n
BatteryStatus()
Purpose:
Since t he AtRate() function is t h e first half of a
two-function call-set, it is followed by the second function of the call-set that calculates and returns a value
based on the AtRate value and the battery’s present
state. A delay of up to 1.3s is required after writing
AtRate() before the bq2060 can acknowledge the requested AtRate function.
n
When the AtRate() value is positive, the AtRateTimeToFull() function returns the predicted time to
full-charge at the AtRate value of charge.
n
When the AtRate() value is negative, the
AtRateTimeToEmpty() function returns the predicted
operating time at the AtRate value of discharge.
n
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. Wr i t i n g
AtRate() values over the HDQ16 serial port does NOT
t r i g g e r a re-calculation of AtRateTimeToFull(),
AtRateTimeToEmpty(), and AtRateOK() functions.
Note 2: The following functions are calculated on the
basis of capacity and may be calculated differently depending on the CAPACITY_MODE bit:
n
RunTimeToEmpty()
Description:
The AtRate() function is the first half of a two-function
call-set used to set the AtRate value used in calculations
m a d e by t h e A t R a t e TimeToFull(), A t R a t e TimeToEmpty(), and AtRateOK() functions. The AtRate
value may be expressed in either current (mA) or power
(10mW) depending on the setting of the BatteryMode()’s
CAPACITY_MODE bit.
Note 1: The following functions are changed to accept or
return values in mA/mAh or 10mW/10mWh depending
on the CAPACITY_MODE bit:
RemainingCapacityAlarm()
n
AtRate() (0x04); [0x04]
CAPACITY_MODE bit indicates if capacity information is reported in mA/mAh or 10mW/10mWh. When
s e t , t h e bq2060 r e p o r t s capacity information i n
10mW/10mWh a s appropriate. When cleared, the
bq2060 reports capacity information in mA/mAh as appropriate. The CAPACITY_MODE bit defaults to a
cleared state within 130ms after the bq2060 detects the
SMBus Off-State.
n
AtRateTimeToFull()
The bq2060 updates the non-AtRate related register values within 3s of changing the state of the CAPACITY_MODE bit. The AtRate() values will be updated after the next AtRate value is written to the bq2060 (or after the next 20s scheduled refresh calculation).
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 when charging is
desired. The CHARGER_MODE bit defaults to a cleared
state within 130ms after the bq2060 detects the SMBus
Off-State.
n
n
It is recommended that AtRate() requests should be limited to one request every 4s.
SMBus Protocol: Read or Write Word
19
bq2060
Input/Output: Signed integer—charge or discharge;
the AtRate() value is positive for charge, negative for
discharge, and zero for neither (default).
Units
Charge
Range
Discharge
Range
Granularity
Accuracy
AtRateTimeToEmpty() (0x06); [0x06]
Description:
Returns the predicted remaining operating time if the
battery is discharged at the AtRate() value.
Battery Mode
CAPACITY_MODE CAPACITY_MODE
bit = 0
bit = 1
mA
10mW
1–32,767mA
1–32,768 10mW
-1– -32,768mA
-1– -32,768 10mW
Purpose:
The AtRateTimeToEmpty() function is p a r t 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.
1 Unit
NA
SMBus Protocol: Read Word
AtRateTimeToFull() (0x05);[0x05]
Output:
Description:
Returns the predicted remaining time to fully charge the
battery at the AtRate( ) value (mA).
Unsigned integer —estimated operating time left.
Units: minutes
Range: 0 to 65,534 min
Purpose:
T h e A t R a t e Ti m e ToFull() f u n c t i o n i s p a r t of a
two-function call-set used to determine the predicted
remaining charge time at the AtRate value in mA. The
bq2060 updates AtRateTimeToFull() 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 AtRateTimeToFull()
based on the AtRate() value every 20s.
Granularity: 2 min or better
Accuracy: -0,+MaxError() * FullChargeCapacity/|AtRate()|
Invalid Data Indication: 65,535 indicates the
battery is not being discharged.
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 return-true.
SMBus Protocol: Read Word
Output:
Unsigned integer—predicted time in minutes to
fully charge the battery.
Purpose:
The AtRateOK() function is part of a t wo-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.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
AtRateOK() based on the At Rate() value every 20s.
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy:± M a x E r r o r ( )
FullChargeCapacity()/|AtRate()|
*
Invalid Data Indication: 65,535 indicates the battery is not being charged.
SMBus Protocol: Read Word
Output:
Boolean—indicates if the battery can
supply the additional energy requested.
20
bq2060
Units: Boolean
Current() (0x0a); [0x0a]
Range: TRUE, FALSE
Description:
Returns t h e current being supplied (or accepted)
through the battery’s terminals (mA).
Granularity: not applicable
Accuracy: not applicable
Purpose:
The Current() function provides a snapshot for the
power management system of the current flowing into
or out of the battery. This information is of particular
use in power-management systems because they can
characterize individual devices and tune their operation
to actual system power behavior.
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: Read Word
Output:
Signed integer—charge/discharge rate in mA increments—positive for charge, negative for discharge.
SMBus Protocol: Read Word
Units: mA
Output:
Range: (± 250mV/RS) mA
Unsigned integer—cell temperature in tenth-degree
Kelvin increments.
Granularity: 0.038mV/RS (integer value)
Units: 0.1°K
Accuracy: ±1mV/RS (after calibration)
Range: 0 to +6553.5°K {real range}
AverageCurrent() (0x0b); [0x0b]
Granularity: 0.1°K
Description:
Returns a value that approximates a one-minute rolling
average of the current being supplied (or accepted)
t h r o u g h t h e b a t t e r y ’s t e r m i n a l s (mA).
The
AverageCurrent() function will return meaningful values during the battery’s first minute of operation.
Accuracy: ±1.5°K (from ideal 103AT thermistor
performance, after calibration)
Voltage() (0x09); [0x09]
Description:
Returns the cell-pack voltage (mV).
Purpose:
The AverageCurrent() function provides the average
current flowing into or out of the battery for the power
management system.
Purpose:
The Voltage() function provides power management systems with an accurate battery terminal voltage. Power
management systems can use this voltage, along with
battery current information, to characterize devices they
control. This ability helps enable intelligent, adaptive
power-management systems.
SMBus Protocol: Read Word
Output:
Signed integer—charge/discharge rate in mA increments—positive for charge, negative for discharge.
SMBus Protocol: Read Word
Units: mA
Output:
Range: (± 250mV/RS) mA
Unsigned integer—battery terminal
voltage in mV.
Granularity: 0.038mV/RS (integer value)
Units: mV
Accuracy: ±1mV/RS (after calibration)
Range: 0 to 20,000 mV
MaxError() (0x0c); [0x0c]
Granularity: 1mV
Description:
Returns the expected margin of error (%) in the state of
charge calculation. For example, when MaxError() re-
Accuracy: ±0.65% (after calibration)
21
bq2060
turns 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/-256mAh 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.
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().
If voltage-based corrections are applied to the coulomb
counter, MaxError() is set to 25%.
SMBus Protocol: Read Word
Output:
Purpose:
The MaxError() function has real value in two ways:
first, to give the user a confidence level about the state
of charge and second, to give the power management
system information about how aggressive it should be,
particularly as the battery nears the end of its life.
Unsigned integer—percent of remaining capacity.
Units: %
Range: 0 to 100+%
SMBus Protocol: Read Word
Granularity: 1%
Output:
Accuracy: -0, +MaxError()
RemainingCapacity() (0x0f); [0x0f]
Unsigned integer—percent uncertainty for selected
information.
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
(10mWh at a P/5 discharge rate) depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
Units: %
Range: 2 to 100%
Granularity: 1%
Accuracy: not applicable
Purpose:
The RemainingCapacity() function returns the battery’s
remaining capacity. This information is a numeric indication of remaining charge or energy given by the Absolute
or Relative StateOfCharge() functions and may be in a
better form for use by power management systems.
RelativeStateOfCharge() (0x0d); [0x0d]
Description:
Returns the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity() (%).
SMBus Protocol: Read Word
Purpose:
The RelativeStateOfCharge() function is used to estimate the amount of charge remaining in the battery relative to the last learned capacity.
Output:
Unsigned integer—remaining charge in mAh or
10mWh.
SMBus Protocol: Read Word
Output:
Battery Mode
CAPACITY_MODE CAPACITY_MODE
bit = 0
bit = 1
Units
mAh
10mWh
Range
0–65,535mAh
0–65,535 10mWh
Granularity
mAh
10mWh
Accuracy
-0, +MaxError() ∗ FullChargeCapacity()
Unsigned integer—percent of remaining capacity.
Units: %
Range: 0 to 100%
Granularity: 1%
Accuracy: -0, +MaxError()
22
bq2060
Accuracy: -0, +MaxError() ∗ FullChargeCapacity()
/ Current()
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
(10mWh at a P/5 discharge rate) depending on the setting of the BatteryMode()’s CAPACITY_MODE bit.
Invalid Data Indication: 65,535 indicates battery is
not being discharged.
AverageTimeToEmpty() (0x12); [0x12]
Description: Returns a one-minute rolling average of
the predicted remaining battery life (minutes). The
AverageTimeToEmpty() value is calculated based on either current or power depending on the setting of the
BatteryMode()’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.
Purpose:
The AverageTimeToEmpty() displays state-of-charge information in a more useful way. It averages the instantaneous estimations so the remaining time does not appear to jump around.
SMBus Protocol: Read Word
Output:
SMBus Protocol: Read Word
Unsigned integer—estimated full-charge capacity
in mAh or 10mWh.
Output:
Unsigned integer —minutes of operation left.
Battery Mode
CAPACITY_MODE CAPACITY_MODE
bit = 0
bit = 1
Units
mAh
10mWh
Range
0–65,535mAh
0–65,535 10mWh
Granularity
mAh
10mWh
Accuracy
-0, +MaxError() ∗ FullChargeCapacity()
Units: minutes
Range: 0 to 65,534 min
Granularity: 2 min or better
Accuracy: -0, +MaxError() ∗ FullChargeCapacity()
/ AverageCurrent()
Invalid Data Indication: 65,535 indicates battery is
not being discharged.
RunTimeToEmpty() (0x11); [0x11]
AverageTimeToFull() (0x13); [0x13]
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.
Description: Returns a one-minute rolling average of
the predicted remaining time until the battery reaches
full charge (minutes).
Purpose: The AverageTimeToFull() function can be
used by the SMBus Host’s power management system to
aid in its policy. It may also be used to find out how long
the system must be left on to achieve full charge.
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 t h e same a s t h e
AverageTimeToEmpty(), which is not suitable to determine
the effects that result from a change in power policy.
SMBus Protocol: Read Word
Output:
Unsigned integer —remaining time in minutes.
SMBus Protocol: Read Word
Units: minutes
Output:
Range: 0 to 65,534 minutes
Unsigned integer—minutes of operation left.
Granularity: 2 minutes or better
Units: minutes
Accuracy: MaxError() ∗ FullChargeCapacity() /
AverageCurrent()
Range: 0 to 65,534 min
Invalid Data Indication: 65,535 indicates the
battery is not being charged.
Granularity: 2 min or better
23
bq2060
ChargingCurrent() (0x14); [0x14]
Accuracy: not applicable
Description: Returns the desired charging rate in mA.
Invalid Data Indication: 65,535 indicates the
charger should operate as a current source outside
its maximum regulated voltage range.
Purpose: The ChargingCurrent() function sets the
m a x i m u m c h a r g e c u r r e n t of t h e b a t t e r y. T h e
ChargingCurrent() value should be used in combination
with the ChargingVoltage() value to set the charger’s operating point. Together, t hese 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.
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.
SMBus Protocol: Read Word
Output:
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.
Unsigned integer—maximum charger output current in mA.
Units: mA
Range: 0 to 61,456 mA
Granularity: 1mA
Accuracy: not applicable
SMBus Protocol: Read Word
Invalid Data Indication: 65,535 indicates that a
charger should operate as a voltage source outside
its maximum regulated current range.
Output:
Unsigned integer—Status Register with alarm conditions bit mapped as follows:
ChargingVoltage() (0x15); [0x15]
Description: Returns the desired charging voltage in
mV.
0x8000
0x4000
0x2000
0x1000
0x0800
0x0400
0x0200
0x0100
Purpose: The ChargingVoltage() function sets the maxi m u m c h a r g e v o l t a g e of t h e b a t t e r y. T h e
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
r e g u l a t e d v o l t a g e r a n g e by r e t u r n i n g a
ChargingVoltage() value of 65,535.
0x0080
0x0040
0x0020
0x0010
SMBus Protocol: Write Word
0x0007
0x0006
0x0005
0x0004
0x0003
0x0002
0x0001
0x0000
Output:
Unsigned integer—charger output voltage in mV.
Units: mV
Range: 0 to 61,456 mV
Granularity: 1mV
24
Alarm Bits
OVER_CHARGED_ALARM
TERMINATE_CHARGE_ALARM
reserved
OVER_TEMP_ALARM
TERMINATE_DISCHARGE_ALARM
reserved
REMAINING_CAPACITY_ALARM
REMAINING_TIME_ALARM
Status Bits
INITIALIZED
DISCHARGING
FULLY_CHARGED
FULLY_DISCHARGED
Error Codes
Unknown Error
BadSize
Overflow/Underflow
AccessDenied
UnsupportedCommand
ReservedCommand
Busy
OK
bq2060
Alarm Bits
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 0x4b.
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 time
the value shared in Digital Filter EE0x52.)
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%.
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.
Error Codes
Description
The bq2060 processed the function
OK
code without detecting any errors.
The bq2060 is unable to process the
Busy
function code at this time.
The bq2060 detected an attempt to
read or write to a function code reserved by this version of the specificaReserved
tion. The 2060 detected an attempt to
access an unsupported optional manufacturer function code.
The bq2060 does not support this
Unsupported
function code which is defined in this
version of the specification.
The bq2060 detected an attempt to
AccessDenied
write to a read-only function code.
The bq2060 detected a data overflow
Over/Underflow
or underflow.
The bq2060 detected an attempt to
BadSize
write to a function code with an incorrect data block.
The bq2060 detected an unidentifiUnknownError
able error.
OVER_TEMP_ALARM bit is set when the bq2060 detects that the internal battery temperature is greater
than allowed by 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.
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().
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.
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.
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.
SMBus Protocol: Read Word
Output:
DISCHARGING bit is set when the bq2060 determines
that the battery is not being charged. This bit is cleared
when the bq2060 detects t h a t the battery is being
charged.
Unsigned integer—count of total charge removed
from the battery over its life.
Units: cycle
25
bq2060
SpecificationInfo() (0x1a); [0x1a]
Range: 0 to 65,534 cycles 65,535 indicates battery
has experienced 65,535 or more cycles.
Description: Returns the version number of the Smart
Battery specification the battery pack supports, as well
as voltage and current scaling information in a packed
unsigned integer. Power scaling is the product of the
voltage scaling t i m e s t h e c u r r e n t scaling. The
SpecificationInfo is packed in the following fashion:
(SpecID_H ∗ 0x10 + SpecID_L) + (VScale + IPScale∗
0x10) ∗ 0x100.
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, (10mWh at a P/5 discharge rate) depending on
the setting of the BatteryMode()’s CAPACITY_MODE
bit.
The bq2060 VScale (voltage scaling) and IPScale (current scaling) should always be set to zero. The bq2060
sets SpecificationInfo() to the value programmed in
Specification Information EE 0x14–0x15.
Purpose: The DesignCapacity() function is used by the
SMBus Host’s power management in conjunction with
FullChargeCapacity() to determine battery wear. The
power management system may present this information to the user and also adjust its power policy as a result.
Purpose: The SpecificationInfo() function is used by
the SMBus Host’s power management system to determine what information the Smart Battery can provide.
SMBus Protocol: Read Word
SMBus Protocol: Read Word
Output:
Output:
Unsigned integer—packed specification number
and scaling information.
Unsigned integer—battery capacity in mAh or
10mWh.
Field
Battery Mode
CAPACITY_MODE CAPACITY_MODE
bit = 0
bit = 1
Units
mAh
10mWh
Range
0–65,535mAh
0–65,535 10mWh
Granularity
Not applicable
Accuracy
Not applicable
SpecID_L
SpecID_H
VScale
IPScale
Bits
Used
Format
4-bit binary
value
4-bit binary
4...7
value
4-bit binary
8...11
value
4-bit binary
12...15
value
0...3
Allowable Values
0–15
0–15
0 (multiplies voltage
by 10^ VScale)
0 (multiplies current
by 10 ^ IPScale)
DesignVoltage() (0x19); [0x19]
ManufactureDate() (0x1b); [0x1b]
Description: Returns the theoretical voltage of a new
pack (mV). The bq2060 sets DesignVoltage() to the value
programmed in Design Voltage EE0x12–0x13.
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.
Purpose: The DesignVoltage() function can be used to
give additional information about a particular Smart
Battery’s expected terminal voltage.
SMBus Protocol: Read Word
Unsigned integer—the battery’s designed terminal
voltage in mV
Purpose: The ManufactureDate() provides the system
with information that can be used to uniquely identify a
particular battery pack when used in conjunction with
SerialNumber().
Units: mV
SMBus Protocol: Read Word
Range: 0 to 65,535 mV
Output:
Output:
Unsigned integer—packed date of manufacture.
Granularity: not applicable
Accuracy: not applicable
26
bq2060
Field
Bits Used
Day
0...4
Month
5...8
Year
9...15
Format
5-bit binary
value
4-bit binary
value
7-bit binary
value
Purpose: The DeviceName() function returns the battery’s name for identification purposes.
Allowable Values
0–31 (corresponds to
date)
1–12 (corresponds to
month number)
0–127 (corresponds to
year biased by 1980)
SMBus Protocol: Read Block
Output:
String—character string with maximum length of 7
characters (7+length byte).
DeviceChemistry() (0x22); [0x30-0x32]
SerialNumber() (0x1c); [0x1c]
Description: This function returns a character string
that contains the battery’s chemistry. For example, if
the DeviceChemistry() function returns NiMH, the battery pack would contain nickel metal hydride cells. The
bq2060 sets DeviceChemistry() to t h e value programmed in Device Chemistry EE 0x40–0x44.
Description: This function is used to return a serial
number. This number, when combined with t h e
ManufacturerName(), t h e DeviceName(), a n d t h e
ManufactureDate(), uniquely identifies the battery (unsigned int). The bq2060 sets SerialNumber() to the
value programmed in Serial Number EE 0x18–0x19.
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.
Purpose: The SerialNumber() function can be used to
identify a particular battery. This may be important in
systems that are powered by multiple batteries where
the system can log information about each battery that
it encounters.
SMBus Protocol: Read Block
Output:
SMBus Protocol: Read Word
String—character string with maximum length of 4
characters (4+length byte).
Note: The following is a partial list of chemistries and
their expected abbreviations. These abbreviations are
NOT case sensitive.
Output:
Unsigned integer
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
m a n u f a c t u r e r a s MyBattCo. T h e bq2060 s e t s
ManufacturerName() to the value programmed in Manufacturer Name EE 0x20–0x26.
Lead acid
Lithium ion
Nickel cadmium
Nickel metal hydride
Nickel zinc
Rechargeable alkaline-manganese
Zinc air
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.
PbAc
LION
NiCd
NiMH
NiZn
RAM
ZnAr
ManufacturerData() (0x23); [0x38–0x3a]
Description: This function allows access to the manufacturer data contained in the battery (data). The
bq2060 stores seven critical EEPROM programming parameters in this data area.
SMBus Protocol: Read Block
Output:
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
calculated EDV threshold ( low byte and high byte.)
String—character string with maximum length of
11 characters (11+length byte).
DeviceName() (0x21); [0x28-0x2b]
Description: This function returns a character string
t h a t contains the battery’s name. For example, a
DeviceName() of BQ2060A would indicate that the batt e r y i s a model BQ2060A. T h e bq2060 s e t s
DeviceName() to the value programmed in Device Name
EE 0x30–0x37.
27
bq2060
SMBus Protocol: Read Block
DOK
Output:
The DOK bit indicates the status of the DFC pin of the
bq2060.
Block data—data that reflects EEPROM programming as assigned by the manufacturer with maximum length of 7 characters (7+length byte).
Pack Status and Pack Configuration (0x2f);
[0x2f]
b6
OCE
EDV2
b5
b4
b3
b2
b1
EINT VDQ COK DOK CVOV
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.
This function returns the Pack Status and Pack Configuration registers. The Pack Status register contains a
number of status bits relating to bq2060 operation. The
Pack Status register is the least significant byte of the
word.
b7
0
b0
0
No secondary protection limits exceeded
CVUV
1
Asecondary protection limit exceeded
CVUV
OCE
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.
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
0
All series cells are above the low-voltage limit
1
Aseries cell is below the low voltage limit
EDV2
The Pack Configuration register reflects how the bq2060
is configured as defined by the value programmed in
Pack Configuration in EE 0x3f.
The EDV2 bit indicates that Voltage() is less than the
EDV2 threshold.
VCELL4–VCELL1 (0x3c–0x3f); [0x3c–0x3f]
0
Voltage() > EDV2 threshold
1
Voltage() ≤ EDV2 threshold
These functions return the calculated voltages in mV at
the VCELL4 through VCELL1 inputs.
EINT
EEPROM
The EINT bits indicate that the VFC has detected a
charge or discharge pulse.
General
0
No charge/discharge activity detected
1
Charge/discharge activity detected.
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.
VDQ
The VDQ bit indicates if the present discharge cycle is
valid for an FCC update.
0
Discharge cycle is not valid
1
Discharge cycle is valid
Memory Map
COK
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.
The COK bit indicates the status of the CFC pin of the
bq2060.
0
CFC pin is low
1
CFC pin is high
28
bq2060
Table 10. EEPROM Memory Map
EEPROM
Address
0x00
0x02
0x04
0x06
0x07
0x08
0x0a
0x0c
0x0e
0x10
0x12
0x14
0x16
0x18
0x1a
0x1c
0x1e
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2a
0x2b
0x2c
0x2e
0x30
0x31
0x32
0x33
0x34
Name
0x01 Check Byte 1
0x03 Remaining Time Alarm
0x05 Remaining Capacity Alarm
EDV A0 Impedance Age
Factor
Reserved
0x09 Reserved
0x0b Charging Voltage
0x0d Reserved
0x0f Cycle Count
0x11 Reserved
0x13 Design Voltage
0x15 Specification Information
0x17 Manufacture Date
0x19 Serial Number
0x1b Fast-Charging Current
Maintenance Charging
0x1d
Current
0x1f Pre-Charge Current
Manufacturer Name Length
Character 1
Character 2
Character 3
Character 4
Character 5
Character 6
Character 7
Character 8
Character 9
Character 10
Light Discharge Current
0x2d Reserved
0x2f Maximum Overcharge
Device Name Length
Character 1
Character 2
Character 3
Character 4
Chemistry
NiMH
Example
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
15487
10 minutes
350mAh
Li-Ion, Nickel
0
Data
MSB LSB
3c
7f
00
0a
01
5e
Li-Ion
Example
-
00
0
0
Li-Ion, Nickel
18000mV
128
Li-Ion, Nickel
0
0
Li-Ion, Nickel
12000mV
Li-Ion, Nickel
v1.1/PEC
Li-Ion, Nickel 2/25/99=9817
Li-Ion, Nickel
1
Li-Ion, Nickel
4000mA
00
46
00
00
00
2e
00
26
00
0f
00
00
50
80
00
00
e0
31
59
01
a0
15487
10 minutes
400mAh
4.96%/1K
cyles
0
0
12600mV
128
0
0
10800mV
v1.1/PEC
2/25/99=9817
1
3000mA
Li-Ion, Nickel
200mA
00
c8
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
800mA
9
B
E
N
C
H
M
A
R
Q
0
0
0
200mAh
7
B
Q
2
0
03
00
ff
-
20
09
42
45
4e
43
48
4d
41
52
51
00
00
00
38
07
42
51
32
30
Data
MSB LSB
3c
7f
00
0a
01
90
-
0d
00
31
00
00
00
2a
00
26
00
0b
00
00
38
80
00
00
30
31
59
01
b8
0mA
00
00
100mA
9
B
E
N
C
H
M
A
R
Q
0
0
0
256mAh
7
B
Q
2
0
00
00
ff
-
64
09
42
45
4e
43
48
4d
41
52
51
00
00
00
00
07
42
51
32
30
(Continued on next page)
Note:
Reserved locations must be set as shown. Locations marked with an * are calibration values that can be
adjusted for maximum accuracy. For these locations the table shows the appropriate default or initial
setting.
29
bq2060
Table 10. EEPROM Memory Map (Continued)
EEPROM
Address
0x35
0x36
0x37
0x38
0x3a
0x3c
0x3e
0x3f
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x48
0x49
0x39
0x3b
0x3d
0x47
0x4a
0x4b
0x4c
0x4d
0x4e
0x4f
0x50
0x51
0x52
0x53
0x54
0x55
0x56 0x57
0x58 0x59
0x5a 0x5b
Name
Chemistry
NiMH
Example
Character 5
Character 6
Character 7
Last Measured Discharge
Pack Capacity
Cycle Count Threshold
Reserved
Pack Configuration
Device Chemistry Length
Character 1
Character 2
Character 3
Character 4
MaxT DeltaT
Overload Current
Overvoltage Margin
Overcurrent Margin
Reserved
Cell Under/Over Voltage
Fast Charge Termination %
Fully Charged Clear %
High Charge Efficiency
Current Taper Threshold
DeltaT Time
Holdoff Time
Current Taper Qual Voltage
Manufacturers Data Length
Control Mode
Digital Filter
Self-Discharge Rate
Battery Low %
Near Full
Reserved
Reserved
Reserved
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Nickel
Li-Ion
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion
Nickel
Nickel
Li-Ion
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
-
6
0
A
4000mAh
4000mAh
500mAh
0
232
4
N
I
M
H
50C, 3.0
6000mA
0
512mA
0
96%
90%
97%
180s
240s
7
4
50µV
1%
7%
200mAh
0
0
0
Data
MSB LSB
36
30
41
0f
a0
0f
a0
fe
0c
00
e8
04
4e
49
4d
48
c7
17
70
00
20
00
a0
a6
el
f7
f4
07
04
2d
cb
12
64
00
00
00
Li-Ion
Example
6
0
A
4050mAh
4050mAh
3240mAh
0
246
4
L
I
O
N
50C, 4.6
6000mA
800mV
512mA
118
100%
95%
100%
200mA
128mV
7
4
50µV
0.21%
7%
200mAh
0
0
0
Data
MSB LSB
36
30
41
0f
d2
0f
d2
f3
58
00
f6
04
4c
49
4f
4e
cf
17
70
32
20
76
9c
a1
ff
08
40
07
04
2d
05
12
64
00
00
00
(Continued on next page)
Note:
Reserved locations must be set as shown. Locations marked with an * are calibration values that can be
adjusted for maximum accuracy. For these locations the table shows the appropriate default or initial
setting.
30
bq2060
Table 10. EEPROM Memory Map (Continued)
EEPROM
Address
Description
NiMH
Example
Chemistry
0x5c 0x5d Reserved
0x5e 0x5f VFC Offset*
0x60
VFC Offset*
0x61
Temperature Offset*
0x62
ADC Offset*
Cell 2 Calibration Factor*
0x63
Efficiency Temperature
Compensation
Cell 3 Calibration Factor*
0x64
Efficiency Drop Off
Percentage
Cell 4 Calibration Factor*
0x65
Efficiency Reduction Rate
0x66 0x67 ADC Voltage Gain*
0x68 0x69 ADC Sense Resistor Gain*
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion
0x6a
0x6c
0x6e
0x70
0x72
0x74
0x76
0
0
0
0
0
-
Data
MSB LSB
00
00
00
00
00
00
00
-
Li-Ion
Example
0
0
0
0
0
0
Data
MSB LSB
00
00
00
00
00
00
00
00
Nickel
0.25%
-
20
-
-
-
Li-Ion
-
-
-
0
-
00
Nickel
96%
-
a0
-
-
-
Li-Ion
Nickel
Li-Ion, Nickel
Li-Ion, Nickel
1%
16 : 1
50
20
d4
0
16 : 1
0.05Ω
4e
30
4e
30
00
20
d4
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
0.05Ω
11500mV
12500mV
13500mV
9500mV
10000mV
0
20
d3
cf
cb
25
27
00
00
14
2c
44
1c
10
00
20
d6
d6
d4
28
2d
11
00
ca
02
40
19
1e
7b
0x78 0x79 EDV C1/C0 Factor/EDV2 Li-Ion, Nickel
10500mV
29
04
00
eb
0
0
42330
00
a5
00
00
5a
14
00
a5
e6
fa
5a
0x7a
0x7c
0x7e
Note:
0x6b
0x6d
0x6f
0x71
0x73
0x75
0x77
VFC Sense Resistor Gain*
VOC 25%
VOC 50%
VOC 75%
EDVF/EDV0
EMF/ EDV1
EDV T0 Factor
0x7b EDV R0 Factor
0x7d EDV R1 Factor
0x7f Check Byte 2
Li-Ion, Nickel
Li-Ion, Nickel
Li-Ion, Nickel
0.05Ω
0.05Ω
10550mV
10750mV
11200mV
10265mV
11550
4475
C1 = 0
C0 = 235
5350
250
42330
Reserved locations must be set as shown. Locations marked with an * are calibration values that can be adjusted
for maximum accuracy. For these locations the table shows the appropriate default or initial setting.
31
bq2060
EEPROM Programming
bq2060 uses the Last Measured Discharge value to calculate FullChargeCapacity() in mAh or 10mWh mode.
The following sections describes the function of each
EEPROM location and how the data is to be stored.
EDV Thresholds and Near Full Percentage
Fundamental Parameters
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.
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
ADC Sense Resistor Gain =
625
(Rs)
For capacity correction at EDV2, Battery Low % EE
0x54 c a n be s e t a t a d e s i r e d s t a t e - o f - c h a r g e ,
STATEOFCHARGE%, in the range of 5 to 20%. Typical
values for STATEOFCHARGE% are 7–12% representing
7 –12% capacity.
(4)
Battery Low %= STATEOFCHARGE% ∗ 2.56
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.
VFC Sense Resistor Gain =
409.6
(Rs)
(7)
The bq2060 updates FCC if a qualified discharge occurs
from a n e a r-full threshold to EDV2. The desired
near-full threshold window, NFW (mAh), is programmed
in Near Full in EE 0x55.
Near Full =
(5)
NFW
2
(8)
Sense resistor values are limited to the range of 0.00916
to 0.100Ω.
EDV Discharge Rate and Temperature
Compensation
Digital Filter
If EDV compensation is enabled, the bq2060 calculates
battery voltage to determine EDV0, EDV1, EDV2 as a
function of EDV, battery capacity, temperature, and discharge load The general equation for EDV0, EDV1, and
EDV2 calculation is
The desired digital filter threshold, VDF (µV), is set by
calculating the value stored in Digital Filter EE 0x52.
Digital Filter =
2250
VDF
(6)
(9)
EDV0,1,2 =EMF ∗ F BL - |I LOAD| ∗ R0 ∗ F TZ ∗ F CY
Cell Characteristics
where
Battery Pack Capacity and Voltage
Pack capacity is programmed in mAh units to Pack Capacity in EE 0x3a–0x3b and Last Measured Discharge in
EE 0x38–0x39. In mAh mode, the bq2060 copies Pack
Capacity to DesignCapacity(). In mWh mode, the bq2060
m u l t i p l i e s Pack Capacity by Design Voltage E E
0x12–0x13 to calculate DesignCapacity() scaled to
10mWh. Design Voltage is stored in mV.
n
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.
n
I LOAD is the current discharge load.
F BL is the factor that adjusts the EDV voltage for battery capacity and temperature to match the no-load
characteristics of the battery.
F BL = f ( C0, C + C1, T )
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
where
32
(10)
bq2060
n
C is 0%, 3%, or Battery Low % for EDV0, EDV1, and
EDV2, respectively and C0 is 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 5
bits of EE 0x78–0x79.
F CY is the factor that adjusts for changing cell impedance as the battery pack is cycled.
where
F CY = f(A0, CycleCount())
n
Residual Capacity Factor C1=RESIDUAL % * 256
.
RESIDUAL % is the desired battery capacity remaining
at EDV0 (RM = 0).
n
Typical values for the EDV compensation factors for a
Li-Ion 3s3p 18650 pack are
T is the current temperature in °K
EMF = 11550
R0 ∗ F TZ represents the resistance of the battery as a
function of temperature and capacity.
F TZ = f ( R1 , T0, T, C + C1)
T0 = 4475
C0 = 235
(11)
C1 = 0
n
R0 is the first order rate dependency factor stored in
EDV R0 Factor EE 0x7a–0x7b.
R0 = 5350
n
T is the current temperature; C is the battery
capacity relating to EDV0, EDV1, and EDV2; and C1
is the desired residual battery capacity remaining at
EDV0 (RM = 0).
A0 = 4.96%/1000 CYCLES
n
R1 adjusts the variation of impedance with battery
capacity. R1 is programmed in EDV R1 Rate Factor
EE 0x7c–0x7d.
n
T0 adjusts the variation of impedance with battery
temperature. T0 is programmed in EDV T0 Rate
Factor EE 0x76–0x77.
R1 = 250
The graphs in Figures 7 and 8 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.
Battery Low % =7%, Temperature = 35 C
Battery Low %= 7%, Load = 500mA
11500
11500
11000
11000
EDV2
10500
EDV2
10500
EDV1
EDV1
Voltage (mV)
Voltage (mV)
(12)
A0 is the EDV aging factor that is stored in EDV A0
Factor EE 0x06.
10000
9500
9000
8500
10000
9500
9000
45C/500mA
8500
20C/500mA
8000
8000
7500
7500
7000
35C/500mA
35C/1A
35C/2A
EDV0
10
9
8
7
6
5
4
3
2
1
0
10
% Capacity
9
8
7
6
5
4
3
2
1
0
% Capacity
Figure 8. EDV Calculations vs. Capacity
for Various Loads
Figure 7. EDV Calculations vs. Capacity
for Various Temperatures
33
bq2060
Midrange Capacity Corrections
Efficiency Reduction Rate =
Three voltage-based thresholds, VOC25 EE 0x6c–0x6d,
VOC50 EE 0x6e–0x6f, and VOC75 EE 0x70–0x71, are
u s e d t o t e s t t h e a c c u r a c y of t h e RM b a s e d on
open-circuit pack voltages. These thresholds are stored
in the EEPROM in 2’s 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:
æ
52.73 ö
÷
Self - Discharge Rate= 2s ç
è %PERDAY ø
(16)
where
0 ≤ ERR% ≤ 3.19
The Efficiency Drop Off Percentage is stored in 2’s 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
(17)
TEFF% *1.6
Efficiency Temperature Compensation =
0.0125
(13)
where
0 ≤ TEFF% ≤1.99
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:
Light Discharge Current =
ERR%
0.0125
ILEAK * 1024
45
The bq2060 applies all four charge-compensation factors
when the CHEM bit in Pack Configuration is not set denoting a nickel pack.
(18)
(14)
Effective Charge Efficiency Reduction (nickel only)
= ERR%[RSOC() – EFF%] + TEFF%[T(°C) – 25]
ILEAK is between 0.044 and 11.2mA.
Charge Efficiency
The bq2060 uses four charge-efficiency factors to compensate for charge acceptance. These factors are coded
in High 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 E E 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:
High Charge Efficiency = 10 ∗ (EFF% - 74.5) (15)
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
where
74.5 ≤ EFF% ≤ 100.
ERR% is encoded in Efficiency Reduction Rate EE 0x65
according to the following equation
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
34
bq2060
trigger a charge suspend is encoded in Overvoltage Margin as follows:
VOVM
Overvoltage Margin
16
FULLY_CHARGED Bit Clear Threshold
(19)
The bq2060 clears t h e 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 2’s
complement of percent.
VOVM is between 0 and 4080mV.
Charging Current
Fast Charge Termination Percentage
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.
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 2’s complement of percent.
W h e n f a s t c h a r g e i s allowed, t h e bq2060 s e t s
ChargingCurrent() to the rate programmed in Fast
Charging Current EE 0x1a-0x1b.
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 2’s complement of charge in mAh.
W h e n f a s t c h a r g e t e r m i n a t e s , t h e bq2060 s e t s
ChargingCurrent() to zero and then to the Maintenance
Charging Current EE 0x1c-0x1d when the termination
condition ceases.
∆T/Dt Rate and Hold-off Programming
When Voltage() is less t han 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.
The ∆T portion of the ∆T/∆t rate is programmed in
DeltaT, the low nibble of MaxT DeltaT EE 0x45 (LSN).
The ∆t portion is programmed in DeltaT Time EE 0x4e.
DT/Dt =
Fast Charging Current, Maintenance Charging Current,
and Pre-Charge Current are stored in mA.
DeltaT
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
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() set to zero to
stop charging. IOIM is programmed in the EEPROM
value, Overcurrent Margin, encoded as:
Overcurrent Margin IOIM
16
(20)
Overcurrent Margin EE 0x49 may be used to program
IOIM values of 0 to 4080mA in 16mA 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 (MSN)
is stored in a 4-bit value as shown:
69 MAXTEMP
MaxT Int
05
. 1.6
(21)
DeltaT 2 16 / 10 ° C s 2s(DeltaT Time) 20
(C)
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
3.4
3.6
3.8
4.0
4.2
4.4
4.6
DeltaT_Time
f0
f1
f2
f3
f4
f5
f6
f7
f8
f9
fa
fb
fc
fd
fe
ff
(22)
t (s)
320
300
280
260
240
220
200
180
160
140
120
100
80
60
40
20
DT/Dt Hold-off Timer Programming
The hold-off timer is programmed in the lower nibble of
Holdoff Time EE 0x4f. The hold-off time is 20s times
the 2s complement of the Holdoff Time value.
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.
35
bq2060
Hold-off
Time
f0
f1
f2
f3
f4
f5
f6
f7
Hold-off
Time (s)
320
300
280
260
240
220
200
180
Hold-off
Time
f8
f9
fa
fb
fc
fd
fe
ff
Hold-off
Time (s)
160
140
120
100
80
60
40
20
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 r e a d access is limited to commands
(0x05–0x1c) and (0x20–0x23). SMBus read/write
access is limited to commands (0x00–0x04), (0x2f),
and (0x3c–0x3f).
Current Taper Termination Characteristics
CSYNC
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 40s.
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.
Current Taper Qual Voltage =
Current Taper Threshold =
CELLV
2
(23)
RS i
0.5625
(24)
Pack Configuration
Pack Configuration EE 0x3f contains bit-programmable
features.
DMODE SEAL
b5
b4
b3
b2
b1
b0
CSYNC
CEDV
VCOR
CHEM
LCC1
LCC0
1
LEDs reflect RelativeStateOfCharge()
0
EDV compensation disabled
1
EDV compensation enabled
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.
The DMODE bit determines whether the LED outputs
will
indicate
AbsoluteStateOfCharge()
or
RelativeStateOfCharge()
LEDs reflect AbsoluteStateOfCharge()
The bq2060 sets update RM with a programmed
percentage of FCC.
VCOR
DMODE
0
1
The CEDV bit determines whether the bq2060 implements automatic EDV compensation to calculate the
EDV0, EDV1 and EDV2 thresholds base on rate, temperature, and capacity. If reset, the bq2060 uses the values programmed in EEPROM for EDV0, EDV1 and
EDV2. If set the bq2060 calculates EDV0, EDV1 and
EDV2.
Pack Options
b6
The bq2060 does not alter RM at the time of a valid
charge termination
CEDV
where i = the desired current termination threshold in
mA, and RS = VFC sense resistor in ohms.
b7
0
36
0
Midrange corrections disabled
1
Midrange corrections enabled
bq2060
CHEM
Cell Under/Over
Voltage
(upper nibble)
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
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.
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 (VCELL1–4).
No. of Series
Cells
NA
2
3
4
Cell Voltage
LCC1 LCC0
Inputs
00
VCELL4 = Cell Stack
VCELL1 = Cell 1
01
VCELL2 = Cell 2
VCELL1 = Cell 1
10
VCELL2 = Cell 2
VCELL3 = Cell 3
VCELL1 = Cell 1
VCELL2 = Cell 2
11
VCELL3 = Cell 3
VCELL4 = Cell 4
VOV
(mV)
4096
4128
4160
4192
4224
4256
4288
4320
4352
4384
4416
4448
4480
4512
4544
4576
Cycle Count EE 0x0e–0x0f stores the initial value for
the CycleCount() function. It should be programmed to
0x0000.
Control Modes
Control Mode EE0x51 contains additional bit programmable features.
b7
NDF
Remaining Time and Capacity Alarms
b6
-
b5
HPE
b4
CPE
b3
LED
b2
SC
b1
-
b0
SM
NDF
Remaining Time Alarm in EE 0x02–0x03 and Remaining Capacity Alarm in 0x04–0x05set 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.
The NDF bit disables the digital filter during discharge
if the SMBC and SMBD lines are high.
Secondary Protection Limits for Li-Ion
0
Digital filter enabled all the time
1
Digital filter disabled if SMBC and SMBD are high
HPE
The cell undervoltage (VUV) and overvoltage (VOV) limits
are programmed in Cell Undervoltage/Over Voltage EE
0x4a according to the equations:
Cell Undervoltage/Overvoltage (upper) =
Cell Under/Over
Voltage
(lower nibble)
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
Cycle Count Initialization
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.
Cell Undervoltage/Overvoltage (lower) =
VUV
(mV)
2048
2112
2176
2240
2304
2368
2432
2496
2560
2624
2688
2752
2816
2880
2944
3008
VOV - 4096
32
(25)
VUV 2048
64
(26)
The HPE bit enables/disables PEC transmissions to the
Smart Battery host for master mode alarm messages.
37
0
No PEC byte on alarm warning to host
1
PEC byte on alarm warning to host
bq2060 Preliminary
CPE
Factor in EE 0x63, Cell 3 Calibration Factor in EE 0x64,
and Cell 4 Calibration Factor in EE 0x65.
The CPE bit enables/disables PEC transmissions to the
Smart Battery Charger for master mode alarm messages.
0
No PEC byte on alarm warning to charge
1
PEC byte on alarm warning to charger
The bq2060 first computes the node voltages Vnl, Vn2,
Vn3, and Vn4. The node voltages are inputs to the voltage dividers to the VCELL1 through VCELL4 input pins
of the bq2060. The bq2060 computes node voltages to
calculate the five reported voltages by the bq2060: Voltage(), VCELL1, VCELL2, VCELL3, and VCELL4.
LED
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 VCELL4 and VCELL3 inputs and
8:1 on the VCELL2 and VCELL1 inputs. The bq2060
subtracts the voltage across the sense resistor from the
measurements so that the reported voltages reflect the
cell-stack voltages only.
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 bq2060 compute the node voltages as
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
(27)
VCELL132768
ADC Voltage Gain Vn1
ADC Offset
1250
65536
(28)
SM
VCELL232768
Vn2 ADC Offset
1250
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
ADC Voltage Gain 8 (Cell 2 CalibrationFactor) 65536
(29)
If t h e SB b i t i s s e t , m o d i f i c a t i o n s t o b i t s i n
BatteryMode() will not re-enable broadcasts.
VCELL332768
Vn3 ADC Offset 1250
ADC Voltage Gain 8 (Cell 3 CalibrationFactor)
Measurement Calibration
2 65536 ADC
To describe how the bq2060 calculates reported battery
and individual cell voltages, the following abbreviations
and designations are used:
(30)
VCELL432768
Vn4 ADC Offset
1250
VCELL1–4 = voltages a t the input pins of the
bq2060
ADC Voltage Gain 8 (Cell 4 CalibrationFactor)
2 65536 VCELL1–4 = reported cell voltages
Vnl–4 = voltages at the different series nodes in the
battery
Note: With LCC1-LCC0 = 00, Cell 4 Calibration
Factor = 0.
Voltage() = reported battery voltage
ADC Offset adjusts the ADC offset 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
-10 and 10.
Vsr = voltage across the sense resistor
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
38
bq2060
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
VCELL4 input.
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.
The bq2060 computes the reported voltages as follows:
OCV =
0.6V
VFCuOffset19 – 0
(32)
Voltage() = Vn4 (LCC1–LCC0 = 11 or 00) - Vsr
Voltage() = Vn3 (LCC1–LCC0 = 10) - Vsr
Temperature
Voltage() = Vn2 (LCC1–LCC0 = 01) - Vsr
The bq2060 uses Temperature Offset in EE 0x61 to calibrate the Temperature() function for offset. The required
offset adjustment, TOFF (C), sets Temperature Offset according to the equation
VCELL4 = Vn4 - Vn3
Temperature Offset = TOFF * 10
VCELL3 = Vn3 - Vn2
VCELL2 = Vn2 - Vn1
(33)
where
VCELL1 = Vn1 - Vsr
-12.8 ≤ TOFF ≤12.7
Current
Constants and String Data
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
EEPROM Constants
Check/Byte 1 EE 0x00–0x01 and Check Byte 2 EE
0x7e–0x7f must be programmed to 0x3c7f and 0xa55a,
respectively.
Specification Information
(31)
Specification Information EE 0x14–0x15 stores the default value for the SpecificationInfo() function. It is
Current() =
(ADC Reading + ADC Offset) ADC Sense Resistor Gain stored in EEPROM in the same format as the data returned by the SepcificationInfo().
16,384
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().
The nominal value for ADC Sense Resistor Gain is given
by equation (6).
VFC
Serial Number
To calibrate the coulomb counting measurement for system errors and sense resistor error, the value of VFC
Sense Resistor Gain EE 0x6a-0x6b may be adjusted from
its nominal value.
Serial Number EE 0x18–0x19 stores the default value
for t h e SerialNumber() function. I t is s t o r e d i n
EEPROM in the same format as the data returned by
the SerialNumber().
The nominal value of VFC Sense Resistor Gain is given
by equation (5).
Manufacturer Name Data
Manufacturer Name Length EE 0x20 stores the length
of t h e d e s i r e d s t r i n g t h a t i s r e t u r n e d by t h e
ManufacturerName() function. Locations EE 0x21–0x2a
store the characters for ManufacturerName() in ASCII
code.
The bq2060 VFC circuit has the ability to introduce a
signal opposite in sign as the inherent device and circuit
offset to cancel this error. The offset calibration routine
is initiated with commands to ManufacturerAccess().
39
bq2060
Device Name Data
viceChemistry() function. Locations EE 0x41–0x44 store
the characters for DeviceChemistry() in ASCII code.
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.
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.
Device Chemistry Data
Device Chemistry Length EE 0x40 stores the length of
t h e d e s i r e d s t r i n g t h a t i s r e t u r n e d by t h e De-
Absolute Maximum Ratings
Minimum
Maximum
Unit
VCC—Supply voltage Relative to VSS
Symbol
-0.3
+6.0
V
VIN–All other pins
Relative to VSS
-0.3
+6.0
V
TOPR
Operating temperature
-20
+70
°C
Note:
Parameter
Notes
Commercial
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. Exposure to conditions beyond the operational limits for extended periods of time may affect device reliability.
DC Electrical Characteristics
Symbol
Parameter
VCC
Supply voltage
I CC
Operating current
ISLP
Low-power storage mode current
I LVOUT VOUT leakage current
IVOUT
VOUT source current
I OLS
Sink current: LED1–LED5, CFC,
DFC, THON, CVON
Conditions
Minimum Typical
2.7
VOUT inactive
1.5V < VCC < 3.7V
-0.2
VOUT active,
VOUT = VCC - 0.6V
-5.0
Unit
3.7
V
180
235
µA
10
µA
0.2
µA
5
VOUT inactive
Maximum
3.3
mA
VOLS = 0.4V
10
mA
VIL
Input voltage low DISP
-0.3
0.8
V
VIH
Input voltage high DISP
2.0
VCC + 0.3
V
VOL
Output voltage low SMBC, SMBD,
HDQ16
0.4
V
VILS
Input voltage low SMBC, SMBD,
HDQ16
-0.3
0.8
V
VIHS
Input voltage high SMBC, SMBD,
HDQ16
1.7
6.0
V
VAI
Input voltage range VCELL1–4, TS
I RB
RBI data-retention input current
ZAI1
Input impedance: SR1, SR2
0–1.25V
10
MΩ
ZAI2
Input impedance: VCELL1–4, SRC
0–1.25V
5
MΩ
Note:
I OL = 1.0mA
VSS - 0.3
VRBI > 3.0V, VCC < 2.0V
ZAI specifications are reference numbers based on process data.
40
10
VCC + 0.3
V
50
nA
VFC Characteristics (VCC = 3.1–3.5V, TOPR = 0–70 C Unless Otherwise Noted))
Symbol
Parameter
Conditions
VSR
Input voltage range, VSR2
and VSR1
Minimum Typical Maximum
VSR = VSR2 – VSR1
–0.25
VSROS
VSR input offset
VSR2 = VSR1, autocorrection disabled
–300
VSRCOS
Calibrated offset
RMVCO
Supply voltage gain
coefficient
RMTCO
Temperature gain coefficient
–50
–16
VCC = 3.5V
0.8
Unit
+0.25
V
300
µV
+16
µV
1.2
%/V
%/°C
Slope for TOPR = –20 to 70°C
–0.09
+0.09
Total Deviation TOPR = –20 to 70°C
–1.6
0.1
%
Slope for TOPR = –0 to 50°C
–0.05
+0.05
%/°C
Total Deviation TOPR = –0 to 50°C
–0.6
0.1
%
0.21
%
Integral nonlinearity
TOPR = 0–50C
INL
error
Note: RMTCO total deviation is from the gain at 25°C.
REG Characteristics
Symbol
Parameter
VRO
REG controlled output voltage
I REG
REG output current
Conditions
JFET: Rds(on) < 150Ω
Vgs (off) < –3.0V @10µA
Minimum Typical
3.1
1.0
41
3.3
Maximum
Unit
3.5
V
µA
bq2060
SMBus AC Specifications (TA = TOPR, 2.9V < VCC < 3.7V unless otherwise noted)
Symbol
F SMB
F MAS
Parameter
SMBus operating frequency
Slave mode, SMBC 50% duty cycle
SMBus master clock frequency
Master mode, no clock low slave
extend
THD:STA
TSU:STA
TSU:STO
Bus free time between start and
stop
Hold time after (repeated) start
Repeated start setup time
Stop setup time
THD:DAT
Data hold time
TSU:DAT
TTIMEOUT
TLOW
THIGH
Data setup time
Error signal/detect
Clock low period
Clock high period
Cumulative clock low slave extend time
Cumulative clock low master extend time
TBUF
TLOW:SEXT
TLOW:MEXT
Notes:
Conditions
Min.
Typ.
10
Max.
Unit
100
kHz
51.2
kHz
4.7
µs
4.0
4.7
4.0
0
300
250
25
4.7
4.0
50
µs
µs
µs
ns
ns
ns
ms
µs
µs
See Note 3
25
ms
See Note 4
10
ms
Receive mode
Transmit mode
See Note 1
See Note 2
35
1. The bq2060 will time out when any clock low exceeds TTIMEOUT.
2. THIGH Max. is minimum bus idle time. SMBC = SMBD = 1 for t > 50µs will cause reset of any
transaction involving bq2060 that is in progress.
3. TLOW:SEXT is the cumulative time a slave device is allowed to extend the clock cycles in one message
from initial start to the stop. The bq2060 typically extends the clock only 20µs as a slave in the read
byte or write byte protocol.
4. TLOW:MEXT is the cumulative time a master device is allowed to extend the clock cycles in one message from initial start to the stop. The bq2060 typically extends the clock only 20µs as a master in
the read byte or write byte protocol.
HDQ16 AC Specifications (TA = TOPR, 2.9V < VCC < 3.7V unless otherwise noted)
Min.
Typ.
Max.
Unit
t CYCH
Symbol
Cycle time, host to bq2060 (write)
Parameter
Conditions
190
-
-
µs
t CYCB
Cycle time, bq2060 to host (read)
190
205
250
µs
t STRH
Start hold time, host to bq2060 (write)
5
-
-
ns
t STRB
Start hold time, host to bq2060 (read)
32
-
-
µs
t DSU
Data setup time
-
-
50
µs
t DSUB
Data setup time
-
-
50
µs
t DH
Data hold time
90
-
-
µs
t DV
Data valid time
-
-
80
µs
t SSU
Stop setup time
-
-
145
µs
t SSUB
Stop setup time
-
-
95
µs
t RSPS
Response time, bq2060 to host
320
-
-
µs
tB
Break time
190
-
-
µs
t BR
Break recovery time
40
-
-
µs
42
bq2060
SMBus Timing Data
tR
SMBC
tHIGH
tSU:STA
tHD:STA
tLOW
tHD:DAT
tSU:DAT
tSU:STO
SMBD
tF
tBUF
TD294501.eps
HDQ16 Break Timing
tBR
tB
TD201803.eps
HDQ16 Host to bq2060
Write "1"
Write "0"
tSTRH
tDSU
tDH
tSSU
tCYCH
Read "1"
Read "0"
tSTRB
tDSUB
tDV
tSSUB
tCYCB
TD201805.eps
43
bq2060
28-Pin SSOP (SS)
28-Pin SSOP
e
Dimension
A
A1
B
C
D
E
e
H
L
D
B
E
H
C
Millimeters
Minimum Maximum
1.55
1.73
0.10
0.25
0.20
0.30
0.15
0.25
9.81
9.98
3.81
3.39
0.635 BSC
5.84
6.20
0.41
1.27
A1
A
.004
L
Ordering Information
bq2060
Tape and Reel
blank = tubes
TR = tape and reel
Package Option:
SS = 28-pin SSOP
Device:
bq2060 SBS v1.1-Compliant Gas Gauge IC
44
Inches
Minimum Maximum
0.061
0.068
0.004
0.010
0.008
0.012
0.006
0.010
0.386
0.393
0.150
0.157
0.025 BSC
0.230
0.244
0.016
0.050
bq2060E207 Errata
Sept 29, 2000
(Reference bq2060 Data Sheet Dated September 2000)
The bq2060 revision E207 (bq2060E207) is fully qualified and released to full production with the
following known errata items relative to the final bq2060 data sheet dated September 2000. The errata
items are fixed on the bq2060 revision E411.
Errata Items:
Œ
If compensated EDVs are enabled, the bq2060E207 incorrectly computes a very low threshold for
EDV0. As a result the bq2060E207 does not issue a TERMINATE_DISCHARGE_ALARM at the 0%
capacity level. With compensated EDVs enabled, the bq2060E207 generates a
TERMINATE_DISCHARGE_ALARM only when an individual Li-Ion cell is below the programmed
Cell Under Voltage Limit. If compensated EDVs are disabled, the bq2060E207 operates as specified.
Œ
If master mode broadcasts are enabled, a simultaneous broadcast from the bq2060E207 and an SMBus
start condition from another device may lock SMBus communication and prevent the bq2060E207
from acknowledging its address.
Œ
There is a small possibility that the VDQ (probability of 0.1%) and the EDV2 (probability of 0.3%) bits
in PackStatus may read 0 and not reflect the true status of these bits. These two bits mirror internal bits
and are presented in PackStatus for reading purposes only. The bq2060E207 properly maintains the
internal bits according to the VDQ and EDV2 functionality described in the specification.
Œ
There is a small possibility (0.03%) that the bq2060E207 may miss write commands to the
CAPACITY_MODE, CHARGER_MODE, or ALARM_MODE bits in BatteryMode().
Œ
The bq2060E207 requires a 12s minimum wait after SMBus "On-State" detection before
BatteryMode() bits 13-15 can be written. There is no minimum wait requirement on the bq2060
revision E411.
Œ
The bq2060E207 does not use the EDV C1 Factor in the compensated EDV calculation. The factor
allows the user to program the bq2060 to calculate compensated EDV values at points that provide
some residual battery capacity at the EDV0 (RM=0) level. With this factor programmed to 0, the
bq2060 revision E411 computes compensated EDVs the same as the bq2060E207. For the
bq2060E207, the corresponding bits to program this factor must be programmed to zero.
Œ
The bq2060E207 does not reset the VDQ bit and disqualify a learning cycle if a mid-range voltage
correction occurs during the discharge cycle.
Œ
The orderable part number for the bq2060E207 must include the revision number. The orderable part
numbers are bq2060SS-E207-EP (tubes) and bq2060SS-E207TR-EP (tape and reel).
IMPORTANT NOTICE
Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue
any product or service without notice, and advise customers to obtain the latest version of relevant information
to verify, before placing orders, that information being relied on is current and complete. All products are sold
subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those
pertaining to warranty, patent infringement, and limitation of liability.
TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent
TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily
performed, except those mandated by government requirements.
Customers are responsible for their applications using TI components.
In order to minimize risks associated with the customer’s applications, adequate design and operating
safeguards must be provided by the customer to minimize inherent or procedural hazards.
TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other
intellectual property right of TI covering or relating to any combination, machine, or process in which such
semiconductor products or services might be or are used. TI’s publication of information regarding any third
party’s products or services does not constitute TI’s approval, warranty or endorsement thereof.
Copyright 
2000, Texas Instruments Incorporated