TI BQ2092SN

bq2092
Gas Gauge IC with SMBus-Like Interface
Features
General Description
➤
Provides accurate measurement of available charge in
NiCd, NiMH, and Li-Ion rechargeable batteries
➤
Supports SBData charge control commands for Li-Ion,
NiMH, and NiCd chemistries
The bq2092 Gas Gauge IC With
SMBus-Like Interface is intended
for battery-pack or in-system installation to maintain an accurate
record of available battery charge.
The bq2092 directly supports capacity monitoring for NiCd, NiMH, and
Li-Ion battery chemistries.
➤
Designed for battery pack integration
-
120µA typical operating
current
-
Small size enables
implementations in as little as
3 square inch of PCB
4
➤
Two-wire SMBus-like interface
➤
Measurements compensated for
current and temperature
➤
Programmable self-discharge
and charge compensation
➤
16-pin narrow SOIC
Pin Connections
The bq2092 uses the SMBus protocol that supports many of the Smart
Battery Data (SBData) commands.
The bq2092 also supports SBData
charge control. Battery state-ofcharge, capacity remaining, remaining time and chemistry are available
over the serial link. Battery-charge
state can be directly indicated using
a four-segment LED display to
graphically depict battery full-toempty in 25% increments.
The bq2092 estimates battery selfdischarge based on an internal
timer and temperature sensor and
user-programmable rate information stored in external EEPROM.
The bq2092 also automatically
recalibrates or “learns” battery
capacity in the full course of a
discharge cycle from full to empty.
The bq2092 may operate directly
from three nickel chemistry cells.
With the REF output and an external transistor, a simple, inexpensive
regulator can be built to provide VCC
for other battery cell configurations.
An external EEPROM is used to
program initial values into the
bq2092 and is necessary for proper
operation.
Pin Names
VCC
3.0–5.5V
SR
Sense resistor input
SCL
Serial memory
clock
DISP
Display control input
SB
Battery sense input
SDA
Serial memory
data
SCD
Serial communication
data input/output
SCC
Serial communication
clock
REF
Voltage reference
output
VOUT
EEPROM supply
output
VCC
1
16
VOUT
SCL
2
15
REF
SDA
3
14
SCC
SEG1
4
13
SCD
SEG1
LED segment 1
SEG2
5
12
NC
SEG2
LED segment 2
SEG3
6
11
SB
SEG3
LED segment 3
SEG4
7
10
DISP
SEG4
LED segment 4
VSS
8
9
SR
VSS
System ground
16-Pin Narrow SOIC
PN209101.eps
6/99 C
1
bq2092
SB
Pin Descriptions
VCC
Supply voltage input
SCL
Serial memory clock
This input monitors the cell pack voltage as
a single-cell potential through a highimpedance resistor divider network. The
cell pack voltage is reported in the SBD
register function Voltage (0x09) and is compared to end-of-discharge voltage and
charging voltage parameters.
This output is used to clock the data
transfer between the bq2092 and the external nonvolatile configuration memory.
SDA
SEG1–
SEG4
Serial memory data and address
NC
No connect
This bi-directional pin is used to transfer address and data to and from the
bq2092 and the external configuration
memory.
SCD
Serial communication data
This open-drain bidirectional pin is used to
transfer address and data to and from the
bq2092.
LED display segment outputs
SCC
Each output may activate an external LED
to sink the current sourced from VCC.
VSS
Ground
SR
Sense resistor input
Serial communication clock
This open-drain bidirectional pin is used to
clock the data transfer to and from the
bq2092.
REF
Reference output for regulator
REF provides a reference output for an optional micro-regulator.
The voltage drop (VSR) across pins SR and
VSS is monitored and integrated over time
to interpret charge and discharge activity.
The SR input is connected to the sense resistor and the negative terminal of the
battery. VSR < VSS indicates discharge, and
VSR > VSS indicates charge. The effective
voltage drop, VSRO, as seen by the bq2092
is VSR + VOS (see Table 3).
DISP
Secondary battery input
VOUT
Supply output
This output supplies power to the external EEPROM configuration memory.
Display control input
DISP high disables the LED display. DISP
floating allows the LED display to be active
during charge if the rate is greater than
100mA. DISP low activates the display for 4
seconds.
2
bq2092
Figure 1 shows a typical battery pack application of the
bq2092 using the LED capacity display, the serial port,
and an external EEPROM for battery pack programming information. The bq2092 must be configured and
calibrated for the battery-specific information to ensure
proper operation. Table 1 outlines the externally
programmable functions available in the bq2092. Refer
to the Programming the bq2092 section for further
details.
Functional Description
General Operation
The bq2092 determines battery capacity by monitoring
the amount of charge input to or removed from a
rechargeable battery. The bq2092 measures discharge
and charge currents, estimates self-discharge, and
monitors the battery for low-battery voltage thresholds. The charge measurement is made by monitoring
the voltage across a small-value series sense resistor
between the battery's negative terminal and ground.
The available battery charge is determined by monitoring this voltage over time and correcting the measurement for the environmental and operating conditions.
An internal temperature sensor eliminates the need
for an external thermistor—reducing cost and components. An internal, temperature-compensated timebase eliminates the need for an external resonator,
further reducing cost and components. The entire
circuit in Figure 1 can occupy less than 3 4 square inch
of board space.
VCC VOUT
REF
SCL
SCC
SDA
SCD
SEG1
NC
SEG2
SB
SEG3 DISP
SEG4
SR
BZX84C5V6
BZX84C5V6
2192L.eps
Figure 1. Battery Pack Application Diagram—LED Display
3
bq2092
Table 1. Configuration Memory Programming Values
Address
Length
Units
Design capacity
Parameter Name
0x00/0x01
16 bits: low byte, high byte
mAh
Initial battery voltage
0x02/0x03
16 bits: low byte, high byte
mV
Fast charging current
0x04/0x05
16 bits: low byte, high byte
mA
Charging voltage
0x06/0x07
16 bit: low byte, high byte
mV
Remaining capacity alarm
0x08/0x09
16 bits: low byte, high byte
mAh
FLAGS1
0x0a
8 bits
N/A
FLAGS2
0x0b
8 bits
N/A
0x0c/0x0d
16 bits: low byte, high byte
N/A
EDV1
0x0e/0x0f
16 bits: low byte, high byte
mV
EDVF
0x10/0x11
16 bits: low byte, high byte
mV
Temperature offset
0x12
8 bits
0.1°K
Maximum charge temperature/∆T/∆t
0x13
8 bits
N/A
Self-discharge rate
0x14
8 bits
N/A
Digital filter
0x15
8 bits
N/A
0x16/0x17
16 bits: low byte, high byte
N/A
Full charge percentage
0x18
8 bits
N/A
Charge compensation
0x19
8 bits
N/A
Current measurement gain
Current integration gain
Battery voltage offset
0x1a
8 bits
mV
Battery voltage gain
0x1b/0x1c
16 bits: high byte, low byte
N/A
Serial number
0x1d/0x1e
16 bits: low byte, high byte
N/A
Hold-off timer
0x1f
8 bits
N/A
Cycle count
0x20/0x21
16 bits: low byte, high byte
N/A
Maintenance charge current
0x22/0x23
16 bits: low byte, high byte
mA
Reserved
0x24/0x31
–
–
Design voltage
0x32/0x33
16 bits: low byte, high byte
mV
Specification information
0x34/0x35
16 bits: low byte, high byte
N/A
Manufacturer date
0x36/0x37
16 bits: low byte, high byte
N/A
Reserved
0x38/0x3f
–
–
Manufacturer name
0x40/0x4f
8 + 120 bits
N/A
Device name
0x50/0x5f
8 + 120 bits
N/A
Chemistry
0x60/0x6f
8 + 120 bits
N/A
Manufacturer data
0x70/0x7f
8 +120 bits
N/A
Note:
N/A = Not applicable; data packed or coded. See “Programming the bq2092” for details.
4
bq2092
of a single-point ground return. Sharing high-current
ground with small signal ground causes undesirable
noise on the small signal nodes. Additionally, in reference to Figure 1:
Voltage Thresholds
In conjunction with monitoring VSR for charge/discharge
currents, the bq2092 monitors the battery potential
through the SB pin. The voltage potential is determined through a resistor-divider network per the
following equation:
n
R5
MBV
=
− 1
R4
2.25
n
where MBV is the maximum battery voltage, R 5 is
connected to the positive battery terminal, and R4 is
connected to the negative battery terminal. R5/R4 should
be rounded to the next highest integer. The voltage at
the SB pin (VSB) should never exceed 2.4V.
n
n
The battery voltage is monitored for the end-ofdischarge voltage (EDV), for maximum pack voltage and
for alarm warning conditions. EDV threshold levels are
used to determine when the battery has reached an
“empty” state, and the charging voltage plus 5% threshold is used for fault detection during charging. The
battery voltage gain, two EDV thresholds, and charge
voltage limit are programmed via EEPROM. See the
Programming the bq2092 section for further details.
n
The capacitors (C1, C2, and C4) should be placed as
close as possible to the SB and VCC pins, and their paths
to VSS should be as short as possible. A high-quality
ceramic capacitor of 0.1µf is recommended for VCC.
The sense resistor capacitor (C3) should be placed as
close as possible to the SR pin.
The sense resistor (R1) should be as close as possible
to the bq2092.
The IC should be close to the cells for the best
temperature measurement.
An optional zener may be necessary to ensure VCC is
not above the maximum rating during operation.
Gas Gauge Operation
The operational overview diagram in Figure 2 illustrates the operation of the bq2092. The bq2092 accumulates a measure of charge and discharge currents, as
well as an estimation of self-discharge. Charge currents
are compensated for temperature and state-of-charge.
Self-discharge is only temperature-compensated.
If VSB is below either of the two EDV thresholds, the associated flag is latched and remains latched, independent of
VSB, until the next valid charge.
The main counter, RemainingCapacity (RM), represents
the available battery capacity at any given time. Battery
charging increments the RM register, whereas battery
discharging and self-discharge decrement the RM register
and increment the Discharge Count Register (DCR).
EDV monitoring may be disabled under certain conditions. If the discharge current is greater than approximately 6A, EDV monitoring is disabled and resumes
after the current falls below 6A.
Reset
The Discharge Count Register (DCR) is used to update
the FullChargeCapacity (FCC) register only if a
complete battery discharge from full to empty occurs
without any partial battery charges. Therefore, the
bq2092 adapts its capacity determination based on the
actual conditions of discharge.
The bq2092 is reset when first connected to the battery
pack. The bq2092 can also be reset with a command
over the serial port, as described in the Software Reset
section.
Temperature
The battery's initial capacity is equal to the DesignCapacity
(DC). Until FCC is updated, RM counts up to, but not
beyond, this threshold during subsequent charges.
The bq2092 monitors temperature using an internal
sensor. The temperature is used to adapt charge/discharge and self-discharge compensations as well as
maximum temperature and ∆T/∆t during bq2092 controlled charge. Temperature may also be accessed over
the serial port. See the Programming the bq2092 section
for further details.
1.
FullChargeCapacity or learned-battery
capacity:
FCC is the last measured discharge capacity of the
battery. On initialization (application of VCC or reset),
FCC = DC. During subsequent discharges, the FCC
is updated with the latest measured capacity in the
Discharge Count Register, representing a discharge
from full to below EDV1. A qualified discharge is
necessary for a capacity transfer from the DCR to the
FCC register. The FCC also serves as the 100% reference threshold used by the relative state-of-charge
calculation and display.
Layout Considerations
The bq2092 measures the voltage differential between
the SR and VSS pins. VOS (the offset voltage at the SR
pin) is greatly affected by PC board layout. For optimal
results, the PC board layout should follow the strict rule
5
bq2092
Inputs
Charge
Current
Discharge
Current
Self-Discharge
Timer
Rate and
Temperature
Compensation
Rate and
Temperature
Compensation
Temperature
Compensation
-
+
-
+ Remaining
Capacity
(RM)
Main Counters
and Capacity
Reference (FCC)
<
Full
Charge
Capacity
(FCC)
+
Discharge
Count
Qualified Register
Transfer (DCR)
Temperature, Other Data
Chip-Controlled
Two-Wire
Available Charge Serial Interface
LED Display
Outputs
Figure 2. Operational Overview
2.
DesignCapacity (DC):
n
The DC is the user-specified battery capacity and is
programmed by using an external EEPROM. The
DC also provides the 100% reference for the absolute display mode.
3.
The valid discharge flag (VDQ) indicates whether
the present discharge is valid for FCC update. FCC
cannot be reduced by more than 256mAh during
any single cycle.
Remaining Capacity (RM):
Charge Counting
RM counts up during charge to a maximum value of
FCC and down during discharge and self-discharge to
0. RM is reset to 0000Ah when EDV1 = 1 and a valid
charge is detected. To prevent overstatement of
charge during periods of overcharge, RM stops incrementing when RM = FCC. RM may optionally
be written to a user-defined value when fully
charged when the battery pack is under bq2092
charge control. See the Charge Control section for
further details.
4.
Charge activity is detected based on a positive voltage
on the VSR input. If charge activity is detected, the
bq2092 increments RM at a rate proportional to VSRO
and, if enabled, activates an LED display. Charge
actions increment the RM after compensation for charge
rate and temperature.
The bq2092 determines charge activity sustained at a
continuous rate equivalent to VSRO > |VSRD|. A valid
charge equates to sustained charge activity
greater than 10 mAh. Once a valid charge is detected,
charge counting continues until V SRO falls below
|V S R D |. V S R D is a programmable threshold as
described in the Digital Magnitude Filter section.
Discharge Count Register (DCR):
The DCR counts up during discharge independent
of RM and can continue increasing after RM has
decremented to 0. Before RM = 0 (empty battery),
both discharge and self-discharge increment the
DCR. After RM = 0, only discharge increments
the DCR. The DCR resets to 0 when RM = FCC.
The DCR does not roll over but stops counting
when it reaches FFFFh.
Discharge Counting
All discharge counts where VSRO < |VSRD| cause the
RM register to decrement and the DCR to increment.
VSRD is a programmable threshold as described in the
Digital Magnitude Filter section.
The DCR value becomes the new FCC value on the
first charge after a valid discharge to VEDV1 if:
n
n
The temperature is ≥ 273°K (0°C) when the
EDV1 level is reached during discharge.
Self-Discharge Estimation
No valid charge initiations (charges greater than
10mAh, where VSRO > |VSRD|) occurred during
the period between RM = FCC and EDV1 detected.
The bq2092 continuously decrements RM and increments DCR for self-discharge based on time and
temperature. The self-discharge rate is dependent on
the battery chemistry. The bq2092 self-discharge estimation rate is externally programmed in EEPROM
The self-discharge count is not more than
256mAh.
6
bq2092
and can be programmed from 0 to 25% per day at
20-30°C. This rate doubles every 10°C increase until T
> 70°C or is halved every 10° decrease until T < 10°C.
percentage. Once this occurs, the Fully_Charged bit is
cleared, and the bq2092 requests the fast charging current
and charging voltage.
The self-discharge estimate reduces RM by 0.39% of its
current value at time intervals spaced so that the average reduction equals the programmed value adjusted for
temperature. The EEPROM program constant is the 2’s
complement of 52.73 X , where X = % day self-discharge
rate desired at 25°C.
During fast charge, the bq2092 suspends charge by
requesting zero current and setting the Terminate_Charge_Alarm bit in BatteryStatus. Charge is
suspended if the actual charge current is 25% greater
than the programmed charged current. If the
programmed charge current is less than 1024mA, overcurrent suspend occurs if the actual charge current is
256mA greater than the programmed value. Charge is
also suspended if the actual battery voltage is 5%
greater than the programmed charge voltage. If the
battery temperature is greater than the programmed
maximum temperature before charge, then the bq2092
suspends charge requests until the temperature falls
below 50°C.
Charge Control
The bq2092 supports SBD charge control by broadcasting ChargingCurrent() and ChargingVoltage() to the
Smart Charger address. Smart Charger broadcasts can
be disabled by writing bit 14 of Battery Mode() to 1. The
bq2092-based charge control can be enabled by setting
bit 4 in FLAGS2 (MSB of 0x2f) to 1. See Programming
the bq2092 for further details. If the Fully_Charged bit
is not set in BatteryStatus, the bq2092 broadcasts the
fast charge current and voltage to the Smart Charger.
The bq2092 broadcasts the maintenance current values
(trickle rate) if the Fully_Charged bit is set or Voltage is
below EDVF.
If the battery temperature is less than 0°C, the charging
current sets to maintenance (trickle) charge current.
The fast charging current is requested when the
temperature is above 5°C.
∆T/∆t
The ∆T/∆t used by the bq2092 is programmable in both
the temperature step (1.6°C–4.6°C) and time step (20
seconds–320seconds). Typical settings for 1°C/min
include 2°C over 120 seconds and 3°C over 180 seconds.
Longer times are required for increased slope resolution.
The bq2092 internal charge control is compatible with
nickel-based and Li-Ion chemistries.
For Li-Ion, the bq2092 broadcasts the required ChargingCurrent and ChargingVoltage according to the values
programmed in the external EEPROM. During a valid
charge (VQ = 1), the bq2092 signals a valid charge
termination when the Terminate_Charge_Alarm and
Fully_Charged bits are set in BatteryStatus. These bits
are set when the battery is charged more than 256mAh
above FCC.
∆T
∆T
is set by the formula:
=
∆t
∆t
[( lower nibble of 0 ∗13 in E PROM ) ∗2 + 16]  C 
[2' s( lower nibble of 0 ∗1f in E PROM ) ∗3.33]  minute 
2
o
2
For nickel-based chemistries, the bq2092 broadcasts the
required charge current and voltage according to the
programmed values in the external EEPROM. Maximum temperature and ∆T/∆t are used as valid charge
termination methods. Note: Nickel-based chemistries
require a charge voltage higher than the maximum cell
voltage during charge to ensure constant-current charging. During a valid charge (VQ = 1), if the bq2092 determines a maximum temperature condition, a ∆T/∆t rate
greater than the programmed value, or a charge state
greater than 256mAh above FCC, then the Termin a t e _ C h a r g e _ A l a r m , O v e r _ C har g e _ A l a r m , a n d
Fully_Charged bits are set in BatteryStatus.
In addition to the ∆T/∆t timer, there is a hold-off timer,
which starts when the battery is being charged at more
than 256mA and the temperature is above 25°C. (This is
valid only for NiMH chemistry, bit 5 in FLAGS2 set to
0.) Until this timer expires, ∆T/∆t is suspended. If the
temperature falls below 25°C, or if charging current
fallls below 255mA, the timer is reset and restarts only
if the above conditions are once again met.
Safety Termination
If charging continues for more than 256mAh beyond
R M = F C C, t h e Ter m in a t e_C h a r g e_A la r m a n d
Fully_Charged bits are set, and the charging current is
modified to request maintenance current. If the battery
is discharged from full by less than 256mAh, then the
safety overcharge termination, for NiMH only, is allowed
to extend to 512 mAh.
Once the bq2092 detects a valid charge termination, the
Fully_Charged bit, Terminate_Charge_Alarm, and
Over_Charge_Alarm bits are set and the ChargingCurrent
is set to zero. Once the terminating condition ceases, the
Terminate_Charge_Alarm and OverCharge Alarm bits are
cleared and the ChargingCurrent is set to the maintenance
rate. The bq2092 requests the maintenance current and
charging voltage until RM falls below the full charge
Updating RM after a valid charge termination, RM may
optionally be set to a value from 0 to 100% of the FullChargeCapacity. If RM is below the value programmed
7
bq2092
in full charge percentage, RM is set to full charge
percentage of FCC on valid charge termination. If RM is
above the full charge percentage, RM is not modified.
Table 2. Typical Digital Filter Settings
Count Compensations
Charge activity is compensated for temperature and
state-of-charge before updating the RM and/or DCR. RM
is compensated for temperature before updating the RM
register. Self-discharge estimation is compensated for
temperature before updating RM or DCR.
DMF
DMF
Hex.
|VSRD (mV)|
75
4B
±0.60
100
64
±0.45
150 (default)
96
±0.30
175
AF
±0.26
200
C8
±0.23
Charge Compensation
Charge efficiency is compensated for state-of-charge,
temperature, and battery chemistry. For Li-Ion chemistry cells, the charge efficiency is unity for all cases. The
charge efficiency for nickel chemistry cells, however, is
adjusted using the following equation:
RM adjusts upward to Nominal Available Capacity as
the temperature increases.
Digital Magnitude Filter
RM = RM ∗ (Q EFC − Q ET )
The bq2092 has a programmable digital filter to eliminate charge and discharge counting below a set
threshold. Table 2 shows typical digital filter settings.
The proper digital filter setting can be calculated
using the following equation.
where RelativeStateofCharge ≤ FullChargePercentage
and Q EFC is the programmed fast charge efficiency varying from .75 to .99.
RM = RM ∗ (Q ETC − Q ET )
|VSRD (mV)| = 45 / DMF
where RelativeStateofCharge ≥ FullChargePercentage
Error Summary
and Q ETC is the programmed maintenance (trickle)
charge efficiency varying from 0.50 to 0.97.
Capacity Inaccurate
Q ET is used to adjust the charge efficiency as the battery
temperature increases according to the following:
The FCC is susceptible to error on initialization or if no
updates occur. On initialization, the FCC value includes
the error between the design capacity and the actual
capacity. This error is present until a valid discharge
occurs and FCC is updated (see the DCR description on
page 6). The other cause of FCC error is battery wearout. As the battery ages, the measured capacity must be
adjusted to account for changes in actual battery capacity. Periodic discharges from full to empty will minimize errors in FCC.
Q ET = 0 if T < 30°C
Q ET = 0.02 if 30 ° C ≤ T < 40 ° C
Q ET = 0.05 if T ≥ 40 ° C
Remaining Capacity Compensation
The bq2092 adjusts the RM as a function of temperature. This adjustment accounts for the reduced capacity
of the battery at colder temperatures. The following
equation is used to adjust RM:
Current-Sensing Error
Table 3 illustrates the current-sensing error as a function of V SR . A digital filter eliminates charge and
discharge counts to the RM register when V SRO is
between VSRQ and VSRD.
If T ≥ 5° C
RemainingCapacity =
Nominal Available Capacity (NAC)
Display
If T < 5°C
The bq2092 can directly display capacity information
using low-power LEDs. The bq2092 displays the battery
charge state in either absolute or relative mode. In relative mode, the battery charge is represented as a
percentage of the FCC. Each LED segment represents
25% of the FCC.
RM() = NAC() (1 + TCC ∗ (T − 5° C))
Where T = temperature °C
TCC = 0.004
8
bq2092
Table 3. bq2092 Current-Sensing Errors
Typical
Maximum
Units
VOS
Symbol
Offset referred to VSR
Parameter
± 50
± 150
µV
Notes
INL
Integrated non-linearity
error
±2
±4
%
Add 0.1% per °C above or below 25°C
and 1% per volt above or below 4.25V.
INR
Integrated nonrepeatability error
±1
±2
%
Measurement repeatability given
similar operating conditions.
DISP = VCC.
the interface to access various bq2092 registers; see
Table 4. This allows battery characteristics to be easily
monitored. The open-drain SCD and SCC pins on the
bq2092 are pulled up by the host system, or may be
connected to VSS, if the serial interface is not used.
In absolute mode, each segment represents a fixed
amount of charge, 25% of the design capacity. As the
battery wears out over time, it is possible for the FCC to
be below the design capacity. In this case, all of the
LEDs may not turn on in absolute mode, representing
the reduction in the actual battery capacity.
The interface uses a command-based protocol, where the
host processor sends the battery address and an eightbit command byte to the bq2092. The command directs
the bq2092 to either store the next data received to a
register specified by the command byte or output the
data specified by the command byte.
The displayed capacity is compensated for the present
battery temperature. The displayed capacity varies as
temperature varies, indicating the available charge at
the present conditions.
When DISP is tied to VCC, the SEG1–4 outputs are inactive. When DISP is left floating, the display becomes
active whenever the bq2092 detects a charge rate of
100mA or more. When pulled low, the segment outputs
become active immediately for a period of approximately
4 seconds. The DISP pin must be returned to float or
VCC to reactivate the display.
bq2092 Data Protocols
The host system, acting in the role of a Bus master, uses
the read word and write word protocols to communicate
integer data with the bq2092. (See Figure 3.)
The segment outputs are modulated as two banks of two,
with segments 1 and 3 alternating with segments 2 and 4.
The segment outputs are modulated at approximately
100Hz with each segment bank active for 30% of the period.
Host-to-bq2092 Message Protocol
SEG1 blinks at a 4Hz rate whenever VSB has been
detected to be below VEDV1 (EDV1 = 1), indicating a lowbattery condition. VSB below VEDVF (EDVF = 1) disables
the display output.
n
Read word
n
Write word
n
Read block
The Bus Host communicates with the bq2092 using one
of three protocols:
Microregulator
The particular protocol used is a function of the
command. The protocols used are shown in Figure 3.
The bq2092 can operate directly from three nickel chemistry cells. To facilitate the power supply requirements
of the bq2092, an REF output is provided to regulate an
external low-threshold n-FET. A micropower source for
the bq2092 can be inexpensively built using the FET
and an external resistor; see Figure 1. Note that an
optional zener diode may be necessary to limit VCC
during charge.
Host-to-bq2092 Messages (see Table 4)
ManufacturerAccess() (0x00)
This optional function is not operational for the bq2092.
RemainingCapacityAlarm() (0x01)
This function sets or returns the low-capacity alarm
value. When RM falls below the RemainingCapacityAlarm value, the Remaining_Capacity_Alarm bit
is set in BatteryStatus (0x16). The system may alter
this alarm value during operation.
Communicating With the bq2092
The bq2092 includes a simple two-pin (SCC and SCD)
bidirectional serial data interface. A host processor uses
9
bq2092
Table 4. bq2092 Register Functions
Code
Access
Units
Defaults1
ManufacturerAccess
0x00
read/write
-
-
RemaningCapacityAlarm
0x01
read/write
unsigned int.
E2
RemainingTimeAlarm
0x02
read/write
unsigned int.
10
BatteryMode
0x03
read/write
bit flag
-
Temperature
0x08
read
0.1°K
-
Voltage
0x09
read
mV
-
Current
0x0a
read
mA
0000h
AverageCurrent
0x0b
read
mA
0000h
MaxError
0x0c
read
percent
100
RelativeStateOfCharge
0x0d
read
percent
0000h
AbsoluteStateOfCharge
0x0e
read
percent
0000h
RemainingCapacity
0x0f
read
mAh
0000h
FullChargeCapacity
0x10
read
mAh
E2
RunTimeToEmpty
0x11
read
minutes
-
AverageTimeToEmpty
0x12
read
minutes
-
Reserved
0x13
-
-
-
ChargingCurrent
0x14
read
mA
E2
ChargingVoltage
0x15
read
mV
E2
BatteryStatus
0x16
read
number
0000h
CycleCount
0x17
read
count
E2
DesignCapacity
0x18
read
mAh
E2
DesignVoltage
0x19
read
mV
E2
SpecificationInfo
0x1a
read
number
E2
ManufactureDate
0x1b
read
unsigned int
E2
SerialNumber
0x1c
read
number
E2
0x1d - 0x1f
-
-
-
ManufacturerName
0x20
read
string
E2
DeviceName
0x21
read
string
E2
DeviceChemistry
0x22
read
string
E2
ManufacturerData
0x23
read
string
E2
FLAGS1 and FLAGS2
0x2f
read
bit flag
E2
Endof DischargeVoltage1
0x3e
read
mV
E2
EndofDischargeVoltageFinal
0x3f
read
mV
E2
Function
Reserved
Note:
1. Defaults after reset or power-up.
10
bq2092
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
Read Word
1
S
7
Battery Address
0001011
0x16
8
1
Byte Count =N
A
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 1
A
Data byte 2
A
Data byte N
A
P
Block Read
A – ACKNOWLEDGE
A – NOT ACKNOWLEDGE
S – START
P – STOP
System Host
bq2092
FG209202.eps
Figure 3. Host Communication Protocols
11
bq2092
Accuracy: ±1% of DesignVoltage after calibration
Input/Output: unsigned integer. This sets/returns the value where the Remaining Capacity Alarm bit is set in BatteryStatus.
Current() (0x0a)
This read-only word returns the current through the
battery's terminals (mA).
RemainingTimeAlarm() (0x02)
This function sets or returns the low remaining time
alarm value. When the AverageTimeToEmpty (0x12)
falls below this value, the Remaining_Time_Alarm bit in
BatteryStatus is set. The default value for this register
is set in EEPROM. The system may alter this alarm
value during operation.
Output: signed integer. Returns the charge/discharge rate in mA, where positive is for charge
and negative is for discharge
Units: mA
Range: 0 to 32,767 mA for charge or 0 to
–32,768 mA for discharge
Input/Output: unsigned integer. This sets/returns
the value where the Remaining_Time_Alarm bit is
set in BatteryStatus.
Granularity: 0.2% of the DesignCapacity or better
Accuracy: ± 1% of the DesignCapacity after calibration
BatteryMode() (0x03)
AverageCurrent() (0x0b)
This read/write word selects the various battery operational modes. The bq2092 supports the battery capacity
information specified in mAh. This function also determines whether the bq2092 charging values are broadcasted to the Smart Battery Charger address.
This read-only word returns a rolling average of the
current through the battery's terminals. For the bq2092
Current = AverageCurrent. The AverageCurrent function returns meaningful values after the battery's first
minute of operation.
Writing bit 14 to 1 disables voltage and current Smart
Battery Charger messages. Bit 14 is reset to 0 once the
pack is removed from the system (SCC and SCD = 0 for
greater than 2 seconds.)
Output: signed integer. Returns the charge/discharge rate in mA, where positive is for charge
and negative is for discharge
Writing bit 13 to 1 disables all Smart Battery Charger
messages including alarm messages. This bit remains set
until overwritten. Programming bit 3 of FLAGS2 in
EEPROM (EE 0x0b) initializes bit 13 of BatteryMode to 1.
Units: mA
Range: 0 to 32,767 mA for charge or 0 to
–32,768 mA for discharge
Temperature() (0x08)
Granularity: 0.2% of the DesignCapacity or better
This read-only word returns the cell-pack's internal
temperature (0.1°K).
Accuracy: ± 1% of the DesignCapacity after calibration
Output: unsigned integer. Returns cell temperature in tenths of degrees Kelvin increments
MaxError() (0x0c)
Units: 0.1°K
This read-only word returns the expected margin of
error (%).
Range: 0 to +500.0°K
Output: unsigned integer. Returns percent uncertainty
Granularity: 0.5°K or better
Units: %
Accuracy: ±3°K after calibration
Range: 0 to 100%
Voltage() (0x09)
RelativeStateOfCharge() (0x0d)
This read-only word returns the cell-pack voltage (mV).
This read-only word returns the predicted remaining
battery capacity expressed as a percentage of FullChargeCapacity (%). RelativeStateOfCharge is only
valid for battery capacities less than 10,400mAh.
Output: unsigned integer. Returns battery terminal
voltage in mV
Units: mV
Range: 0 to 65,535 mV
Output: unsigned integer. Returns the percent of remaining capacity
Granularity: 0.2% of DesignVoltage
12
bq2092
Units: %
Output: unsigned integer. Returns the minutes of
operation left.
Range: 0 to 100%
Units: minutes
Granularity: 1%
Range: 0 to 65,534 minutes
AbsoluteStateOfCharge() (0x0e)
Granularity: 2 minutes or better
This read-only word returns the predicted remaining
battery capacity expressed as a percentage of DesignCapacity (%). Note that AbsoluteStateOfCharge can return
values greater than 100%. Absolute StateOfCharge
is only valid for battery capacities less than
10,400mAh.
Invalid data indication: 65,535 indicates battery is
not being discharged
AverageTimeToEmpty() (0x12)
This read-only word returns the predicted remaining
battery life at the present average discharge rate
(minutes). The AverageTimeToEmpty is calculated
based on AverageCurrent.
Output: unsigned integer. Returns the percent of
remaining capacity.
Output: unsigned integer. Returns the minutes of
operation left.
Units: %
Range: 0 to 65,535 %
Units: minutes
Granularity: 1% or better
Range: 0 to 65,534 minutes
Accuracy: ± MaxError
Granularity: 2 minutes or better
RemainingCapacity() (0x0f)
Invalid data indication: 65,535 indicates battery
is not being charged
This read-only word returns the predicted remaining
battery capacity. The RemainingCapacity value is
expressed in mAh.
ChargingCurrent() (0x14)
If enabled, the bq2092 sends the desired charging rate
in mA to the Smart Battery Charger.
Output: unsigned integer. Returns the estimated remaining capacity in mAh.
Output: unsigned integer. Transmits/returns the
maximum charger output current in mA.
Units: mAh
Range: 0 to 65,535 mAh
Units: mA
Granularity: 0.2% of DesignCapacity or better
Range: 0 to 65,534 mA
FullChargeCapacity() (0x10)
Granularity: 0.2% of the design capacity or better
This read-only word returns the predicted pack capacity
when it is fully charged. FullChargeCapacity defaults to
the value programmed in the external EEPROM until a
new pack capacity is learned.
Invalid data indication: 65,535 indicates that the
Smart Charger should operate as a voltage source
outside its maximum regulated current range.
ChargingVoltage() (0x15)
Output: unsigned integer. Returns the estimated full
charge capacity in mAh.
If enabled, the bq2092 sends the desired voltage in mV
to the Smart Battery Charger.
Units: mAh
Output: unsigned integer. Transmits/returns the
charger voltage output in mV.
Range: 0 to 65,535 mAh
Granularity: 0.2% of DesignCapacity or better
Units: mV
RunTimeToEmpty() (0x11)
Range: 0 to 65,534mV
This read-only word returns the predicted remaining
battery life at the present rate of discharge (minutes).
The RunTimeToEmpty() value is calculated based on
Current().
Granularity: 0.2% of the DesignVoltage or better
Invalid data indication: 65,535 indicates that the
Smart Battery Charger should operate as a cur-
13
bq2092
rent source outside its maximum regulated voltage
range.
SpecificationInfo() (0x1a)
This read-only word returns the specification revision
the bq2092 supports. It is typically set to all zeros to
represent non-Rev 1.0 compliance to the SMBus specification output: unsigned integer.
BatteryStatus() (0x16)
This read-only word returns the BatteryStatus word.
Output: unsigned integer. Returns the status register with alarm conditions bitmapped as shown in
Table 5.
ManufactureDate() (0x1b)
This read-only word returns the date the cell was manufactured in a packed integer word. The date is packed
as follows: (year - 1980) ∗ 512 + month ∗ 32 + day.
Some of the BatteryStatus flags (Remaining_Capacity_Alarm and Remaining_Time_Alarm) are calculated
based on current. See Table 8 for definitions.
CycleCount() (0x17)
Field
This read-only word returns the number of
charge/discharge cycles the battery has experienced. A
charge/discharge cycle starts from a base value equivalent
to the battery's state-of-charge, on completion of a charge
cycle. The bq2092 increments the cycle counter during the
current charge cycle, if the battery has been discharged
15% below the state-of-charge at the end of the last charge
cycle. This prevents false reporting of small
charge/discharge cycles.
Bits
Used
Format
Allowable Value
1–31 (corresponds to
date)
Day
0–4
5-bit binary
value
Month
5–8
4-bit binary
value
1–12 (corresponds to
month number)
Year
9–15
7-bit binary
value
0–127 (corresponds
to year biased by
1980)
Table 5. Status Register
Output: unsigned integer. Returns the count of
charge/discharge cycles the battery has
experienced.
0x8000
0x4000
0x2000
0x1000
0x0800
0x0400
0x0200
0x0100
Units: cycles
Range: 0 to 65,535 cycles; 65,535 indicates battery
has experienced 65,535 or more cycles
Granularity: 1 cycle
DesignCapacity() (0x18)
This read-only word returns the theoretical capacity of a
new pack. The DesignCapacity() value is expressed in
mAh at the nominal discharge rate.
0x0080
0x0040
0x0020
0x0010
Output: unsigned integer. Returns the battery capacity in mAh.
Units: mAh
Range: 0 to 65,535 mAh
0x00000x000f
DesignVoltage() (0x19)
Alarm Bits
Overcharge_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 Code
Reserved for error codes
This read-only word returns the theoretical voltage of
a new pack in mV.
SerialNumber() (0x1c)
Output: unsigned integer. Returns the battery's
normal terminal voltage in mV.
This read-only word returns a serial number. This
number, when combined with the ManufacturerName,
the DeviceName, and the ManufactureDate, uniquely
identifies the battery.
Units: mV
Range: 0 to 65,535 mV
Output: unsigned integer
14
bq2092
ManufacturerName() (0x20)
EndofDischargeVoltageF() (0x3f)
This read-only string returns a character string where the
first byte is the number of characters available. The maximum number of characters is 15. The character string
contains the battery manufacturer's name. For example,
“Unitrode” identifies the battery pack manufacturer as
Unitrode.
This read-only word returns the final end-of-discharge
voltage programmed for the pack.
Output: two’s complemented unsigned integer.
Returns battery final end-of-discharge voltage programmed in EEPROM in mV.
FLAGS1&2() (0x2f)
Output: string or ASCII character string
This read-only register returns an unsigned integer
representing the internal status registers of the bq2092.
The MSB represents FLAGS2, and the LSB represents
FLAGS1. See Table 6 for the bit description for
FLAGS1 and FLAGS2.
DeviceName() (0x21)
This read-only string returns a character string where the
first byte is the number of characters available. The maximum number of characters is 15. The 15-byte character
string contains the battery's name. For example, a
DeviceName of “bq2092” indicates that the battery is a
model bq2092.
FLAGS2
The Display Mode flag (DMODE), bit 7, determines
whether the bq2092 displays Relative or Absolute capacity.
Output: string or ASCII character string
DeviceChemistry() (0x22)
The DMODE values are:
This read-only string returns a character string where
the first byte is the number of characters available. The
maximum number of characters is 15. The 15-byte character string contains the battery's chemistry. For example, if the DeviceChemistry function returns “NiMH,”
the battery pack contains nickel-metal hydride cells.
7
DMODE
Output: string or ASCII character string
6
-
5
-
FLAGS2 Bits
4
3
-
2
-
1
-
0
-
Where DMODE is:
ManufacturerData() (0x23)
This read-only string allows access to an up to 15-byte
manufacturer data string.
0
Selects Absolute display
1
Selects Relative display
Bit 6 is reserved.
Output: block data—data whose meaning is assigned by the Smart Battery's manufacturer.
The Chemistry flag (CHM), bit 5, selects Li-Ion or nickel
compensation factors.
EndofDischargeVoltage1() (0x3e)
The CHM values are:
This read-only word returns the first end-of-discharge
voltage programmed for the pack.
7
-
Output: two’s complemented unsigned integer. Returns battery end-of-discharge voltage programmed in EEPROM in mV.
6
-
5
CHM
FLAGS2 Bits
4
3
-
2
-
1
-
0
-
Table 6. Bit Descriptions for FLAGS1 and FLAGS2
(MSB) 7
6
5
4
3
2
1
0 (LSB)
FLAGS2 DMODE
-
CHM
CC
-
OV
LTF
OC
FLAGS1
-
VQ
WRINH
VDQ
SEDV
EDV1
EDVF
-
Note: - = Reserved
15
bq2092
This flag is cleared when the average current falls below
256mA.
Where CHM is:
0
Selects Nickel
1
Selects Li-Ion
The OC values are:
Bit 4, the Charge Control flag (CC), determines whether
a bq2092-based charge termination will set RM to a
user-defined programmable full charge capacity.
7
-
The CC values are:
7
-
6
-
5
-
2
-
1
-
0
RM is not modified on valid bq2092
charge termination
1
RM is set to a programmable percentage of
the FCC when a valid bq2092 charge termination occurs
1
-
0
OC
1
Average current exceeds 1.25 ∗ charging
current or 256mA if the charging current is
programmed less than 1024mA. This bit is
cleared if average current < 256mA
Bits 7 and 6 are reserved. The Valid Charge flag (VQ),
bit 5, is set when VSRO ≥ |VSRD| and 10mAh of charge
has accumulated. This bit is cleared during a discharge
and when VSRO ≤ |VSRD|.
The VQ values are:
7
-
The OV values are:
FLAGS2 Bits
4
3
-
Average current is less than 1.25 ∗ charging current or less than 256mA if charging
current is programmed less than 1024mA
FLAGS1
Bit 2, the Overvoltage flag (OV), is set when the bq2092
detects a pack voltage 5% greater than the programmed
charging voltage. This bit is cleared when the pack voltage falls 5% below the programmed charging voltage.
5
-
FLAGS2 Bits
4
3
2
-
0
0
-
Bit 3 is reserved.
6
-
5
-
Where OC is:
FLAGS2 Bits
4
3
CC
-
Where CC is:
7
-
6
-
2
OV
1
-
0
-
BatteryVoltage() < 1.05 ∗ ChargingVoltage
1
BatteryVoltage() ≥ 1.05 ∗ ChargingVoltage
5
VQ
Temperature < 0°C
0
-
V SRO ≤ |VSRD|
1
V SRO ≥ |V SRD| and 10mAh of charge has
accumulated
The WRINH values are:
7
-
Where LTF is:
1
1
-
0
The LTF values are:
Temperature > 5°C
2
-
The Write Inhibit flag (WRINH), bit 4, allows or inhibits
writes to all registers.
Bit 1, the Low Temperature Fault flag (LTF), is set when
temperature < 0°C and cleared when temperature > 5°C.
0
FLAGS1 Bits
4
3
-
Where VQ is:
Where OV is:
0
6
-
6
-
5
-
FLAGS1 Bits
4
3
WRINH
-
2
-
1
-
Where WRINH is:
Bit 0, the Overcurrent flag (OC), is set when the average
current is 25% greater than the programmed charging
current. If the charging current is programmed less than
1024mA, overcurrent is set if the average current is
256mA greater than the programmed charging current.
16
0
Allows writes to all registers
1
Inhibits all writes and secures the bq2092
from invalid/undesired writes.
0
-
bq2092
The EDVF values are:
WRINH should be set at the time of pack assembly and
tested to prevent special read-write registers from accidental over-writing.
7
-
The Valid Discharge flag (VDQ), bit 3, is set when a
valid discharge is occurring (discharge cycle valid for
learning new full charge capacity) and cleared if a
partial charge is detected, EDV1 is asserted when T <
0°C, or self-discharge accounts for more than 256mAh of
the discharge.
6
-
5
-
FLAGS1 Bits
4
3
VDQ
5
-
FLAGS1 Bits
4
3
2
-
1
-
0
EDVF
Where EDVF is:
The VDQ values are:
7
-
6
-
0
VQ = 1 and Voltage > EDVF
1
Voltage < EDVF and SEDV = 0
Software Reset
2
-
1
-
0
-
The bq2092 can be reset over the serial port by confirming that the WRINH bit is set to zero in FLAGS1, writing MaxError (0x0c) to any value other than 2, and writing the reset register (0x44) to 8009, causing the bq2092
to reinitialize and read the default values from the
external EEPROM.
Where VDQ is:
0
Self-discharge is greater than 256mAh,
EDV1 = 1 when T < 0°C or VQ = 1
1
On first discharge after RM=FCC
Error Codes and Status Bits
The Stop EDV flag (SEDV), bit 2, is set when the
discharge current > 6.15A and cleared when the
discharge current falls below 6.15A.
Error codes and status bits are listed in Table 7 and
Table 8, respectively.
The SEDV values are:
7
-
6
-
5
-
FLAGS1 Bits
4
3
2
SEDV
Programming the bq2092
1
-
0
-
The bq2092 requires the proper programming of an
external EEPROM for proper device operation. Each
module can be calibrated for the greatest accuracy, or
general “default” values can be used. A programming
kit (interface board, software, and cable) for an IBMcompatible PC is available from Unitrode. Please
contact Unitrode for further details
Where SEDV is:
0
Current < 6.15A
1
Current > 6.15A
The bq2092 uses a 24LC01 or equivalent serial
EEPROM for storing the various initial values, calibration data, and string information. Table 1 outlines the
parameters and addresses for this information. Tables 9
and 10 detail the various register contents and show an
example program value for an 1800mAh NiMH battery
pack, using a 50mΩ sense resistor.
The First End-of-Discharge Voltage flag (EDV1), bit 1, is
set when Voltage < EDV1 = 1 if SEDV = 0 and cleared
when VQ = 1 and Voltage > EDV1.
The EDV1 values are:
7
-
6
-
5
-
FLAGS1 Bits
4
3
2
-
1
EDV1
0
-
Where EDV1 is:
0
VQ = 1 and Voltage > EDV1
1
Voltage < EDV1 and SEDV = 0
The Final End-of-Discharge Voltage flag (EDVF), bit 0, is
set when Voltage < EDVF = 1 if SEDV = 0 and cleared
when VQ = 1 and Voltage() > EDVF.
17
bq2092
Table 7. Error Codes (BatteryStatus() (0x16))
Error
Code
Access
Description
OK
0x0000
read/write bq2092 processed the function code without detecting any errors
Busy
0x0001
read/write bq2092 is unable to process the function code at this time
NotReady
0x0002
read/write
UnsupportedCommand
0x0003
read/write bq2092 does not support the requested function code
AccessDenied
0x0004
Overflow/Underflow
0x0005
BadSize
0x0006
UnknownError
0x0007
Note:
write
bq2092 cannot read or write the data at this time—try again
later
bq2092 detected an attempt to write to a read-only function code
read/write bq2092 detected a data overflow or underflow
write
bq2092 detected an attempt to write to a function code with an
incorrect size data block
read/write bq2092 detected an unidentifiable error
Reading the bq2092 after an error clears the error code.
18
bq2092
Table 8. Status Bits
Alarm Bits
Bit Name
Set When:
Reset When:
OVER_CHARGE_ALARM
bq2092 detects over-temperature or ∆T/ A discharge occurs or when ∆T/∆t, or
over-temperature, ceases during
∆t. (Note: valid charge terminacharge.
tion).
TERMINATE_CHARGE_ALARM
bq2092 detects over-current, overvoltage, over-temperature, or ∆T/∆t
A discharge occurs or when all condiconditions exist during charge.
tions causing the event cease.
Charging current is set to zero, indicating a charge suspend.
∆T/∆t_ALARM
bq2092 detects the rate-ofThe temperature rise falls below the
temperature increase is above the proprogrammed rate.
grammed value (valid termination)
OVER_TEMP_ALARM
bq2092 detects that its internal temperature is greater than the programmed value (valid termination).
Internal temperature falls below
50°C.
TERMINATE_DISCHARGE_ALARM
bq2092 determines that it has supplied all the charge that it can without being damaged (EDVF).
VBAT > VEDVF signifying that the
battery has reached a state of charge
sufficient for it to once again safely
supply power.
REMAINING_CAPACITY_ALARM
bq2092 detects that the RemainingCapacity() is less than that set by
the RemainingCapacity() function.
Either the value set by the RemainingCapacityAlarm() function is lower
than the Remaining Capacity() or
the RemainingCapacity() is increased by charging.
REMAINING_TIME_ALARM
bq2092 detects that the estimated
remaining time at the present discharge rate is less than that set by
the RemainingTimeAlarm() function.
Either the value set by the RemainingTimeAlarm() function is lower
than the AverageTimeToEmpty() or
a valid charge is detected.
Status Bits
Bit Name
Set When:
Reset When:
INITIALIZED
bq2092 is set when the bq2092 has
reached a full or empty state.
Battery detects that power-on or
user-initiated reset has occurred.
DISCHARGING
bq2092 determines that it is not being charged.
Battery detects that it is being
charged.
FULLY_CHARGED
bq2092 determines a valid charge
termination. RM will then be set to
full charge percentage if necessary.
RM discharges below the full charge
percentage
FULLY_DISCHARGED
bq2092 determines that it has
supplied all the charge that it can
RelativeStateOfCharge is greater
without being damaged (that is, conthan or equal to 20%
tinued use will result in permanent
capacity loss to the battery)
19
bq2092
Table 9. Example Register Contents
EEPROM
Address
Description
Low
Byte
High
Byte
EEPROM
Hex Contents
Low
Byte
High
Byte
Example
Values
Notes
De si g n
C a p a ci t y
0x00
0x01
08
07
1800mAh
This sets the initial full charge battery capacity
stored in FCC. FCC is updated with the actual full
to empty discharge capacity after a valid discharge
from RM = FCC to Voltage() = EDV1.
Initial
Battery
Voltage
0x02
0x03
30
2a
10800mV
This register is used to set the battery voltage on reset.
Fast charging
current
0x04
0x05
08
07
1800mA
This register is used to set the fast charge current for
the Smart Charger.
Fast charging
voltage
0x06
0x07
c4
3b
15300mV
This register is used to set the fast charge voltage for
the Smart Charger.
Remaining
Capacity
Alarm
0x08
0x09
b4
00
180mAh
This value represents the low capacity alarm value.
FLAGS1
0x0a
FLAGS2
0x0b
10
FLAGS1 should be set to 10h before pack shipment to
inhibit undesirable writes to the bq2092. (WRINH = 1.)
90
See FLAGS2 register for the bit description and the
Li-Ion = b0h proper value for programming FLAGS2. Selects relaNiMH = 90h tive display mode, selects NiMH compensation factors,
and enables bq2092 Smart Charger control.
The current gain measurement and current integration
gain are related and defined for the bq2092 current
measurement. 0x0c = 37.5/sense resistor value in
ohms.
Current
Measurement
Gain1
0x0c
0x0d
ee
02
37.5/.05
EDV1
0x0e
0x0f
16
db
9450mV
(1.05V/cell)
The value programmed is the two's complement of the
threshold voltage in mV.
EDVF
0x10
0x11
d8
dc
9000mV
(1.0V/cell)
The value programmed is the two's complement of the
threshold voltage in mV.
Note:
1. Can be adjusted to calibrate the battery pack.
20
bq2092
Table 9. Example Register Contents (Continued)
EEPROM
Address
Description
Low
Byte
High
Byte
EEPROM
Hex
Contents
Low High
Byte Byte
Example
Values
Notes
The default value is 0x80 (12.8° + nominal value).
Actual temp (20°C) = Nominal temp. (15°C) - temp.
offset (5°C) where temperature determined by the
bq2092 can be adjusted from 0° to 25.5° (Temperature offset (0-255) ∗ 0 .1) + nominal value temp.
Temperature
Offset1
0x12
32
Maximum
Charge
Temperature,
∆Temp.
0x13
87
Self0x14
Discharge Rate
dd
1.5%
This packed field is the two's complement of
52.73/x, where x = %/day is the self-discharge rate
desired at room temperature.
Digital
Filter
96
0.3mV
This field is used to set the digital magnitude filter
as described in Table 2.
3.2/0.05
This field represents the following: 3.2/sense resistor in ohms. It is used by the bq2092 to scale the
measured voltage values on the SR pin in mA and
mAh. This register also compensates for variations
in the reported sense resistor value.
a0
96% = 60h
2’s (60h) = a0h
This packed field is the two’s complement of the
desired value in RM when the bq2092 determines
a full charge termination. If RM is below this
value, RM is set to this value. If RM is above this
value, then RM is not adjusted.
This packed value is used to set the fast charge and
maintenance charge efficiency for nickel-based batter85% = mainteies. The upper nibble adjusts the maintenance charge
nance comp.
compensation; the lower nibble adjusts the fast
95% = fast
charge compensation.
charge comp.
Maintenance, upper nibble = (eff% ∗ 256 - 128)/8
Fast charge, lower nibble = (eff% ∗ 256 - 192)/4
Current
Integration
Gain1
Full Charge
Percentage
0x15
0x16
0x17
0x18
40
5.0°C
MaxT = 61.2°C Maximum charge temperature is 74 - (mt x 1.6)°C
(74 - (8 * 1.6)) (mt = upper nibble). The ∆T step is (dT*2+16)/10°C
∆T = 3°C
(dT = lower nibble).
((7*2) + 16)/10
00
Charge
Compensation
0x19
bd
Battery
Voltage
Offset1
(VOFF)
0x1a
0a
Voltage
Gain1
0x1b
0x1c
09
17
9.09
Serial
Number
0x1d
0x1e
12
27
10002
This value is used to adjust the battery voltage offset
according to the following:
Voltage () = (VSB (mV) + VOFF) ∗ Voltage Gain
10mV
Voltage gain is packed as two units. For example,
(R4 + R5)/R4 = 9.09 would be stored as: whole number stored in 0x1b (=09h) and the decimal component stored in 0x1c as 256 x 0.09 = 23.
This contains the optional pack serial number.
21
bq2092
Table 9. Example Register Contents (Continued)
EEPROM
Address
Description
Low
Byte
High
Byte
EEPROM
Hex Contents
Low
Byte
Example
Values
High
Byte
Notes
Hold-off time is 20 s ∗ the two’s complement of the
upper nibble value. ∆T is 20 s ∗ the two’s complement of the lower nibble value.
Hold-off
Timer/
∆Time
0x1f
Charge
Cycle
Count
0x20
0x21
00
00
0
This field contains the charge cycle count and should
be set to zero for a new battery.
Maintenance
Charge
Current
0x22
0x23
64
00
100mA
This field contains the desired maintenance current
after fast charge termination by the bq2092.
Reserved
0x24
0x31
Design
Voltage
0x32
0x33
30
2a
10800mV
Specification
Information
0x34
0x35
00
00
Manufacturer
0x36
Date
0x37
a1
20
320 s hold-off
180 s ∆time
07
This is nominal battery pack voltage.
This is the default value for this register.
May 1, 1996 =
8353
Packed per the ManufactureDate description, which
represents May 1, 1996 in this example.
Table 10. Example Register Contents (String Data)
String
Description
Address
0x
X0
0x
X1
0x
X2
0x
X3
0x
X4
0x
X5
0x
X6
0x
X7
0x
X8
0x
X9
0x
Xa
0x
Xb-Xf
Reserved
0x380x3f
00
00
00
00
00
00
00
00
00
00
00
00-00
Manufacturer's
Name
0x400x4f
09
42
B
45
E
4e
N
43
C
48
H
4d
M
41
A
52
R
51
Q
00
00-00
Device Name
0x500x5f
08
42
B
51
Q
32
2
30
0
39
9
32
2
41
A
33
3
31
1
31
1
00-00
Chemistry
0x600x6f
04
4e
N
69
I
4d
M
48
H
00
00
00
00
00
00
00-00
Manufacturer's
Data
0x700x7f
04
44
D
52
R
31
1
35
5
00
00
00
00
00
00
00-00
22
bq2092
Absolute Maximum Ratings
Minimum
Maximum
Unit
VCC
Symbol
Relative to VSS
Parameter
-0.3
+7.0
V
All other pins
Relative to VSS
-0.3
+7.0
V
REF
Relative to VSS
-0.3
+8.5
V
Current limited by R1 (see Figure 1)
VSR
Relative to VSS
TOPR
Operating temperature
Note:
Notes
-0.3
+7.0
V
Minimum 100Ω series resistor should
be used to protect SR in case of a
shorted battery (see the bq2092 application note for details).
0
+70
°C
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 Voltage Thresholds (TA = TOPR; V = 3.0 to 5.5V)
Symbol
Parameter
Minimum
Typical
Maximum
Unit
-50mV
-
50mV
V
Notes
EVSB
Battery voltage error relative to SB
Note:
The accuracy of the voltage measurement may be improved by adjusting the battery voltage offset and
gain, stored in external EEPROM. For proper operation, VCC should be 1.5V greater than VSB.
23
See note
bq2092
Recommended DC Operating Conditions (TA = TOPR)
Symbol
VCC
VREF
RREF
ICC
Parameter
Minimum Typical
Maximum
Unit
Notes
Supply voltage
3.0
4.25
5.5
V
VCC excursion from < 2.0V to ≥
3.0V initializes the unit.
Reference at 25°C
5.7
6.0
6.3
V
IREF = 5µA
Reference at -40°C to +85°C
4.5
-
7.5
V
IREF = 5µA
Reference input impedance
2.0
5.0
-
MΩ
VREF = 3V
-
90
135
µA
VCC = 3.0V
-
120
180
µA
VCC = 4.25V
-
170
250
µA
VCC = 5.5V
Normal operation
VSB
Battery input
0
-
VCC
V
RSBmax
SB input impedance
10
-
-
MΩ
0 < VSB < VCC
IDISP
DISP input leakage
-
-
5
µA
VDISP = VSS
ILVOUT
VOUT output leakage
-0.2
-
0.2
µA
EEPROM off
VSR
Sense resistor input
-0.3
-
2.0
V
VSR < VSS = discharge;
VSR > VSS = charge
RSR
SR input impedance
10
-
-
MΩ
-200mV < VSR < VCC
VIH
0.5 ∗ VCC
-
VCC
V
SCL, SDA
Logic input high
1.4
-
5.5
V
SCC, SCD
0
-
0.3 ∗ VCC
V
SCL, SDA
0.6
V
SCC, SCD
VIL
Logic input low
-0.5
VOL
Data, clock output low
-
-
0.4
V
IOL=350µA, SDA, SCD
IOL
Sink current
100
-
350
µA
VOL≤0.4V, SDA, SCD
VOLSL
SEGX output low, low VCC
-
0.1
-
V
VCC = 3V, IOLS ≤ 1.75mA
SEG1–SEG4
VOLSH
SEGX output low, high VCC
-
0.4
-
V
VCC = 5.5V, IOLS ≤ 11.0mA
SEG1–SEG4
VOHVL
VOUT output, low VCC
VCC - 0.3
-
-
V
VCC = 3V, IVOUT = -5.25mA
VOHVH
VOUT output, high VCC
VCC - 0.6
-
-
V
VCC = 5.5V, IVOUT = -33.0mA
IVOUT
VOUT source current
-33
-
-
mA
At VOHVH = VCC - 0.6V
IOLS
SEGX sink current
-
-
11.0
mA
At VOLSH = 0.4V
Note:
All voltages relative to VSS.
24
bq2092
AC Specifications
Min
Max
Units
FSMB
Symbol
SMBus operating frequency
Parameter
10
100
KHz
Notes
TBUF
Bus free time between stop and
start condition
4.7
µs
THD:STA
Hold time after (repeated) start
condition
4.0
µs
TSU:STA
Repeated start condition setup
time
250
ns
SCD
4.7
µs
External Memory
TSU:STO
Stop condition setup time
4.0
µs
THD:DAT
Data hold time
1
µs
250
TSU:DAT
Data setup time
TEXT1
Data buffering time addresses
40
ms
0x19, 0x1a, 0x1b
TEXT2
String buffering time addresses
0x20-0x23 per character
15
ms
40ms for first character
TPD
Data output delay time
300
3500
ns
External memory only. See Note.
TLOW
Clock low period
4.7
THIGH
Clock high period
4.0
TF
Clock/Data fall time
300
ns
TR
Clock/data rise time
1000
ns
Note:
ns
µs
µs
The external memory must provide this internal minimum delay time to bridge the undefined region
(minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions.
Bus Timing Data
tR
SCC
tF
tHIGH
tSU:STA
tHD:STA
tLOW
tSU:DAT
tSU:STO
tHD:DAT (receiver)
(transmitter)
tPD
SCD
tBUF
TD209201.eps
25
bq2092
16-Pin SOIC Narrow (SN)
16-Pin SN (0.150" SOIC)
D
e
Inches
B
E
H
A
C
A1
.004
L
26
Millimeters
Dimension
Min.
Max.
Min.
Max.
A
0.060
0.070
1.52
1.78
A1
0.004
0.010
0.10
0.25
B
0.013
0.020
0.33
0.51
C
0.007
0.010
0.18
0.25
D
0.385
0.400
9.78
10.16
E
0.150
0.160
3.81
4.06
e
0.045
0.055
1.14
1.40
H
0.225
0.245
5.72
6.22
L
0.015
0.035
0.38
0.89
bq2092
Data Sheet Revision History
Change No.
1
Page No.
21
1
21
2
2
2
2
2
2
Note:
Description
Correction in the Self-Discharge Rate EEPROM Hex contents
Correction in the Self-Discharge Rate example values
Nature of Change
Was: f0
Is: df
Was: 0.15C
Is: 1.5%
3
Updated application diagram
5
Added VSB should not exceed 2.4V
12
Clarified operation of bits 13 and 14 in BatteryMode()
13
Clarified invalid data indication in RunTimeToEmpty()
13
Clarified invalid data indication in AverageTimeToEmpty()
21
Update formula for voltage divider in Voltage Gain.
Change 1 = Nov. 1997 B changes from April 1997.
Change 2 = June 1999 C changes from Nov. 1997 B.
Ordering Information
bq2092
Temperature Range:
blank = Commercial (-20 to +70°C)
Package Option:
SN = 16-pin narrow SOIC
Device:
bq2092 Gas Gauge IC With SMBus-Like Interface
27
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 acknowledgement, 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.
CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF
DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL
APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR
WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER
CRITICAL APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO
BE FULLY AT THE CUSTOMER’S RISK.
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  1999, Texas Instruments Incorporated