Datasheet BQ2945SN-C409TR, BQ2945SN-C409, BQ2945SN-C307TR, BQ2945SN-C307, BQ2945SN Datasheet (Texas Instruments)

Page 1
1
Features
Provides accurate measurement of available charge in NiCd, NiMH, and Li-Ion batteries
Supports SBS v1.0 data set and two-wire interface
Designed for battery pack inte
-
gration
-
Low operating current
-
Complete circuit can fit on less than ¾ square inch of PCB space
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
General Description
The bq2945 Gas Gauge IC With SMBus Interface is intended for battery-pack or in-system installa
­tion to maintain an accurate record of available battery charge. The bq2945 directly supports capacity monitoring for NiCd, NiMH, and Li-Ion battery chemistries.
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.
The bq2945 estimates battery self­discharge based on an internal timer and temperature sensor and user-programmable rate informa
­tion stored in external EEPROM. The bq2945 also automatically re
­calibrates or “learns” battery capac
­ity in the full course of a discharge cycle from full to empty.
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 V
CC
for other battery cell configurations.
An external EEPROM programs initial values into the bq2945 and is necessary for proper operation.
bq2945
Gas Gauge IC with SMBus Interface
V
CC
3.0–6.5V
LED
1
LED segment 1/ EEPROM clock
LED
2
LED segment 2/ EEPROM data
LED
3
LED segment 3
LED
4
LED segment 4
LED
5
LED segment 5
CP
1
Control pin 1
V
SS
System ground
1
PN294501.eps
16-Pin Narrow SOIC
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
V
OUT
REF
SMBC
SMBD
CP
2
SB
DISP
SR
V
CC
LED1/ESCL
LED2/ESDA
LED
3
LED
4
LED
5
CP
1
V
SS
SR Sense resistor input
DISP
Display control input
SB Battery sense input
CP
2
Control pin 2
SMBD SMBus data input/output
SMBC SMBus clock
REF Voltage reference output
V
OUT
EEPROM supply output
6/99 C
Pin Connections Pin Names
Page 2
Pin Descriptions
V
CC
Supply voltage input
LED
1
LED
5
LED display segment outputs
Each output may drive an external LED.
ESCL
Serial memory clock
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.
CP
1
CP
2
Control pins 1 and 2
These open-drain outputs can be con­trolled by an SMBus command from the host. CP
2
can also act as a digital input.
V
SS
Ground
SR
Sense resistor input
The voltage drop (V
SR
) across pins SR and
V
SS
is monitored and integrated over time to interpret charge and discharge activity. The SR input is connected to the sense re­sistor and the negative terminal of the battery. V
SR<VSS
indicates discharge, and
V
SR>VSS
indicates charge. The effective
voltage drop, V
SRO
, as seen by the bq2945
is V
SR+VOS
. (See Table 3.)
DISP
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.
SB
Secondary battery input
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.
SMBD
SMBus data
Open-drain bidirectional pin used to trans
­fer address and data to and from the bq2945.
SMBC
SMBus clock
Open-drain bidirectional pin used to clock the data transfer to and from the bq2945.
REF Reference output for regulator
REF provides a reference output for an op­tional FET-based micro-regulator.
V
OUT
Supply output
Supplies power to the external EEPROM configuration memory.
2
bq2945
Page 3
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.
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.
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
­cuit in Figure 1 can occupy less than
3
4
square inch of
board space.
3
bq2945
100K
100K
100K
100K
100K
100K
100K
86.5K
BSS138
BSS138
BSS138
2N7002
BSS138
2N7002
2N7002
2N7002
R5R4 R11Q1
No. of Cells
Chart 1
Li-IonNiMH
3
2
4
6
8
9
10
12
499K
301K
499K
499K
499K
698K
698K
806K
806K
806K
604K
604K
604K
909K
909K
909K
See Chart 1 for resistor values and Q1 FET selection
Figure 1. Battery Pack Application Diagram—LED Display
Notes: R4, R5, and R11 values depend on the battery voltage.
R12 and R13 nominal values must be 10k
Page 4
4
bq2945
Parameter Name Address Description Length Units
EEPROM length 0x00
Number of EEPROM data locations must = 0x64
8 bits NA
EEPROM check1 0x01
EEPROM data integrity check byte must = 0x5b
8 bits NA
Remaining time alarm 0x02/0x03 Sets RemainingTimeAlarm (0x02) 16 bits minutes
Remaining capacity alarm 0x04/0x05 Sets RemainingCapacityAlarm (0x01) 16 bits mAh
Reserved 0x06/0x07 Reserved for future use 16 bits NA
Initial charging current 0x08/0x09 Sets the initial charging current 16 bits mA
Charging voltage 0x0a/0x0b Sets ChargingVoltage (0x15) 16 bits mV
Battery status 0x0c/0x0d Initializes BatteryStatus (0x16) 16 bits NA
Cycle count 0x0e/0x0f Initializes and stores CycleCount (0x17) 16 bits cycles
Design capacity 0x10/0x11 Sets DesignCapacity (0x18) 16 bits mAh
Design voltage 0x12/0x13 Sets DesignVoltage (0x19) 16 bits mV
Specification information 0x14/0x15 Programs SpecificationInfo (0x1a) 16 bits NA
Manufacturer date 0x16/0x17 Programs ManufactureDate (0x1b) 16 bits NA
Serial number 0x18/0x19 Programs SerialNumber (0x1c) 16 bits NA
Fast-charging current 0x1a/0x1b Sets ChargingCurrent (0x14) 16 bits mA
Maintenance-charge current 0x1c/0x1d Sets the trickle current request 16 bits mA
Reserved 0x1e/0x1f Reserved must = 0x0000 16 bits mAh
Manufacturer name 0x20-0x2b Programs ManufacturerName (0x20) 96 bits NA
Current integration gain 0x2c/0x2d Programs the sense resistor scale 16 bits NA
Reserved 0x2e/0x2f Reserved for future use 16 bits NA
Device name 0x30-0x37 Programs DeviceName (0x21) 64 bits NA
Li-Ion taper current 0x38/0x39
Sets the upper limit of the taper current for charge termination
16 bits mA
Maximum overcharge limit 0x3a/0x3b Sets the maximum amount of overcharge 16 bits NA
Reserved 0x3c Reserved must = 0x00 8 bits NA
Access protect 0x3d Locks commands outside of the SBS data set 8 bits NA
FLAGS1 0x3e Initializes FLAGS1 8 bits NA
FLAGS2 0x3f Initializes FLAGS2 8 bits NA
Device chemistry 0x40-0x47 Programs DeviceChemistry (0x22) 64 bits NA
Battery voltage offset 0x48 Voltage calibration value 8 bits NA
Temperature offset 0x49 Temperature calibration value 8 bits NA
Maximum temperature and T step
0x4a
Sets the maximum charge temperature and the T step for T/t termination
8 bits NA
Table 1. Configuration Memory Map
Page 5
5
bq2945
Parameter Name Address Description Length Units
Charge efficiency 0x4b Sets the high/low charge rate efficiencies 8 bits NA
Full-charge percentage 0x4c
Sets the percent at which the battery is consid
-
ered fully charged
8 bits NA
Digitial filter 0x4d Sets the minimum charge/discharge threshold 8 bits NA
Reserved 0x4e Reserved for future use 8 bits NA
Self-discharge rate 0x4f Sets the battery’s self-discharge rate 8 bits NA
Manufacturer data 0x50-0x55 Programs ManufacturerData (0x23) 48 bits NA
Voltage gain1 0x56/0x57 Battery divider calibration value 16 bits NA
Reserved 0x58-0x59 Reserved 16 bits NA
Current measurement gain 0x5a/0x5b Sense resistor calibration value 16 bits NA
End of discharge voltage1 0x5c/0x5d Sets EDV1 16 bits NA
End of discharge voltage final 0x5e/0x5f Sets EDVF 16 bits NA
Full-charge capacity 0x60/0x61 Initializes and stores FullChargeCapacity (0x10) 16 bits mAh t step
0x62
Sets the t step for T/t termination
8 bits NA
Hold-off time 0x63
Sets T/t hold-off timer
8 bits NA
EEPROM check 2 0x64
EEPROM data integrity check byte must = 0xb5
8 bits NA
Reserved 0x65-0x7f Reserved for future use NA
Table 1. Configuration Memory Map (Continued)
Page 6
Voltage Thresholds
In conjunction with monitoring VSRfor 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:
R R
MBV
2.25
5
4
1=−
where MBV is the maximum battery voltage, R
5
is con
-
nected to the positive battery terminal, and R
4
is con
-
nected to the negative battery terminal. R
5/R4
should be
rounded to the next higher integer. R
5
and R4should be
sized so that the voltage at the SB pin (V
SB
) should
never exceed 2.4V.
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.
If V
SB
is below either of the two EDV thresholds, the associ­ated flag is latched and remains latched, independent of V
SB
, 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.
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.
Temperature
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.
Layout Considerations
The bq2945 measures the voltage differential between the SR and V
SS
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:
n
The capacitors (C1 and C2) should be placed as close as possible to the SB and V
CC
pins, and their paths to V
SS
should be as short as possible. A high-quality ceramic capacitor of 0.1µf is recommended for V
CC
.
n
The sense resistor capacitor (C3) should be placed as close as possible to the SR pin.
n
The bq2945 should be in thermal contact with the cells for optimum temperature measurement.
n
An optional zener (D9) may be necessary to ensure that V
CC
is not above the maximum rating during
operation.
Gas Gauge Operation
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.
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).
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.
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.
1. FullChargeCapacity or learned-battery
capacity:
FCC is the last measured discharge capacity of the battery. On initialization (application of V
CC
or reset),
FCC is set to the value stored in the EEPROM. Dur
-
ing subsequent discharges, FCC is updated with the
6
bq2945
Page 7
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.
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.
3. RemainingCapacity (RM):
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.
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),
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:
n
No valid charge initiations (charges greater than 10mAh), where V
SRO
>+V
SRD
occurred during
the period between RM = FCC and EDV1 de
-
tected.
n
The self-discharge count is not more than 256mAh.
n
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 V
SRO
and, if enabled, activates an LED display. Charge ac
-
tions increment the RM after compensation for charge state and temperature.
7
bq2945
FG294501.eps
Temperature
Compensation
Charge Current
Discharge
Current
Self-Discharge
Timer
Remaining
Capacity
(RM)
Full
Charge
Capacity
(FCC)
Discharge
Count
Register
(DCR)
<
Qualified
Transfer
+
Temperature, Other Data
+
--
+
Inputs
Main Counters
and Capacity
Reference (FCC)
Outputs
Two-Wire
Serial Interface
Chip-Controlled
Available Charge
LED Display
State-of-charge
and
Temperature
Compensation
Figure 2. Operational Overview
Page 8
The bq2945 determines charge activity sustained at a continuous rate equivalent to V
SRO
>+V
SRD
. A valid
charge equates to sustained charge activity greater than 10 mAh. Once a valid charge is detected,
charge threshold counting continues until V
SRO
falls be
-
low V
SRD
.V
SRD
is a programmable threshold as de
-
scribed in the Digital Magnitude Filter section.
Discharge Counting
All discharge counts where V
SRO
<-V
SRD
cause the RM
register to decrement and the DCR to increment. V
SRD
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°Cto 0°C.
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.
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.
Current Taper
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.
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
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
is set by the formula:
∆∆T
t
=
[]
[' (
(lower nibble of EE 0x4a) 2 + 16 / 10
EE 0x62)
2 s
20]
C
s
 
 
o
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.
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.
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.
Charge Suspension
The bq2945 may temporarily suspend charge if it de
­tects a charging fault. The charging faults include the following conditions:
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.
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
8
bq2945
Page 9
the current drops below 256mA and the voltage is less than 105% of ChargingVoltage.
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 ChargingCurrent. When the bq2945 detects an 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.
n
Maximum Temperature: When the battery temperature exceeds the programmed maximum temperature, the requested charge current is set to zero and the Over_Temp_Alarm and the Terminate_Charge_Alarm bits are set in Battery Status. The alarm bits are cleared when the temperature drops below 50°C.
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.
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.
Count Compensations
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 * Q Q
EFC ET
=−()
where RelativeStateOfCharge < FullChargePercentage, and
Q
EFC
is the programmed fast-charge efficiency vary
-
ing from 0.75 to 1.0.
2.)
RM RM Q Q
ETC ET
=−*( )
where RelativeStateOfCharge FullChargePercentage and
Q
ETC
is the programmed maintenance (trickle)
charge efficiency varying from 0.75 to 1.0.
Q
ET
is used to adjust the charge efficiency as the battery
temperature increases according to the following:
QifT
ET
=<030
°C
QCTC
ET
<°002 30 40.if
QTC
ET
=≥°005 40.if
Q
ET
is 0 over the entire temperature range for Li-Ion.
Digital Magnitude Filter
The bq2945 has a programmable digital filter to elimi
­nate charge and discharge counting below a set threshold, V
SRD
. Table 2 shows typical digital filter
settings. The proper digital filter setting can be calcu
­lated using the following equation.
DMF =
45
V
SRD
Error Summary
Capacity Inaccurate
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.
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
SRD<VSRO
<+V
SRD
.
Display
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.
9
bq2945
DMF DMF Hex. V
SRD
(mV)
75 4B
0.60
100 64 0.45
150 96 0.30
175 AF 0.26
200 C8 0.23
Table 2. Typical Digital Filter Settings
Page 10
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.
When DISP
is tied to VCC, the LED
1-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
V
CC
to reactivate the display.
LED
1
blinks at a 4Hz rate whenever VSBhas been de­tected to be below EDV1 (EDV1 = 1), indicating a low­battery condition. V
SB
below EDVF (EDVF = 1) disables
the display output.
Microregulator
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.
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 V
SS
, if the serial interface is
not used.
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.
bq2945 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 bq2945. (See Figure 3.)
Host-to-bq2945 Message Protocol
The Bus Host communicates with the bq2945 using one of three protocols:
n
Read word
n
Write word
n
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 CP1and CP2. (See Table
7.)
10
bq2945
Symbol Parameter Typical Maximum Units Notes
V
OS
Offset referred to V
SR
±
75
±
150
µ
V DISP
= VCC.
INL
Integrated non-linearity error
±
1
±
4
%
Add 0.1% per °C above or below 25°C and 1% per volt above or below 4.25V.
INR
Integrated non­repeatability error
±
0.5
±
1
%
Measurement repeatability given similar operating conditions.
Table 3. bq2945 Current-Sensing Errors
Page 11
RemainingCapacityAlarm() (0x01)
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.
Input/Output: unsigned integer. This sets/returns the value where the Remaining_Capacity_Alarm bit is set in Battery Status.
Units: mAh
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.
Input/Output: unsigned integer. This sets/returns the value where the Remaining_Time_Alarm bit is set in Battery Status.
Units: minutes
Range: 0 to 65,535 minutes
BatteryMode() (0x03)
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).
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.
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)
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.
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
FG294501.eps
S
Battery Address
0001011
0 A Command Code A Data byte low A Data byte high AP
11818181171
S
Battery Address
0001011
0 A Command Code A Battery Address A1
117181171
S
1
AA
1818
P
Data byte low Data byte high
S
Battery Address
0001011
0
A Command Code A Battery Address A1
117181171
S
1
AA
1818
Byte Count =N Data byte 1
AA
1818
P
Data byte 2 Data byte N
1
bq2945
System Host
Block Read
Read Word
Write Word
A – ACKNOWLEDGE A – NOT ACKNOWLEDGE S – START P – STOP
Figure 3. Host Communication Protocols
Page 12
12
bq2945
Function Code Access Units Defaults
1
ManufacturerAccess 0x00 read/write - -
Remaning_Capacity_Alarm 0x01 read/write mAh E
2
Remaining_Time_Alarm 0x02 read/write minutes E
2
BatteryMode 0x03 read/write bit flag -
AtRate 0x04 read/write mA -
AtRateTimeToFull 0x05 read minutes -
AtRateTimeToEmpty 0x06 read minutes -
AtRateOK 0x07 read Boolean -
Temperature 0x08 read 0.1°K 2930
Voltage 0x09 read mV E
2
Current 0x0a read mA 0
AverageCurrent 0x0b read mA 0
MaxError 0x0c read percent 100
RelativeStateOfCharge 0x0d read percent -
AbsoluteStateOfCharge 0x0e read percent -
RemainingCapacity 0x0f read mAh E
2
FullChargeCapacity 0x10 read mAh E
2
RunTimeToEmpty 0x11 read minutes -
AverageTimeToEmpty 0x12 read minutes -
AverageTimeToFull 0x13 read minutes -
ChargingCurrent 0x14 read mA E
2
ChargingVoltage 0x15 read mV E
2
Battery Status 0x16 read bit flags E
2
CycleCount 0x17 read cycle E
2
DesignCapacity 0x18 read mAh E
2
DesignVoltage 0x19 read mV E
2
Specification Info 0x1a read - E
2
ManufactureDate 0x1b read - E
2
SerialNumber 0x1c read integer E
2
Reserved 0x1d - 0x1f - - -
ManufacturerName 0x20 read string E
2
DeviceName 0x21 read string E
2
Note: 1. Defaults after reset or power-up.
Table 4. bq2945 Register Functions
Page 13
13
bq2945
Function Code Access Units Defaults
1
DeviceChemistry 0x22 read string E
2
ManufacturerData 0x23 read string E
2
FLAG1 and FLAG2 0x2f read bit flags E
2
End of Discharge Voltage 1 (EDV1) 0x3e read - E
2
End of Discharge Voltage Final (EDVF)
0x3f read - E
2
Note: 1. Defaults after reset or power-up.
Table 4. bq2945 Register Functions (Continued)
Page 14
n
When the AtRate value is negative, the AtRateTimeToEmpty function returns the predicted operating time at the AtRate value of discharge.
Input/Output: signed integer. AtRate is positive for charge and negative for discharge.
Units: mA
Range: -32,768mA to 32,767mA
AtRateTimeToFull() (0x05)
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 predicted time to full charge.
Units: minutes
Range: 0 to 65,534min
Granularity: 2 min or better
Invalid Data Indication: 65,535 indicates that the AtRate value is negative.
AtRateTimeToEmpty() (0x06)
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.
Output: unsigned integer. Returns the predicted time to empty.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
Invalid Data Indication: 65,535 indicates that the AtRate value is not negative.
AtRateOK() (0x07)
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: Boolean
Range: TRUE 0, FALSE = 0
Temperature() (0x08)
This read-only word returns the cell-pack's internal temperature.
Output: unsigned integer. Returns the cell tem
-
perature in tenths of degrees Kelvin increments.
Units: 0.1°K
Range: 0 to +500.0°K
Granularity: 0.5°K or better
Accuracy:±3°K after calibration
Voltage() (0x09)
This read-only word returns the cell-pack voltage (mV).
Output: unsigned integer. Returns the battery ter
-
minal voltage in mV.
Units: mV
Range: 0 to 65,535mV
Granularity: 0.2% of DesignVoltage
Accuracy:±1% of DesignVoltage after calibration
Current() (0x0a)
This read-only word returns the current through the battery's terminals (mA).
Output: signed integer. Returns the charge/dis­charge rate in mA, where positive is for charge and negative is for discharge
Units: mA
Range: 0 to 32,767mA for charge or 0 to –32,768mA for discharge
Granularity: 0.2% of the DesignCapacity or better
Accuracy:±1% of the DesignCapacity after calibration
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.
Output: signed integer. Returns the charge/dis
­charge rate in mA, where positive is for charge and negative is for discharge
Units: mA
Range: 0 to 32,767mA for charge or 0 to –32,768mA for discharge
Granularity: 0.2% of the DesignCapacity or better
Accuracy:±1% of the DesignCapacity after cali
­bration
14
bq2945
Page 15
MaxError() (0x0c)
Returns the expected margin of error (%) in the state of charge calculation.
Output: unsigned integer. Returns the percent un
-
certainty for selected information.
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 percent of re
-
maining capacity.
Units: %
Range: 0 to 100%
Granularity: 1%
Accuracy: ±MaxError after circuit and capacity calibration
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 percent of remaining capacity.
Units: %
Range: 0 to 65,535%
Granularity: 1%
Accuracy: ±MaxError after circuit and capacity calibration
RemainingCapacity() (0x0f)
This read-only word returns the predicted remaining battery capacity. The RemainingCapacity value is ex
-
pressed in mAh.
Output: unsigned integer. Returns the estimated re
-
maining capacity in mAh.
Units: mAh
Range: 0 to 65,535mAh
Granularity: 0.2% of DesignCapacity or better
Accuracy: ±MaxError FCC after circuit and ca
­pacity calibration
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.
Output: unsigned integer. Returns the estimated full charge capacity in mAh.
Units: mAh
Range: 0 to 65,535mAh
Granularity: 0.2% of DesignCapacity or better
Accuracy: ±MaxError FCC after circuit and ca
­pacity calibration
RunTimeToEmpty() (0x11)
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.
Output: unsigned integer. Returns the minutes of operation left.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
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 (min
­utes). The AverageTimeToEmpty is calculated based on AverageCurrent.
Output: unsigned integer. Returns the minutes of operation left.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
Invalid data indication: 65,535 indicates battery is not being discharged.
15
bq2945
Page 16
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).
Output: unsigned integer. Returns the remaining time in minutes to full.
Units: minutes
Range: 0 to 65,534min
Granularity: 2min or better
Invalid data indication: 65,535 indicates battery is not being charged.
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.
Units: mA
Range: 0 to 65,534mA
Granularity: 0.2% of the design capacity or better
Invalid data indication: 65,535 indicates that the Smart Charger should operate as a voltage source outside its maximum regulated current range.
ChargingVoltage() (0x15)
If enabled, the bq2945 sends the desired voltage in mV to the Smart Battery Charger.
Output: unsigned integer. Transmits/returns the charger voltage output in mV.
Units: mV
Range: 0 to 65,534mV
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.
BatteryStatus() (0x16)
This read-only word returns the battery status word.
Output: unsigned integer. Returns the status reg­ister with alarm conditions bitmapped as shown in Table 5.
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.
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.
Output: unsigned integer. Returns the count of charge/discharge cycles the battery has experienced.
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.
16
bq2945
Alarm Bits
0x8000 Over_Charged_Alarm
0x4000 Terminate_Charge_Alarm
0x2000 Reserved
0x1000 Over_Temp_Alarm
0x0800 Terminate_Discharge_Alarm
0x0400 Reserved
0x0200 Remaining_Capacity_Alarm
0x0100 Remaining_Time_Alarm
Status Bits
0x0080 Initialized
0x0040 Discharging
0x0020 Fully_Charged
0x0010 Fully_Discharged
Error Code
0x0000-
0x000f
Reserved for error codes
Table 5. Status Register
Page 17
Output: unsigned integer. Returns the battery ca
-
pacity in mAh.
Units: mAh
Range: 0 to 65,535mAh
DesignVoltage() (0x19)
This read-only word returns the theoretical voltage of a new pack in mV.
Output: unsigned integer. Returns the battery's normal terminal voltage in mV.
Units: mV
Range: 0 to 65,535mV
Specification Info() (0x1a)
This read-only word returns the specification re­vision the bq2945 supports.
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.
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: unsigned integer
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.
Output: string or ASCII character string
DeviceName() (0x21)
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.
Output: string or ASCII character string
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.
Output: string or ASCII character string
ManufacturerData() (0x23)
This read-only string allows access to an up to 5-byte manufacturer data string.
Output: block data—data whose meaning is as
-
signed by the Smart Battery's manufacturer.
End of Discharge Voltage1 (0x3e)
This read-only word returns the first end-of-discharge voltage programmed for the pack.
Output: two’s complemented unsigned integer. Returns battery end-of-discharge voltage pro
-
grammed in EEPROM in mV.
17
bq2945
(MSB) 7 6543210 (LSB)
FLAGS2 DMODE CP2 DI CHM CC - OV LTF OC
FLAGS1 - - VQ - VDQ SEDV EDV1 EDVF
Note: - = Reserved
Table 6. Bit Descriptions for FLAGS1 and FLAGS2
Field
Bits
Used Format Allowable Value
Day 0–4
5-bit binary
value
1–31 (corresponds to date)
Month 5–8
4-bit binary
value
1–12 (corresponds to month number)
Year 9–15
7-bit binary
value
0*127 (corresponds to year biased by
1980)
Page 18
End of Discharge VoltageF (0x3f)
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 pro
-
grammed in EEPROM in mV.
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.
FLAGS2
The Display Mode flag (DMODE), bit 7 determines whether the bq2945 displays Relative or Absolute capac
­ity.
The DMODE values are:
Where DMODE is:
0 Selects Absolute display
1 Selects Relative display
Bit 6 reflects the high/low state of CP2.
The Chemistry flag (CHM), bit 5, selects Li-Ion or nickel compensation factors.
The CHM values are:
Where CHM is:
0 Selects Nickel
1 Selects Li-Ion
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.
The CC values are:
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
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 OV values are:
Where OV is:
0 Voltage < 1.05∗ChargingVoltage
1 Voltage≥1.05∗ChargingVoltage
Bit 1, the Low Temperature Fault flag (LTF), is set when temperature < 0°C and cleared when temperature > 5°C.
The LTF values are:
Where LTF is:
0 Temperature > 5°C
1 Temperature < 0°C
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.
18
bq2945
FLAGS2 Bits
76 5 43210
- - - - -OV- -
FLAGS2 Bits
76 5 43210
-- - CC----
FLAGS2 Bits
7 6543210
DMODE -------
FLAGS2 Bits
76 5 43210
--CHM-----
FLAGS2 Bits
76 5 43210
-- - ---LTF-
FLAGS2 Bits
7 6 5 43210
- CP2DI - -----
Page 19
This flag is cleared when the average current falls below 256mA.
The OC values are:
Where OC is:
0 AverageCurrent is less than 1.25 Charg
­ingCurrent or less than 256mA if charging current is programmed less than 1024mA
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.
FLAGS1
Bits 7 and 6 are reserved.
The Valid Charge flag (VQ), bit 5, is set when V
SRO
|V
SRD
| and 10mAh of charge has accumulated. This bit
is cleared during a discharge and when V
SRO
|V
SRD
|.
The VQ values are:
Where VQ is:
0V
SRO
|V
SRD
|
1V
SRO
|V
SRD
| and 10mAh of charge has
accumulated
Bit 4 is reserved.
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.
The VDQ values are:
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
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.
The SEDV values are:
Where SEDV is:
0 Current < 6.15A
1 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.
The EDV1 values are:
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 and SEDV = 0 and cleared when VQ = 1 and Voltage > EDVF.
The EDVF values are:
Where EDVF is:
0 VQ = 1 and Voltage > EDVF
1 Voltage < EDVF and SEDV = 0
Error Codes and Status Bits
Error codes and status bits are listed in Table 8 and Ta
­ble 9, respectively.
19
bq2945
FLAGS1 Bits
7654321 0
- - - - - - - EDVF
FLAGS1 Bits
76543 2 10
- - - - - SEDV - -
FLAGS1 Bits
765432 1 0
- - - - - - EDV1 -
FLAGS1 Bits
76 5 43210
--VQ -----
FLAGS1 Bits
7654 3 210
- - - - VDQ - - -
FLAGS2 Bits
765432 1 0
------ - OC
Page 20
Control Pins 1 and 2 (CP1, CP2)
CP1and CP2are 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. CP
1
and CP2are 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 CP
1
and CP2.
The CP
2
can also act as a digital input. The logical
status can be monitored in bit 6 of the FLAGS2 register.
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).
Programming the bq2945
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.
20
bq2945
Table 7. ManufactureAccess Commands
CMD (0x00) = Action
0x0505 CP
1
set to hi-Z
0x051b CP
1
set low
0x0536 CP
2
set to hi-Z
0x054e CP
2
set low
0x0563 CP
1
and CP2set to hi-Z
0x057d CP
1
and CP2set low
Page 21
21
bq2945
Error Code Access Description
OK 0x0000 read/write bq2945 processed the function code without detecting any errors.
Busy 0x0001 read/write bq2945 is unable to process the function code at this time.
ReservedCommand 0x0002 read/write
bq2945 cannot read or write the data at this time—try again later.
UnsupportedCommand 0x0003 read/write bq2945 does not support the requested function code.
AccessDenied 0x0004 write
bq2945 detected an attempt to write to a read-only function code.
Overflow/Underflow 0x0005 read/write bq2945 detected a data overflow or underflow.
BadSize 0x0006 write
bq2945 detected an attempt to write to a function code with an incorrect size data block.
UnknownError 0x0007 read/write bq2945 detected an unidentifiable error.
Note: Reading the bq2945 after an error clears the error code.
Table 8. Error Codes (BatteryStatus() (0x16))
Page 22
22
bq2945
Alarm Bits
Bit Name Set When: Reset When:
OVER_CHARGED_ALARM
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.
TERMINATE_CHARGE_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.
OVER_TEMP_ALARM
The bq2945 detects that its internal temperature is greater than the pro
-
grammed value.
Internal temperature falls below 50°C.
TERMINATE_DISCHARGE_ALARM
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.
REMAINING_CAPACITY_ALARM
The bq2945 detects that the Remain­ingCapacity is less than that set by the RemainingCapacityAlarm func­tion.
Either the value set by the Remain­ingCapacityAlarm function is lower than the Remaining Capacity or the RemainingCapacity is increased by charging.
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
Bit Name Set When: Reset When:
INITIALIZED
The bq2945 has completed a “learn” cycle.
Battery detects that power-on or user-initiated reset has occurred.
DISCHARGING
The bq2945 determines that it is not being charged.
Battery detects that it is being charged.
FULLY_CHARGED
The bq2945 determines a valid charge termination or a maximum overcharge state.
RM discharges below 95% of the full charge percentage.
FULLY_DISCHARGED
bq2945 determines that it has supplied all the charge that it can without being damaged.
RelativeStateOfCharge is greater than or equal to 20%
Table 9. BatteryStatus Bits
Page 23
23
bq2945
Description
EEPROM
Address
EEPROM
Hex Contents
Example
Values Notes
Low
Byte
High Byte
Low
Byte
High
Byte
EEPROM length
0x00 64 100 Must be equal to 0x64.
EEPROM check 1
0x01 5b 91 Must be equal to 0x5b.
Remaining time alarm
0x02 0x03 0a 00 10 minutes Sets the low time alarm level.
Remaining capacity alarm
0x04 0x05 f0 00 240mAh Sets the low capacity alarm level.
Reserved 0x06 0x07 00 00 0 Not currently used by the bq2945.
Initial charg
-
ing current
0x08 0x09 60 09
2400mA
Sets the initial charge request.
Charging voltage
0x0a 0x0b d8 40 16600mV
Used to set the fast-charge voltage for the Smart Charger.
Battery status 0x0c 0x0d 80 00 128 Initializes BatteryStatus.
Cycle count 0x0e 0x0f 00 00 0
Contains the charge cycle count and can be set to zero for a new battery.
Design capacity
0x10 0x11 60 09 2400mAh Nominal battery pack capacity.
Design voltage
0x12 0x13 40 38 14400mV Nominal battery pack voltage.
Specification information
0x14 0x15 10 00 1.0 Default value for this register in a 1.0 part.
Manufacturer date
0x16 0x17 a1 20
May 1, 1996
= 8353
Packed per the ManufactureDate description.
Serial number 0x18 0x19 12 27 10002 Contains the optional pack serial number.
Fast-charging current
0x1a 0x1b 60 09 2400mA
Used to set the fast-charge current for the Smart Charger.
Maintenance charge current
0x1c 0x1d 00 00 0mA
Contains the desired maintenance current after fast­charge termination by the bq2945.
Reserved 0x1e 0x1f 00 00 0 Must be programmed to 0x00.
Current inte
-
gration gain
1
0x2c 0x2d 40 00 3.2/0.05
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.
Note: 1. Can be adjusted to calibrate the battery pack.
Table 10. Example Register Contents
Page 24
24
bq2945
Description
EEPROM
Address
EEPROM
Hex
Contents
Example
Values Notes
Low Byte
High Byte
Low
Byte
High
Byte
Reserved 0x2e 0x2f 00 00 0 Not currently used by the bq2945.
Li-Ion taper current
0x38 0x39 10 ff 240mA
Sets the upper taper limit for Li-Ion charge termina
-
tion. Stored in 2’s complement.
Maximum overcharge limit
0x3a 0x3b 9c ff 100mAh
Sets the maximum amount of overcharge before a maximum overcharge charge suspend occurs. Stored in 2’s complement.
Reserved 0x3c 00 0 Should be programmed to 0.
Access protect 0x3d 00 SBD access only
If the bq2945 is reset and this location is 0, the bq2945 locks access to any command outside of the SBD data set. Program to 0x08 for full R/W access.
FLAGS1 0x3e 00 0 Initializes FLAGS1
FLAGS2 0x3f b0
Relative display
Li-Ion chemistry
bq2945 charge
control
Initializes FLAGS2.
Battery voltage offset
1
0x48 fe -2mV
Used to adjust the battery voltage offset according to the following: Voltage = (V
SB
(mV) + V
OFF
) Voltage gain
Temperature offset
1
0x49 8a
13.8°C
The default value (zero adjustment) for the offset is
12.8°C or 0x80. TOFF
NEW
= TOFF
CURRENT
+
(TEMP
ACTUAL
- TEMP
REPORTED
)10
Maximum tem
-
perature and T step
0x4a 8f
Maximum
temperature =
61.2°C
T step = 4.6°C
Maximum charge temperature is 74 - (mt 1.6)°C (mt = upper nibble). The T step is (dT 2 + 16)/10°C (dT = lower nibble)
Charge efficiency
0x4b ff
Maintenance
compensation =
100%
Fast compensa
-
tion = 100%
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: Nibble = (efficiency% 256 - 196)/4
Full-charge percentage
0x4c 9c 100%
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.
Note: 1. Can be adjusted to calibrate the battery pack.
Table 10. Example Register Contents (Continued)
Page 25
25
bq2945
Description
EEPROM
Address
EEPROM
Hex
Contents
Example
Values Notes
Low
Byte
High
Byte
Low
Byte
High Byte
Digital filter 0x4d 96 0.30mV
Used to set the digital magnitude filter as described in Table 2.
Reserved 0x4e 00 0 Not currently used by the bq2945.
Self-discharge rate 0x4f 2d 0.25%
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.
Voltage gain
1
0x56 0x57 17 07 7.09
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).
Reserved 0x58 0x59 00 00 0 Should be programmed to 0.
Current measure­ment gain
1
0x5a 0x5b ee 02 750
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.
End of discharge voltage1
0x5c 0x5d 20 d1 12000mV
The value programmed is the two’s complement of the threshold voltage in mV.
End of discharge voltage final
0x5e 0x5f 40 d4 11200mV
The value programmed is the two’s complement of the threshold voltage in mV.
Full charge capacity
0x60 0x61 d0 07 2000mA This value sets the initial estimated pack capacity.
t step
0x62 ff 20s
The t step for T/t termination equals 20s the two’s complement of the byte value.
Hold-off time 0x63 f0 320s hold-off
The hold-off time is 20s the two’s complement of the byte value.
EEPROM check 2 0x64 b5 181 Must be equal to 0xb5.
Reserved 0x65 0x7f NA Not currently used by the bq2945.
Note: 1. Can be adjusted to calibrate the battery pack.
Table 10. Example Register Contents (Continued)
Page 26
26
bq2945
String Description Address0xX00xX10xX20xX30xX40xX50xX60xX70xX80xX9-Xf0xxa0xxb
Manufacturer name
0x20­0x2b
09
42B45E4eN43C48H4dM41A52R51
Q
--
Device name
0x30­0x37
06
42B51Q32239934435
5
-
Device chemistry
0x40­0x47
04
6cL69I4fO4e
N
-
Manufacturer data
0x50­0x55
05
42B51Q32230032
2
Table 11. Example Register Contents (String Data)
Page 27
27
bq2945
Absolute Maximum Ratings
Symbol Parameter Minimum Maximum Unit Notes
V
CC
Relative to V
SS
-0.3 +7.0 V
All other pins Relative to V
SS
-0.3 +7.0 V
REF Relative to V
SS
-0.3 +8.5 V Current limited by R1 (See Figure 1.)
V
SR
Relative to V
SS
-0.3 +7.0 V
Minimum 100Ωseries resistor should be used to protect SR in case of a shorted battery.
T
OPR
Operating tempera
-
ture
0 +70 °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
A=TOPR
; V = 3.0 to 5.5V)
Symbol Parameter Minimum Typical Maximum Unit Notes
E
VSB
Battery voltage error relative to SB -50mV - 50mV V See note
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, V
CC
should be 1.5V greater than VSB.
Page 28
28
bq2945
Recommended DC Operating Conditions (T
A
= T
OPR
)
Symbol Parameter Minimum Typical Maximum Unit Notes
V
CC
Supply voltage 3.0 4.25 6.5 V
V
CC
excursion from < 2.0V to
3.0V initializes the unit.
V
REF
Reference at 25°C 5.7 6.0 6.3 V I
REF
= 5µA
Reference at -40°C to +85°C 4.5 - 7.5 V I
REF
= 5µA
R
REF
Reference input impedance 2.0 5.0 - MΩV
REF
= 3V
I
CC
Normal operation
- 90 135
µ
AV
CC
= 3.0V
- 120 180
µ
AV
CC
= 4.25V
- 170 250
µ
AV
CC
= 5.5V
V
SB
Battery input 0 - V
CC
V
R
SBmax
SB input impedance 10 - - MΩ0 < VSB< V
CC
I
DISP
DISP input leakage - - 5
µ
AV
DISP
= V
SS
I
LVOUT
V
OUT
output leakage -0.2 - 0.2
µ
A EEPROM off
V
SR
Sense resistor input -0.3 - 2.0 V
V
SR<VSS
= discharge;
V
SR
> VSS= charge
R
SR
SR input impedance 10 - - MΩ-200mV < VSR< V
CC
V
IH
Logic input high
0.5 V
CC
-
V
CC
V ESCL, ESDA
1.4 - 5.5 V SMBC, SMBD
V
IL
Logic input low
0-
0.3 V
CC
V ESCL, ESDA
-0.5 0.6 V SMBC, SMBD
V
OL
Data, clock output low - - 0.4 V IOL=350µA, SMBC, SMBD
I
OL
Sink current 100 - 350
µ
AV
OL
0.4V, SMBC, SMBD
V
OLSL
LEDX,CP1,CP2output low, low V
CC
- 0.1 - V
V
CC
= 3V, I
OLS
1.75mA
LED
1
–LED5,CP1,CP
2
V
OLSH
LEDX,CP1,CP2output low, high V
CC
- 0.4 - V
V
CC
= 6.5V, I
OLS
11.0mA
LED
1
–LED5,CP1,CP
2
V
OHVL
V
OUT
output, low V
CC
VCC- 0.3 - - V VCC= 3V, I
VOUT
= -5.25mA
V
OHVHVOUT
output, high V
CC
VCC- 0.6 - - V VCC= 6.5V, I
VOUT
= -33.0mA
I
VOUT
V
OUT
source current -33 - - mA At V
OHVH
= VCC- 0.6V
I
OLS
LEDX,CP1,CP2sink current 11.0 - mA At V
OLSH
= 0.4V
Note: All voltages relative to VSS.
Page 29
29
bq2945
Symbol Parameter Min Max Units Notes
F
SMB
SMBus operating frequency 10 100 KHz
T
BUF
Bus free time between stop and start condition
4.7
µ
s
T
HD:STA
Hold time after (repeated) start condition
4.0
µ
s
T
SU:STA
Repeated start condition setup time 4.7
µs
T
SU:STO
Stop condition setup time 4.0
µ
s
T
HD:DAT
Data hold time 300 ns
T
SU:DAT
Data setup time 250 ns
T
LOW
Clock low period 4.7
µ
s
T
HIGH
Clock high period 4.0
µ
s
T
F
Clock/Data fall time 300 ns
T
R
Clock/data rise time 1000 ns
T
LOW:SEXT
Cumulative clock low extend time (slave)
25 ms
T
TIMEOUT
25 35 ms
AC Specifications
TD294501.eps
t
SU:STA
SMBC
SMBD
t
SU:STO
t
BUF
t
HD:STA
t
LOW
t
SU:DAT
t
R
t
F
t
HIGH
t
HD:DAT
Bus Timing Data
Page 30
30
bq2945
16-Pin SOIC Narrow (SN)
16-Pin SN(SOIC Narrow
)
Dimension Minimum Maximum
A 0.060 0.070
A1 0.004 0.010
B 0.013 0.020 C 0.007 0.010 D 0.385 0.400 E 0.150 0.160
e 0.045 0.055 H 0.225 0.245 L 0.015 0.035
All dimensions are in inches.
A
A1
.004
C
B
e
D
E
H
L
Page 31
31
bq2945
Ordering Information
bq2945
Package Option:
SN = 16-pin narrow SOIC
Device:
bq2945 Gas Gauge IC With SMBus Interface
Temperature Range:
blank = Commercial (0 to 70°C)
ChangeNo. Page No. Description of Change
1 All “Final” changes from “Preliminary” version
2 6 Added V
SB
should not exceed 2.4V
2 11 Changed cycle count increase from 30 to 32 for condition request
2 14 Changed AtRateOK() indication from EDV1 to EDVF
2 25 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.
Data Sheet Revision History
Page 32
IMPORTANT NOTICE
T exas 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.
CERT AIN 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 APPLICA TIONS IS UNDERSTOOD T O 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
Loading...