BQ2945 [TI]
Gas Gauge IC with SMBus Interface; 电量监测计IC ,带有SMBus接口型号: | BQ2945 |
厂家: | TEXAS INSTRUMENTS |
描述: | Gas Gauge IC with SMBus Interface |
文件: | 总32页 (文件大小:255K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
bq2945
Gas Gauge IC with SMBus Interface
The bq2945 estimates battery self-
discharge based on an internal
Features
General Description
timer and temperature sensor and
The bq2945 Gas Gauge IC With
user-programmable rate informa-
SMBus Interface is intended for
tion stored in external EEPROM.
battery-pack or in-system installa-
The bq2945 also automatically re-
tion to maintain an accurate record
calibrates or “learns” battery capac-
of available battery charge. The
ity in the full course of a discharge
bq2945 directly supports capacity
cycle from full to empty.
➤ Provides accurate measurement
of available charge in NiCd,
NiMH, and Li-Ion batteries
➤ Supports SBS v1.0 data set and
two-wire interface
monitoring for NiCd, NiMH, and
➤ Two programmable general
purpose output ports for added
flexibility
Li-Ion battery chemistries.
The bq2945 may operate directly
from three nickel chemistry cells.
With the REF output and an exter-
nal transistor, a simple, inexpensive
regulator can be built to provide VCC
for other battery cell configurations.
The bq2945 uses the System Man-
agement Bus v1.0 (SMBus) protocol
and supports the Smart Battery
Data (SBData) commands. The
bq2945 also supports the SBData
charge control functions. Battery
state-of-charge, remaining capacity,
remaining time, and chemistry are
available over the serial link.
Battery-charge state can be directly
indicated using a five-segment LED
display to graphically depict battery
full-to-empty in 20% increments.
➤ Designed for battery pack inte-
gration
- Low operating current
- Complete circuit can fit on less
than ¾ square inch of PCB
space
An external EEPROM programs
initial values into the bq2945 and is
necessary for proper operation.
➤ Supports SBS charge control
commands for NiCd, NiMH, and
Li-Ion
➤ Drives a five-segment LED dis-
play for remaining capacity
indication
➤ 16-pin narrow SOIC
Pin Connections
Pin Names
SR
Sense resistor input
Display control input
Battery sense input
Control pin 2
VCC
3.0–6.5V
DISP
SB
LED1
LED segment 1/
EEPROM clock
V
1
2
3
4
5
6
16
15
14
13
12
11
V
OUT
CC
LED /ESCL
REF
1
LED2
LED segment 2/
EEPROM data
CP2
LED /ESDA
SMBC
SMBD
2
SMBD SMBus data input/output
SMBC SMBus clock
LED3
LED4
LED5
CP1
LED segment 3
LED segment 4
LED segment 5
Control pin 1
LED
LED
LED
CP
3
4
5
CP
SB
2
REF
Voltage reference output
EEPROM supply output
7
8
10
9
DISP
SR
VOUT
1
V
SS
VSS
System ground
16-Pin Narrow SOIC
PN294501.eps
6/99 C
1
bq2945
Display control input
DISP
Pin Descriptions
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.
Supply voltage input
VCC
LED display segment outputs
LED1–
LED5
Each output may drive an external LED.
Secondary battery input
SB
Serial memory clock
ESCL
Monitors the pack voltage through a high-
impedance resistor divider network. The
pack voltage is reported in the SBD register
function Voltage (0x09) and is monitored for
end-of-discharge voltage and charging volt-
age parameters.
Output used to clock the data transfer be-
tween the bq2945 and the external non-
volatile configuration memory.
ESDA
Serial memory data and address
Bidirectional pin used to transfer ad-
dress and data to and from the bq2945
and the external nonvolitile configura-
tion memory.
SMBus data
SMBD
Open-drain bidirectional pin used to trans-
fer address and data to and from the
bq2945.
Control pins 1 and 2
CP1–
CP2
SMBus clock
SMBC
REF
These open-drain outputs can be con-
trolled by an SMBus command from the
host. CP2 can also act as a digital input.
Open-drain bidirectional pin used to clock
the data transfer to and from the bq2945.
Ground
VSS
SR
Reference output for regulator
Sense resistor input
REF provides a reference output for an op-
tional FET-based micro-regulator.
The voltage drop (VSR) across pins SR and
V
SS is monitored and integrated over time
Supply output
VOUT
to interpret charge and discharge activity.
The SR input is connected to the sense re-
sistor 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 bq2945
is VSR + VOS. (See Table 3.)
Supplies power to the external EEPROM
configuration memory.
2
bq2945
Figure 1 shows a typical battery pack application of the
bq2945 using the LED capacity display, the serial port,
and an external EEPROM for battery pack program-
ming information. The bq2945 must be configured and
calibrated for the battery-specific information to ensure
proper operation. Table 1 outlines the configuration in-
formation that must be programmed in the EEROM.
Functional Description
General Operation
The bq2945 determines battery capacity by monitoring
the amount of charge put into or removed from a re-
chargeable battery. The bq2945 measures discharge
and charge currents, estimates self-discharge, and
monitors the battery for low-battery voltage thresholds.
The charge is measured 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 envi-
ronmental and operating conditions.
An internal temperature sensor eliminates the need
for an external thermistor—reducing cost and compo-
nents. An internal, temperature-compensated time-
base eliminates the need for an external resonator,
further reducing cost and components. The entire cir-
3
cuit in Figure 1 can occupy less than square inch of
4
board space.
Chart 1
No. of Cells
Q1
R4
R5
R11
604K
806K
604K
See Chart 1 for resistor values and
Q1 FET selection
2
BSS138
BSS138
2N7002
301K
499K
698K
100K
100K
100K
3
4
6
8
9
499K
698K
499K
806K
499K
604K
BSS138 100K
BSS138 100K
Notes:
R4, R5, and R11 values depend on the battery voltage.
R12 and R13 nominal values must be 10k
2N7002 100K 806K
100K
10
12
2N7002
2N7002
909K
909K
86.5K
909K
Figure 1. Battery Pack Application Diagram—LED Display
3
bq2945
Table 1. Configuration Memory Map
Parameter Name
Address
Description
Length
Units
Number of EEPROM data locations
must = 0x64
EEPROM length
EEPROM check1
0x00
0x01
8 bits
NA
EEPROM data integrity check byte
must = 0x5b
8 bits
NA
Remaining time alarm
Remaining capacity alarm
Reserved
0x02/0x03 Sets RemainingTimeAlarm (0x02)
0x04/0x05 Sets RemainingCapacityAlarm (0x01)
0x06/0x07 Reserved for future use
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
96 bits
16 bits
16 bits
64 bits
minutes
mAh
NA
Initial charging current
Charging voltage
Battery status
0x08/0x09 Sets the initial charging current
0x0a/0x0b Sets ChargingVoltage (0x15)
0x0c/0x0d Initializes BatteryStatus (0x16)
0x0e/0x0f Initializes and stores CycleCount (0x17)
0x10/0x11 Sets DesignCapacity (0x18)
mA
mV
NA
Cycle count
cycles
mAh
mV
Design capacity
Design voltage
0x12/0x13 Sets DesignVoltage (0x19)
Specification information
Manufacturer date
Serial number
0x14/0x15 Programs SpecificationInfo (0x1a)
0x16/0x17 Programs ManufactureDate (0x1b)
0x18/0x19 Programs SerialNumber (0x1c)
0x1a/0x1b Sets ChargingCurrent (0x14)
NA
NA
NA
Fast-charging current
mA
Maintenance-charge current 0x1c/0x1d Sets the trickle current request
mA
Reserved
0x1e/0x1f Reserved must = 0x0000
mAh
NA
Manufacturer name
Current integration gain
Reserved
0x20-0x2b Programs ManufacturerName (0x20)
0x2c/0x2d Programs the sense resistor scale
0x2e/0x2f Reserved for future use
NA
NA
Device name
0x30-0x37 Programs DeviceName (0x21)
NA
Sets the upper limit of the taper current for charge
termination
Li-Ion taper current
0x38/0x39
16 bits
mA
Maximum overcharge limit
Reserved
0x3a/0x3b Sets the maximum amount of overcharge
16 bits
8 bits
8 bits
8 bits
8 bits
64 bits
8 bits
8 bits
NA
NA
NA
NA
NA
NA
NA
NA
0x3c
0x3d
0x3e
0x3f
Reserved must = 0x00
Access protect
Locks commands outside of the SBS data set
Initializes FLAGS1
FLAGS1
FLAGS2
Initializes FLAGS2
Device chemistry
Battery voltage offset
Temperature offset
0x40-0x47 Programs DeviceChemistry (0x22)
0x48
0x49
Voltage calibration value
Temperature calibration value
Maximum temperature and
∆T step
Sets the maximum charge temperature and the ∆T
step for ∆T/∆t termination
0x4a
8 bits
NA
4
bq2945
Table 1. Configuration Memory Map (Continued)
Parameter Name
Charge efficiency
Address
Description
Length
Units
0x4b
Sets the high/low charge rate efficiencies
8 bits
NA
Sets the percent at which the battery is consid-
ered fully charged
Full-charge percentage
0x4c
8 bits
NA
Digitial filter
0x4d
0x4e
0x4f
Sets the minimum charge/discharge threshold
Reserved for future use
8 bits
8 bits
NA
NA
NA
NA
NA
NA
NA
NA
NA
mAh
NA
NA
Reserved
Self-discharge rate
Manufacturer data
Voltage gain1
Sets the battery’s self-discharge rate
8 bits
0x50-0x55 Programs ManufacturerData (0x23)
0x56/0x57 Battery divider calibration value
0x58-0x59 Reserved
48 bits
16 bits
16 bits
16 bits
16 bits
16 bits
16 bits
8 bits
Reserved
Current measurement gain
End of discharge voltage1
0x5a/0x5b Sense resistor calibration value
0x5c/0x5d Sets EDV1
End of discharge voltage final 0x5e/0x5f Sets EDVF
Full-charge capacity
∆t step
0x60/0x61 Initializes and stores FullChargeCapacity (0x10)
0x62
0x63
Sets the ∆t step for ∆T/∆t termination
Sets ∆T/∆t hold-off timer
Hold-off time
8 bits
EEPROM data integrity check byte
must = 0xb5
EEPROM check 2
Reserved
0x64
8 bits
NA
NA
0x65-0x7f Reserved for future use
5
bq2945
Voltage Thresholds
Layout Considerations
In conjunction with monitoring VSR for charge/discharge
currents, the bq2945 monitors the battery potential
through the SB pin. The voltage potential is deter-
mined through a resistor-divider network per the fol-
lowing equation:
The bq2945 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
of a single-point ground return. Sharing high-current
ground with small signal ground causes undesirable
noise on the small signal nodes. Additionally, in refer-
ence to Figure 1:
R5
R4
MBV
2.25
=
− 1
where MBV is the maximum battery voltage, R5 is con-
nected to the positive battery terminal, and R4 is con-
nected to the negative battery terminal. R5/R4 should be
rounded to the next higher integer. R5 and R4 should be
sized so that the voltage at the SB pin (VSB) should
never exceed 2.4V.
n
The capacitors (C1 and C2) 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
.
n
n
n
The sense resistor capacitor (C3) should be placed as
close as possible to the SR pin.
The battery voltage is monitored for the end-of-
discharge voltages (EDV1 and EDVF) and for alarm
warning conditions. EDV threshold levels are used to de-
termine when the battery has reached an “empty” state.
The bq2945 generates an alarm warning when the bat-
tery voltage exceeds the maximum charging voltage by
5% or if the voltage is below EDVF. The battery voltage
gain, the two EDV thresholds, and the charging voltage
are programmable in the EEPROM.
The bq2945 should be in thermal contact with the
cells for optimum temperature measurement.
An optional zener (D9) may be necessary to ensure that
VCC is not above the maximum rating during
operation.
Gas Gauge Operation
If VSB is below either of the two EDV thresholds, the associ-
ated flag is latched and remains latched, independent of
The operational overview diagram in Figure 2 illus-
trates the operation of the bq2945. The bq2945 accumu-
lates 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 of
the battery. Self-discharge is temperature-compensated.
VSB, until the next valid charge.
EDV monitoring may be disabled under certain condi-
tions. If the discharge current is greater than approxi-
mately 6A, EDV monitoring is disabled and resumes af-
ter the current falls below 6A.
The main counter, RemainingCapacity (RM), represents
the available battery capacity at any given time. Battery
charging increments the RM register, whereas battery dis-
charging and self-discharge decrement the RM register
and increment the internal Discharge Count Register
(DCR).
Reset
The bq2945 is reset when first connected to the battery
pack. On power-up, the bq2945 initializes and reads the
EEPROM configuration memory. The bq2945 can also
be reset with a command over the SMBus. The software
reset sequence is the following: (1) write MaxError
(0x0c) to 0x0000; (2) write the reset register (0x64) to
0x8009. A software reset can only be performed if the
bq2945 is in an unlocked state as defined by the value in
location 0x3d of the EEPROM (EE 0x3d) on power-up.
The Discharge Count Register 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 bq2945 adapts
its capacity determination based on the actual condi-
tions of discharge.
Temperature
The battery's initial full capacity is set to the value stored
in EE 0x60-0x61. Until FCC is updated, RM counts up to,
but not beyond, this threshold during subsequent charges.
The bq2945 monitors temperature sensing using an in-
ternal sensor. The temperature is used to adapt charge
and self-discharge compensations as well as to monitor
for maximum temperature and ∆T/∆t during a bq2945
controlled charge. Temperature may also be accessed
over the SMBus with command 0x08.
1. FullChargeCapacity or learned-battery
capacity:
FCC is the last measured discharge capacity of the
battery. On initialization (application of VCC or reset),
FCC is set to the value stored in the EEPROM. Dur-
ing subsequent discharges, FCC is updated with the
6
bq2945
Charge
Current
Discharge
Current
Self-Discharge
Timer
Inputs
State-of-charge
and
Temperature
Compensation
Temperature
Compensation
+
+
-
-
Full
Charge
Capacity
(FCC)
Discharge
Count
Register
(DCR)
Remaining
Capacity
(RM)
+
<
Main Counters
and Capacity
Reference (FCC)
Qualified
Transfer
Temperature, Other Data
Chip-Controlled
Available Charge Serial Interface
LED Display
Two-Wire
Outputs
FG294501.eps
Figure 2. Operational Overview
latest measured capacity in the Discharge Count Reg-
ister, representing a discharge from full to below
EDV1. A qualified discharge is necessary for a capac-
ity transfer from the DCR to the FCC register. Once
updated, the bq2945 writes the new FCC to the EE-
PROM. The FCC also serves as the 100% reference
threshold used by the relative state-of-charge calcula-
tion and display.
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.
The DCR value becomes the new FCC value on the
first charge after a qualified discharge to EDV1. A
qualified discharge to EDV1 occurs if all of the fol-
lowing conditions exist:
2. DesignCapacity (DC):
The DC is the user-specified battery capacity and is
programmed from external EEPROM. The DC also
provides the 100% reference for the absolute dis-
play mode.
n
No valid charge initiations (charges greater than
10mAh), where VSRO > +VSRD occurred during
the period between RM = FCC and EDV1 de-
tected.
3. RemainingCapacity (RM):
n
n
The self-discharge count is not more than
256mAh.
RM counts up during charge to a maximum value of
FCC and down during discharge and self-discharge to
0. RM is set to 000Ah after the EDV1 threshold has
been reached and a valid charge has been 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 if the battery
pack is under bq2945 charge control. On initializa-
tion, RM is set to the value stored in EE
0x1e—0x1f.
The temperature is ≥ 273°K (0°C) when the
EDV1 level is reached during discharge.
The valid discharge flag (VDQ) in FLAGS1 indi-
cates whether the present discharge is valid for an
FCC update. FCC cannot be reduced by more than
256mAh during any single cycle.
Charge Counting
Charge activity is detected based on a positive voltage
on the SR input. If charge activity is detected, the
bq2945 increments RM at a rate proportional to VSRO
and, if enabled, activates an LED display. Charge ac-
tions increment the RM after compensation for charge
state and temperature.
4. Discharge Count Register (DCR):
The DCR counts up during discharge independent
of RM and can continue increasing after RM has
decremented to 0. Prior to RM = 0 (empty battery),
7
bq2945
The bq2945 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 threshold counting continues until VSRO falls be-
seconds–320seconds). Typical settings for 1°C/min in-
clude 2°C over 120 seconds and 3°C over 180 seconds.
Longer times are required for increased slope resolution.
∆T
∆t
∆T
∆t
is set by the formula:
=
low VSRD
.
VSRD is a programmable threshold as de-
scribed in the Digital Magnitude Filter section.
o
[(lower nibble of EE 0x4a)∗2 + 16]/ 10
[2' s(EE 0x62) ∗ 20]
C
s
Discharge Counting
In addition to the ∆T/∆t timer, there is a hold-off timer,
which starts when the battery is being charged at more
than 255mA and the temperature is above 25°C. Until
this timer expires, ∆T/∆t is suspended. If the tempera-
ture falls below 25°C, or if charging current falls below
255mA, the timer is reset and restarts only if these con-
ditions are once again within range. The hold-off time is
programmed in EE 0x63.
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.
Self-Discharge Estimation
The bq2945 continuously decrements RM and incre-
ments DCR for self-discharge based on time and tem-
perature. The bq2945 self-discharge estimation rate is
programmed in EE 0x4f and can be set from 0 to 25%
per day for 20–30°C. This rate doubles every 10°C
from 30°C to 70°C and halves every 10°C from 20°C to
0°C.
Charge Termination
Once the bq2945 detects a valid charge termination, the
Fully_Charged, Terminate_Charge_Alarm, and the
Over_Charged_Alarm bits are set in BatteryStatus, and
the requested charge current is set to zero. Once the ter-
minating conditions cease, the Terminate_Charge_Alarm
and the Over_Charged_Alarm are cleared, and the re-
quested charging current is set to the maintenance rate.
The bq2945 requests the maintenance rate until RM falls
below 95% of full-charge percentage. Once this occurs,
the Fully_Charged bit is cleared, and the requested
charge current and voltage are set to the fast-charge rate.
Charge Control
The bq2945 supports SBS charge control by broadcast-
ing the ChargingCurrent and the ChargingVoltage to
the Smart Charger address. The bq2945 broadcasts
charging commands every 10 seconds; the broadcasts
can be disabled by writing bit 14 of BatteryMode to 1.
On reset, the initial charging current broadcast to the
charger is set to the value programmed in EE 0x08-
0x09. The bq2945 updates the value used in the charg-
ing current broadcasts based on the battery’s state of
charge, voltage, and temperature.
Bit 4 (CC) in FLAGS2 determines whether RM is modi-
fied after a ∆T/∆t or current taper termination occurs. If
CC = 1, RM may be set from 0 to 100% of the FullChar-
geCapacity as defined in EE 0x4c. If RM is below the
full-charge percentage, RM is set to the full-charge per-
centage of FCC. If RM is above the full-charge percent-
age, RM is not modified.
The bq2945 internal charge control is compatible with
nickel-based and Li-Ion chemistries. The bq2945 uses
current taper detection for Li-Ion primary charge termi-
nation and ∆T/∆t for nickel based primary charge termi-
nation. The bq2945 also provides a number of safety
terminations based on battery capacity, voltage, and
temperature.
Charge Suspension
The bq2945 may temporarily suspend charge if it de-
tects a charging fault. The charging faults include the
following conditions:
Current Taper
n
Maximum Overcharge: If charging continues for
more than the programmed maximum overcharge
limit as defined in EE 0x3a—0x36 beyond RM=FCC,
the Fully_Charged bit is set, and the requested
charging current is set to the maintenance rate.
For Li-Ion charge control, the ChargingVoltage must be
set to the desired pack voltage during the constant volt-
age charge phase. The bq2945 detects a current taper
termination when it measures the pack voltage to be
within 128mV of the requested charging voltage and
when the AverageCurrent is between the programmed
threshold in EE 0x38—0x39 and 100 mA for at least 40s.
n
Overvoltage: An over-voltage fault exists when the
bq2945 measures a voltage more than 5% above the
ChargingVoltage.
When the bq2945 detects an
overvoltage condition, the requested charge current
is set to 0 and the Terminate_Charge_Alarm bit is
set in Battery Status. The alarm bit is cleared when
∆T/∆t
The ∆T/∆t used by the bq2945 is programmable in both
the temperature step (1.6°C–4.6°C) and time step (20
8
bq2945
the current drops below 256mA and the voltage is
less than 105% of ChargingVoltage.
QET = 0 if
T < 30°C
QET = 0.02 if 30°C ≤ T < 40°C
QET = 0.05 if T ≥ 40°C
n
Overcurrent: An overcurrent fault exists when the
bq2945 measures a charge current more than 25%
above the ChargingCurrent. If the ChargingCurrent
is less than 1024mA, an overcurrent fault exists if the
charge current is more than 256mA above the
QET is 0 over the entire temperature range for Li-Ion.
ChargingCurrent.
When the bq2945 detects an
Digital Magnitude Filter
overcurrent condition, the requested charge current
is set to 0 and the Terminate_Charge_Alarm bit is set
in Battery Status. The alarm bit is cleared when the
current drops below 256mA.
The bq2945 has a programmable digital filter to elimi-
nate charge and discharge counting below a set
threshold, VSRD. Table 2 shows typical digital filter
settings. The proper digital filter setting can be calcu-
lated using the following equation.
n
Maximum Temperature: When the battery
temperature exceeds the programmed maximum
temperature, the requested charge current is set to
45
DMF =
zero
and
the
Over_Temp_Alarm
and
the
VSRD
Terminate_Charge_Alarm bits are set in Battery
Status. The alarm bits are cleared when the
temperature drops below 50°C.
Table 2. Typical Digital Filter Settings
DMF
75
DMF Hex.
VSRD (mV)
0.60
n
Low Temperature: When the battery temperature
is less than 0°C, the requested charge current is set
to the maintenance rate. Once the temperature is
above 5°C, the requested charge current is set to the
fast rate.
4B
64
100
150
175
200
0.45
96
0.30
AF
C8
0.26
n
Undervoltage: When the battery voltage is below
the EDVF threshold, the requested charge current is
set to the maintenance rate. Once the voltage is
above EDVF, the requested charge current is set to
the fast rate.
0.23
Error Summary
Capacity Inaccurate
Count Compensations
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 ca-
pacity. This error is present until a qualified discharge
occurs and FCC is updated (see the DCR description).
The other cause of FCC error is battery wear-out. As
the battery ages, the measured capacity must be ad-
justed to account for changes in actual battery capacity.
Periodic qualified discharges from full to empty will
minimize errors in FCC.
Charge activity is compensated for temperature and
state-of-charge before updating the RM and/or DCR.
Self-discharge estimation is compensated for tempera-
ture before updating RM or DCR.
Charge Compensation
Charge efficiency is compensated for state-of-charge,
temperature, and battery chemistry. The charge effi-
ciency is adjusted using the following equations:
1.) RM = RM * (QEFC − QET
)
Current-Sensing Error
where RelativeStateOfCharge < FullChargePercentage,
and QEFC is the programmed fast-charge efficiency vary-
ing from 0.75 to 1.0.
Table 3 illustrates the current-sensing error as a function
of VSR
. A digital filter eliminates charge and discharge
counts to the RM register when -VSRD < VSRO < + VSRD
.
2.) RM = RM * (QETC − QET
)
Display
where RelativeStateOfCharge ≥ FullChargePercentage
and QETC is the programmed maintenance (trickle)
charge efficiency varying from 0.75 to 1.0.
The bq2945 can directly display capacity information
using low-power LEDs. The bq2945 displays the battery
charge state in either absolute or relative mode. In rela-
tive mode, the battery charge is represented as a per-
centage of the FCC. Each LED segment represents 20%
of the FCC.
QET is used to adjust the charge efficiency as the battery
temperature increases according to the following:
9
bq2945
Table 3. bq2945 Current-Sensing Errors
Symbol
Parameter
Typical
Maximum
Units
Notes
VOS
Offset referred to VSR
75
150
µV
DISP = VCC.
Integrated non-linearity
error
Add 0.1% per °C above or below 25°C
and 1% per volt above or below 4.25V.
INL
1
4
1
%
%
Integrated non-
repeatability error
Measurement repeatability given
similar operating conditions.
INR
0.5
In absolute mode, each segment represents a fixed
amount of charge, 20% of the DesignCapacity. 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.
Communicating with the bq2945
The bq2945 includes a simple two-pin (SMBC and
SMBD) bi-directional serial data interface. A host proc-
essor uses the interface to access various bq2945 regis-
ters; see Table 4. This method allows battery character-
istics to be monitored easily. The open-drain SMBD and
SMBC pins on the bq2945 are pulled up by the host sys-
tem, or may be connected to VSS, if the serial interface is
not used.
When DISP is tied to VCC, the LED1-5 outputs are inac-
tive. When DISP is left floating, the display becomes ac-
tive whenever the bq2945 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
The interface uses a command-based protocol, where the
host processor sends the battery address and an eight-
bit command byte to the bq2945. The command directs
the bq2945 to either store the next data received to a
register specified by the command byte or output the
data specified by the command byte.
VCC to reactivate the display.
LED1 blinks at a 4Hz rate whenever VSB has been de-
tected to be below EDV1 (EDV1 = 1), indicating a low-
battery condition. VSB below EDVF (EDVF = 1) disables
the display output.
bq2945 Data Protocols
Microregulator
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 bq2945. (See Figure 3.)
The bq2945 can operate directly from three nickel chem-
istry cells. To facilitate the power supply requirements
of the bq2945, an REF output is provided to regulate an
external low-threshold n-FET. A micropower source for
the bq2945 can be inexpensively built using a 2N7002 or
BSS138 FET and an external resistor. (See Figure 1.)
The value of R11 depends on the battery pack’s nominal
voltage.
Host-to-bq2945 Message Protocol
The Bus Host communicates with the bq2945 using one
of three protocols:
n
n
n
Read word
Write word
Read block
The particular protocol used is a function of the com-
mand. The protocols used are shown in Figure 3.
Host-to-bq2945 Messages
(see Table 4)
ManufacturerAccess() (0x00)
This function is used to control CP1 and CP2. (See Table
7.)
10
bq2945
1
7
1
0
1
8
1
8
1
8
1
1
Battery Address
S
A
Command Code
A
Data byte low
A
Data byte high
A
P
0001011
Write Word
1
7
1
0
1
8
1
1
7
1
1
1
Battery Address
S
A
Command Code
A
S
Battery Address
A
0001011
8
1
8
1
Data byte low
A
Data byte high
A
P
System Host
Read Word
1
7
1
0
1
8
1
1
7
1
1
1
bq2945
Battery Address
0001011
S
A
Command Code
A
S
Battery Address
A
A – ACKNOWLEDGE
A – NOT ACKNOWLEDGE
S – START
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
P – STOP
Block Read
FG294501.eps
Figure 3. Host Communication Protocols
RemainingCapacityAlarm() (0x01)
BatteryMode() (0x03)
This function sets or returns the low-capacity alarm
value. When RM falls below the RemainingCapac-
ityAlarm value initialized from the external EE-
PROM, the Remaining_Capacity_Alarm bit is set in
BatteryStatus. The system may alter this alarm dur-
ing operation.
This read/write word selects the various battery opera-
tional modes. The bq2945 supports the battery capacity
information specified in mAh. This function also deter-
mines whether the bq2945 charging values are broad-
casted to the Smart Battery Charger address.
Writing bit 14 to 1 disables voltage and current Master
Mode broadcasts to the Smart Battery Charger. Bit 14 is
automatically reset to 0 if SMBC and SMBD = 0 for
greater than 2 seconds (i.e. pack removal).
Input/Output: unsigned integer. This sets/returns
the value where the Remaining_Capacity_Alarm
bit is set in Battery Status.
Units: mAh
Writing bit 13 to 1 disables all Master Mode broadcasts
including alarm messages to the Smart Battery Charger
and Host. The bit remains set until overwritten. Pro-
gramming bit 3 of FLAGS2 in the EEPROM (EE0x3f)
initializes this bit to a 1.
Range: 0 to 65,535mAh
RemainingTimeAlarm() (0x02)
This function sets or returns the low remaining time
alarm value. When the AverageTimeToEmpty falls be-
low this value, the Remaining_Time_Alarm bit in Bat-
teryStatus is set. The default value for this register is
programmed in EE 0x02-0x03. The system may alter
this alarm during operation.
Bit 7 is the condition request flag. It is set when the
bq2945 is initialized from the EEPROM and reset when
a learning cycle has been completed. It is also set to a 1
if CycleCount increases by 32 without a new learning
cycle.
AtRate() (0x04)
Input/Output: unsigned integer. This sets/returns
the value where the Remaining_Time_Alarm bit is
set in Battery Status.
This read/write word is the first half of a two-function
set used to set the AtRate value used in calculations
made by the AtRateTimeToFull and AtRateTime-
ToEmpty.
Units: minutes
Range: 0 to 65,535 minutes
n
When the AtRate value is positive, the
AtRateTimeToFull function returns the predicted
time to full-charge at the AtRate value of charge.
11
bq2945
Table 4. bq2945 Register Functions
Function
Code
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0a
0x0b
0x0c
Access
read/write
read/write
read/write
read/write
read/write
read
Units
-
Defaults1
ManufacturerAccess
Remaning_Capacity_Alarm
Remaining_Time_Alarm
BatteryMode
-
E2
E2
-
mAh
minutes
bit flag
mA
AtRate
-
AtRateTimeToFull
AtRateTimeToEmpty
AtRateOK
minutes
minutes
Boolean
0.1°K
mV
-
read
-
read
-
Temperature
read
2930
E2
0
Voltage
read
Current
read
mA
AverageCurrent
MaxError
read
mA
0
read
percent
percent
percent
mAh
100
-
RelativeStateOfCharge
AbsoluteStateOfCharge
RemainingCapacity
FullChargeCapacity
RunTimeToEmpty
AverageTimeToEmpty
AverageTimeToFull
ChargingCurrent
ChargingVoltage
Battery Status
0x0d
0x0e
0x0f
read
read
-
read
E2
E2
-
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1a
0x1b
0x1c
read
mAh
read
minutes
minutes
minutes
mA
read
-
read
-
read
E2
E2
E2
E2
E2
E2
E2
E2
E2
-
read
mV
read
bit flags
cycle
CycleCount
read
DesignCapacity
DesignVoltage
read
mAh
read
mV
Specification Info
ManufactureDate
SerialNumber
read
-
read
-
read
integer
-
Reserved
0x1d - 0x1f
0x20
0x21
-
ManufacturerName
DeviceName
read
string
string
E2
E2
read
Note:
1. Defaults after reset or power-up.
12
bq2945
Table 4. bq2945 Register Functions (Continued)
Function
DeviceChemistry
Code
0x22
0x23
0x2f
Access
read
Units
string
string
bit flags
-
Defaults1
E2
E2
E2
E2
ManufacturerData
read
FLAG1 and FLAG2
read
End of Discharge Voltage 1 (EDV1)
0x3e
read
End of Discharge Voltage Final
(EDVF)
0x3f
read
-
E2
Note:
1. Defaults after reset or power-up.
13
bq2945
n
When the AtRate value is negative, the
AtRateTimeToEmpty function returns the predicted
operating time at the AtRate value of discharge.
Output: unsigned integer. Returns the cell tem-
perature in tenths of degrees Kelvin increments.
Units: 0.1°K
Input/Output: signed integer. AtRate is positive
for charge and negative for discharge.
Range: 0 to +500.0°K
Granularity: 0.5°K or better
Accuracy: 3°K after calibration
Units: mA
Range: -32,768mA to 32,767mA
Voltage() (0x09)
AtRateTimeToFull() (0x05)
This read-only word returns the cell-pack voltage (mV).
This read-only word returns the predicted remaining
time to fully charge the battery at the AtRate value
(mA) and is valid only if read immediately after an
AtRate command.
Output: unsigned integer. Returns the battery ter-
minal voltage in mV.
Units: mV
Output: unsigned integer. Returns the predicted
time to full charge.
Range: 0 to 65,535mV
Granularity: 0.2% of DesignVoltage
Accuracy: 1% of DesignVoltage after calibration
Units: minutes
Range: 0 to 65,534min
Granularity: 2 min or better
Current() (0x0a)
Invalid Data Indication: 65,535 indicates that the
AtRate value is negative.
This read-only word returns the current through the
battery's terminals (mA).
AtRateTimeToEmpty() (0x06)
Output: signed integer. Returns the charge/dis-
charge rate in mA, where positive is for charge
and negative is for discharge
This read-only word returns the predicted remaining op-
erating time if the battery is discharged at the AtRate
value and is valid only if read immediately after an
AtRate command.
Units: mA
Range: 0 to 32,767mA for charge or 0 to
–32,768mA for discharge
Output: unsigned integer. Returns the predicted
time to empty.
Granularity: 0.2% of the DesignCapacity or better
Accuracy: 1% of the DesignCapacity after calibration
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
AverageCurrent() (0x0b)
This read-only word returns a rolling average of the cur-
rent through the battery's terminals. The AverageCur-
rent function returns meaningful values after the bat-
tery's first minute of operation.
Invalid Data Indication: 65,535 indicates that the
AtRate value is not negative.
AtRateOK() (0x07)
Output: signed integer. Returns the charge/dis-
charge rate in mA, where positive is for charge
and negative is for discharge
This read-only word returns a Boolean value that indi-
cates whether or not the EDVF flag has been set.
Boolean: Indicates if the battery can supply addi-
tional energy.
Units: mA
Range: 0 to 32,767mA for charge or 0 to
–32,768mA for discharge
Units: Boolean
Range: TRUE ≠ 0, FALSE = 0
Granularity: 0.2% of the DesignCapacity or better
Accuracy:
bration
1% of the DesignCapacity after cali-
Temperature() (0x08)
This read-only word returns the cell-pack's internal
temperature.
14
bq2945
MaxError() (0x0c)
Granularity: 0.2% of DesignCapacity or better
Returns the expected margin of error (%) in the state of
charge calculation.
Accuracy: MaxError ∗ FCC after circuit and ca-
pacity calibration
Output: unsigned integer. Returns the percent un-
certainty for selected information.
FullChargeCapacity() (0x10)
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. The new FCC is stored
to EEPROM within 400ms of a valid charge after a
qualified discharge.
Units: %
Range: 0 to 100%
RelativeStateOfCharge() (0x0d)
This read-only word returns the predicted remaining
battery capacity expressed as a percentage of FullChar-
geCapacity (%). RelativeStateOfCharge is only
valid for battery capacities more than 1504mAh
and less than 10,400mAh.
Output: unsigned integer. Returns the estimated full
charge capacity in mAh.
Units: mAh
Range: 0 to 65,535mAh
Output: unsigned integer. Returns the percent of re-
maining capacity.
Granularity: 0.2% of DesignCapacity or better
Units: %
Accuracy: MaxError ∗ FCC after circuit and ca-
pacity calibration
Range: 0 to 100%
Granularity: 1%
RunTimeToEmpty() (0x11)
Accuracy: MaxError after circuit and capacity
calibration
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.
AbsoluteStateOfCharge() (0x0e)
This read-only word returns the predicted remaining
battery capacity expressed as a percentage of DesignCa-
pacity (%). Note that AbsoluteStateOfCharge can return
values greater than 100%. Absolute StateOfCharge
is only valid for battery capacities more than
1504mAh and less than 10,400mAh.
Output: unsigned integer. Returns the minutes of
operation left.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
Output: unsigned integer. Returns the percent of
remaining capacity.
Invalid data indication: 65,535 indicates battery is
not being discharged.
Units: %
AverageTimeToEmpty() (0x12)
Range: 0 to 65,535%
Granularity: 1%
This read-only word returns the predicted remaining
battery life at the present average discharge rate (min-
utes). The AverageTimeToEmpty is calculated based on
AverageCurrent.
Accuracy: MaxError after circuit and capacity
calibration
Output: unsigned integer. Returns the minutes of
operation left.
RemainingCapacity() (0x0f)
This read-only word returns the predicted remaining
battery capacity. The RemainingCapacity value is ex-
pressed in mAh.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
Output: unsigned integer. Returns the estimated re-
maining capacity in mAh.
Invalid data indication: 65,535 indicates battery
is not being discharged.
Units: mAh
Range: 0 to 65,535mAh
15
bq2945
Invalid data indication: 65,535 indicates that the
Smart Charger should operate as a voltage source
outside its maximum regulated current range.
AverageTimeToFull() (0x13)
This read-only word returns the predicted time until the
Smart Battery reaches full charge at the present aver-
age charge rate (minutes).
ChargingVoltage() (0x15)
Output: unsigned integer. Returns the remaining
time in minutes to full.
If enabled, the bq2945 sends the desired voltage in mV
to the Smart Battery Charger.
Units: minutes
Output: unsigned integer. Transmits/returns the
charger voltage output in mV.
Range: 0 to 65,534min
Granularity: 2min or better
Units: mV
Range: 0 to 65,534mV
Invalid data indication: 65,535 indicates battery
is not being charged.
Granularity: 0.2% of the DesignVoltage or better
Invalid data indication: 65,535 indicates that the
Smart Battery Charger should operate as a cur-
rent source outside its maximum regulated volt-
age range.
ChargingCurrent() (0x14)
If enabled, the bq2945 sends the desired charging rate in
mA to the Smart Battery Charger.
Output: unsigned integer. Transmits/returns the
maximum charger output current in mA.
BatteryStatus() (0x16)
This read-only word returns the battery status word.
Units: mA
Output: unsigned integer. Returns the status reg-
ister with alarm conditions bitmapped as shown in
Table 5.
Range: 0 to 65,534mA
Granularity: 0.2% of the design capacity or better
Some of the BatteryStatus flags (Remaining_Capac-
ity_Alarm and Remaining_Time_Alarm) are calculated
based on current. See Table 8 and 9 for definitions.
Table 5. Status Register
CycleCount() (0x17)
This read-only word returns the number of charge/dis-
charge cycles the battery has experienced. A charge/dis-
charge cycle starts from a base value equivalent to the
battery's state-of-charge on completion of a charge cycle.
The bq2945 increments the cycle counter during the cur-
rent charge cycle if the battery has been discharged 15%
below the state-of-charge at the end of the last charge cy-
cle. This prevents false reporting of small charge/discharge
cycles. The cycle count is stored in EEPROM within
400ms of an update.
Alarm Bits
0x8000
0x4000
0x2000
0x1000
0x0800
0x0400
0x0200
0x0100
Over_Charged_Alarm
Terminate_Charge_Alarm
Reserved
Over_Temp_Alarm
Terminate_Discharge_Alarm
Reserved
Remaining_Capacity_Alarm
Remaining_Time_Alarm
Status Bits
Output: unsigned integer. Returns the count of
charge/discharge cycles the battery has
experienced.
0x0080
0x0040
0x0020
0x0010
Initialized
Units: cycles
Discharging
Range: 0 to 65,535 cycles; 65,535 indicates battery
has experienced 65,535 or more cycles.
Fully_Charged
Fully_Discharged
Error Code
Granularity: 1 cycle
DesignCapacity() (0x18)
0x0000-
0x000f
Reserved for error codes
This read-only word returns the theoretical capacity of a
new pack. The DesignCapacity value is expressed in
mAh at the nominal discharge rate.
16
bq2945
Table 6. Bit Descriptions for FLAGS1 and FLAGS2
(MSB) 7
6
5
4
CC
-
3
-
2
1
0 (LSB)
OC
FLAGS2 DMODE
CP2 DI
-
CHM
VQ
OV
LTF
EDV1
FLAGS1
-
VDQ
SEDV
EDVF
Note: - = Reserved
Output: unsigned integer. Returns the battery ca-
pacity in mAh.
ManufacturerName() (0x20)
This read-only string returns a character string where the
first byte is the number of characters available. The maxi-
mum number of characters is 11. The character string con-
tains the battery manufacturer's name. For example,
“Unitrode” identifies the battery pack manufacturer as
Unitrode.
Units: mAh
Range: 0 to 65,535mAh
DesignVoltage() (0x19)
This read-only word returns the theoretical voltage of
a new pack in mV.
Output: string or ASCII character string
DeviceName() (0x21)
Output: unsigned integer. Returns the battery's
normal terminal voltage in mV.
This read-only string returns a character string where the
first byte is the number of characters available. The maxi-
mum number of characters is 7. The 7-byte character string
contains the battery's name. For example, a DeviceName of
“bq2945” indicates that the battery is a model bq2945.
Units: mV
Range: 0 to 65,535mV
Specification Info() (0x1a)
Output: string or ASCII character string
This read-only word returns the specification re-
vision the bq2945 supports.
DeviceChemistry() (0x22)
This read-only string returns a character string where
the first byte is the number of characters available. The
maximum number of characters is 5. The 5-byte charac-
ter string contains the battery's chemistry. For example,
if the DeviceChemistry function returns “NiMH,” the
battery pack contains nickel-metal hydride cells.
ManufactureDate() (0x1b)
This read-only word returns the date the cell was manu-
factured in a packed integer word. The date is packed
as follows: (year - 1980) ∗ 512 + month ∗ 32 + day.
Bits
Used
Output: string or ASCII character string
Field
Format
Allowable Value
ManufacturerData() (0x23)
5-bit binary 1–31 (corresponds to
Day
0–4
value date)
This read-only string allows access to an up to 5-byte
manufacturer data string.
4-bit binary 1–12 (corresponds to
Month
Year
5–8
value
month number)
Output: block data—data whose meaning is as-
signed by the Smart Battery's manufacturer.
0
127 (corresponds
*
7-bit binary
value
9–15
to year biased by
1980)
End of Discharge Voltage1 (0x3e)
This read-only word returns the first end-of-discharge
voltage programmed for the pack.
SerialNumber() (0x1c)
This read-only word returns a serial number. This
number, when combined with the ManufacturerName,
the DeviceName, and the ManufactureDate, uniquely
identifies the battery.
Output: two’s complemented unsigned integer.
Returns battery end-of-discharge voltage pro-
grammed in EEPROM in mV.
Output: unsigned integer
17
bq2945
Bit 4, the Charge Control flag (CC), determines whether
a bq2945-based charge termination will set RM to a
user-defined programmable full charge capacity.
End of Discharge VoltageF (0x3f)
This read-only word returns the final end-of-discharge
voltage programmed for the pack.
The CC values are:
Output: two’s complemented unsigned integer.
Returns battery final end-of-discharge voltage pro-
grammed in EEPROM in mV.
FLAGS2 Bits
7
6
5
4
3
2
1
0
-
-
-
CC
-
-
-
-
FLAGS1&2() (0x2f)
This read-only register returns an unsigned integer rep-
resenting the internal status registers of the bq2945.
The MSB represents FLAGS2, and the LSB represents
FLAGS1. See Table 6 for the bit description for FLAGS1
and FLAGS2.
Where CC is:
0
RM is not modified on valid bq2945
charge termination
1
RM is set to a programmable percentage of
the FCC when a valid bq2945 charge termi-
nation occurs
FLAGS2
The Display Mode flag (DMODE), bit 7 determines
whether the bq2945 displays Relative or Absolute capac-
ity.
Bit 3 is reserved.
Bit 2, the Overvoltage flag (OV), is set when the bq2945
detects a pack voltage 5% greater than the programmed
charging voltage. This bit is cleared when the pack volt-
age falls 5% below the programmed charging voltage.
The DMODE values are:
FLAGS2 Bits
The OV values are:
7
6
5
4
3
2
1
0
DMODE
-
-
-
-
-
-
-
FLAGS2 Bits
7
6
5
4
3
2
1
0
Where DMODE is:
-
-
-
-
-
OV
-
-
0
1
Selects Absolute display
Selects Relative display
Where OV is:
Bit 6 reflects the high/low state of CP2.
0
1
Voltage < 1.05 ChargingVoltage
∗
FLAGS2 Bits
Voltage ≥ 1.05 ChargingVoltage
∗
7
6
5
4
3
2
1
0
Bit 1, the Low Temperature Fault flag (LTF), is set when
temperature < 0°C and cleared when temperature >
5°C.
-
CP2DI
-
-
-
-
-
-
The Chemistry flag (CHM), bit 5, selects Li-Ion or nickel
compensation factors.
The LTF values are:
FLAGS2 Bits
The CHM values are:
7
6
5
4
3
2
1
0
-
-
-
-
-
-
LTF
-
FLAGS2 Bits
7
6
5
4
3
2
1
0
Where LTF is:
-
-
CHM
-
-
-
-
-
0
1
Temperature > 5°C
Temperature < 0°C
Where CHM 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.
0
1
Selects Nickel
Selects Li-Ion
18
bq2945
This flag is cleared when the average current falls below
256mA.
0
1
Self-discharge is greater than 256mAh,
EDV1 = 1 when T < 0°C or VQ = 1
The OC values are:
On first discharge after RM=FCC
FLAGS2 Bits
The Stop EDV flag (SEDV), bit 2, is set when the dis-
charge current > 6.15A and cleared when the discharge
current falls below 6.15A.
7
6
5
4
3
2
1
0
-
-
-
-
-
-
-
OC
The SEDV values are:
Where OC is:
FLAGS1 Bits
0
AverageCurrent is less than 1.25 ∗ Charg-
ingCurrent or less than 256mA if charging
current is programmed less than 1024mA
7
6
5
4
3
2
1
0
-
-
-
-
-
SEDV
-
-
1
AverageCurrent exceeds 1.25 ∗ Charg-
ingCurrent or 256mA if the charging cur-
rent is programmed less than 1024mA.
This bit is cleared if average current <
256mA.
Where SEDV is:
0
1
Current < 6.15A
Current > 6.15A
The First End-of-Discharge Voltage flag (EDV1), bit 1, is
set when Voltage < EDV1 and SEDV = 0 and cleared
when VQ = 1 and Voltage > EDV1.
FLAGS1
Bits 7 and 6 are reserved.
The EDV1 values are:
The Valid Charge flag (VQ), bit 5, is set when VSRO
≥
|VSRD| and 10mAh of charge has accumulated. This bit
FLAGS1 Bits
is cleared during a discharge and when VSRO ≤ |VSRD|.
7
6
5
4
3
2
1
0
The VQ values are:
-
-
-
-
-
-
EDV1
-
FLAGS1 Bits
Where EDV1 is:
7
6
5
4
3
2
1
0
-
-
VQ
-
-
-
-
-
0
1
VQ = 1 and Voltage > EDV1
Voltage < EDV1 and SEDV = 0
Where VQ is:
The Final End-of-Discharge Voltage flag (EDVF), bit 0,
is set when Voltage < EDVF and SEDV = 0 and cleared
when VQ = 1 and Voltage > EDVF.
0
1
VSRO ≤ |VSRD|
VSRO ≥ |VSRD| and 10mAh of charge has
accumulated
The EDVF values are:
FLAGS1 Bits
Bit 4 is reserved.
7
6
5
4
3
2
1
0
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 par-
tial charge is detected, EDV1 is asserted when T < 0°C,
or self-discharge accounts for more than 256mAh of the
discharge.
-
-
-
-
-
-
-
EDVF
Where EDVF is:
0
1
VQ = 1 and Voltage > EDVF
Voltage < EDVF and SEDV = 0
The VDQ values are:
FLAGS1 Bits
Error Codes and Status Bits
7
6
5
4
3
2
1
0
-
-
-
-
VDQ
-
-
-
Error codes and status bits are listed in Table 8 and Ta-
ble 9, respectively.
Where VDQ is:
19
bq2945
Control Pins 1 and 2 (CP1, CP2)
Programming the bq2945
CP1 and CP2 are open drain outputs that are controlled
by host command. Since they are under the control of
the host, their use can be defined by the pack designer.
Some uses for these pins are charger control, control of
current path (charge FET, discharge FET, or fuse), or
special LED function. CP1 and CP2 are controlled by the
host writing a command to the battery’s Manufactur-
erAccess slave function. Table 7 describes the com-
mands that are available to control CP1 and CP2.
The bq2945 requires the proper programming of an ex-
ternal EEPROM for proper device operation. Each mod-
ule can be calibrated for the greatest accuracy, or gen-
eral “default” values can be used. An EV2200-45 pro-
gramming kit (interface board, software, and cable) for
an IBM-compatible PC is available from Unitrode.
The bq2945 uses a 24LC01 or equivalent serial EE-
PROM (capable of read operation to 2.0V) for storing the
various initial values, calibration data, and string infor-
mation. Table 1 outlines the parameters and addresses
for this information. Tables 10 and 11 detail the various
register contents and show an example program value
for an 2400mAh 4-series Li-Ion battery pack, using a
50mΩ sense resistor.
The CP2 can also act as a digital input. The logical
status can be monitored in bit 6 of the FLAGS2 register.
Table 7. ManufactureAccess Commands
CMD (0x00) =
0x0505
Action
CP1 set to hi-Z
0x051b
CP1 set low
0x0536
CP2 set to hi-Z
0x054e
CP2 set low
0x0563
0x057d
CP1 and CP2 set to hi-Z
CP1 and CP2 set low
SBD Seal
The bq2945 address space can be “locked” to enforce the
SBS specified access to each command code. To lock the
address space, the bq2945 must be initialized with EE
0x3d set to 00h.
Once this is done, only commands
0x00-0x04 may be written. Attempting to write to any
other address will cause a “no acknowledge” of the data.
Reading will only be permitted from the command codes
listed in the SBD specification plus the five locations
designated as optional manufacturing functions 1—5
(0x2f, 0x3c—0x3f).
20
bq2945
Table 8. Error Codes (BatteryStatus() (0x16))
Error
Code
Access
Description
OK
0x0000 read/write bq2945 processed the function code without detecting any errors.
0x0001 read/write bq2945 is unable to process the function code at this time.
Busy
bq2945 cannot read or write the data at this time—try again
ReservedCommand
UnsupportedCommand
AccessDenied
0x0002 read/write
later.
0x0003 read/write bq2945 does not support the requested function code.
bq2945 detected an attempt to write to a read-only function
0x0004
write
code.
0x0005 read/write bq2945 detected a data overflow or underflow.
Overflow/Underflow
BadSize
bq2945 detected an attempt to write to a function code with an
incorrect size data block.
0x0006
write
UnknownError
0x0007 read/write bq2945 detected an unidentifiable error.
Note:
Reading the bq2945 after an error clears the error code.
21
bq2945
Table 9. BatteryStatus Bits
Alarm Bits
Set When:
Bit Name
Reset When:
The bq2945 detects a ∆T/∆t or cur-
rent taper termination. (Note:
∆T/∆t and current taper are valid
charge terminations.)
A discharge occurs or when the
∆T/∆t or current taper termination
condition ceases during charge.
OVER_CHARGED_ALARM
The bq2945 detects an over-current,
over-voltage, over-temperature,
∆T/∆t, or current taper condition
during charge.
A discharge occurs or when all condi-
tions causing the event cease.
TERMINATE_CHARGE_ALARM
OVER_TEMP_ALARM
The bq2945 detects that its internal
temperature is greater than the pro-
grammed value.
Internal temperature falls below
50°C.
The bq2945 determines that it has
supplied all the charge that it can
without being damaged (Voltage <
EDVF).
Voltage > EDVF signifies that the
battery has reached a state of charge
sufficient for it to once again safely
supply power.
TERMINATE_DISCHARGE_ALARM
Either the value set by the Remain-
ingCapacityAlarm function is lower
than the Remaining Capacity or the
RemainingCapacity is increased by
charging.
The bq2945 detects that the Remain-
ingCapacity is less than that set by
the RemainingCapacityAlarm func-
tion.
REMAINING_CAPACITY_ALARM
REMAINING_TIME_ALARM
The bq2945 detects that the esti-
mated remaining time at the present
discharge rate is less than that set
by the RemainingTimeAlarm func-
tion.
Either the value set by the Remain-
ingTimeAlarm function is lower than
the AverageTimeToEmpty or a valid
charge is detected.
Status Bits
Set When:
Bit Name
Reset When:
The bq2945 has completed a “learn” Battery detects that power-on or
cycle. user-initiated reset has occurred.
INITIALIZED
The bq2945 determines that it is not Battery detects that it is being
DISCHARGING
being charged.
charged.
The bq2945 determines a valid
charge termination or a maximum
overcharge state.
RM discharges below 95% of the full
charge percentage.
FULLY_CHARGED
bq2945 determines that it has
supplied all the charge that it can
without being damaged.
RelativeStateOfCharge is greater
than or equal to 20%
FULLY_DISCHARGED
22
bq2945
Table 10. Example Register Contents
EEPROM
Address
EEPROM
Hex Contents
Example
Values
Low
Byte
High
Byte
Low High
Byte Byte
Description
Notes
EEPROM
length
0x00
64
5b
100
91
Must be equal to 0x64.
Must be equal to 0x5b.
EEPROM check
1
0x01
0x02
Remaining time
alarm
0x03
0x05
0a
f0
00
00
10 minutes Sets the low time alarm level.
240mAh Sets the low capacity alarm level.
Remaining
capacity
alarm
0x04
Reserved
0x06
0x08
0x07
0x09
00
60
00
09
0
Not currently used by the bq2945.
Sets the initial charge request.
Initial charg-
ing current
2400mA
Charging
voltage
Used to set the fast-charge voltage for the Smart
Charger.
0x0a
0x0b
0x0d
0x0f
d8
80
00
40
00
00
16600mV
Battery status 0x0c
128
0
Initializes BatteryStatus.
Contains the charge cycle count and can be set to zero
for a new battery.
Cycle count
0x0e
0x10
0x12
0x14
0x16
Design
capacity
0x11
0x13
0x15
60
40
10
09
38
00
2400mAh Nominal battery pack capacity.
14400mV Nominal battery pack voltage.
Design
voltage
Specification
information
1.0
Default value for this register in a 1.0 part.
Manufacturer
date
May 1, 1996
= 8353
0x17
0x19
0x1b
a1
12
60
20
27
09
Packed per the ManufactureDate description.
Contains the optional pack serial number.
Serial number 0x18
10002
Fast-charging
0x1a
Used to set the fast-charge current for the Smart
Charger.
2400mA
current
Maintenance
Contains the desired maintenance current after fast-
charge termination by the bq2945.
charge
0x1c
0x1e
0x1d
0x1f
00
00
00
00
0mA
0
current
Reserved
Must be programmed to 0x00.
Represents the following: 3.2/sense resistor in ohms.
It is used by the bq2945 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.
Current inte-
gration gain1
0x2c
0x2d
40
00
3.2/0.05
Note:
1. Can be adjusted to calibrate the battery pack.
23
bq2945
Table 10. Example Register Contents (Continued)
EEPROM
EEPROM
Address
Hex
Contents
Low High Low High
Byte Byte Byte Byte
Example
Values
Description
Notes
Reserved
0x2e 0x2f
0x38 0x39
00
10
00
ff
0
Not currently used by the bq2945.
Li-Ion taper
current
Sets the upper taper limit for Li-Ion charge termina-
tion. Stored in 2’s complement.
240mA
Maximum
overcharge
limit
Sets the maximum amount of overcharge before a
maximum overcharge charge suspend occurs.
Stored in 2’s complement.
0x3a 0x3b
0x3c
9c
00
00
00
ff
100mAh
0
Reserved
Should be programmed to 0.
If the bq2945 is reset and this location is 0, the
SBD access only bq2945 locks access to any command outside of the
SBD data set. Program to 0x08 for full R/W access.
Access protect 0x3d
FLAGS1
FLAGS2
0x3e
0x3f
0
Initializes FLAGS1
Relative display
Li-Ion chemistry
bq2945 charge
control
b0
fe
Initializes FLAGS2.
Used to adjust the battery voltage offset according to
the following:
Voltage = (VSB(mV) + VOFF) ∗ Voltage gain
Battery voltage
offset1
0x48
0x49
-2mV
The default value (zero adjustment) for the offset is
Temperature
offset1
12.8°C or 0x80.
TOFFNEW = TOFFCURRENT
8a
13.8°C
+
(TEMPACTUAL - TEMPREPORTED)∗ 10
Maximum
temperature =
61.2°C
Maximum tem-
perature and
∆T step
Maximum charge temperature is 74 - (mt ∗ 1.6)°C (mt
= upper nibble). The ∆T step is (dT ∗ 2 + 16)/10°C
(dT = lower nibble)
0x4a
0x4b
8f
ff
∆T step = 4.6°C
Sets the fast-charge (high) and maintenance charge
(low) efficiencies. The upper nibbles sets the low ef-
ficiency and the lower nibble adjusts the high effi-
ciency according to the equation:
Maintenance
compensation =
100%
Fast compensa-
tion = 100%
Charge
efficiency
Nibble = (efficiency% ∗ 256 - 196)/4
This packed field is the two’s complement of the de-
sired value in RM when the bq2945 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.
Full-charge
percentage
0x4c
9c
100%
Note:
1. Can be adjusted to calibrate the battery pack.
24
bq2945
Table 10. Example Register Contents (Continued)
EEPROM
EEPROM
Address
Hex
Contents
Example
Values
Low High Low High
Byte Byte Byte Byte
Description
Notes
Used to set the digital magnitude filter as described in
Table 2.
Digital filter
Reserved
0x4d
0x4e
96
00
0.30mV
0
Not currently used by the bq2945.
This packed field is the two’s complement of (52.73/x)
where x is the desired self-discharge rate per day (%)
at room temperature.
Self-discharge rate 0x4f
2d
0.25%
Voltage gain is packed as two units. For example,
(R4 + R5)/R4 = 7.09 would be stored as: whole number
stored in 0x57 as 7 and the decimal component stored
in 0x56 as 256 x 0.09 = 23 (= 17h).
Voltage gain1
Reserved
0x56 0x57 17
0x58 0x59 00
0x5a 0x5b ee
07
00
02
7.09
0
Should be programmed to 0.
The current gain measurement and current integra-
tion gain are related and defined for the bq2945 cur-
rent measurement. This word equals 37.5/sense resis-
tor value in ohms.
Current measure-
ment gain1
750
End of discharge
voltage1
The value programmed is the two’s complement of the
threshold voltage in mV.
0x5c 0x5d 20
0x5e 0x5f 40
0x60 0x61 d0
d1
d4
07
12000mV
11200mV
2000mA
20s
End of discharge
voltage final
The value programmed is the two’s complement of the
threshold voltage in mV.
Full charge
capacity
This value sets the initial estimated pack capacity.
The ∆t step for ∆T/∆t termination equals 20s ∗ the
two’s complement of the byte value.
0x62
0x63
ff
∆t step
The hold-off time is 20s ∗ the two’s complement of the
byte value.
Hold-off time
f0
320s hold-off
EEPROM check 2 0x64
b5
181
NA
Must be equal to 0xb5.
Reserved
0x65 0x7f
Not currently used by the bq2945.
Note:
1. Can be adjusted to calibrate the battery pack.
25
bq2945
Table 11. Example Register Contents (String Data)
0x
X0
0x
X1
0x
X2
0x
X3
0x
X4
0x
X5
0x
X6
0x
X7
0x
X8
0x
X9-Xf
0x
xa
0x
xb
String Description
Address
0x20-
0x2b
42
B
45
E
4e
N
43
C
48
H
4d
M
41
A
52
R
51
Q
Manufacturer name
09
06
04
05
-
-
0x30-
0x37
42
B
51
Q
32
2
39
9
34
4
35
5
Device name
-
0x40-
0x47
6c
L
69
I
4f
O
4e
N
Device chemistry
Manufacturer data
-
0x50-
0x55
42
B
51
Q
32
2
30
0
32
2
26
bq2945
Absolute Maximum Ratings
Symbol
VCC
Parameter
Relative to VSS
Relative to VSS
Relative to VSS
Minimum
-0.3
Maximum
+7.0
Unit
V
Notes
All other pins
REF
-0.3
+7.0
V
-0.3
+8.5
V
Current limited by R1 (See Figure 1.)
Minimum 100Ω series resistor should
be used to protect SR in case of a
shorted battery.
VSR
Relative to VSS
-0.3
0
+7.0
+70
V
Operating tempera-
ture
TOPR
°C
Commercial
Note:
Permanent device damage may occur if Absolute Maximum Ratings are exceeded. Functional opera-
tion should be limited to the Recommended DC Operating Conditions detailed in this data sheet. Expo-
sure to conditions beyond the operational limits for extended periods of time may affect device reliability.
DC Voltage Thresholds (T = T
; V = 3.0 to 5.5V)
OPR
A
Symbol
Parameter
Battery voltage error relative to SB
Minimum
Typical
Maximum
Unit
Notes
See note
EVSB
-50mV
-
50mV
V
Note:
The accuracy of the voltage measurement may be improved by adjusting the battery voltage offset and
gain, stored in external EEPROM. For best operation, VCC should be 1.5V greater than VSB
.
27
bq2945
Recommended DC Operating Conditions (T = T
)
A
OPR
Symbol
Parameter
Supply voltage
Minimum Typical Maximum
Unit
Notes
VCC excursion from < 2.0V to ≥
3.0V initializes the unit.
VCC
3.0
4.25
6.5
V
Reference at 25°C
5.7
4.5
2.0
-
6.0
6.3
7.5
-
V
V
IREF = 5µA
IREF = 5µA
VREF
RREF
Reference at -40°C to +85°C
Reference input impedance
-
5.0
90
120
170
-
MΩ VREF = 3V
µA VCC = 3.0V
µA VCC = 4.25V
µA VCC = 5.5V
V
135
180
250
VCC
-
ICC
Normal operation
-
-
VSB
Battery input
0
RSBmax
IDISP
SB input impedance
DISP input leakage
VOUT output leakage
10
-
-
MΩ 0 < VSB < VCC
µA VDISP = VSS
µA EEPROM off
-
5
ILVOUT
-0.2
-
0.2
VSR < VSS = discharge;
SR > VSS = charge
VSR
RSR
Sense resistor input
SR input impedance
-0.3
-
2.0
V
V
10
-
-
-
-
-
VCC
MΩ -200mV < VSR < VCC
V
V
V
V
V
ESCL, ESDA
0.5 ∗ VCC
VIH
VIL
Logic input high
Logic input low
1.4
0
5.5
SMBC, SMBD
ESCL, ESDA
0.3 ∗ VCC
0.6
-0.5
-
SMBC, SMBD
VOL
IOL
Data, clock output low
Sink current
-
-
0.4
IOL=350µA, SMBC, SMBD
100
350
µA VOL≤0.4V, SMBC, SMBD
LEDX , CP1, CP2 output low,
low VCC
VCC = 3V, IOLS ≤ 1.75mA
VOLSL
VOLSH
-
-
0.1
0.4
-
-
V
LED1–LED5, CP1, CP2
LEDX , CP1, CP2 output low,
high VCC
VCC = 6.5V, IOLS ≤ 11.0mA
LED1–LED5, CP1, CP2
V
VOHVL
VOHVH
IVOUT
IOLS
VOUT output, low VCC
VOUT output, high VCC
VOUT source current
VCC - 0.3
VCC - 0.6
-33
-
-
-
-
-
-
-
V
V
VCC = 3V, IVOUT = -5.25mA
VCC = 6.5V, IVOUT = -33.0mA
mA At VOHVH = VCC - 0.6V
mA At VOLSH = 0.4V
LEDX , CP1, CP2 sink current
11.0
Note:
All voltages relative to VSS.
28
bq2945
AC Specifications
Symbol
FSMB
Parameter
Min
Max
Units
Notes
SMBus operating frequency
10
100
KHz
Bus free time between stop and
start condition
µs
µs
TBUF
4.7
4.0
Hold time after (repeated) start
condition
THD:STA
TSU:STA
TSU:STO
THD:DAT
TSU:DAT
TLOW
Repeated start condition setup time
Stop condition setup time
Data hold time
4.7
4.0
300
250
4.7
4.0
µs
µs
ns
ns
µs
µs
ns
ns
Data setup time
Clock low period
THIGH
TF
Clock high period
Clock/Data fall time
Clock/data rise time
300
TR
1000
Cumulative clock low extend time
(slave)
TLOW:SEXT
TTIMEOUT
25
35
ms
ms
25
Bus Timing Data
tR
tF
tHIGH
tSU:STA
SMBC
tHD:STA
tLOW
tHD:DAT
tSU:DAT
tSU:STO
SMBD
tBUF
TD294501.eps
29
bq2945
16-Pin SOIC Narrow (SN)
(
)
16-Pin SN SOIC Narrow
Dimension
Minimum
0.060
0.004
0.013
0.007
0.385
0.150
0.045
0.225
0.015
Maximum
0.070
0.010
0.020
0.010
0.400
0.160
0.055
0.245
0.035
A
A1
B
D
B
e
C
D
E
E
e
H
L
H
All dimensions are in inches.
A
C
A1
.004
L
30
bq2945
Data Sheet Revision History
ChangeNo.
Page No.
Description of Change
“Final” changes from “Preliminary” version
Added VSB should not exceed 2.4V
1
2
2
2
2
All
6
11
14
25
Changed cycle count increase from 30 to 32 for condition request
Changed AtRateOK() indication from EDV1 to EDVF
Changed self discharge programming from 52.75/x to 52.73/x
Notes:
Change 1 = June 1998 B changes from Sept. 1997 “Preliminary.”
Change 2 = June 1999 C changes from June 1998.
Ordering Information
bq2945
Temperature Range:
blank = Commercial (0 to 70°C)
Package Option:
SN = 16-pin narrow SOIC
Device:
bq2945 Gas Gauge IC With SMBus Interface
31
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
相关型号:
©2020 ICPDF网 联系我们和版权申明