bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
System-Side Impedance Track™ Fuel Gauge
1 INTRODUCTION
1.1
FEATURES
1.2
• Battery Fuel Gauge for 1-Series Li-Ion
Applications
• Resides on System Main Board
– Works With Embedded or Removable
Battery Packs
• Uses PACK+, PACK–, and T Battery Terminals
• Microcontroller Peripheral Provides:
– Accurate Battery Fuel Gauging
– Internal Temperature Sensor for Battery
Temperature Reporting
– Battery Low Interrupt Warning
– Battery Insertion Indicator
– Configurable Level of State of Charge (SOC)
Interrupts
– State of Health Indicator
– 96 Bytes of Non-Volatile Scratch-Pad FLASH
• Battery Fuel Gauge Based on Patented
Impedance Track™ Technology
– Models the Battery Discharge Curve for
Accurate Time-to-Empty Predictions
– Automatically Adjusts for Battery Aging,
Battery Self-Discharge, and
Temperature/Rate Inefficiencies
– Low-Value Sense Resistor (10 mΩ or Less)
• 400-kHz I2C™ Interface for Connection to
System Microcontroller Port
• In a 12-Pin NanoFree™ (CSP) Packaging
•
•
•
•
•
123
APPLICATIONS
Smartphones
PDAs
Digital Still and Video Cameras
Handheld Terminals
MP3 or Multimedia Players
1.3
DESCRIPTION
The Texas Instruments bq27505 system-side Li-Ion
battery fuel gauge is a microcontroller peripheral that
provides fuel gauging for single-cell Li-Ion battery
packs. The device requires little system microcontroller firmware development. The bq27505
resides on the system’s main board and manages an
embedded battery (non-removable) or a removable
battery pack.
The bq27505 uses the patented Impedance Track™
algorithm for fuel gauging, and provides information
such as remaining battery capacity (mAh), state-ofcharge (%), run-time to empty (min), battery voltage
(mV), temperature (°C) and state of health (%).
Battery fuel gauging with the bq27505 requires only
PACK+ (P+), PACK– (P–), and Thermistor (T)
connections to a removable battery pack or
embedded battery circuit. The CSP option is a 12-ball
package in the dimensions of 2,43 mm × 1,96 mm
with 0,5 mm lead pitch. It is ideal for space
constrained applications.
TYPICAL APPLICATION
Host System
LDO
Single Cell Li-lon
Battery Pack
VCC
Voltage
Sense
PACK+
PROTECTION
IC
Battery
Low
Power
Management
Controller
I2C
Temp
Sense
DATA
T
bq27505
PACK-
BAT_GD
FETs
CHG
DSG
Current
Sense
SOC_INT
1
2
3
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas
Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
Impedance Track, NanoFree are trademarks of Texas Instruments.
I2C is a trademark of Philips Electronics.
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of the Texas
Instruments standard warranty. Production processing does not
necessarily include testing of all parameters.
Copyright © 2009–2010, Texas Instruments Incorporated
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
1
2
3
.........................................
1.1
FEATURES ..........................................
1.2
APPLICATIONS ......................................
1.3
DESCRIPTION .......................................
DEVICE INFORMATION ................................
2.1
AVAILABLE OPTIONS ...............................
2.2
DISSIPATION RATINGS ............................
2.3
PIN ASSIGNMENT ..................................
ELECTRICAL SPECIFICATIONS .....................
3.1
ABSOLUTE MAXIMUM RATINGS ..................
3.2
RECOMMENDED OPERATING CONDITIONS .....
3.3
POWER-ON RESET .................................
INTRODUCTION
1
1
1
3
3
3
4
4
HIGH-FREQUENCY OSCILLATOR
3.6
3.7
5
INTEGRATING ADC (COULOMB COUNTER)
CHARACTERISTICS ................................ 5
ADC (TEMPERATURE AND CELL
MEASUREMENT) CHARACTERISTICS ............ 6
DATA FLASH MEMORY CHARACTERISTICS ..... 6
I2C-COMPATIBLE INTERFACE COMMUNICATION
TIMING CHARACTERISTICS ....................... 7
............................. 8
DATA COMMANDS ................................ 10
DATA FLASH INTERFACE ........................ 19
GENERAL DESCRIPTION
4.1
4.2
5
......
..................................
4.5
SEALING/UNSEALING DATA FLASH .............
4.6
DATA FLASH SUMMARY ..........................
FUNCTIONAL DESCRIPTION ........................
5.1
FUEL GAUGING ...................................
5.2
IMPEDANCE TRACK™ VARIABLES ..............
5.3
DETAILED PIN DESCRIPTION ....................
5.4
TEMPERATURE MEASUREMENT ................
5.5
OVERTEMPERATURE INDICATION ..............
4.3
MANUFACTURER INFORMATION BLOCKS
20
4.4
ACCESS MODES
21
5.6
4
3.5
.................
LOW-FREQUENCY OSCILLATOR ..................
5
3
5
INTERNAL TEMPERATURE SENSOR
CHARACTERISTICS ................................ 5
3.9
3.10
2
1
3.4
3.8
4
www.ti.com
6
21
23
23
24
27
31
31
CHARGING AND CHARGE-TERMINATION
INDICATION ........................................ 31
...................................
................................
5.9
AUTOCALIBRATION ...............................
APPLICATION-SPECIFIC INFORMATION .........
5.7
POWER MODES
32
5.8
POWER CONTROL
33
6.1
BATTERY PROFILE STORAGE AND SELECTION
6.2
APPLICATION-SPECIFIC FLOW AND CONTROL
......................................................
......................................................
...................................
2
7.1
I C INTERFACE ....................................
7.2
I2C Time Out ........................................
7.3
I2C Command Waiting Time ........................
8 REFERENCE SCHEMATICS .........................
8.1
SCHEMATIC ........................................
Revision History ............................................
7
21
COMMUNICATIONS
Contents
34
34
34
35
36
36
37
37
38
38
39
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
2 DEVICE INFORMATION
2.1
AVAILABLE OPTIONS
PART NUMBER
FIRMWARE VERSION
PACKAGE (1)
TA
COMMUNICATION FORMAT
2.20
CSP-12
–40°C to 85°C
I2C
bq27505YZGR-J3
bq27505YZGT-J3
(1)
TAPE & REEL QUANTITY
3000
250
For the most current package and ordering information, see the Package Option Addendum at the end of this document, or see the TI
website at www.ti.com.
2.2
(1)
(2)
DISSIPATION RATINGS
PACKAGE
THERMAL
YZG
qJA = 89°C/W
RESISTANCE (1)
(2)
POWER RATING
TA = 25°C
DERATING FACTOR
ABOVE (1) (2) TA = 25°C
1.1 W
12 mW/°C
qJB = 35°C/W
Measured with high-K board.
Maximum power dissipation is a function of TJ(max), qJA and TA. The maximum allowable power dissipation at any allowable ambient
temperature is PD = (TJ(max) – TA)/ qJA.
2.3
PIN ASSIGNMENT
CSP-12
(TOP VIEW)
CSP-12
(BOTTOM VIEW)
A3
B3
C3
D3
D3
C3
B3
A3
A2
B2
C2
D2
D2
C2
B2
A2
A1
B1
C1
D1
D1
C1
B1
A1
Table 2-1. PIN FUNCTIONS
PIN
NAME
NO.
TYPE (1)
DESCRIPTION
SRP
A1
IA
Analog input pin connected to the internal coulomb counter where SRP is nearest the PACK– connection.
Connect to 5-mΩ to 20-mΩ sense resistor.
SRN
B1
IA
Analog input pin connected to the internal coulomb counter where SRN is nearest the Vss connection.
Connect to 5-mΩ to 20-mΩ sense resistor.
BAT_LOW
C1
O
Battery Low output indicator. Active high by default, though polarity can be configured through the
[BATL_POL] bit of Operation Configuration. Push-pull output.
Vss
D1
P
Device ground
BAT_GD
A2
O
Battery-good indicator. Active-low by default, though polarity can be configured through the [BATG_POL] bit
of Operation Configuration. Push-pull output.
SOC_INT
B2
I/O
SOC state interrupts output. Generate a pulse under the conditions specified by Table 5-5. Open drain
output.
BAT
C2
I
Cell-voltage measurement input. ADC input. Recommend 4.8V maximum for conversion accuracy.
Vcc
D2
P
Processor power input. Decouple with minimum 0.1mF ceramic capacitor.
SDA
A3
I/O
SCL
B3
I
BI/TOUT
C3
I/O
Battery-insertion detection input. Power pin for pack thermistor network. Thermistor-multiplexer control pin.
Use with pull-up resistor >1MΩ (1.8 MΩ typical).
TS
D3
IA
Pack thermistor voltage sense (use 103AT-type thermistor). ADC input
(1)
Slave I2C serial communications data line for communication with system (Master). Open-drain I/O. Use with
10kΩ pull-up resistor (typical).
Slave I2C serial communications clock input line for communication with system (Master). Use with 10kΩ
pull-up resistor (typical).
I/O = Digital input/output, IA = Analog input, P = Power connection
DEVICE INFORMATION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
3
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
3 ELECTRICAL SPECIFICATIONS
3.1
ABSOLUTE MAXIMUM RATINGS
over operating free-air temperature range (unless otherwise noted) (1)
PARAMETER
VALUE
UNIT
VCC
Supply voltage range
–0.3 to 2.75
V
VIOD
Open-drain I/O pins (SDA, SCL, SOC_INT)
–0.3 to 6
V
VBAT
BAT input pin
–0.3 to 6
VI
Input voltage range to all other pins (BI/Tout, TS, SRP, SRN, BAT_GD)
–0.3 to VCC + 0.3
Human-body model (HBM), BAT pin
ESD
V
1.5
Human-body model (HBM), all other pins
kV
2
TA
Operating free-air temperature range
–40 to 85
°C
TF
Functional temperature range
–40 to 100
°C
Tstg
Storage temperature range
–65 to 150
°C
(1)
Stresses beyond those listed under "absolute maximum ratings" may cause permanent damage to the device. These are stress ratings
only, and functional operation of the device at these or any other conditions beyond those indicated under "recommended operating
conditions" is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
3.2
RECOMMENDED OPERATING CONDITIONS
TA = -40°C to 85°C; 2.4 V < VCC < 2.6 V; Typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
VCC
TEST CONDITIONS
Supply voltage
(1)
MIN
TYP
MAX
2.4
2.5
2.6
UNIT
V
Fuel gauge in NORMAL mode.
ILOAD > Sleep Current
114
mA
ICC
Normal operating-mode current
ISLP+
Sleep+ operating mode current (1)
Fuel gauge in SLEEP+ mode.
ILOAD < Sleep Current
58
mA
ISLP
Low-power storage-mode current (1)
Fuel gauge in SLEEP mode.
ILOAD < Sleep Current
19
mA
IHIB
Hibernate operating-mode current (1)
Fuel gauge in HIBERNATE mode.
ILOAD < Hibernate Current
4
mA
VOL
Output voltage, low (SCL, SDA, SOC_INT,
BAT_LOW)
IOL = 3 mA
VOH(PP)
Output voltage, high (BAT_LOW, BAT_GD)
IOH = –1 mA
VCC – 0.5
V
Output voltage, high (SDA, SCL, SOC_INT)
External pullup resistor connected to
VCC
VCC – 0.5
V
VOH(OD)
0.4
Input voltage, low (SDA, SCL)
VIL
Input voltage, low (BI/TOUT)
BAT INSERT CHECK MODE active
Input voltage, high (SDA, SCL)
VIH(OD)
Input voltage, high (BI/TOUT)
BAT INSERT CHECK MODE active
–0.3
0.6
–0.3
0.6
1.2
6
1.2
VCC +
0.3
V
V
VA1
Input voltage range (TS)
VSS – 0.125
2
V
VA2
Input voltage range (BAT)
VSS – 0.125
5
V
VA3
Input voltage range (SRP, SRN)
VSS – 0.125
0.125
V
Ilkg
Input leakage current (I/O pins)
0.3
mA
tPUCD
Power-up communication delay
(1)
4
250
ms
Specified by design. Not production tested.
ELECTRICAL SPECIFICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
3.3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
POWER-ON RESET
TA = –40°C to 85°C, typical values at TA = 25°C and VBAT = 3.6 V (unless otherwise noted)
PARAMETER
TEST CONDITIONS
VIT+
Positive-going battery voltage input at VCC
VHYS
Power-on reset hysteresis
3.4
MIN
TYP
MAX
UNIT
2.09
2.20
2.31
V
45
115
185
mV
INTERNAL TEMPERATURE SENSOR CHARACTERISTICS
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
GTEMP
3.5
TEST CONDITIONS
MIN
Temperature sensor voltage gain
TYP
MAX
UNIT
–2
mV/°C
HIGH-FREQUENCY OSCILLATOR
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
fOSC
MIN
TYP
TA = 0°C to 60°C
–2%
0.38%
2%
TA = –20°C to 70°C
–3%
0.38%
3%
TA = –40°C to 85°C
–4.5%
0.38%
4.5%
2.5
5
Operating frequency
fEIO
Frequency error (1)
tSXO
Start-up time (3)
(1)
(2)
(3)
TEST CONDITIONS
MAX
2.097
(2)
UNIT
MHz
ms
The frequency error is measured from 2.097 MHz.
The frequency drift is included and measured from the trimmed frequency at VCC = 2.5 V, TA = 25°C.
The start-up time is defined as the time it takes for the oscillator output frequency to be within ±3% of typical oscillator frequency.
3.6
LOW-FREQUENCY OSCILLATOR
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
fLOSC
Operating frequency
fLEIO
Frequency error (1)
tLSXO
(1)
(2)
(3)
Start-up time
(2)
TEST CONDITIONS
MIN
TYP
MAX
UNIT
32.768
kHz
TA = 0°C to 60°C
–1.5%
0.25%
1.5%
TA = –20°C to 70°C
–2.5%
0.25%
2.5%
TA = –40°C to 85°C
–4%
0.25%
4%
(3)
500
ms
The frequency drift is included and measured from the trimmed frequency at VCC = 2.5 V, TA = 25°C.
The frequency error is measured from 32.768 kHz.
The start-up time is defined as the time it takes for the oscillator output frequency to be within ±3% of typical oscillator frequency.
3.7
INTEGRATING ADC (COULOMB COUNTER) CHARACTERISTICS
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
TEST CONDITIONS
VSR
Input voltage range, V(SRN) and V(SRP)
VSR = V(SRN) – V(SRP)
tSR_CONV
Conversion time
Single conversion
Resolution
VOS(SR)
Input offset
INL
Integral nonlinearity error
ZIN(SR)
Effective input resistance (1)
Ilkg(SR)
Input leakage current (1)
(1)
MIN
TYP
–0.125
MAX
UNIT
0.125
V
1
14
s
15
bits
10
±0.007
mV
±0.034
% FSR
2.5
MΩ
0.3
mA
Specified by design. Not tested in production.
ELECTRICAL SPECIFICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
5
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
3.8
www.ti.com
ADC (TEMPERATURE AND CELL MEASUREMENT) CHARACTERISTICS
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
VIN(ADC)
Input voltage range
tADC_CONV
Conversion time
TEST CONDITIONS
ZADC1
3.9
14
(1)
15
bits
Input leakage current
mV
MΩ
8
bq27505 measuring cell voltage
V
ms
8
bq27505 not measuring cell voltage
UNIT
125
1
Effective input resistance (BAT) (1)
Ilkg(ADC)
(1)
MAX
1
Input offset
Effective input resistance (TS)
ZADC2
TYP
–0.2
Resolution
VOS(ADC)
MIN
MΩ
100
kΩ
(1)
0.3
mA
Specified by design. Not tested in production.
DATA FLASH MEMORY CHARACTERISTICS
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
tDR
Data retention
TEST CONDITIONS
(1)
Flash-programming write cycles (1)
tWORDPROG
MIN
TYP
MAX
UNIT
10
Years
20,000
Cycles
Word programming time (1)
(1)
ms
10
mA
ICCPROG
Flash-write supply current
tDFERASE
Data flash master erase time (1)
200
ms
tIFERASE
Instruction flash master erase time (1)
200
ms
tPGERASE
Flash page erase time (1)
20
ms
(1)
6
5
2
Specified by design. Not production tested
ELECTRICAL SPECIFICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
3.10
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
I2C-COMPATIBLE INTERFACE COMMUNICATION TIMING CHARACTERISTICS
TA = –40°C to 85°C, 2.4 V < VCC < 2.6 V; typical values at TA = 25°C and VCC = 2.5 V (unless otherwise noted)
PARAMETER
TEST CONDITIONS
MIN
TYP
MAX
UNIT
tr
SCL/SDA rise time
300
ns
tf
SCL/SDA fall time
300
ns
tw(H)
SCL pulse duration (high)
600
ns
tw(L)
SCL pulse duration (low)
1.3
ms
tsu(STA)
Setup for repeated start
600
ns
td(STA)
Start to first falling edge of SCL
600
ns
tsu(DAT)
Data setup time
100
ns
th(DAT)
Data hold time
0
ns
tsu(STOP)
Setup time for stop
t(BUF)
Bus free time between stop and start
fSCL
Clock frequency
600
ns
66
ms
400
kHz
Figure 3-1. I2C-Compatible Interface Timing Diagrams
ELECTRICAL SPECIFICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
7
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
4 GENERAL DESCRIPTION
The bq27505 accurately predicts the battery capacity and other operational characteristics of a single
Li-based rechargeable cell. It can be interrogated by a system processor to provide cell information, such
as time-to-empty (TTE), time-to-full (TTF) and state-of-charge (SOC) as well as SOC interrupt signal to the
host.
Information is accessed through a series of commands, called Standard Commands. Further capabilities
are provided by the additional Extended Commands set. Both sets of commands, indicated by the general
format Command( ), are used to read and write information contained within the bq27505 control and
status registers, as well as its data flash locations. Commands are sent from system to gauge using the
bq27505’s I2C serial communications engine, and can be executed during application development, pack
manufacture, or end-equipment operation.
Cell information is stored in the bq27505 in non-volatile flash memory. Many of these data flash locations
are accessible during application development. They cannot, generally, be accessed directly during
end-equipment operation. Access to these locations is achieved by either use of the bq27505’s companion
evaluation software, through individual commands, or through a sequence of data-flash-access
commands. To access a desired data flash location, the correct data flash subclass and offset must be
known.
The bq27505 provides two 32-byte user-programmable data flash memory blocks: Manufacturer Info
Block A and Manufacturer Info Block B. This data space is accessed through a data flash interface. For
specifics on accessing the data flash, MANUFACTURER INFORMATION BLOCKS.
The key to the bq27505’s high-accuracy gas gauging prediction is Texas Instrument’s proprietary
Impedance Track™ algorithm. This algorithm uses cell measurements, characteristics, and properties to
create state-of-charge predictions that can achieve less than 1% error across a wide variety of operating
conditions and over the lifetime of the battery.
The bq27505 measures charge/discharge activity by monitoring the voltage across a small-value series
sense resistor (5 mΩ to 20 mΩ typ.) located between the system’s Vss and the battery’s PACK- terminal.
When a cell is attached to the bq27505, cell impedance is computed, based on cell current, cell
open-circuit voltage (OCV), and cell voltage under loading conditions.
The bq27505 external temperature sensing is optimized with the use of a high accuracy negative
temperature coefficient (NTC) thermistor with R25 = 10.0kΩ ±1%. B25/85 = 3435K ± 1% (such as Semitec
NTC 103AT). The bq27505 can also be configured to use its internal temperature sensor. When an
external themistor is used, a 18.2k pull up resistor between BT/TOUT and TS pins is also required. The
bq27505 uses temperature to monitor the battery-pack environment, which is used for fuel gauging and
cell protection functionality.
To minimize power consumption, the bq27505 has different power modes: NORMAL, SLEEP, SLEEP+,
HIBERNATE, and BAT INSERT CHECK. The bq27505 passes automatically between these modes,
depending upon the occurrence of specific events, though a system processor can initiate some of these
modes directly. More details can be found in POWER MODES.
NOTE
FORMATTING CONVENTIONS IN THIS DOCUMENT:
Commands: italics with parentheses and no breaking spaces, e.g., RemainingCapacitY( ).
Data flash: italics, bold, and breaking spaces, e.g., Design Capacity
Register bits and flags: brackets and italics, e.g., [TDA]
Data flash bits: brackets, italics and bold, e.g., [LED1]
Modes and states: ALL CAPITALS, e.g., UNSEALED mode.
8
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
9
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
4.1
www.ti.com
DATA COMMANDS
4.1.1
STANDARD DATA COMMANDS
The bq27505 uses a series of 2-byte standard commands to enable system reading and writing of battery
information. Each standard command has an associated command-code pair, as indicated in Table 4-1.
Because each command consists of two bytes of data, two consecutive I2C transmissions must be
executed both to initiate the command function, and to read or write the corresponding two bytes of data.
Additional options for transferring data, such as spooling, are described in Section of Communication.
Standard commands are accessible in NORMAL operation. Read/Write permissions depend on the active
access mode, SEALED or UNSEALED (for details on the SEALED and UNSEALED states, refer to
Section 4.4, Access Modes.)
Table 4-1. Standard Commands
NAME
COMMAND CODE
UNITS
SEALED
ACCESS
UNSEALED
ACCESS
Control( )
CNTL
0x00 / 0x01
N/A
R/W
R/W
AtRate( )
AR
0x02 / 0x03
mA
R/W
R/W
AtRateTimeToEmpty( )
ARTTE
0x04 / 0x05
Minutes
R
R/W
Temperature( )
TEMP
0x06 / 0x07
0.1 K
R/W
R/W
Voltage( )
VOLT
0x08 / 0x09
mV
R
R/W
Flags( )
FLAGS
0x0a / 0x0b
N/A
R
R/W
NominalAvailableCapacity( )
NAC
0x0c / 0x0d
mAh
R
R/W
FullAvailableCapacity( )
FAC
0x0e / 0x0f
mAh
R
R/W
RemainingCapacity( )
RM
0x10 / 0x11
mAh
R
R/W
FullChargeCapacity( )
FCC
0x12 / 0x13
mAh
R
R/W
AI
0x14 / 0x15
mA
R
R/W
TimeToEmpty( )
TTE
0x16 / 0x17
Minutes
R
R/W
TimeToFull( )
TTF
0x18 / 0x19
Minutes
R
R/W
SI
0x1a / 0x1b
mA
R
R/W
STTE
0x1c / 0x1d
Minutes
R
R/W
AverageCurrent( )
StandbyCurrent( )
StandbyTimeToEmpty( )
MaxLoadCurrent( )
MLI
0x1e / 0x1f
mA
R
R/W
MLTTE
0x20 / 0x21
Minutes
R
R/W
AvailableEnergy( )
AE
0x22 / 0x23
mWh
R
R/W
AveragePower( )
AP
0x24 / 0x25
mW
R
R/W
MaxLoadTimeToEmpty( )
TTEatConstantPower( )
TTECP
0x26 / 0x27
Minutes
R
R/W
StateOfHealth()
SOH
0x28 / 0x29
% / num
R
R/W
StateOfCharge( )
SOC
0x2c / 0x2d
%
R
R/W
NormalizedImpedanceCal( )
NIC
0x2e / 0x2f
mohm
R
R/W
InstaneousCurrent Reading( )
ICR
0x30 / 0x31
mA
R
R/W
10
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
4.1.1.1
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Control( ): 0x00/0x01
Issuing a Control( ) command requires a subsequent 2-byte subcommand. These additional bytes specify
the particular control function desired. The Control( ) command allows the system to control specific
features of the bq27505 during normal operation and additional features when the bq27505 is in different
access modes, as described in Table 4-2.
Table 4-2. Control( ) Subcommands
CNTL
DATA
SEALED
ACCESS
CONTROL_STATUS
0x0000
Yes
Reports the status of DF checksum, hibernate, IT, etc.
DEVICE_TYPE
0x0001
Yes
Reports the device type (eg: bq27505)
FW_VERSION
0x0002
Yes
Reports the firmware version on the device type
HW_VERSION
0x0003
Yes
Reports the hardware version of the device type
DF_CHECKSUM
0x0004
No
Enables a data flash checksum to be generated and reports on a read
PREV_MACWRITE
0x0007
Yes
Returns previous MAC command code
CHEM_ID
0x0008
Yes
Reports the chemical identifier of the Impedance Track™ configuration
BOARD_OFFSET
0x0009
No
Forces the device to measure and store the board offset
CC_INT_OFFSET
0x000a
No
Forces the device to measure the internal CC offset
WRITE_CC_OFFSET
0x000b
No
Forces the device to store the internal CC offset
OCV_CMD
0x000c
Yes
Request the gauge to take a OCV measurement
BAT_INSERT
0x000d
Yes
Forces the BAT_DET bit set when the [BIE] bit is 0
BAT_REMOVE
0x000e
Yes
Forces the BAT_DET bit clear when the [BIE] bit is 0
SET_HIBERNATE
0x0011
Yes
Forces CONTROL_STATUS [HIBERNATE] to 1
CLEAR_HIBERNATE
0x0012
Yes
Forces CONTROL_STATUS [HIBERNATE] to 0
SET_SLEEP+
0x0013
Yes
Forces CONTROL_STATUS [SNOOZE] to 1
CLEAR_SLEEP+
0x0014
Yes
Forces CONTROL_STATUS [SNOOZE] to 0
SEALED
0x0020
No
Places the bq27505 in SEALED access mode
IT_ENABLE
0x0021
No
Enables the Impedance Track™ algorithm
IT_DISABLE
0x0023
No
Disables the Impedance Track™ algorithm
CAL_MODE
0x0040
No
Places the bq27505 in calibration mode
RESET
0x0041
No
Forces a full reset of the bq27505
CNTL FUNCTION
DESCRIPTION
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
11
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
4.1.1.1.1 CONTROL_STATUS: 0x0000
Instructs the fuel gauge to return status information to control addresses 0x00/0x01. The status word
includes the following information.
Table 4-3. CONTROL_STATUS Bit Definitions
High byte
Low byte
bit7
–
INITCOMP
bit6
FAS
HIBERNATE
bit5
SS
SNOOZE
bit4
CSV
SLEEP
bit3
CCA
LDMD
bit2
BCA
RUP_DIS
bit1
OCVCMDCOMP
VOK
bit0
OCVFAIL
QEN
FAS = Status bit indicating the bq27505 is in FULL ACCESS SEALED state. Active when set.
SS = Status bit indicating the bq27505 is in SEALED state. Active when set.
CSV = Status bit indicating a valid data flash checksum has been generated. Active when set.
CCA = Status bit indicating the bq27505 Coulomb Counter Calibration routine is active. The CCA routine will take place approximately 1
minute after the initialization. Active when set.
BCA = Status bit indicating the bq27505 board calibration routine is active. Active when set.
OCVCMDCOMP = Status bit indicating the bq27505 has executed the OCV command. This bit can only be set with battery’s presence.
True when set.
OCVFAIL = Status bit indicating bq27505 OCV reading is failed due to the current. This bit can only be set with battery’s presence. True
when set.
INITCOMP = Initialization completion bit indicating the initialization completed. This bit can only be set with battery’s presence. True when
set.
HIBERNATE = Status bit indicating a request for entry into HIBERNATE from SLEEP mode. True when set. Default is 0.
SNOOZE = Status bit indicating the bq27505 SLEEP+ mode is enabled. True when set.
SLEEP = Status bit indicating the bq27505 is in SLEEP mode. True when set.
LDMD = Status bit indicating the bq27505 Impedance Track™ algorithm is using constant-power mode. True when set. Default is 0
(constant-current mode).
RUP_DIS = Status bit indicating the bq27505 Ra table updates are disabled. Updates disabled when set.
VOK = Status bit indicating the bq27505 voltages are okay for Qmax. True when set.
QEN = Status bit indicating the bq27505 Qmax updates enabled. True when set.
4.1.1.1.2 DEVICE_TYPE: 0x0001
Instructs the fuel gauge to return the device type to addresses 0x00/0x01.
4.1.1.1.3 FW_VERSION: 0x0002
Instructs the fuel gauge to return the firmware version to addresses 0x00/0x01.
4.1.1.1.4 HW_VERSION: 0x0003
Instructs the fuel gauge to return the hardware version to addresses 0x00/0x01.
4.1.1.1.5
DF_CHECKSUM: 0x0004
Instructs the fuel gauge to compute the checksum of the data flash memory. The checksum value is
written and returned to addresses 0x00/0x01 (UNSEALED mode only). The checksum will not be
calculated in SEALED mode; however, the checksum value can still be read.
4.1.1.1.6 PREV_MACWRITE: 0x0007
Instructs the fuel gauge to return the previous command written to addresses 0x00/0x01.
4.1.1.1.7 CHEM_ID: 0x0008
Instructs the fuel gauge to return the chemical identifier for the Impedance Track™ configuration to
addresses 0x00/0x01.
4.1.1.1.8 BOARD_OFFSET: 0X0009
Instructs the fuel gauge to compute the coulomb counter offset with internal short and then without internal
short applied across the sensing resistor (SR) inputs. The difference between the two measurements is
12
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
the board offset. After a delay of approximately 32 seconds, this offset value is returned to addresses
0x00/0x01 and written to data flash. The CONROL STATUS [BCA] is also set. The user must prevent any
charge or discharge current from flowing during the process. This function is only available when the fuel
gauge is UNSEALED. When SEALED, this command only reads back the board-offset value stored in
data flash.
4.1.1.1.9 CC_INT_OFFSET: 0X000A
Control data of 0x000a instructs the fuel gauge to compute the coulomb counter offset with internal short
applied across the SR inputs. The offset value is returned to addresses 0x00/0x01, after a delay of
approximately 16 seconds. This function is only available when the fuel gauge is UNSEALED. When
SEALED, this command only reads back the CC_INT_OFFSET value stored in data flash.
4.1.1.1.10 WRITE_OFFSET: 0X000B
Control data of 0x000b causes the fuel gauge to write the coulomb counter offset to data flash.
4.1.1.1.11 OCV CMD: 0X000C
This command is to request the gauge to take a OCV reading. This command can only be issued after the
[INICOMP] has been set, indicating the initialization has been completed. The OCV measurement take
place at the beginning of the next repeated 1s firmware synchronization clock. During the same time
period, the SOC_INT will pulse. The host should use this signal to reduce the load current below the C/20
in 8ms for a valid OCV reading. The OCV command [OCVFAIL] bit will be set if the OCV_CMD is issued
when [CHG_INH] is set.
4.1.1.1.12 BAT_INSERT: 0X000D
This command is to force the BAT_DET bit to be set when the battery insertion detection is disabled.
When the BIE is set to 0, the battery insertion detection is disabled. The gauge relies on the host to inform
the battery insertion with this command to set the BAT_DET bit.
4.1.1.1.13 BAT_REMOVE: 0X000E
This command is to force the BAT_DET bit to be clear when the battery insertion detection is disabled.
When the BIE is set to 0, the battery insertion detection is disabled. The gauge relies on the host to inform
the battery removal with this command to clear the BAT_DET bit.
4.1.1.1.14 SET_HIBERNATE: 0x0011
Instructs the fuel gauge to force the CONTROL_STATUS [HIBERNATE] bit to 1. This will allow the gauge
to enter the HIBERNATE power mode after the transition to SLEEP power state is detected. The
[HIBERNATE] bit is automatically cleared upon exiting from HIBERNATE mode.
4.1.1.1.15 CLEAR_HIBERNATE: 0x0012
Instructs the fuel gauge to force the CONTROL_STATUS [HIBERNATE] bit to 0. This prevents the gauge
from entering the HIBERNATE power mode after the transition to the SLEEP power state is detected. It
can also be used to force the gauge out of HIBERNATE mode.
4.1.1.1.16 ENABLE SLEEP+ MODE: 0X0013
Instructs the fuel gauge to set the CONTROL_STATUS [SNOOZE] bit to 1. This will enable the SLEEP+
mode. The gauge will enter SLEEP+ power mode after the transition conditions are meet.
4.1.1.1.17 DISABLE SLEEP+ MODE: 0X0014
Instructs the fuel gauge to set the CONTROL_STATUS [SNOOZE] bit to 0. This will disable the SLEEP+
mode. The gauge will exit from the SLEEP+ power mode after the SNOOZ bit is cleared.
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
13
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
4.1.1.1.18 SEALED: 0x0020
Instructs the fuel gauge to transition from the UNSEALED state to the SEALED state. The fuel gauge must
always be set to the SEALED state for use in end equipment.
4.1.1.1.19 IT_ENABLE: 0x0021
This command forces the fuel gauge to begin the Impedance Track™ algorithm, sets the IT Enable to
0x01 and causes the [VOK] and [QEN] flags to be set in the CONTROL_STATUS register. [VOK] is
cleared if the voltages are not suitable for a Qmax update. This command is only available when the fuel
gauge is UNSEALED.
4.1.1.1.20 IT_DISABLE: 0x0023
This command disables the fuel gauge the Impedance Track™ algorithm, clears the IT Enable to 0x00
and causes the [QEN] flags to be cleared in the CONTROL_STATUS register. This command is only
available when the fuel gauge is UNSEALED.
4.1.1.1.21 CAL_MODE: 0X0040
This command instructs the fuel gauge to enter calibration mode. This command is only available when
the fuel gauge is UNSEALED.
4.1.1.1.22 RESET: 0x0041
This command instructs the fuel gauge to perform a full reset. This command is only available when the
fuel gauge is UNSEALED.
4.1.1.2
AtRate( ): 0x02/0x03
The AtRate( ) read-/write-word function is the first half of a two-function command set used to set the
AtRate value used in calculations made by the AtRateTimeToEmpty( ) function. The AtRate( ) units are in
mA.
The AtRate( ) value is a signed integer, with negative values interpreted as a discharge current value. The
AtRateTimeToEmpty( ) function returns the predicted operating time at the AtRate value of discharge. The
default value for AtRate( ) is zero and forces AtRateTimeToEmpty( ) to return 65,535. Both the AtRate( )
and AtRateTimeToEmpty( ) commands must only be used in NORMAL mode.
4.1.1.3
AtRateTimeToEmpty( ): 0x04/0x05
This read-word function returns an unsigned integer value of the predicted remaining operating time if the
battery is discharged at the AtRate( ) value in minutes with a range of 0 to 65,534. A value of 65,535
indicates AtRate( ) = 0. The fuel gauge updates AtRateTimeToEmpty( ) within 1 s after the system sets the
AtRate( ) value. The fuel gauge automatically updates AtRateTimeToEmpty( ) based on the AtRate( )
value every 1 s. Both the AtRate( ) and AtRateTimeToEmpty( ) commands must only be used in NORMAL
mode.
4.1.1.4
Temperature( ): 0x06/0x07
This read-/write-word function returns an unsigned integer value of the temperature in units of 0.1 K
measured by the fuel gauge. Write temperature to the gauge when the [WRTEMP] is 1.
4.1.1.5
Voltage( ): 0x08/0x09
This read-word function returns an unsigned integer value of the measured cell-pack voltage in mV with a
range of 0 to 6000 mV.
14
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
4.1.1.6
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Flags( ): 0x0a/0x0b
This read-word function returns the contents of the fuel-gauge status register, depicting the current
operating status.
Table 4-4. Flags Bit Definitions
High byte
Low byte
bit7
OTC
–
bit6
OTD
–
bit5
–
OCV_GD
bit4
–
WAIT_ID
bit3
CHG_INH
BAT_DET
bit2
XCHG
SOC1
bit1
FC
SYSDOWN
bit0
CHG
DSG
OTC = Overtemperature in charge condition is detected. True when set.
OTD = Overtemperature in discharge condition is detected. True when set.
CHG_INH = Charge inhibit: unable to begin charging (temperature outside the range [Charge Inhibit Temp Low, Charge Inhibit Temp
High]). True when set.
XCHG = Charge suspend alert (temperature outside the range [Suspend Temperature Low, Suspend Temperature High]). True when
set.
FC = Full-charged condition reached. Set when charge termination condition is met. (RMFCC=1; Set FC_Set % = -1% when RMFCC = 0).
True when set
CHG = (Fast) charging allowed. True when set.
OCV_GD = Good OCV measurement taken. True when set.
WAIT_ID = Waiting to identify inserted battery. True when set.
BAT_DET = Battery detected. True when set.
SOC1 = State-of-charge threshold 1 (SOC1 Set) reached. The flag is enabled when BL_INT bit in Operation Configuration B is set. True
when set.
SysDown = SystemDown bit indicating the system shut down. True when set
DSG = Discharging detected. True when set.
4.1.1.7
NominalAvailableCapacity( ): 0x0c/0x0d
This read-only command pair returns the uncompensated (less than C/20 load) battery capacity
remaining. Units are mAh.
4.1.1.8
FullAvailableCapacity( ): 0x0e/0x0f
This read-only command pair returns the uncompensated (less than C/20 load) capacity of the battery
when fully charged. Units are mAh. FullAvailableCapacity( ) is updated at regular intervals, as specified by
the IT algorithm.
4.1.1.9
RemainingCapacity( ): 0x10/0x11
This read-only command pair returns the compensated battery capacity remaining. Units are mAh.
4.1.1.10
FullChargeCapacity( ): 0x12/13
This read-only command pair returns the compensated capacity of the battery when fully charged. Units
are mAh. FullChargeCapacity( ) is updated at regular intervals, as specified by the IT algorithm.
4.1.1.11
AverageCurrent( ): 0x14/0x15
This read-only command pair returns a signed integer value that is the average current flow through the
sense resistor. It is updated every 1 second. Units are mA.
4.1.1.12
TimeToEmpty( ): 0x16/0x17
This read-only function returns an unsigned integer value of the predicted remaining battery life at the
present rate of discharge, in minutes. A value of 65,535 indicates battery is not being discharged.
4.1.1.13
TimeToFull( ): 0x18/0x19
This read-only function returns an unsigned integer value of predicted remaining time until the battery
reaches full charge, in minutes, based upon AverageCurrent( ). The computation accounts for the taper
current time extension from the linear TTF computation based on a fixed AverageCurrent( ) rate of charge
accumulation. A value of 65,535 indicates the battery is not being charged.
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
15
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
4.1.1.14
www.ti.com
StandbyCurrent( ): 0x1a/0x1b
This read-only function returns a signed integer value of the measured standby current through the sense
resistor. The StandbyCurrent( ) is an adaptive measurement. Initially it reports the standby current
programmed in Initial Standby, and after spending several seconds in standby, reports the measured
standby current.
The register value is updated every 1 second when the measured current is above the Deadband and is
less than or equal to 2 × Initial Standby. The first and last values that meet this criteria are not averaged
in, since they may not be stable values. To approximate a 1 minute time constant, each new
StandbyCurrent( ) value is computed by taking approximate 93% weight of the last standby current and
approximate 7% of the current measured average current.
4.1.1.15
StandbyTimeToEmpty( ): 0x1c/0x1d
This read-only function returns an unsigned integer value of the predicted remaining battery life at the
standby rate of discharge, in minutes. The computation uses Nominal Available Capacity (NAC), the
uncompensated remaining capacity, for this computation. A value of 65,535 indicates battery is not being
discharged.
4.1.1.16
MaxLoadCurrent( ): 0x1e/0x1f
This read-only function returns a signed integer value, in units of mA, of the maximum load conditions.
The MaxLoadCurrent( ) is an adaptive measurement which is initially reported as the maximum load
current programmed in Initial Max Load Current. If the measured current is ever greater than Initial Max
Load Current, then MaxLoadCurrent( ) updates to the new current. MaxLoadCurrent( ) is reduced to the
average of the previous value and Initial Max Load Current whenever the battery is charged to full after a
previous discharge to an SOC less than 50%. This prevents the reported value from maintaining an
unusually high value.
4.1.1.17
MaxLoadTimeToEmpty( ): 0x20/0x21
This read-only function returns an unsigned integer value of the predicted remaining battery life at the
maximum load current discharge rate, in minutes. A value of 65,535 indicates that the battery is not being
discharged.
4.1.1.18
AvailableEnergy( ): 0x22/0x23
This read-only function returns an unsigned integer value of the predicted charge or energy remaining in
the battery. The value is reported in units of mWh.
4.1.1.19
AveragePower( ): 0x24/0x25
This read-only function returns an signed integer value of the average power during battery charging and
discharging. It is negative during discharge and positive during charge. A value of 0 indicates that the
battery is not being discharged. The value is reported in units of mW.
4.1.1.20
TimeToEmptyAtConstantPower( ): 0x26/0x27
This read-only function returns an unsigned integer value of the predicted remaining operating time if the
battery is discharged at the AveragePower( ) value in minutes. A value of 65,535 indicates
AveragePower( ) = 0. The fuel gauge automatically updates TimeToEmptyatContantPower( ) based on the
AveragePower( ) value every 1 s.
16
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
4.1.1.21 StateofHealth( ): 0x28/0x29
0x28 SOH percentage: this read-only function returns an unsigned integer value, expressed as a
percentage of the ration of predicted FCC(25°C, SOH LoadI) over the DesignCapacity(). The FCC(25°C,
SOH LoadI) is the calculated full charge capacity at 25°C and the SOH LoadI which is specified in the
data flash. The range of the returned SOH percentage is 0x00 to 0x64, indicating 0 to 100%
correspondingly.
0x29 SOH Status: this read-only function returns an unsigned integer value, indicating the status of the
SOH percentage. The meanings of the returned value are:
• 0x00: SOH not valid (initialization)
• 0x01: Instant SOH value ready
• 0x02: Initial SOH value ready
– Calculation based on uncompensated Qmax
– Updated at first grid point update after cell insertion
• 0x03: SOH value ready
– Utilize the updated Qmax update
– Calculation based on compensated Qmax
– Updated after complete charge and relax is complete
• 0x04-0xFF: Reserved
4.1.1.22
StateOfCharge( ): 0x2c/0x2d
This read-only function returns an unsigned integer value of the predicted remaining battery capacity
expressed as a percentage of FullChargeCapacity( ), with a range of 0 to 100%.
4.1.1.23 NormalizedImpedanceCal( ): 0x2e/0x2f
This read-only function returns an unsigned integer value of the calculated normalized impedance to 0°C
at the current Depth of Discharge, with the unit of mΩ.
4.1.1.24 InstaneousCurrent Reading( ) 0x30/0x31
This read-only function returns a signed integer value that is the instantaneous current flow through the
sense resistor. The conversion time is 125ms. It is updated every 1 second. Units are mA.
4.1.2
EXTENDED DATA COMMANDS
Extended commands offer additional functionality beyond the standard set of commands. They are used in
the same manner; however, unlike standard commands, extended commands are not limited to 2-byte
words. The number of commands bytes for a given extended command ranges in size from single to
multiple bytes, as specified in Table 4-5.
Table 4-5. Extended Data Commands
COMMAND
CODE
NAME
UNITS
SEALED
ACCESS (1) (2)
UNSEALED
ACCESS (1) (2)
Reserved
RSVD
0x34...0x3b
N/A
R
R
DesignCapacity( )
DCAP
0x3c / 0x3d
mAh
R
R
(2)
DFCLS
0x3e
N/A
N/A
R/W
DataFlashBlock( ) (2)
DFBLK
0x3f
N/A
R/W
R/W
A/DF
0x40…0x53
N/A
R/W
R/W
DataFlashClass( )
Authenticate( )/BlockData( )
AuthenticateCheckSum( )/BlockData( )
BlockData( )
BlockDataCheckSum( )
(1)
(2)
ACKS/DFD
0x54
N/A
R/W
R/W
DFD
0x40…0x5f
N/A
R
R/W
DFDCKS
0x60
N/A
R/W
R/W
SEALED and UNSEALED states are entered via commands to Control() 0x00/0x01.
In sealed mode, data flash CANNOT be accessed through commands 0x3e and 0x3f.
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
17
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
Table 4-5. Extended Data Commands (continued)
NAME
BlockDataControl( )
DeviceNameLength( )
DeviceName( )
ApplicationStatus( )
Reserved
4.1.2.1
COMMAND
CODE
UNITS
SEALED
ACCESS (1) (2)
UNSEALED
ACCESS (1) (2)
DFDCNTL
0x61
N/A
N/A
R/W
DNAMELEN
0x62
N/A
R
R
DNAME
0x63...0x69
N/A
R
R
APPSTAT
0x6a
N/A
R
R
RSVD
0x6b...0x7f
N/A
R
R
DesignCapacity( ): 0x3c/0x3d
SEALED and UNSEALED Access: This command returns the value is stored in Design Capacity and is
expressed in mAh. This is intended to be the theoretical or nominal capacity of a new pack, but has no
bearing on the operation of the fuel gauge functionality.
4.1.2.2
DataFlashClass( ): 0x3e
UNSEALED Access: This command sets the data flash class to be accessed. The class to be accessed
must be entered in hexadecimal.
SEALED Access: This command is not available in SEALED mode.
4.1.2.3
DataFlashBlock( ): 0x3f
UNSEALED Access: This command sets the data flash block to be accessed. When 0x00 is written to
BlockDataControl( ), DataFlashBlock( ) holds the block number of the data flash to be read or written.
Example: writing a 0x00 to DataFlashBlock( ) specifies access to the first 32-byte block, a 0x01 specifies
access to the second 32-byte block, and so on.
SEALED Access: This command directs which data flash block is accessed by the BlockData( )
command. Writing a 0x00 to DataFlashBlock( ) specifies that the BlockData( ) command transfers
authentication data. Issuing a 0x01 or 0x02 instructs the BlockData( ) command to transfer Manufacturer
Info Block A or B, respectively.
4.1.2.4
BlockData( ): 0x40…0x5f
UNSEALED Access: This data block is the remainder of the 32 byte data block when accessing data
flash.
SEALED Access: This data block is the remainder of the 32 byte data block when accessing
Manufacturer Block Info A or B.
4.1.2.5
BlockDataChecksum( ): 0x60
UNSEALED Access: This byte contains the checksum on the 32 bytes of block data read or written to
data flash. The least-significant byte of the sum of the data bytes written must be complemented
([255 – x], for x the least-significant byte) before being written to 0x60.
SEALED Access: This byte contains the checksum for the 32 bytes of block data written to Manufacturer
Info Block A or B. The least-significant byte of the sum of the data bytes written must be complemented
([255 – x], for x the least-significant byte) before being written to 0x60.
4.1.2.6
BlockDataControl( ): 0x61
UNSEALED Access: This command is used to control data flash access mode. Writing 0x00 to this
command enables BlockData( ) to access general data flash. Writing a 0x01 to this command enables
SEALED mode operation of DataFlashBlock( ).
SEALED Access: This command is not available in SEALED mode.
18
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
4.1.2.7
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
DeviceNameLength( ): 0x62
UNSEALED and SEALED Access: This byte contains the length of the Device Name.
4.1.2.8
DeviceName( ): 0x63…0x69
UNSEALED and SEALED Access: This block contains the device name that is programmed in Device
Name.
4.1.2.9
ApplicationStatus( ): 0x6a
This byte function allows the system to read the bq27505 Application Status data flash location. See
Table 6-1 for specific bit definitions.
4.1.2.10 Reserved — 0x6b–0x7f
4.2
4.2.1
DATA FLASH INTERFACE
ACCESSING THE DATA FLASH
The bq27505 data flash is a non-volatile memory that contains bq27505 initialization, default, cell status,
calibration, configuration, and user information. The data flash can be accessed in several different ways,
depending on what mode the bq27505 is operating in and what data is being accessed.
Commonly accessed data flash memory locations, frequently read by a system, are conveniently
accessed through specific instructions, already described in Section 4.1, DATA COMMANDS . These
commands are available when the bq27505 is either in UNSEALED or SEALED modes.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27505
evaluation software or by data flash block transfers. These locations should be optimized and/or fixed
during the development and manufacture processes. They become part of a golden image file and can
then be written to multiple battery packs. Once established, the values generally remain unchanged during
end-equipment operation.
To access data flash locations individually, the block containing the desired data flash location(s) must be
transferred to the command register locations, where they can be read to the system or changed directly.
This is accomplished by sending the set-up command BlockDataControl( ) (0x61) with data 0x00. Up to 32
bytes of data can be read directly from the BlockData( ) (0x40…0x5f), externally altered, then rewritten to
the BlockData( ) command space. Alternatively, specific locations can be read, altered, and rewritten if
their corresponding offsets are used to index into the BlockData( ) command space. Finally, the data
residing in the command space is transferred to data flash, once the correct checksum for the whole block
is written to BlockDataChecksum( ) (0x60).
Occasionally, a data flash CLASS will be larger than the 32-byte block size. In this case, the
DataFlashBlock( ) command is used to designate which 32-byte block the desired locations reside in. The
correct command address is then given by 0x40 + offset modulo 32. For example, to access Terminate
Voltage in the Gas Gauging class, DataFlashClass( ) is issued 80 (0x50) to set the class. Because the
offset is 50, it must reside in the second 32-byte block. Hence, DataFlashBlock( ) is issued 0x01 to set the
block offset, and the offset used to index into the BlockData( ) memory area is 0x40 + 50 modulo 32 =
0x40 + 18 = 0x40 + 0x12 = 0x52.
Reading and writing subclass data are block operations up to 32 bytes in length. If during a write the data
length exceeds the maximum block size, then the data is ignored.
None of the data written to memory are bounded by the bq27505 – the values are not rejected by the fuel
gauge. Writing an incorrect value may result in hardware failure due to firmware program interpretation of
the invalid data. The written data is persistent, so a power-on reset does resolve the fault.
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
19
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
4.3
www.ti.com
MANUFACTURER INFORMATION BLOCKS
The bq27505 contains 96 bytes of user programmable data flash storage: Manufacturer Info Block A,
and Manufacturer Info Block B. The method for accessing these memory locations is slightly different,
depending on whether the device is in UNSEALED or SEALED modes.
When in UNSEALED mode and when and 0x00 has been written to BlockDataControl( ), accessing the
manufacturer information blocks is identical to accessing general data flash locations. First, a
DataFlashClass( ) command is used to set the subclass, then a DataFlashBlock( ) command sets the
offset for the first data flash address within the subclass. The BlockData( ) command codes contain the
referenced data flash data. When writing the data flash, a checksum is expected to be received by
BlockDataChecksum( ). Only when the checksum is received and verified is the data actually written to
data flash.
As an example, the data flash location for Manufacturer Info Block B is defined as having a Subclass =
58 and an Offset = 32 through 63 (32 byte block). The specification of Class = System Data is not needed
to address Manufacturer Info Block B, but is used instead for grouping purposes when viewing data
flash info in the bq27505 evaluation software.
When in SEALED mode or when 0x01 BlockDataControl( ) does not contain 0x00, data flash is no longer
available in the manner used in UNSEALED mode. Rather than issuing subclass information, a
designated Manufacturer Information Block is selected with the DataFlashBlock( ) command. Issuing a
0x01 or 0x02 with this command causes the corresponding information block (A or B, respectively) to be
transferred to the command space 0x40…0x5f for editing or reading by the system. Upon successful
writing of checksum information to BlockDataChecksum( ), the modified block is returned to data flash.
Note: Manufacturer Info Block A is read-only when in SEALED mode.
20
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
4.4
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
ACCESS MODES
The bq27505 provides three security modes (FULL ACCESS, UNSEALED, and SEALED) that control
data flash access permissions, according to Table 4-6. Data Flash refers to those data flash locations,
specified in Table 4-7, that are accessible to the user. Manufacture Information refers to the three 32-byte
blocks.
Table 4-6. Data Flash Access
Security Mode
Data Flash
Manufacture Information
FULL ACCESS
R/W
R/W
UNSEALED
R/W
R/W
SEALED
None
R(A); R/W(B)
Although FULL ACCESS and UNSEALED modes appear identical, only FULL ACCESS allows the
bq27505 to write access-mode transition keys.
4.5
SEALING/UNSEALING DATA FLASH
The bq27505 implements a key-access scheme to transition between SEALED, UNSEALED, and
FULL-ACCESS modes. Each transition requires that a unique set of two keys be sent to the bq27505 via
the Control( ) control command. The keys must be sent consecutively, with no other data being written to
the Control( ) register in between. Note that to avoid conflict, the keys must be different from the codes
presented in the CNTL DATA column of Table 4-2 subcommands.
When in SEALED mode, the CONTROL_STATUS [SS] bit is set, but when the UNSEAL keys are
correctly received by the bq27505, the [SS] bit is cleared. When the full-access keys are correctly
received, then the CONTROL_STATUS [FAS] bit is cleared.
Both the sets of keys for each level are 2 bytes each in length and are stored in data flash. The UNSEAL
key (stored at Unseal Key 0 and Unseal Key 1) and the FULL-ACCESS key (stored at Full-Access Key
0 and Full-Access Key 1) can only be updated when in FULL-ACCESS mode. The order of the keys is
Key 1 followed by Key 0. The order of the bytes entered through the Control( ) command is the reverse of
what is read from the part. For example, if the Key 1 and Key 0 of the Unseal Keys returns 0x1234 and
0x5678, then the Control( ) should supply 0x3412 and 0x7856 to unseal the part.
4.6
DATA FLASH SUMMARY
Table 4-7 summarizes the data flash locations available to the user, including their default, minimum, and
maximum values.
Table 4-7. Data Flash Summary
Class
Subclass
ID
Subclass
Offset
Data
Type
Min
Value
Max
Value
Default
Value
Units
Configuration
2
Safety
0
Configuration
2
Safety
2
OT Chg
I2
0
1200
550
0.1°C
OT Chg Time
U1
0
60
2
Configuration
2
Safety
s
3
OT Chg Recovery
I2
0
1200
500
0.1°C
Configuration
2
Configuration
2
Safety
5
OT Dsg
I2
0
1200
600
0.1°C
Safety
7
OT Dsg Time
U1
0
60
2
Configuration
s
2
Safety
8
OT Dsg Recovery
I2
0
1200
550
0.1°C
Configuration
32
Charge Inhibit
Temp Low
0
Charge Inhibit Temp Low
I2
–400
1200
0
0.1°C
Configuration
32
Charge Inhibit
Temp High
2
Charge Inhibit Temp High
I2
–400
1200
450
0.1°C
Configuration
32
Temp
Hysteresis
4
Temp Hys
I2
0
100
50
0.1°C
Configuration
34
Charge
2
Charging Voltage
I2
0
4600
4200
mV
Configuration
34
Charge
4
Delta Temp
I2
0
500
50
0.1°C
Name
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
21
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
Table 4-7. Data Flash Summary (continued)
Class
Subclass
ID
Subclass
Offset
Data
Type
Min
Value
Max
Value
Configuration
34
Charge
6
Configuration
34
Charge
8
Suspend Low Temp
I2
–400
1200
-50
0.1°C
Suspend High Temp
I2
–400
1200
550
0.1°C
Configuration
36
Charge
Termination
2
Taper Current
I2
0
1000
100
mA
Configuration
36
Charge
Termination
4
Minimum Taper Charge
I2
0
1000
25
0.01mAh
Configuration
36
Charge
Termination
6
Taper Voltage
I2
0
1000
100
mV
Configuration
36
Charge
Termination
8
Current Taper Window
U1
0
60
40
s
Configuration
36
Charge
Termination
11
FC Set %
I1
–1
100
100
%
Configuration
36
Charge
Termination
12
FC Clear %
I1
–1
100
98
%
Configuration
48
Data
4
Initial Standby Current
I1
–128
0
–10
mA
Configuration
48
Data
5
Initial Max Load Current
I2
–32,767
0
–500
mA
Configuration
48
Data
7
CC Threshold
I2
100
32,767
900
mAh
Configuration
48
Data
10
Design Capacity
I2
0
65,535
1000
mAh
Configuration
48
Data
12
SOH Load
I2
–32,767
0
–400
mA
Configuration
48
Data
14
Default Temp
I2
0
1000
250 (1)
0.1°C
Configuration
48
Data
16
Device name
S8
x
x
bq27505
–
Configuration
49
Discharge
0
SOC1 Set Threshold
U1
0
255
150
mAh
Configuration
49
Discharge
1
SOC1 Clear Threshold
U1
0
255
175
mAh
Configuration
49
Discharge
5
SysDown Set Volt Threshold
I2
0
4200
3150
mV
Configuration
49
Discharge
7
SysDown Set Volt Time
U1
0
60
2
s
Configuration
49
Discharge
8
SysDown Clear Volt Threshold
I2
0
4200
3400
mV
Configuration
49
Discharge
15
Final Voltage
U2
0
4200
3000
mV
Configuration
56
Integrity Data
1
Full Reset Counter
U1
0
255
0
num
System Data
57
Manufacturer
Info
0
Block A 0
H1
0x00
0xff
0x00
–
System Data
57
Manufacturer
Info
1–31
Block A [10–31]
H1
0x00
0xff
0x00
–
System Data
57
Manufacturer
Info
32–63
Block B [0–31]
H1
0x00
0xff
0x00
–
Configuration
64
Registers
0
Operation Configuration
H2
0x0000
0xffff
0x0973
–
Configuration
64
Registers
7
SOC Delta
U1
0
25
1
%
Configuration
64
Registers
8
I2C Timeout
U1
0
7
4
num
Configuration
64
Registers
9
DFWrIndWaitTime
U2
0
65535
0
5ms
Configuration
64
Registers
11
OpConfigB
H1
0x00
0xff
0x50
–
Configuration
64
Registers
12
Debug Options
H1
4
0x00
0xff
–
Configuration
68
Power
0
Flash Update OK Voltage
I2
0
4200
2800
mV
Configuration
68
Power
7
Sleep Current
I2
0
100
10
mA
Configuration
68
Power
16
Hibernate Current
U2
0
700
8
mA
Configuration
68
Power
18
Hibernate Voltage
U2
2400
3000
2550
mV
–
Default
Value
Units
Gas Gauging
80
IT Cfg
0
Load Select
U1
0
255
1
Gas Gauging
80
IT Cfg
1
Load Mode
U1
0
255
0
–
Gas Gauging
80
IT Cfg
25
Ra Filter
U2
0
1000
800
num
Gas Gauging
80
IT Cfg
45
Min % Passed Charge for
Qmax
U1
1
100
37
%
Gas Gauging
80
IT Cfg
49
Qmax Filter
U1
0
255
96
num
(1)
22
Name
Display as the value EVSW displayed. Data Flash value is different.
GENERAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Table 4-7. Data Flash Summary (continued)
Class
Subclass
ID
Subclass
Offset
Data
Type
Min
Value
Max
Value
Default
Value
Units
Gas Gauging
80
IT Cfg
50
Gas Gauging
80
IT Cfg
55
Terminate Voltage
I2
–32,768
32,767
3420
mV
User Rate-mA
I2
–2000
–100
0
Gas Gauging
80
IT Cfg
mA
57
User Rate-mW
I2
–7200
–350
0
mW
Gas Gauging
80
Gas Gauging
80
IT Cfg
59
Reserve Cap-mAh
I2
0
9000
0
mAh
IT Cfg
61
Reserve Cap-mWh
I2
0
14,000
0
mWh
Gas Gauging
80
IT Cfg
66
MinDeltaVoltage
I2
4
0
15
mV
Gas Gauging
81
Current
Thresholds
0
Dsg Current Threshold
I2
0
2000
60
mA
Gas Gauging
81
Current
Thresholds
2
Chg Current Threshold
I2
0
2000
75
mA
Gas Gauging
81
Current
Thresholds
4
Quit Current
I2
0
1000
40
mA
Gas Gauging
81
Current
Thresholds
6
Dsg Relax Time
U2
0
8191
60
s
Gas Gauging
81
Current
Thresholds
8
Chg Relax Time
U1
0
255
60
s
Gas Gauging
81
Current
Thresholds
9
Quit Relax Time
U1
0
63
1
s
Gas Gauging
82
State
0
IT Enable
H1
0x00
0x03
0x00
–
Gas Gauging
82
State
1
Application Status
H1
0x00
0xff
0x00
–
Gas Gauging
82
State
2
Qmax 0
I2
0
32,767
1000
mAh
–
Name
Gas Gauging
82
State
4
Cycle Count 0
U2
0
65,535
0
Gas Gauging
82
State
6
Update Status 0
H1
0x00
0x03
0x00
–
Gas Gauging
82
State
7
Qmax 1
I2
0
32767
1000
mAh
Gas Gauging
82
State
9
Cycle Count 1
U2
0
65,535
0
Count
Gas Gauging
82
State
11
Update Status 1
H1
0x00
0x03
0x00
–
Gas Gauging
82
State
12
Cell0 Chg dod
I2
0
16384
0
–
Gas Gauging
82
State
14
Cell1 Chg dod at EoC
I2
0
16384
0
–
Gas Gauging
82
State
16
Avg I Last Run
I2
–32,768
32,767
–299
mA
Gas Gauging
82
State
18
Avg P Last Run
I2
–32,768
32,767
–1131
mAh
Calibration
104
Data
0
CC Gain
F4 (2)
0.1
47
10 (3)
mohm
Calibration
104
Data
4
CC Delta
F4 (2)
4.7
188
10 (3)
mohm
Calibration
104
Data
8
CC Offset
I2
–2.4
2.4
–0.088 (3)
mV
Calibration
104
Data
10
ADC Offset
I2
–500
500
0
mV
Calibration
104
Data
12
Board Offset
I1
–128
127
0
mV
Calibration
104
Data
13
Int Temp Offset
I1
–128
127
0
0.1°C
Calibration
104
Data
14
Ext Temp Offset
I1
–128
127
0
0.1°C
Calibration
104
Data
15
Pack V Offset
I1
–128
127
0
mV
Calibration
107
Current
1
Deadband
U1
0
255
5
mA
Security
112
Codes
0
Unseal Key 0
H2
0x0000
0xffff
0x3672
–
Security
112
Codes
2
Unseal Key 1
H2
0x0000
0xffff
0x0414
–
Security
112
Codes
4
Full-Access Key 0
H2
0x0000
0xffff
0xffff
–
Security
112
Codes
6
Full-Access Key 1
H2
0x0000
0xffff
0xffff
–
(2)
(3)
Not IEEE floating point.
Display as the value EVSW displayed. Data Flash value is different.
5 FUNCTIONAL DESCRIPTION
5.1
FUEL GAUGING
The bq27505 measures the cell voltage, temperature, and current to determine battery SOC. The
bq27505 monitors charge and discharge activity by sensing the voltage across a small-value resistor
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
23
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
(5 mΩ to 20 mΩ typ.) between the SRP and SRN pins and in series with the cell. By integrating charge
passing through the battery, the battery’s SOC is adjusted during battery charge or discharge.
The total battery capacity is found by comparing states of charge before and after applying the load with
the amount of charge passed. When an application load is applied, the impedance of the cell is measured
by comparing the OCV obtained from a predefined function for present SOC with the measured voltage
under load. Measurements of OCV and charge integration determine chemical state of charge and
chemical capacity (Qmax). The initial Qmax values are taken from a cell manufacturers' data sheet
multiplied by the number of parallel cells. It is also used for the value in Design Capacity. The bq27505
acquires and updates the battery-impedance profile during normal battery usage. It uses this profile, along
with SOC and the Qmax value, to determine FullChargeCapacity( ) and StateOfCharge( ), specifically for
the present load and temperature. FullChargeCapacity( ) is reported as capacity available from a fully
charged battery under the present load and temperature until Voltage( ) reaches the Terminate Voltage.
NominalAvailableCapacity( ) and FullAvailableCapacity( ) are the uncompensated (no or light load)
versions of RemainingCapacity( ) and FullChargeCapacity( ) respectively.
The bq27505 has two flags accessed by the Flags( ) function that warns when the battery’s SOC has
fallen to critical levels. When RemainingCapacity( ) falls below the first capacity threshold, specified in
SOC1 Set Threshold, the [SOC1] (State of Charge Initial) flag is set. The flag is cleared once
RemainingCapacity( ) rises above SOC1 Set Threshold. The bq27505’s BAT_LOW pin automatically
reflects the status of the [SOC1] flag. This flag is enabled when BL_INT bit in Operation Configuration B
is set. All units are in mAh.
When Voltage( ) falls below the system shut down threshold voltage, SysDown Set Volt Threshold, the
[SYSDOWN] flag is set, serving as a final warning to shut down the system. The SOC_INT also signals.
When Voltage( ) rises above SysDown Clear Voltage and the [SYSDOWM] flag has already been set,
the [SYSDOWN] flag is cleared. The SOC_INT also signals such change. All units are in mV.
When the voltage is discharged to Final Voltage, the SOC will be set as 0.
5.2
IMPEDANCE TRACK™ VARIABLES
The bq27505 has several data flash variables that permit the user to customize the Impedance Track™
algorithm for optimized performance. These variables are dependent upon the power characteristics of the
application as well as the cell itself.
5.2.1
Load Mode
Load Mode is used to select either the constant-current or constant-power model for the Impedance
Track™ algorithm as used in Load Select (see Load Select). When Load Mode is 0, the Constant
Current Model is used (default). When 1, the Constant Power Model is used. The [LDMD] bit of
CONTROL_STATUS reflects the status of Load Mode.
5.2.2
Load Select
Load Select defines the type of power or current model to be used to compute load-compensated
capacity in the Impedance Track™ algorithm. If Load Mode = 0 (Constant-Current) then the options
presented in Table 5-1 are available.
Table 5-1. Constant-Current Model Used When Load Mode = 0
LoadSelect Value
0
1(default)
24
Current Model Used
Average discharge current from previous cycle: There is an internal register that records the average discharge
current through each entire discharge cycle. The previous average is stored in this register.
Present average discharge current: This is the average discharge current from the beginning of this discharge cycle
until present time.
2
Average current: based on AverageCurrent( )
3
Current: based off of a low-pass-filtered version of AverageCurrent( ) (t =14 s)
4
Design capacity / 5: C Rate based off of Design Capacity /5 or a C/5 rate in mA.
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Table 5-1. Constant-Current Model Used When Load Mode = 0 (continued)
5
AtRate (mA): Use whatever current is in AtRate( )
6
User_Rate-mA: Use the value in User_Rate-mA. This mode provides a completely user-configurable method.
If Load Mode = 1 (Constant Power) then the following options shown in Table 5-2 are available
Table 5-2. Constant-Power Model Used When Load Mode = 1
LoadSelect Value
Power Model Used
0
Average discharge power from previous cycle: There is an internal register that records the average discharge power
through each entire discharge cycle. The previous average is stored in this register.
1(default)
5.2.3
Present average discharge power: This is the average discharge power from the beginning of this discharge cycle
until present time.
2
Average current × voltage: based off the AverageCurrent( ) and Voltage( ).
3
Current × voltage: based off of a low-pass-filtered version of AverageCurrent( ) (t=14 s) and Voltage( )
4
Design energy / 5: C Rate based off of Design Energy /5 or a C/5 rate in mA.
5
AtRate (10 mW): Use whatever value is in AtRate( ).
6
User_Rate-10mW: Use the value in User_Rate-10mW. This mode provides a completely user-configurable method.
Reserve Cap-mAh
Reserve Cap-mAh determines how much actual remaining capacity exists after reaching 0
RemainingCapacity( ), before Terminate Voltage is reached. A no-load rate of compensation is applied
to this reserve.
5.2.4
Reserve Cap-mWh
Reserve Cap-mWh determines how much actual remaining capacity exists after reaching 0
AvailableEnergy( ), before Terminate Voltage is reached. A no-load rate of compensation is applied to
this reserve capacity.
5.2.5
Dsg Current Threshold
This register is used as a threshold by many functions in the bq27505 to determine if actual discharge
current is flowing into or out of the cell. The default for this register is in Table 4-7, which should be
sufficient for most applications. This threshold should be set low enough to be below any normal
application load current but high enough to prevent noise or drift from affecting the measurement.
5.2.6
Chg Current Threshold
This register is used as a threshold by many functions in the bq27505 to determine if actual charge
current is flowing into or out of the cell. The default for this register is in Table 4-7, which should be
sufficient for most applications. This threshold should be set low enough to be below any normal charge
current but high enough to prevent noise or drift from affecting the measurement.
5.2.7
Quit Current, DSG Relax Time, CHG Relax Time, and Quit Relax Time
The Quit Current is used as part of the Impedance Track™ algorithm to determine when the bq27505
enters relaxation mode from a current-flowing mode in either the charge direction or the discharge
direction. The value of Quit Current is set to a default value in Table 4-7 and should be above the standby
current of the system.
Either of the following criteria must be met to enter relaxation mode:
• | AverageCurrent( ) | < | Quit Current | for Dsg Relax Time
• | AverageCurrent( ) | < | Quit Current | for Chg Relax Time
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
25
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
After about 5 minutes in relaxation mode, the bq27505 attempts to take accurate OCV readings. An
additional requirement of dV/dt < 4 mV/s is required for the bq27505 to perform Qmax updates. These
updates are used in the Impedance Track™ algorithms. It is critical that the battery voltage be relaxed
during OCV readings to and that the current is not be higher than C/20 when attempting to go into
relaxation mode.
Quit Relax Time specifies the minimum time required for AverageCurrent( ) to remain above the
QuitCurrent threshold before exiting relaxation mode.
5.2.8
Qmax 0 and Qmax 1
Generically called Qmax, these dynamic variables contain the respective maximum chemical capacity of
the active cell profiles, and are determined by comparing states of charge before and after applying the
load with the amount of charge passed. They also correspond to capacity at a very low rate of discharge,
such as the C/20 rate. For high accuracy, this value is periodically updated by the bq27505 during
operation. Based on the battery cell capacity information, the initial value of chemical capacity should be
entered in the Qmax n field for each default cell profile. The Impedance Track™ algorithm updates these
values and maintains them the associated actual cell profiles.
5.2.9
Update Status 0 and Update Status 1
Bit 0 (0x01) of the Update Status n registers indicates that the bq27505 has learned new Qmax
parameters and is accurate. The remaining bits are reserved. Bits 0 is user-configurable; however, it is
also a status flag that can be set by the bq27505. Bit 0 should never be modified except when creating a
golden image file as explained in the application note Preparing Optimized Default Flash Constants for
specific Battery Types (SLUA334). Bit 0 is updated as needed by the bq27505.
5.2.10 Avg I Last Run
The bq27505 logs the current averaged from the beginning to the end of each discharge cycle. It stores
this average current from the previous discharge cycle in this register. This register should not be
modified. It is only updated by the bq27505 when required.
5.2.11 Avg P Last Run
The bq27505 logs the power averaged from the beginning to the end of each discharge cycle. It stores
this average power from the previous discharge cycle in this register. To get a correct average power
reading the bq27505 continuously multiplies instantaneous current times Voltage( ) to get power. It then
logs this data to derive the average power. This register should not be modified. It is only updated by the
bq27505 when required.
5.2.12 Delta Voltage
The bq27505 stores the maximum difference of Voltage( ) during short load spikes and normal load, so
the Impedance Track™ algorithm can calculate remaining capacity for pulsed loads. This behavior can be
modified by setting bits 0 and 1 of the Data flash register Debug Options as follows:
Bit1
26
Bit0
Delta V Selection
Description
Average variance from steady state voltage used to determine end of
discharge voltage
0
0
Standard
0
1
No Averaging
1
0
Minimum Delta V
1
1
–
Last instantaneous change in voltage from steady state used to
determine end of discharge voltage
Value in Min Delta Voltage used
Unused
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
5.2.13 Default Ra and Ra Tables
These tables contain encoded data and, with the exception of the Default Ra Tables, are automatically
updated during device operation. No user changes should be made except for reading/writing the values
from a pre-learned pack (part of the process for creating golden image files).
5.3
5.3.1
DETAILED PIN DESCRIPTION
The Operation Configuration Register
Some bq27505 pins are configured via the Operation Configuration data flash register, as indicated in
Table 5-3. This register is programmed/read via the methods described in Section 4.2.1, Accessing the
Data Flash. The register is located at subclass = 64, offset = 0.
Table 5-3. Operation Configuration Bit Definition
High byte
Low byte
bit7
RESCAP
INT_FOCV
bit6
BATG_OVR
IDSELEN
bit5
INT_BREM
SLEEP
bit4
PFC_CFG1
RMFCC
bit3
PFC_CFG0
SOCI_POL
bit2
IWAKE
BATG_POL
bit1
RSNS1
BATL_POL
bit0
RSNS0
TEMPS
RESCAP = No-load rate of compensation is applied to the reserve capacity calculation. True when set. Default is 0.
BATG_OVR = BAT_GD override bit. If the gauge enters Hibernate only due to the cell voltage, the BAT_GD will not negate. True when set.
Default is 0.
INT_BERM = Battery removal interrupt bit. The SOC_INT pulses 1ms when the battery removal interrupt is enabled. True when set. The
default is 0.
PFC_CFG1/PFC_CFG0 = Pin function code (PFC) mode selection: PFC 0, 1, or 2 selected by 0/0, 0/1, or 1/0, respectively. Default is PFC
1 (0/1).
IWAKE/RSNS1/RSNS0 = These bits configure the current wake function (see Table 5-6). Default is 0/0/1.
INT_FOCV = Indication of the measurement of the OCV during the initialization. The SOC_INT will pulse during the first measurement if this
bit is set. True when set. Default is 0.
IDSELEN = Enables cell profile selection feature. True when set. Default is 1.
SLEEP = The fuel gauge can enter sleep, if operating conditions allow. True when set. Default is 1.
RMFCC = RM is updated with the value from FCC, on valid charge termination. True when set. Default is 1.
SOCI_POL = SOC interrupt polarity is active-low. True when cleared. Default is 0.
BATG_POL = BAT_GD pin is active-low. True when cleared. Default is 0.
BATL_POL = BAT_LOW pin is active-high. True when set. Default is 1.
TEMPS = Selects external thermistor for Temperature( ) measurements. True when set. Default is 1.
Some bq27505 pins are configured via the Operation Configuration B data flash register, as indicated in
Table 5-4. This register is programmed/read via the methods described in Section 4.2.1: Accessing the
Data Flash. The register is located at subclass = 64, offset = 9.
Table 5-4. Operation Configuration B Bit Definition
bit7
WRTEMP
bit6
BIE
bit5
BL_INT
bit4
GNDSEL
bit3
BG_INIT
bit2
DFWrIndBL
bit1
–
bit0
–
WRTEMP = Enables the temperature write. The temperature could be written by the host. True when set. Default is 0.
BIE = Battery insertion detection enable. When the battery insertion detection is disabled, the gauge relies on the host command to set the
BAT_DET bit. True when set. Default is 1.
BL_INT = Battery low interrupt enable. True when set. Default is 0.
GNDSEL = The ADC ground select control. The Vss (Pin D1) is selected as ground reference when the bit is clear. Pin A1 is selected when
the bit is set. Default is 1.
BG_INIT = BAT_GD will be asserted during the initialization. It is for application that needs the system be powered up ASAP. True when
set. Default is 0.
DFWrIndBL = DataFlash Write Indication. SOC_INT is used for indication if the bit is clear. BAT_LOW is used for indication if the bit is set.
Default is 0.
5.3.2
Pin Function Code Descriptions
The bq27505 has three possible pin-function variations that can be selected in accordance with the circuit
architecture of the end application. Each variation has been assigned a pin function code, or PFC.
When the PFC is set to 0, only the bq27505 measures battery temperature under discharge and relaxation
conditions. The charger does not receive any information from the bq27505 about the temperature
readings, and therefore operates open-loop with respect to battery temperature.
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
27
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
A PFC of 1 is like a PFC of 0, except temperature is also monitored during battery charging. If charging
temperature falls outside of the preset range defined in data flash, a charger can be disabled via the
BAT_GD pin until cell temperature recovers. See Section 5.6.2, Charge Inhibit and Suspend, for additional
details.
Finally when the PFC is set to 2, the battery thermistor can be shared between the fuel gauge and the
charger. The charger has full usage of the thermistor during battery charging, while the fuel gauge uses
the thermistor exclusively during discharge and battery relaxation.
When PFC = 0 or 2, the bq27505 must be queried by the system in order to determine the battery
temperature. At that time, the bq27505 samples the temperature. This saves battery energy when
operating from battery, as periodic temperature updates are avoided during charging mode.
The PFC is specified in Operation Configuration [PFC_CFG1, PFC_CFG0]. The default is PFC = 1.
5.3.3
BAT_LOW Pin
The BAT_LOW pin provides a system processor with an electrical indicator of battery status. The signaling
on the BAT_LOW pin follows the status of the [SOC1] bit in the Flags( ) register. Note that the polarity of
the BAT_LOW pin can be inverted via the [BATL_POL] bit of Operation Configuration.
5.3.4
Power Path Control With the BAT_GD Pin
The bq27505 must operate in conjunction with other electronics in a system appliance, such as chargers
or other ICs and application circuits that draw appreciable power. After a battery is inserted into the
system, there should be no charging current or a discharging current higher than C/20, so that an accurate
OCV can be read. The OCV is used for helping determine which battery profile to use, as it constitutes
part of the battery impedance measurement
When a battery is inserted into a system, the Impedance Track™ algorithm requires that no charging of
the battery takes place and that any discharge is limited to less than C/20—these conditions are sufficient
for the fuel gauge to take an accurate OCV reading. To disable these functions, the BAT_GD pin is merely
negated from the default setting. Once an OCV reading has be made, the BAT_GD pin is asserted,
thereby enabling battery charging and regular discharge of the battery. The Operation Configuration
[BATG_POL] bit can be used to set the polarity of the battery good signal, should the default configuration
need to be changed.
28
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
POR
Exit From HIBERNATE
Battery Removed
BAT INSERT CHECK
Exit From HIBERNATE
Communication Activity
AND Comm address is for bq27505
Check for battery insertion
from HALT state.
No gauging
bq27505 clears Control Status
[HIBERNATE ] = 0
Recommend Host also set Control
Status [HIBERNATE] = 0
Flags [BAT _DET] = 0
Entry to NORMAL
Exit From NORMAL
Flags [BAT _DET] = 1
Flags [BAT _DET] = 0
Exit From SLEEP
NORMAL
Flags [BAT_DET] = 0
Fuel gauging and data
updated every 1s
HIBERNATE
Wakeup From HIBERNATE
Communication Activity
AND
Comm address is NOT for bq27505
Disable all bq27505
subcircuits except GPIO.
Negate BAT_GD
Exit From SLEEP
| AverageCurrent( ) | > Sleep Current
OR
Current is Detected above IWAKE
Entry to SLEEP+
Operation Configuration[SLEEP] = 1
AND
Control Status[SNOOZE] = 1
AND
| AverageCurrent( ) | ≤ Sleep Current
Entry to SLEEP
Operation Configuration[SLEEP] = 1
AND
| AverageCurrent( ) | ≤ Sleep Current
AND
Control Status[SNOOZE] = 0
Exit From SLEEP+
Any communication to the gauge
OR
| AverageCurrent( ) | > Sleep Current
OR
Current is Detected above I WAKE
SLEEP+
Fuel gauging and data
updated every 20 seconds
Both LFO and HFO are ON
Exit From WAIT_HIBERNATE
Cell relaxed
AND
| AverageCurrent() | < Hibernate
Current
Entry to SLEEP+
Control Status[SNOOZE] = 0
WAIT_HIBERNATE
SLEEP
OR
V CELL
Cell relaxed
AND
< Hibernate Voltage
Entry to SLEEP+
Control Status[SNOOZE] = 1
Fuel gauging and data
updated every 20 seconds
BAT_GD unchanged
Exit From WAIT _HIBERNATE
Host must set Control Status
[HIBERNATE ] = 0
AND
VCELL > Hibernate Voltage
System Shutdown
Fuel gauging and data
updated every 20 seconds
(LFO ON and HFO OFF)
Exit From SLEEP
(Host has set Control Status
[HIBERNATE] = 1
OR
VCELL < Hibernate Voltage
System Sleep
Figure 5-1. Power Mode Diagram
Figure 5-1 details how the BAT_GD pin functions in the context of battery insertion and removal, as well
as NORMAL vs. SLEEP modes.
In PFC 1, the BAT_GD pin is also used to disable battery charging when the bq27505 reads battery
temperatures outside the range defined by [Charge Inhibit Temp Low, Charge Inhibit Temp High]. The
BAT_GD line is asserted once temperature falls within the range [Charge Inhibit Temp Low + Temp
Hys, Charge Inhibit Temp High – Temp Hys].
5.3.5
Battery Detection Using the BI/TOUT Pin
During power-up or hibernate activities, or any other activity where the bq27505 needs to determine
whether a battery is connected or not, the fuel gauge applies a test for battery presence. First, the
BI/TOUT pin is put into high-Z status. The weak 1.8MΩ pull-up resistor will keep the pin high while no
battery is present. When a battery is inserted (or is already inserted) into the system device, the BI/TOUT
pin will be pulled low. This state is detected by the fuel gauge, which polls this pin every second when the
gauge has power. A battery-disconnected status is assumed when the bq27505 reads a thermistor voltage
that is near 2.5V.
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
29
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
5.3.6
www.ti.com
SOC_INT pin
The SOC_INT pin generates a pulse with different pulse width under various conditions. Some features
needs to be enabled by setting the Operation Config. In any given one second, only one SOC_INT pulse
could be generated. In other words, the 1ms SOC_INT pulse could indicated multiple events generating
the 1ms pusles.
Table 5-5. SOC_INT Pulse Condition and Width
Enable Condition
Pulse Width
Comment
SOC_Delta ≠ 0
1 ms
During charge, when the SOC is greater than (>) the points, 100% - n
× SOC_Delta and 100%;
During discharge, when the SOC reaches (≤) the points 100% - n ×
SOC_Delta and 0%;
where n is an integer starting from 0 to the number generating SOC no
less than 0%
SOC1 Set
Always
1 ms
SOC1 Clear
Always
1 ms
SysDown Set Always
1 ms
SysDown
Clear
Always
1 ms
State
Change
SOC_Delta ≠ 0
1 ms
When there is a state change including charging, discharging and
relaxation. This function is disabled when SOC_Delta is set to 0.
INT_BREM bit is set in
OpConfig AND BIE bit is
set
1ms
This function is disabled when BIE is cleared.
After Initialization
About 165ms. Same
as the OCV
command execution
time period
SOC_INT pulses for the OCV command after the initialization.
OCV
Command
OCV
Command
INT_FOCV bit is set in
OpConfig
About 165ms. Same
as the OCV
command execution
time period
This command is to generate the SOC_INT pulse during the
initialization.
Data Flash
Write
After Initialization AND
DFWrIndWaitTime ≠ 0
Programmmable time
pluse flash erase and
write time
SOC_INT is used to indicate the data flash update. The gauge will wait
DFWrIndWaitTime times 5ms after the SOC_INT signal to start the
data flash update. This function is disabled if DFWrIndWaitTime is set
to 0.
SOC_Delta
Point
Battery
Removal
30
When RSOC reached the SOC1 Set or Clear threshold set in the Data
Flash and BL_INT bit in Operation Configuration B is set.
When the Battery Voltage reached the SysDown Set or Clear threshold
set in the Data Flash
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
5.4
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
TEMPERATURE MEASUREMENT
The bq27505 measures battery temperature via its TS input, in order to supply battery temperature status
information to the fuel gauging algorithm and charger-control sections of the gauge. Alternatively, it can
also measure internal temperature via its on-chip temperature sensor, but only if the [TEMPS] bit of the
Operation Configuration register is cleared. The [GNDSEL] bit of Operation Configuration B register
selects the ground reference of the ADC converter for temperature measurement.
Regardless of which sensor is used for measurement, a system processor can request the current battery
temperature by calling the Temperature( ) function (see Section 4.1.1, Standard Data Commands, for
specific information).
The thermistor circuit requires the use of an external NTC 103AT-type thermistor. Additional circuit
information for connecting this thermistor to the bq27505 is shown in Section 8, Reference Schematic.
5.5
5.5.1
OVERTEMPERATURE INDICATION
Overtemperature: Charge
If during charging, Temperature( ) reaches the threshold of OT Chg for a period of OT Chg Time and
AverageCurrent( ) > Chg Current Threshold, then the [OTC] bit of Flags( ) is set. When Temperature( )
falls to OT Chg Recovery, the [OTC] of Flags( ) is reset.
If OT Chg Time = 0, then the feature is completely disabled.
5.5.2
Overtemperature: Discharge
If during discharging, Temperature( ) reaches the threshold of OT Dsg for a period of OT Dsg Time, and
AverageCurrent( ) ≤ –Dsg Current Threshold, then the [OTD] bit of Flags( ) is set. When Temperature( )
falls to OT Dsg Recovery, the [OTD] bit of Flags( ) is reset.
If OT Dsg Time = 0, then feature is completely disabled.
5.6
5.6.1
CHARGING AND CHARGE-TERMINATION INDICATION
Detecting Charge Termination
For proper bq27505 operation, the cell charging voltage must be specified by the user. The default value
for this variable is Charging Voltage Table 4-7.
The bq27505 detects charge termination when (1) during 2 consecutive periods of Current Taper
Window, the AverageCurrent( ) is < Taper Current, (2) during the same periods, the accumulated
change in capacity > Min Taper Charge /Current Taper Window, and (3) Voltage( ) > Charging Voltage
– Taper Voltage. When this occurs, the [CHG] bit of Flags( ) is cleared. Also, if the [RMFCC] bit of
Operation Configuration is set, then RemainingCapacity( ) is set equal to FullChargeCapacity( ).
5.6.2
Charge Inhibit and Suspend
The bq27505 can indicate when battery temperature has fallen below or risen above predefined
thresholds Charge Inhibit Temp Low or Charge Inhibit Temp High, respectively. In this mode, the
[CHG_INT] bit is set and the BAT_GD pin is deserted to indicate this condition. The [CHG_INT] bit is
cleared and the BAT_GD pin is asserted once the battery temperature returns to the range [Charge
Inhibit Temp Low + Temp Hys, Charge Inhibit Temp High – Temp Hys].
When PFC = 1, the bq27505 can indicate when battery temperature has fallen below or risen above
predefined thresholds Suspend Low Temp or Suspend High Temp, respectively. In this mode, the
[XCHG] bit is set to indicate this condition. The [XCHG] bit is cleared once the battery temperature returns
to the range [Charge Inhibit Temp Low + Temp Hys, Charge Inhibit Temp High – Temp Hys].
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
31
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
The charging should not start when the temperature is below the Charge Inhibit Temp Low or above the
Charge Inhibit Temp High. The charging can continue if the charging starts inside the window [Charge
Inhibit Temp Low, Charge Inhibit Temp High] until the temperature is either below Suspend Low Temp or
above the Suspend Low Temp. Therefore, the window [Charge Inhibit Temp Low, Charge Inhibit Temp
High] must be inside the window of [Suspend Low Temp, Suspend High Temp].
5.7
POWER MODES
The bq27505 has different power modes: BAT INSERT CHECK, NORMAL, SLEEP, SLEEP+ and
HIBERNATE. In NORMAL mode, the bq27505 is fully powered and can execute any allowable task. In
SLEEP+ mode, both low frequency and high frequency oscillators are active. Although the SLEEP+ has
higher current consumption than the SLEEP mode, it is also a reduced power mode. In SLEEP mode, the
fuel gauge turns off the high frequency oscillator and exists in a reduced-power state, periodically taking
measurements and performing calculations. In HIBERNATE mode, the fuel gauge is in a very low power
state, but can be woken up by communication or certain I/O activity. Finally, the BAT INSERT CHECK
mode is a powered-up, but low-power halted, state, where the bq27505 resides when no battery is
inserted into the system.
The relationship between these modes is shown in Figure 5-1.
5.7.1
BAT INSERT CHECK Mode
This mode is a halted-CPU state that occurs when an adapter, or other power source, is present to power
the bq27505 (and system), yet no battery has been detected. When battery insertion is detected, a series
of initialization activities begin, which include: OCV measurement, setting the BAT_GD pin, and selecting
the appropriate battery profiles.
Some commands, issued by a system processor, can be processed while the bq27505 is halted in this
mode. The gauge will wake up to process the command, then return to the halted state awaiting battery
insertion.
5.7.2
NORMAL MODE
The fuel gauge is in NORMAL mode when not in any other power mode. During this mode,
AverageCurrent( ), Voltage( ) and Temperature( ) measurements are taken, and the interface data set is
updated. Decisions to change states are also made. This mode is exited by activating a different power
mode.
Because the gauge consumes the most power in NORMAL mode, the Impedance Track™ algorithm
minimizes the time the fuel gauge remains in this mode.
5.7.3
SLEEP MODE
SLEEP mode is entered automatically if the feature is enabled (Operation Configuration [SLEEP] = 1)
and AverageCurrent( ) is below the programmable level Sleep Current. Once entry into SLEEP mode has
been qualified, but prior to entering it, the bq27505 performs an coulomb counter autocalibration to
minimize offset.
During SLEEP mode, the bq27505 periodically takes data measurements and updates its data set.
However, a majority of its time is spent in an idle condition.
The bq27505 exits SLEEP if any entry condition is broken, specifically when (1) AverageCurrent( ) rises
above Sleep Current, or (2) a current in excess of IWAKE through RSENSE is detected.
In the event that a battery is removed from the system while a charger is present (and powering the
gauge), Impedance Track™ updates are not necessary. Hence, the fuel gauge enters a state that checks
for battery insertion and does not continue executing the Impedance Track™ algorithm.
32
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
5.7.4
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
SLEEP+ MODE
Compared to the SLEEP mode, SLEEP+ mode has the high frequency oscillator in operation. The
communication delay could be eliminated. The SLEEP+ is entered automatically if the feature is enabled
(CONTROL STATUS [SNOOZE] = 1) and AverageCurrent( ) is below the programmable level Sleep
Current.
During SLEEP+ mode, the bq27505 periodically takes data measurements and updates its data set.
However, a majority of its time is spent in an idle condition.
The bq27505 exits SLEEP+ if any entry condition is broken, specifically when (1) any communication
activity with the gauge, or (2) AverageCurrent( ) rises above Sleep Current, or (3) a current in excess of
IWAKE through RSENSE is detected.
5.7.5
HIBERNATE MODE
HIBERNATE mode should be used when the system equipment needs to enter a low-power state, and
minimal gauge power consumption is required. This mode is ideal when a system equipment is set to its
own HIBERNATE, SHUTDOWN, or OFF modes.
Before the fuel gauge can enter HIBERNATE mode, the system must set the [HIBERNATE] bit of the
CONTROL_STATUS register. The gauge waits to enter HIBERNATE mode until it has taken a valid OCV
measurement and the magnitude of the average cell current has fallen below Hibernate Current. The
gauge can also enter HIBERNATE mode if the cell voltage falls below Hibernate Voltage and a valid
OCV measurement has been taken. The gauge will remain in HIBERNATE mode until the system issues a
direct I2C command to the gauge or a POR occurs. I2C Communication that is not directed to the gauge
will not wake the gauge.
It is important that BAT_GD be deserted status (no battery charging/discharging). This prevents a charger
application from inadvertently charging the battery before an OCV reading can be taken. It is the system’s
responsibility to wake the bq27505 after it has gone into HIBERNATE mode. After waking, the gauge can
proceed with the initialization of the battery information (OCV, profile selection, etc.)
5.8
5.8.1
POWER CONTROL
WAKE-UP COMPARATOR
The wake up comparator is used to indicate a change in cell current while the bq27505 is in SLEEP mode.
Operation Configuration uses bits [RSNS1–RSNS0] to set the sense resistor selection. Operation
Configuration also uses the [IWAKE] bit to select one of two possible voltage threshold ranges for the
given sense resistor selection. An internal interrupt is generated when the threshold is breached in either
the charge or discharge direction. Setting both [RSNS1] and [RSNS0] to 0 disables this feature.
FUNCTIONAL DESCRIPTION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
33
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
Table 5-6. IWAKE Threshold Settings (1)
(1)
5.8.2
RSNS1
RSNS0
IWAKE
Vth(SRP–SRN)
0
0
0
Disabled
0
0
1
Disabled
0
1
0
1.0 mV or –1.0 mV
0
1
1
2.2 mV or –2.2 mV
1
0
0
2.2 mV or –2.2 mV
1
0
1
4.6 mV or –4.6 mV
1
1
0
4.6 mV or –4.6 mV
1
1
1
9.8 mV or –9.8 mV
The actual resistance value vs the setting of the sense resistor is not important, just the actual voltage
threshold when calculating the configuration. The votage thresholds are typical values under room
temperature.
FLASH UPDATES
Data Flash can only be updated if Voltage( ) ≥ Flash Update OK Voltage. Flash programming current can
cause an increase in LDO dropout. The value of Flash Update OK Voltage should be selected such that
the bq27505 VCC voltage does not fall below its minimum of 2.4 V during Flash write operations.
5.9
AUTOCALIBRATION
The bq27505 provides an autocalibration feature that measures the voltage offset error across SRP and
SRN as operating conditions change. It subtracts the resulting offset error from normal sense resistor
voltage, VSR, for maximum measurement accuracy.
Autocalibration of the coulomb counter begins on entry to SLEEP mode, except if Temperature( ) is ≤ 5°C
or Temperature( ) ≥ 45°C.
The fuel gauge also performs a single offset when (1) the condition of AverageCurrent( ) ≤ 100 mA and (2)
{voltage change since last offset calibration ≥ 256 mV} or {temperature change since last offset calibration
is greater than 80°C for ≥ 60 s}.
Capacity and current measurements continue at the last measured rate during the offset calibration when
these measurements cannot be performed. If the battery voltage drops more than 32 mV during the offset
calibration, the load current has likely increased; hence, the offset calibration is aborted.
6 APPLICATION-SPECIFIC INFORMATION
6.1
6.1.1
BATTERY PROFILE STORAGE AND SELECTION
Common Profile Aspects
When a battery pack is removed from system equipment that implements the bq27505, the fuel gauge will
maintain some of the battery information, if it is re-inserted. This way the Impedance Track™ algorithm will
often have a means of recovering battery-status information; thereby, maintaining good state-of-charge
(SOC) estimates.
Two default battery profiles are available to store battery information. They are used to provide the
Impedance Track™ algorithm with the default information of the battery type expected to be used with the
end-equipment. The bq27505 supports only one type of battery profile. This profile is stored in both the
Def0 and Def1 profiles. Default profiles are programmed by the end-equipment manufacturer.
In addition to the default profiles, the bq27505 maintains two abbreviated profiles: Pack0 and Pack1.
These tables hold dynamic battery data, and keep track of the status for up to two of the most recent
batteries used. In most cases the bq27505 can administrate information on two removable battery packs.
34
APPLICATION-SPECIFIC INFORMATION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
6.1.2
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Activities Upon Pack Insertion
6.1.2.1
First OCV and Impedance Measurement
At power-up the BAT_GD pin is inactive, so that the system might not obtain power from the battery (this
depends on actual implementation). In this state, the battery should be put in a condition with load current
less than C/20. Next, the bq27505 measures its first open-circuit voltage (OCV) via the BAT pin. The
[OCVCMDCOMP] bit will set once the OCV measurement is completed. Depending on the load current,
the [OCVFAIL] bit indicates whether the OCV reading is valid. From the OCV(SOC) table, the SOC of the
inserted battery is found. Then the BAT_GD pin is made active, and the impedance of the inserted battery
is calculated from the measured voltage and the load current: Z(SOC) = ( OCV(SOC) – V ) / I. This
impedance is compared with the impedance of the dynamic profiles, Packn, and the default profiles, Defn,
for the same SOC (the letter n depicts either a 0 or 1).The [INITCOMP] bit will be set afterwards and the
OCV command could be issued
6.1.3
Reading Application Status
The Application Status data flash location contains cell profile status information, and can be read using
the ApplicationStatus( ) extended command (0x6a). The bit configuration of this function/location is shown
in Table 6-1.
Table 6-1. ApplicationStatus( ) Bit Definitions.
Application
Configuration
Byte
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
—
—
—
—
—
—
—
LU_ PROF
LU_PROF = Last profile used by fuel gauge. Cell0 last used when cleared. Cell1 last used when set. Default is 0.
6.2
APPLICATION-SPECIFIC FLOW AND CONTROL
The bq27505 supports only one type of battery profile. This profile is stored in both the Def0 and Def1
profiles. When a battery pack is inserted for the first time, the default profile is copied into the Packn
profiles. Then the Impedance Track™ algorithm begins gas gauging, regularly updating Packn as the
battery is used.
When an existing pack is removed from the bq27505 and a different (or same) pack is inserted, cell
impedance is measured immediately after battery detection (see Section 6.1.2.1., First OCV and
Impedance Measurement). The bq27505 chooses the profile which is closest to the measured impedance,
starting with the Packn profiles. That is, if the measured impedance matches Pack0, then the Pack0
profile is used. If the measured impedance matches Pack1, then the Pack1 profile is used. If the
measured impedance does not match the impedance stored in either Pack0 or Pack1, the battery pack is
deemed new (none of the previously used packs). Either Def0/Def1 profile is copied into either the Pack0
or Pack1 profile, overwriting the oldest Packn profile.
APPLICATION-SPECIFIC INFORMATION
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
35
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
7 COMMUNICATIONS
I2C INTERFACE
7.1
The 27505 supports the standard I2C read, incremental read, quick read, one byte write, and incremental
write functions. The 7 bit device address (ADDR) is the most significant 7 bits of the hex address and is
fixed as 1010101. The 8-bit device address will; therefore, be 0xAA or 0xAB for write or read, respectively.
Host generated
S
ADDR[6:0]
0 A
bq27505 generated
CMD [7:0]
A
DATA [7:0]
A P
S
ADDR[6:0]
(a) 1-byte write
S
ADDR[6:0]
0 A
1 A
DATA [7:0]
N P
(b) quick read
CMD [7:0]
A Sr
ADDR[6:0]
1 A
DATA [7:0]
N P
(c) 1- byte read
S
ADDR[6:0]
0 A
CMD [7:0]
A Sr
ADDR[6:0]
1 A
DATA [7:0]
A ...
DATA [7:0]
N P
(d) incremental read
S
ADDR[6:0]
0 A
CMD[7:0]
A
DATA [7:0]
A
DATA [7:0]
A
...
A P
(e) incremental write
(S = Start , Sr = Repeated Start , A = Acknowledge , N = No Acknowledge , and P = Stop).
The “quick read” returns data at the address indicated by the address pointer. The address pointer, a
register internal to the I2C communication engine, will increment whenever data is acknowledged by the
bq27505 or the I2C master. “Quick writes” function in the same manner and are a convenient means of
sending multiple bytes to consecutive command locations (such as two-byte commands that require two
bytes of data)
The following command sequences are not supported:
Attempt to write a read-only address (NACK after data sent by master):
Attempt to read an address above 0x6B (NACK command):
36
COMMUNICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
7.2
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
I2C Time Out
The I2C engine will release both SDA and SCL if the I2C bus is held low for the time defined by I2C
Timeout times 0.5 second. If the bq27505 was holding the lines, releasing them will free for the master to
drive the lines. If an external condition is holding either of the lines low, the I2C engine will enter the low
power sleep mode.
7.3
I2C Command Waiting Time
To make sure the correct results of a command with the 400KHz I2C operation, a proper waiting time
should be added between issuing command and reading results. For subcommands, the following
diagram shows the waiting time required between issuing the control command the reading the status with
the exception of checksum and OCV commands. A 100ms waiting time is required between the checksum
command and reading result, and a 1.2 second waiting time is required between the OCV command and
result. For read-write standard command, a minimum of 2 seconds is required to get the result updated.
For read-only standard commands, there is no waiting time required, but the host should not issue all
standard commands more than two times per second. Otherwise, the gauge could result in a reset issue
due to the expiration of the watchdog timer.
The I2C clock stretch could happen in a typical application. A maximum 80ms clock stretch could be
observed during the flash updates. There is up to 270ms clock stretch after the OCV command is issued.
S
ADDR [6:0]
0 A
CMD [7:0]
A
S
ADDR [6:0]
0 A
CMD [7:0]
A Sr
DATA [7:0]
ADDR [6:0]
A
1 A
DATA [7:0]
DATA [7:0]
A P
A
66ms
DATA [7:0]
N P
DATA [7:0]
A
66ms
Waiting time between control subcommand and reading results
S
ADDR [6:0]
DATA [7:0]
0 A
A
CMD [7:0]
DATA [7:0]
A Sr
N P
ADDR [6:0]
1 A
DATA [7:0]
A
66ms
Waiting time between continuous reading results
COMMUNICATIONS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
37
bq27505-J3
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
www.ti.com
8 REFERENCE SCHEMATICS
8.1
SCHEMATIC
38
REFERENCE SCHEMATICS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
bq27505-J3
www.ti.com
SLUS986A – OCTOBER 2009 – REVISED FEBRUARY 2010
Revision History
NOTE: Page numbers for previous revisions may differ from page numbers in the current version.
Changes from * Revision (11-2009) to A Revision .......................................................................................................... Page
•
•
Changed firmware version in available options from 2.15 to 2.20 ............................................................. 3
Changed BattGdInit to BG_INIT in Table 5-4 ................................................................................... 27
REFERENCE SCHEMATICS
Copyright © 2009–2010, Texas Instruments Incorporated
Submit Documentation Feedback
39
PACKAGE OPTION ADDENDUM
www.ti.com
10-Dec-2020
PACKAGING INFORMATION
Orderable Device
Status
(1)
Package Type Package Pins Package
Drawing
Qty
Eco Plan
(2)
Lead finish/
Ball material
MSL Peak Temp
Op Temp (°C)
Device Marking
(3)
(4/5)
(6)
BQ27505YZGR-J3
ACTIVE
DSBGA
YZG
12
3000
RoHS & Green
SNAGCU
Level-1-260C-UNLIM
-40 to 85
BQ27505
BQ27505YZGT-J3
ACTIVE
DSBGA
YZG
12
250
RoHS & Green
SNAGCU
Level-1-260C-UNLIM
-40 to 85
BQ27505
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
RoHS: TI defines "RoHS" to mean semiconductor products that are compliant with the current EU RoHS requirements for all 10 RoHS substances, including the requirement that RoHS substance
do not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, "RoHS" products are suitable for use in specified lead-free processes. TI may
reference these types of products as "Pb-Free".
RoHS Exempt: TI defines "RoHS Exempt" to mean products that contain lead but are compliant with EU RoHS pursuant to a specific EU RoHS exemption.
Green: TI defines "Green" to mean the content of Chlorine (Cl) and Bromine (Br) based flame retardants meet JS709B low halogen requirements of