TI BQ27510DRZT

bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
System-Side Impedance Track™ Fuel Gauge With Direct Battery Connection
FEATURES
APPLICATIONS
• 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
– Can be Powered Directly From Battery Pack
(no LDO required)
• Microcontroller Peripheral Provides:
– Accurate Battery Fuel Gauging
– Battery Low Interrupt Warning
– Battery Insertion Indicator
– 96 Bytes of Non-Volatile Scratch Pad
FLASH
• Battery Fuel Gauging Based on Patented
Impedance Track™ Technology
– Models 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)
• I2C™ for Connection to System
Microcontroller Port
• Small 12-pin 2,5 mm × 4 mm SON Package
•
•
•
•
•
1
23
Smartphones
PDAs
Digital Still and Video Cameras
Handheld Terminals
MP3 or Multimedia Players
DESCRIPTION
The Texas Instruments bq27510 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 bq27510
resides on the system’s main board and manages an
embedded battery (non-removable) or a removable
battery pack.
The bq27510 uses the patented Impedance Track™
algorithm for fuel gauging, and provides information
such as remaining battery capacity (mAh),
state-of-charge (%), run-time to empty (min.), battery
voltage (mV), and temperature (°C).
Battery fuel gauging with the bq27510 requires only
PACK+ (P+), PACK– (P–), and Thermistor (T)
connections to a removable battery pack or
embedded battery.
TYPICAL APPLICATION
Host System
Single-Cell Li-ion
Battery Pack
VCC
REG25
Power
Management
Controller
2
IC
REGIN
LDO
Battery
Low
Warning
Voltage
Sense
DATA
Temp
Sense
PACK +
PROTECTION
IC
T
bq27510
Battery
Good
PACK -
FETs
CHG
DSG
Current
Sense
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 is a trademark of Texas Instruments.
I2C is a trademark of Phillips Corporation.
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 © 2008, Texas Instruments Incorporated
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam
during storage or handling to prevent electrostatic damage to the MOS gates.
DEVICE INFORMATION
AVAILABLE OPTIONS
PACKAGE (1)
TA
COMMUNICATION
FORMAT
12-pin, 2,5-mm × 4-mm SON
–40°C to 85°C
I2C
PART NUMBER
bq27510DRZR
bq27510DRZT
(1)
TAPE and 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.
PIN DIAGRAM
BI/TOUT
1
12
BAT_LOW/BAT_GD
REG25
2
11
SCL
REGIN
3
10
SDA
BAT
4
bq27510
9
TS
Vcc
5
8
SRN
Vss
6
7
SRP
TERMINAL FUNCTIONS
TERMINAL
NAME
TYPE
(1)
DESCRIPTION
NO.
BI/TOUT
1
I/O
Battery-insertion detection input. Power pin for pack thermistor network. Thermistor-multiplexer control
pin. Push-pull I/O. Use with pull-up resistor >1MΩ (1.8 MΩ typical).
REG25
2
P
2.5 V output voltage of the internal integrated LDO. Connect a 0.47µF ceramic capacitor.
REGIN
3
P
The input voltage for the internal integrated LDO. Connect a 0.1µF ceramic capacitor.
BAT
4
I
Cell voltage measurement input. ADC input.
Vcc
5
P
Processor power input. The 0.47µF ceramic capacitor connected to REG25 should be close to Vcc.
Vss
6
P
Device ground
SRP
7
IA
Analog input pin connected to the internal coulomb counter where SRP is nearest the Vss connection.
Connect to 5-mΩ to 20-mΩ sense resistor.
SRN
8
IA
Analog input pin connected to the internal coulomb counter where SRN is nearest the system PACK–
connection. Connect to a 5-mΩ to 20-mΩ sense resistor.
TS
9
IA
Pack thermistor voltage sense (use 103AT-type thermistor). ADC input
SDA
10
I/O
Slave I2C serial communications data line for communication with system (Master). Open-drain I/O.
Use with 10-kΩ pull-up resistor (typical).
SCL
11
I
Slave I2C serial communications clock input line for communication with system (Master). Open-drain
I/O. Use with 10-kΩ pull-up resistor (typical).
BAT_LOW/
BAT_GD
12
O
Battery-good or Battery-low output indicator. Desired function polarity selected through the Operation
Configuration register. Open-drain output
(1)
2
I/O = Digital inptu/output; IA = Analog input; P = Power connection.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
ELECTRICAL SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS
over operating free-air temperature range (unless otherwise noted) (1)
VREGIN
Regulator input voltage
VCC
Supply voltage range
VIOD
Open-drain I/O pins (SDA, SCL, BAT_LOW/BAT_GD)
VBAT
BAT input pin
VI
Input voltage range to all other pins (TS, SRP, SRN, BI/TOUT)
TF
TSTG
ESD
(1)
VALUE
UNIT
–0.3 to 24
V
–0.3 to 2.75
V
–0.3 to 6
V
–0.3 to 6
V
–0.3 to VCC + 0.3
V
Functional temperature range
–40 to 100
°C
Storage temperature range
–65 to 150
°C
Human Body Model (HBM), BAT pin
1.5
Human Body Model (HBM), all other pins
KV
2
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.
DISSIPATION RATINGS
(1)
PACKAGE
TA ≤ 40°C
POWER RATING
DERATING FACTOR
TA ≤ 40°C
RθJA
12-pin DRZ (1)
482 mW
5.67 mW/°C
176°C/W
This data is based on using a 4-layer JEDEC high-K board with the exposed die pad connected to a Cu pad on the board. The board
pad is connected to the ground plane by a 2- x 2-via matrix.
RECOMMENDED OPERATING CONDITIONS
TA = 25°C and VREGIN += VBAT = 3.6 V (unless otherwise noted)
VREGIN
PARAMETER
TEST CONDITION
Supply voltage
No operating restrictions
No FLASH writes
MIN
TYP
MAX
2.7
5.5
2.45
2.7
UNIT
V
103
µA
18
µA
4
µA
ICC
Normal operating mode current
Fuel gauge in NORMAL mode,
ILOAD > Sleep Current
ISLP
Low-power operating mode current
Fuel gauge in SLEEP mode.
ILOAD < Sleep Current
IHIB
Hibernate operating mode current
Fuel gauge in HIBERNATE mode.
ILOAD < Hibernate Current
VOL
Output voltage low (Pins 1, 10, 11, 12)
IOL = 0.5 mA
VOH(PP)
Output high voltage (Pin 1)
IOH = –1 mA
VCC–0.5
VOH(OD)
Output high voltage (Pins 10, 11, 12)
External pull-up resistor connected to Vcc
VCC–0.5
VIL
Input voltage low (Pins 1, 10, 11, 12)
–0.3
0.6
V
VIH(OD)
Input voltage high (Pins 1, 10, 11, 12)
1.2
6
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
tPUCD
Power-up communication delay
0.4
V
V
V
250
V
ms
POWER-ON RESET
TA = –40°C to 85°C, CREG = 0.47 µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
VIT+
Positive-going battery voltage input at VCC
VHYS
Power-on reset hysteresis
TEST CONDITIONS
MIN
TYP
MAX
2.05
2.20
2.31
V
45
115
185
mV
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
UNIT
3
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
2.5 V LDO REGULATOR (1)
TA = –40°C to 85°C, CREG = 0.47 µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
TEST CONDITION
MIN
NOM
MAX
UNIT
2.7 V ≤ VREGIN ≤ 5.5 V,
IOUT ≤ 16mA
TA = –40°C to 85°C
2.42
2.48
2.57
V
2.45 V ≤ VREGIN < 2.7 V (low
battery), IOUT ≤ 3mA
TA = –40°C to 85°C
2.40
2.7 V, IOUT ≤ 16 mA
TA = –40°C to 85°C
VREG25
Regulator output voltage
VDO
Regulator dropout voltage
ΔVREGTEMP
Regulator output change
with temperature
VREGIN = 3.6 V,
IOUT = 16 mA
ΔVREGLINE
Line regulation
2.7 V ≤ VREGIN ≤ 5.5 V, IOUT = 16 mA
11
25
mV
ΔVREGLOAD
Load regulation
0.2 mA ≤ IOUT ≤ 3 mA, VREGIN = 2.45 V
34
40
mV
3 mA ≤ IOUT ≤ 16 mA, VREGIN = 2.7 V
31
250
mA
ISHORT (2)
(1)
(2)
Short circuit current limit
V
280
2.45 V, IOUT ≤ 3 mA
VREG25 = 0 V,
mV
50
TA = –40°C to 85°C
0.3%
TA = –40°C to 85°C
LDO output current, IOUT, is the sum of internal and external load currents.
Assured by design. Not production tested.
INTERNAL TEMPERATURE SENSOR CHARACTERISTICS
TA = –40°C to 85°C, CREG = 0.47µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
GTEMP
TEST CONDITIONS
MIN
TYP
Temperature sensor voltage gain
MAX
–2
UNIT
mV/°C
HIGH FREQUENCY OSCILLATOR
TA = –40°C to 85°C, CREG = 0.47µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
fOSC
fEIO
tSXO
(1)
(2)
(3)
4
TEST CONDITIONS
MIN
Operating frequency
Frequency error (1)
(2)
TYP
MAX
2.097
MHz
TA = 0°C to 60°C
–2.0%
0.38%
2.0%
TA = –20°C to 70°C
–3.0%
0.38%
3.0%
TA = –40°C to 85°C
-4.5%
0.38%
4.5%
2.5
5
Start-up time (3)
UNIT
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 startup time is defined as the time it takes for the oscillator output frequency to be ±3% of typical oscillator frequency.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
LOW FREQUENCY OSCILLATOR
TA = –40°C to 85°C, CREG = 0.47 µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
fOSC
fEIO
Frequency error (1)
tSXO
Start-up time (3)
(1)
(2)
(3)
TEST CONDITIONS
MIN
TYP
Operating frequency
MAX
UNIT
32.768
(2)
MHz
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%
0.25%
4.0%
µs
500
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 MHz.
The startup time is defined as the time it takes for the oscillator output frequency to be ±3% of typical oscillator frequency.
INTEGRATING ADC (COULOMB COUNTER) CHARACTERISTICS
TA = –40°C to 85°C, CREG = 0.47 µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
TEST CONDITIONS
VSR_IN
Input voltage range, V(SRN) and V(SRP)
VSR = V(SRN) – V(SRP)
tSR_CONV
Conversion time
Single conversion
MIN
–0.125
14
VSR_OS
Input offset
INL
Integral nonlinearity error
ZSR_IN
Effective input resistance (1)
(1)
Input leakage current
MAX
UNIT
0.125
V
1
Resolution
ISR_LKG
TYP
s
15
bits
±0.034
FSR
µV
140
±0.007
2.5
MΩ
(1)
0.3
µA
Assured by design. Not production tested.
ADC (TEMPERATURE AND CELL MEASUREMENT) CHARACTERISTICS
TA = –40°C to 85°C, CREG = 0.47 µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
VADC_IN
Input voltage range
tADC_CONV
Conversion time
TEST CONDITIONS
MIN
–0.2
Resolution
Input offset
ZADC1
Effective input resistance (TS)
ZADC2
Effective input resistance (BAT) (1)
IADC_LKG
Input leakage current (1)
MAX
1
14
VADC_OS
bq27510 not measuring cell voltage
UNIT
V
125
ms
15
bits
1
(1)
mV
8
MΩ
8
MΩ
bq27510 measuring cell voltage
(1)
TYP
100
kΩ
0.3
µA
Assured by design. Not production tested.
DATA FLASH MEMORY CHARACTERISTICS
TA = –40°C to 85°C, CREG = 0.47µF, 2.45 V < VREGIN = VBAT < 5.5 V; typical values at TA = 25°C and VREGIN = VBAT = 3.6 V
(unless otherwise noted)
PARAMETER
TEST CONDITIONS
Data retention (1)
tDR
Flash programming write-cycles
TYP
Word programming time
ICCPROG)
Flash-write supply current (1)
MAX
UNIT
10
Years
20,000
Cycles
(1)
tWORDPROG)
(1)
(1)
MIN
5
2
ms
10
mA
Assured by design. Not production tested.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
5
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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
1
µs
300
ns
tr
SCL/SDA rise time
tf
SCL/SDA fall time
tw(H)
SCL pulse width (high)
4
µs
tw(L)
SCL pulse width (low)
4.7
µs
tsu(STA)
Setup for repeated start
4.7
µs
td(STA)
Start to first falling edge of SCL
4
µs
tsu(DAT)
Data setup time
250
ns
Receive mode
0
Transmit mode
300
th(DAT)
Data hold time
ns
tsu(STOP)
Setup time for stop
tBUF
Bus free time between stop and start
4.7
fSCL
Clock frequency
10
100
kHz
tBUSERR
Bus error timeout
17.3
21.2
s
µs
4
tSU(STA)
tw(H)
tf
tw(L)
tr
µs
t(BUF)
SCL
SDA
td(STA)
tsu(STOP)
tf
tr
th(DAT)
tsu(DAT)
REPEATED
START
STOP
START
Figure 1. I2C-Compatible Interface Timing Diagrams
6
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
GENERAL DESCRIPTION
The bq27510 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
state-of-charge (SOC), time-to-empty (TTE) and time-to-full (TTF).
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 bq27510 control and status registers,
as well as its data flash locations. Commands are sent from system to gauge using the bq27510’s I2C serial
communications engine, and can be executed during application development, pack manufacture, or
end-equipment operation.
Cell information is stored in the bq27510 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 bq27510’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 bq27510 provides 96 bytes of user-programmable data flash memory, partitioned into 3 32-byte blocks:
Manufacturer Info Block A, Manufacturer Info Block B, and Manufacturer Info Block C. This data space is
accessed through a data flash interface. For specifics on accessing the data flash, see section Manufacturer
Information Blocks.
The key to the bq27510’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 bq27510 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 bq27510, cell impedance is computed, based on cell current, cell open-circuit voltage (OCV),
and cell voltage under loading conditions.
The bq27510 must use a Semitec 103AT NTC thermistor for temperature measurement, or 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 bq27510 uses temperature to monitor the battery-pack
environment, which is used for fuel gauging and cell protection functionality.
To minimize power consumption, the bq27510 has several power modes: NORMAL, SLEEP, HIBERNATE, and
BAT INSERT CHECK. The bq27510 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 Section Power Modes.
NOTE:
FORMATTING CONVENTIONS IN THIS DOCUMENT:
Commands: italics with parentheses and no breaking spaces,
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.
e.g.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
7
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
DATA COMMANDS
Standard Data Commands
The bq27510 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 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, I2C INTERFACE. 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 Access Modes.)
Table 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.1K
R
R/W
Voltage( )
VOLT
0x08 / 0x09
mV
R
R/W
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
Flags( )
AverageCurrent( )
AI
0x14 / 0x15
mA
R
R/W
TimeToEmpty( )
TTE
0x16 / 0x17
Minutes
R
R/W
TimeToFull( )
TTF
0x18 / 0x19
Minutes
R
R/W
StandbyCurrent( )
StandbyTimeToEmpty( )
SI
0x1a / 0x1b
mA
R
R/W
STTE
0x1c / 0x1d
Minutes
R
R/W
MLI
0x1e / 0x1f
mA
R
R/W
MaxLoadCurrent( )
MaxLoadTimeToEmpty( )
MLTTE
0x20 / 0x21
Minutes
R
R/W
AvailableEnergy( )
AE
0x22 / 0x23
mWhr
R
R/W
AveragePower( )
AP
0x24 / 0x25
mW
R
R/W
TTEatConstantPower( )
TTECP
0x26 / 0x27
Minutes
R
R/W
Reserved
RSVD
0x28 / 0x29
N/A
R
R/W
CC
0x2a / 0x2b
Counts
R
R/W
SOC
0x2c / 0x2d
%
R
R/W
CycleCount( )
StateOfCharge( )
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
bq27510 during normal operation and additional features when the bq27510 is in different access modes, as
described in Table 2.
Table 2. Control( ) Subcommands
CNTL FUNCTION
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 (bq27510)
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
8
DESCRIPTION
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
Table 2. Control( ) Subcommands (continued)
CNTL FUNCTION
CNTL DATA
SEALED
ACCESS
DESCRIPTION
RESET_DATA
0x0005
No
Returns reset data
Reserved
0x0006
No
Not to be used
PREV_MACWRITE
0x0007
No
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
SET_HIBERNATE
0x0011
Yes
Forces CONTROL_STATUS [HIBERNATE] to 1
CLEAR_HIBERNATE
0x0012
Yes
Forces CONTROL_STATUS [HIBERNATE] to 0
SEALED
0x0020
No
Places the bq27510 in SEALED access mode
IT_ENABLE
0x0021
No
Enables the Impedance Track™ algorithm
IF_CHECKSUM
0x0022
No
Reports the instruction flash checksum
CAL_MODE
0x0040
No
Places the bq27510 in calibration mode
RESET
0x0041
No
Forces a full reset of the bq27510
CONTROL_STATUS: 0x0000
Instructs the fuel gauge to return status information to control addresses 0x00/0x01. The status word includes the
following information.
Table 3. CONTROL_STATUS Bit Definitions
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
High Byte
–
FAS
SS
CSV
CCA
BCA
–
–
Low Byte
–
HIBERNATE
–
SLEEP
LDMD
RUP_DIS
VOK
QEN
FAS = Status bit indicating the bq27510 is in FULL ACCESS SEALED state. Active when set.
SS = Status bit indicating the bq27510 is in the 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 bq27510 coulomb counter calibration routine. Active when set.
BCA = Status bit indicating the bq27510 board calibration routine is active. Active when set.
HIBERNATE = Status bit indicating a request for entry into HIBERNATE from SLEEP mode. True when set. Default is 0.
SLEEP = Status bit indicating the bq27510 is in SLEEP mode. True when set.
LDMD = Status bit indicating the bq27510 Impedance Track™ algorithm using constant-power mode. True when set. Default is 0
(constant-current mode).
RUP_DIS = Status bit indicating the bq27510 Ra table updates disabled. True when set
VOK = Status bit indicating cell voltages are OK for Qmax updates. True when set.
QEN = Status bit indicating the bq27510 Qmax updates enabled. True when set.
DEVICE_TYPE: 0x0001
Instructs the fuel gauge to return the device type to addresses 0x00/0x01.
FW_VERSION: 0x0002
Instructs the fuel gauge to return the firmware version to addresses 0x00/0x01.
HW_VERSION: 0x0003
Instructs the fuel gauge to return the hardware version to addresses 0x00/0x01.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
9
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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.
RESET_DATA: 0x0005
Instructs the fuel gauge to return the reset data to addresses 0x00/0x01, with the low byte (0x00) being the
number of full resets and the high byte (0x01) the number of partial resets.
PREV_MACWRITE: 0x0007
Instructs the fuel gauge to return the previous command written to addresses 0x00/0x01.
CHEM_ID: 0x0008
Instructs the fuel gauge to return the chemical identifier for the Impedance Track™ configuration to addresses
0x00/0x01.
BOARD_OFFSET: 0x0009
Instructs the fuel gauge to compute the coulomb counter offset with internal short and then without internal short
applied across the SR inputs. The difference between the two measurements is 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.
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.
WRITE_OFFSET: 0x000B
Control data of 0x000b causes the fuel gauge to write the coulomb counter offset to data flash.
SET_HIBERNATE: 0x0011
Instructs the fuel gauge to force the CONTROL_STATUS [HIBERNATE] bit to 1. This allows 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.
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 SLEEP power state is detected. It can also be used
to force the gauge out of HIBERNATE mode.
SEALED: 0x0020
Instructs the fuel gauge to transition from UNSEALED state to SEALED state. The fuel gauge should always be
set to SEALED state for use in end equipment.
IT_ENABLE: 0x0021
This command forces the fuel gauge to begin the Impedance Track™ algorithm, sets the active UpdateStatus n
location 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. Once set, [QEN] cannot be cleared. This command is
only available when the fuel gauge is UNSEALED.
10
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
IF_CHECKSUM: 0x0022
This command instructs the fuel gauge to compute the instruction flash checksum. When the checksum has
been calculated and stored, then CONTROL_STATUS [CVS] is set. In UNSEALED mode, the checksum value is
returned to addresses 0x00/0x01. The checksum will not be calculated in SEALED mode; however, the
checksum value can still be read.
CAL_MODE: 0x0040
This command instructs the fuel gauge to enter calibration mode. This command is only available when the fuel
gauge is UNSEALED.
RESET : 0x0041
This command instructs the fuel gauge to perform a full reset. This command is only available when the fuel
gauge is UNSEALED.
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 will force AtRate( ) to return 65,535. Both the AtRate( ) and
AtRateTimeToEmpty( ) commands should only be used in NORMAL mode.
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 1s. Both the AtRate( )
and AtRateTimeToEmpty( ) commands should only be used in NORMAL mode.
Temperature( ): 0x06/0x07
This read-word function returns an unsigned integer value of the battery temperature in units of 0.1K measured
by the fuel gauge.
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.
Flags( ): 0x0a/0x0b
This read-word function returns the contents of the gas-gauge status register, depicting the current operating
status.
Table 4. Flags Bit Definitions
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
High Byte
OTC
OTD
–
–
CHG_INH
XCHG
FC
CHG
Low Byte
–
–
OCV_GD
WAIT_ID
BAT_DET
SOC1
SOCF
DSG
OTC = Over-Temperature in charge condition is detected. True when set.
OTD = Over-Temperature in discharge condition is detected. True when set.
CHG_INH = Charge Inhibit: unable to begin charging (temp outside the range [Charge Inhibit Temp Low, Charge Inhibit Temp High]).
True when set.
XCHG =
Charge Suspend Alert (temp outside the range [Suspend Temperature Low, Suspend Temperature High]). True when
set.
FC = Full-charged condition reached. True when set.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
11
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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. True when set.
SOCF = State-of-Charge-Threshold Final (SOCF Set %) reached. True when set.
DSG = Discharging detected. True when set.
NominalAvailableCapacity( ): 0x0c/0x0d
This read-only command pair returns the uncompensated (less than C/20 load) battery capacity remaining. Units
are mAh.
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.
RemainingCapacity( ): 0x10/0x11
This read-only command pair returns the compensated battery capacity remaining. Units are mAh.
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.
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 .
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.
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.
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 some time in standby, reports the measured standby current.
The register value is updated every 1 second when the measured current is above the Deadband current and is
less than or equal to 2 x 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.
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.
12
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
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.
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.
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.
AveragePower( ): 0x24/0x25
This read-only function returns an unsigned integer value of the average power of the current discharge. A value
of 0 indicates that the battery is not being discharged. The value is reported in units of mW.
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.
CycleCount( ): 0x2a/0x2b
This read-only function returns an unsigned integer value of the number of cycles the battery has experienced
with a range of 0 to 65,535. One cycle occurs when accumulated discharge ≥ CC Threshold.
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%.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
13
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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 5. For details on the SEALED and UNSEALED states, see Section Access Modes.
Table 5. Extended Commands
NAME
COMMAND CODE
UNITS
SEALED
ACCESS (1) (2)
UNSEALED
ACCESS (1) (2)
Reserved
RSVD
0x34…0x3b
N/A
R
R
DesignCapacity( )
DCAP
0x3c / 0x3d
mAh
R
R
DataFlashClass( )
(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
ACKS/DFD
0x54
N/A
R/W
R/W
DFD
0x55…0x5f
N/A
R
R/W
BlockDataCheckSum( )
DFDCKS
0x60
N/A
R/W
R/W
BlockDataControl( )
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
Authenticate( )/BlockData( )
AuthenticateCheckSum( )/BlockData( )
BlockData( )
DeviceNameLength( )
DeviceName( )
ApplicationStatus( )
Reserved
(1)
(2)
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.
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
DataFlashClass( ): 0x3e
UNSEALED Access: This command sets the data flash class to be accessed. The class to be accessed should
be entered in hexadecimal.
SEALED Access: This command is not available in SEALED mode.
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 and a 0x01 specifies access to the
second 32 byte block, and so on.
SEALED Access: This command directs which data flash block will be accessed by the BlockData( ) command.
Writing a 0x00 to DataFlashBlock( ) specifies the BlockData( ) command will transfer authentication data. Issuing
a 0x01, 0x02 or 0x03 instructs the BlockData( ) command to transfer Manufacturer Info Block A, B, or C,
respectively.
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, B, or C.
14
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
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, B, or C. 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.
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.
DeviceNameLength( ): 0x62
UNSEALED and SEALED Access: This byte contains the length of the Device Name.
DeviceName( ): 0x63…0x69
UNSEALED and SEALED Access: This block contains the device name that is programmed in Device Name
ApplicationStatus( ): 0x6a
This byte function allows the system to read the bq27510 Application Status data flash location. Refer to
Table 6 for specific bit definitions.
Reserved – 0x6b – 0x7f
DATA FLASH INTERFACE
Accessing the Data Flash
The bq27510 data flash is a non-volatile memory that contains bq27510 initialization, default, cell status,
calibration, configuration, and user information. The data flash can be accessed in several different ways,
depending on what mode the bq27510 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 Data Commands. These commands are available
when the bq27510 is either in UNSEALED or SEALED modes.
Most data flash locations, however, are only accessible in UNSEALED mode by use of the bq27510 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).
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
15
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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 48, 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 + 48 modulo 32 = 0x40 + 16 = 0x40 + 0x10 = 0x50.
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 bq27510– 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.
MANUFACTURER INFORMATION BLOCKS
The bq27510 contains 96 bytes of user programmable data flash storage: Manufacturer Info Block A,
Manufacturer Info Block B, Manufacturer Info Block C. 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 0x00 has been written to BlockDataControl( ), accessing the Manufacturer
Info 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
bq27510 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, 0x02, or 0x03
with this command causes the corresponding information block (A, B, or C, 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.
ACCESS MODES
The bq27510 provides three security modes (FULL ACCESS, UNSEALED, and SEALED) that control data flash
access permissions according to Table 6. Data flash locations, specified in Table 7, are accessible to the user.
Manufacture information refers to the three reserved 32-byte blocks.
Table 6. Data Flash Access
16
Security Mode
Data Flash
Manufacturer
Information
FULL ACCESS
R/W
R/W
UNSEALED
R/W
R/W
SEALED
None
R (A); R/W (B, C)
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
Although FULL ACCESS and UNSEALED modes appear identical, only FULL ACCESS mode allows the
bq27510 to write access-mode transition keys.
SEALING/UNSEALING DATA FLASH
The bq27510 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 bq27510 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 2 subcommands.
When in SEALED mode the [SS] bit of CONTROL_STATUS is set, but when the UNSEAL keys are correctly
received by the bq27510, 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 bytes entered through the
Control( ) command is the reverse of what is read from the part. For example, if the 1st and 2nd word of the
UnSeal Key 0 returns 0x1234 and 0x5678, then Control( ) should supply 0x3412 and 0x7856 to unseal the part.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
17
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
DATA FLASH SUMMARY
Table 7 summarizes the data flash locations available to the user, including their default, minimum, and
maximum values.
Table 7. Data Flash Summary
Class
Subclass ID
Subclass
Offset
Configuration
2
Safety
0
Configuration
2
Safety
2
Configuration
2
Safety
Configuration
2
Configuration
2
Configuration
Name
Data
Type
Min Value
Max Value
Default Value
Units
OT Chg
I2
0
1200
550
0.1°C
OT Chg Time
U1
0
60
2
s
3
OT Chg Recovery
I2
0
1200
500
0.1°C
Safety
5
OT Dsg
I2
0
1200
600
0.1°C
Safety
7
OT Dsg Time
U1
0
60
2
s
2
Safety
8
OT Dsg Recovery
I2
0
1200
550
0.1°C
Configuration
32
Charge Inhibit Config
0
Charge Inhibit Temp Low
I2
–400
1200
0
0.1°C
Configuration
32
Charge Inhibit Config
2
Charge Inhibit Temp High
I2
–400
1200
450
0.1°C
Configuration
32
Charge Inhibit Config
4
Temp Hys
I2
0
100
50
0.1°C
Configuration
34
Charge
2
Charging Voltage
I2
0
20,000
4200
mV
Configuration
34
Charge
4
Delta Temperature
I2
0
500
50
0.1°C
Configuration
34
Charge
6
Suspend Temperature Low
I2
–400
1200
-50
0.1°C
Configuration
34
Charge
8
Suspend Temperature High
I2
–400
1200
550
0.1°C
Configuration
36
Charge Termination
2
Taper Current
I2
0
1000
100
mA
Configuration
36
Charge
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
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
Device Name
S8
x
x
bq27510
–
Configuration
49
Discharge
0
SOC1 Set Threshold
I1
0
255
150
mAh
Discharge
1
SOC1 Clear Threshold
I1
0
255
175
mAh
18
Configuration
49
Discharge
2
SOCF Set Threshold
I1
0
255
75
mAh
Configuration
49
Discharge
3
SOCF Clear Threshold
I1
0
255
100
mAh
System Data
58
Manufacturer Info
0–31
Block A [0–31]
H1
0x00
0xff
0x00
–
System Data
58
Manufacturer Info
32–63
Block B [0–31]
H1
0x00
0xff
0x00
–
System Data
58
Manufacturer Info
64–95
Block C [0–31]
H1
0x00
0xff
0x00
–
Configuration
64
Registers
0
Operation Configuration
H2
0x0000
0xffff
0x0979
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
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
48
Terminate Voltage
I2
–32,768
32,767
3000
mV
Gas Gauging
80
IT Cfg
53
User Rate-mA
I2
0
9000
0
mA
Gas Gauging
80
IT Cfg
55
User Rate-mW
I2
0
14,000
0
mW
Gas Gauging
80
IT Cfg
57
Reserve Cap-mAh
I2
0
9000
0
mAh
Gas Gauging
80
IT Cfg
59
Reserve Cap-mWh
I2
0
14,000
0
mWh
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
1800
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
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
Table 7. Data Flash Summary (continued)
Class
Subclass ID
Subclass
Offset
Gas Gauging
82
State
0
Gas Gauging
82
State
1
Gas Gauging
82
State
Gas Gauging
82
Gas Gauging
Name
Data
Type
Min Value
Max Value
Default Value
IT Enable
H1
0x00
0xff
0x00
Application Status
H1
0x00
0xff
0x00
2
Qmax
I2
0
32,767
1000
mAh
State
4
Cycle Count 0
U2
0
65,535
0
–
82
State
6
Update Status 0
H1
0x00
0x03
0x00
–
Gas Gauging
82
State
2
Qmax 1
I2
0
32,767
1000
mAh
Gas Gauging
82
State
4
Cycle Count 1
U2
0
65,535
0
–
Gas Gauging
82
State
6
Update Status 1
H1
0x00
0x03
0x00
–
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
–
See
(1)
See
(1)
Units
Default Ra Tables
87
Def Ra
0–18
Default Ra Tables
88
Def Ra
0–18
Ra Tables
91
Pack0 Ra
0–18
Ra Tables
92
Pack1 Ra
0–18
Ra Tables
93
Pack0 Rax
0–18
Ra Tables
94
Pack1 Rax
0–18
Calibration
104
Data
0
CC Gain
F4
0.1
4
0.47095
Calibration
104
Data
4
CC Delta
F4
2,9826
1,193,046
559,538.8
–
Calibration
104
Data
8
CC Offset
I2
–32768
32767
–1667
mV
Calibration
104
Data
10
Board Offset
I1
–128
127
0
mV
Calibration
104
Data
11
Int Temp Offset
I1
–128
127
78
0.1°C
Calibration
104
Data
12
Ext Temp Offset
I1
–128
127
0
0.1°C
Calibration
104
Data
13
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
–
(1)
Encoded battery profile information created by bqEasy software.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
19
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
FUNCTIONAL DESCRIPTION
FUEL GAUGING
The bq27510 measures the cell voltage, temperature, and current to determine battery SOC. The bq27510
monitors charge and discharge activity by sensing the voltage across a small-value resistor (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 bq27510 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 Term Voltage. NominalAvailableCapacity( ) and FullAvailableCapacity( )
are the uncompensated (no or light load) versions of RemainingCapacity( ) and FullChargeCapacity( )
respectively.
The bq27510 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 bq27510’s BAT_LOW pin automatically reflects the status of the [SOC1] flag.
All units are in mAh.
When RemainingCapacity( ) falls below the second capacity threshold, SOCF Set Threshold, the [SOCF] (State
of Charge Final) flag is set, serving as a final discharge warning. If SOCF Set Threshold = –1, the flag is
inoperative during discharge. Similarly, when RemainingCapacity( ) rises above SOCF Clear Threshold and the
[SOCF] flag has already been set, the [SOCF] flag is cleared. All units are in mAh.
IMPEDANCE TRACK™ VARIABLES
The bq27510 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.
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.
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 8 are
available.
Table 8. Constant-Current Model Used When Load Mode = 0
LoadSelect
Value
0
1(default)
20
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 off the AverageCurrent( )
3
Current: based off of a low-pass-filtered version of AverageCurrent( ) (τ=14s)
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
Table 8. Constant-Current Model Used When Load Mode = 0 (continued)
LoadSelect
Value
Current Model Used
4
Design capacity / 5: C Rate based off of Design Capacity /5 or a C / 5 rate in mA.
5
AtRate (mA): Use whatever current is in AtRate( )
6
User_Rate-mA: Use the value in User_Rate( ). This gives a completely user-configurable method.
If Load Mode = 1 (Constant Power) then the following options are available:
Table 9. Constant-Current Model Used When Load Mode = 1
LoadSelect
Value
0(default)
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.
1
Present average discharge current: This is the average discharge current 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( ) (τ=14s) 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 current is in AtRate( )
6
User_Rate-10 mW: Use the value in User_Rate( ) mW. This gives 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.
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.
Dsg Current Threshold
This register is used as a threshold by many functions in the bq27510 to determine if actual discharge current is
flowing into or out of the cell. The 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.
Chg Current Threshold
This register is used as a threshold by many functions in the bq27510 to determine if actual charge current is
flowing into or out of the cell. The 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.
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 bq27510 enters
relaxation mode from a current flowing mode in either the charge direction or the discharge direction. The value
of Quit Current should be above the standby current of the system.
The following criteria must be met to enter relaxation mode
| AverageCurrent( ) | < | Quit Current | for Dsg Relax Time (if in CHG mode) or Chg Relax Time (if in DSG
mode).
After about 30 minutes in relaxation mode, the bq27510 attempts to take accurate OCV readings. An additional
requirement of dV/dt 4 µV/sec is required for the bq27510 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.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
21
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
Quit Relax Time specifies the minimum time required for AverageCurrent( ) to remain above the QuitCurrent
threshold before exiting relaxation mode.
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 very low rate of discharge, such as C/20 rate. For
high accuracy, this value is periodically updated by the bq27510 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 in the associated actual
cell profiles.
Update Status 0, Update Status 1
Bit 0 (0x01) of the Update Status n registers indicates that the bq27510 has learned new Qmax parameters and
is accurate. The remaining bits are reserved. Bits 0 is a status flag that can be set by the bq27510 although a
user can modify it. 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.pdf). Bit 0 is
updated as needed by the bq27510.
Avg I Last Run
The bq27510 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 never need to be
modified. It is only updated by the bq27510 when required.
Avg P Last Run
The bq27510 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
bq27510 continuously multiplies instantaneous current times Voltage( ) to get power. It then logs this data to
derive the average power. This register should never need to be modified. It is only updated by the bq27510
when required.
Delta Voltage
The bq27510 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. It is not recommended to
change this value.
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).
DETAILED PIN DESCRIPTIONS
The Operation Configuration Register
Some bq27510 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 Accessing the Data Flash. The register
is located at subclass =64, offset = 0.
Table 10. Operation Configuration Bit Definition
22
bit7
bit6
bit5
bit4
bit3
High Byte
RESCAP
Low Byte
–
BATG_OVR
–
PFC_CFG1
PFC_CFG0
IWAKE
RSNS1
RSNS0
IDSELEN
SLEEP
RMFCC
BATL_POL
BATG_POL
BAT_FN
TEMPS
Submit Documentation Feedback
bit2
bit1
bit0
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
RESCAP = No-load rate of compensation is applied to the reserve capacity calculation. True when set. Default is 0.
BAT_GD override bit. If the gauge enters HIBERNATE only due to the cell voltage, the BAT_GD will not
BATG_OVR = negate. True when set. Default is 0. If both current and voltage are below the HIBERNATE thresholds, the
voltage condition check above is precedent over the current condition check
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 11). Default is 0/0/1.
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
BATL_POL = BAT_LOW pin is active-high. True when set. Default is 1.
BATG_POL = BAT_LOW/BAT_GD pin is active-low. True when cleared. Default is 0.
BAT_FN = Selects BAT_LOW (bit clear) or /BAT_GD (bit set) function on pin 12. Default is 0.
TEMPS = Selects external thermistor for Temperature( ) measurements. True when set. Default is 1.
Pin Function Code Descriptions
The bq27510 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 bq27510 measures battery temperature under discharge and relaxation
conditions. The charger does not receive any information from the bq27510 about the temperature readings, and
therefore operates open-loop with respect to battery temperature.
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_LOW/BAT_GD pin, until cell temperature recovers. See Section Charge Inhibit 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.
The PFC is specified in Operation Configuration [PFC_CFG1, PFC_CFG0]. The default is PFC = 1.
BAT_LOW/BAT_GD Pin
The BAT_LOW/BAT_GD is a multiplex pin. The function is defined by [BAT_FN] as a system processor with an
electrical indicator of battery status. It the BAT_LOW function is activated, the signaling on the multiplexed pin
follows the status of the [SOC1] bit in the Flags( ) register. Note that the polarity of the pin output can be inverted
via the [BATL_POL] bit of the Operation Configuration.
The bq27510 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 or 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_LOW/BAT_GD pin is merely
negated from the default setting. Once an OCV reading has be made, the BAT_LOW/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.
In PFC 1, the BAT_LOW/BAT_GD pin is also used to disable battery charging when the bq27510 reads battery
temperatures outside the range defined by [Charge Inhibit Temp Low, Charge Inhibit Temp High]. The
BAT_LOW/BAT_GD line is returned to “low” once temperature falls within the range [Charge Inhibit Temp Low
+ Temp Hys, Charge Inhibit Temp High – Temp Hys].
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
23
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
Battery Detection using the BI/TOUT Pin
During power-up or hibernate activities, or any other activity where the bq27510 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 bq27510 reads a thermistor voltage that is near 2.5V.
TEMPERATURE MEASUREMENT
The bq27510 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 Operation
Configuration register is cleared.
Regardless of which sensor is used for measurement, a system processor can request the current battery
temperature by calling the Temperature( ) function (see Section Standard Data Commands, for specific
information).
The external temperature measurement circuit must use a 103AT-type thermistor. Additional circuit information
for connecting this thermistor to the bq27510 is shown in Section Reference Schematic.
OVER-TEMPERATURE INDICATION
Over-Temperature: 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 feature is completely disabled.
Over-Temperature: Discharge
If during decharging, 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] of Flags( ) is reset.
If OT Dsg Time = 0 then feature is completely disabled.
CHARGING AND CHARGE-TERMINATION INDICATORS
Detecting Charge Termination
For proper bq27510 operation, the cell charging voltage must be specified by the user. The default value for this
variable is Charging Voltage = 4200mV.
The bq27510 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 >
0.25mAh / 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, and
RemainingCapacity( ) is set equal to FullChargeCapacity( ).
Charge Inhibit
When PFC = 1, the bq27510 can indicate when battery temperature has fallen below or risen above predefined
thresholds (Charge Inhibit Temp Low and Charge Inhibit Temp High, respectively). In this mode, the
BAT_LOW/BAT_GD line is made high to indicate this condition, and is returned to its low state, once battery
temperature returns to the range [Charge Inhibit Temp Low + Temp Hys, Charge Inhibit Temp High – Temp
Hys].
24
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
When PFC = 0 or 2, the bq27510 must be queried by the system in order to determine the battery temperature.
At that time, the bq27510 will sample the temperature. This saves battery energy when operating from battery, as
periodic temperature updates are avoided during charging mode.
POWER MODES
The bq27510 has four power modes: NORMAL, SLEEP, HIBERNATE and BAT INSERT CHECK. In NORMAL
mode, the bq27510 is fully powered and can execute any allowable task. In SLEEP mode the fuel gauge 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. Finally, the BAT INSERT
CHECK mode is a powered-up, but low-power halted, state, where the bq27510 resides when no battery is
inserted into the system.
The relationship between these modes is shown in Figure 2.
POR
Exit From HIBERNATE
Battery Removed
Exit From HIBERNATE
Communication Activity
AND Comm address is for bq27510
bq27500/1 clears Control Status
[HIBERNATE] = 0
Recommend Host also set Control
Status [HIBERNATE] = 0
BAT INSERT CHECK
Check for battery insertion
from HALT state.
No gauging
Flags [BAT_DET] = 0
Entry to NORMAL
Flags [BAT_DET] = 1
Exit From NORMAL
Flags [BAT_DET] = 0
NORMAL
Fuel gauging and data
updated every 1s
HIBERNATE
Wakeup From HIBERNATE
Communication Activity
AND
Comm address is NOT for bq27510
Disable all bq27510
subcircuits except GPIO.
Negate /BAT_GD
Exit From SLEEP
Flags [BAT_DET] = 0
Entry to SLEEP
Operation Configuration[SLEEP] = 1
AND
| AverageCurrent( ) |≤ Sleep Current
Exit From WAIT_HIBERNATE
Cell relaxed
AND
| AverageCurrent() | < Hibernate
Exit From SLEEP
| AverageCurrent( ) | > Sleep Current
OR
Current is Detected above IWAKE
WAIT_HIBERNATE
Exit From WAIT_HIBERNATE
OR
Cell relaxed
AND
VCELL < Hibernate Voltage
Fuel gauging and data
updated every 20 seconds
/BAT_GD unchanged
Host must set Control Status
[HIBERNATE] = 0
AND
VCELL > Hibernate Voltage
SLEEP
Fuel gauging and data
updated every 20 seconds
System Shutdown
Exit From SLEEP
(Host has set Control Status
[HIBERNATE] = 1
OR
VCELL < Hibernate Voltage
Figure 2. Power Mode Diagram
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
25
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
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.
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 bq27510performs an ADC autocalibration to minimize offset.
During SLEEP mode, the bq27510 periodically takes data measurements and updates its data set. However, a
majority of its time is spent in an idle condition.
The bq27510 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.
BAT INSERT CH ECK Mode
This mode is a halted-CPU state that occurs when an adapter, or other power source, is present to power the
bq27510 (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. The battery insertion detection takes about 3ms.
Some commands, issued by a system processor, can be processed while the bq27510 is halted in this mode.
The gauge will wake up to process the command, then return to the halted state awaiting battery insertion.
HIBERNATE Mode
HIBERNATE mode should be used when the system equipment needs to enter a very 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. The fuel gauge can enter HIBERNATE due to either low cell voltage
or low load current.
• HIBERNATE due to the cell voltage. When the cell voltage drops below the Hibernate Voltage and a valid
OCV measurement has been taken, the fuel gauge enters HIBERNATE mode The [HIBERNATE] bit of the
CONTROL register has no impact for the fuel gauge to enter the HIBERNATE mode.
• HIBERNATE due to the load current. If the fuel gauge enters the HIBERNATE mode due to the load current,
the [HIBERNATE] bit of the CONTROL_STATUS register must be set. 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 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 (or at least for very
long).
During Hibernate mode the /BAT_GD signal is negated (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 bq27510 after it has gone into HIBERNATE mode. After waking, the gauge
can proceed with the initialization of the battery information (OCV, profile selection, etc.)
It is suggested to keep the system in the SLEEP mode instead of HIBERNATE mode when a charger is
attached. The reason is that charger removal will not wake up the battery from HIBERNATE mode.
26
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
POWER CONTROL
Reset Functions
When the bq27510 detects a software reset ([RESET] bit of Control( ) initiated), it determines the type of reset
and increments the corresponding counter. This information is accessible by issuing the command Control( )
function with the RESET_DATA subcommand.
As shown in Figure 3 if a partial reset was detected, a RAM checksum is generated and compared against the
previously stored checksum. If the checksum values do not match, the RAM is reinitialized (a Full Reset). The
stored checksum is updated every time RAM is altered.
DEVICE RESET
Generate Active
RAM checksum
value
NO
Stored
checksum
Do the Checksum
Values Match?
Re-initialize all
RAM
YES
NORMAL
OPERATION
NO
Active RAM
changed ?
YES
Store
checksum
Generate new
checksum value
Figure 3. Partial Reset Flow Diagram
Wake-Up Comparator
The wake up comparator is used to indicate a change in cell current while the bq27510 is in either SLEEP or
HIBERNATE modes. 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
charge or discharge directions. Setting both [RSNS1] and [RSNS0] to 0 disables this feature.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
27
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
Table 11. IWAKE Threshold Settings (1)
(1)
RSNS1
RSNS0
IWAKE
Vth(SRP-SRN)
0
0
0
Disabled
0
0
1
Disabled
0
1
0
+1.25 mV or –1.25 mV
0
1
1
+2.5 mV or –2.5 mV
1
0
0
+2.5 mV or –2.5 mV
1
0
1
+5 mV or–5 mV
1
1
0
+5 mV or –5 mV
1
1
1
+10 mV or –10 mV
The actual resistance value versus the setting of the sense resistor is not important; just the actual
voltage threshold when calculating the configuration.
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 bq27510
Vcc voltage does not fall below its minimum of 2.4V during Flash write operations.
AUTOCALIBRATION
The bq27510 provides an autocalibration feature that will measure the voltage offset error across SRP and SRN
from time-to-time as operating conditions change. It subtracts the resulting offset error from normal sense
resistor voltage, VSR, for maximum measurement accuracy.
Autocalibration of the ADC 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( ) ≤ 100mA and (2)
{voltage change since last offset calibration ≥ 256mV} or {temperature change since last offset calibration is
greater than 80°C for ≥ 60s}.
Capacity and current measurements will continue at the last measured rate during the offset calibration when
these measurements cannot be performed. If the battery voltage drops more than 32mV during the offset
calibration, the load current has likely increased considerably; hence, the offset calibration will be aborted.
APPLICATION-SPECIFIC INFORMATION
BATTERY PROFILE STORAGE AND SELECTION
Common Profile Aspects
When a battery pack is removed from system equipment that implements the bq27510, the fuel gauge maintains
some of the battery information, in case it is re-inserted. This way the Impedance Track™ algorithm often has a
means of recovering battery-status information, thereby maintaining good state-of-charge (SOC) estimates.
The default battery profiles are available to store battery information. They are used to provide the Impedance
Track™ algorithm with the default information on the battery type expected to be used with the end-equipment.
The default profiles can be used to support batteries of same chemistry but different capacities. Default profiles
are programmed by the end-equipment manufacturer. Only one of the default profiles can be selected, and this
selection cannot be changed during end-equipment operation.
In addition to the default profiles, the bq27510 maintains two active profiles: Cell0 and Cell1. 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 bq27510 can administrate information on two removable battery packs.
28
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
Activities Upon Pack Insertion
First OCV and Impedance Measurement
At power-up the BAT_LOW/BAT_GD pin is inactive, so that the system cannot obtain power from the battery
(this depends on actual implementation). In this state, the battery is put in an open-circuit condition. Next, the
bq27510 measures its first open-circuit voltage (OCV) via the BAT pin. From the OCV(SOC) table, the SOC of
the inserted battery is found. Then the BAT_LOW/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).
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 12.
Table 12. ApplicationStatus( ) Bit Definitions
(1)
Application
Configuration
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Byte
–
–
–
–
–
–
–
LU_ PROF (1)
LU_PROF = Last profile used by gas gauge. Cell0. last used when cleared. Cell1 last used when set. Default is 0.
APPLICATION-SPECIFIC FLOW AND CONTROL
The bq27510 supports only one type of battery profile. This profile is stored in both the Def0 and Def1 profiles.
The Defn and Packn profiles are the same on the first gauge start-up. Then the Impedance Track™ algorithm
begins gas gauging, regularly updating Packn as the battery is used.
When an existing pack is removed from the bq27510 and a different (or same) pack is inserted, cell impedance
will be measured immediately after battery detection. The bq27510 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). The Def0/Def1 profile is copied into either the Pack0 or Pack1
profile, overwriting the oldest Packn profile used.
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
29
bq27510
SLUS816A – MARCH 2008 – REVISED JUNE 2008.......................................................................................................................................................... www.ti.com
COMMUNICATIONS
I2C INTERFACE
The 27510 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
bq27510 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).
Figure 4. Supported I2C Formats
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 bq27510 or the
I2C master. “Quick writes” function in the same manner and are a coS = Start, Sr = Repeated Start, A =
Achnowledge, nvenient 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):
S
ADDR[6:0]
0
A
CMD[7:0]
A
DATA[7:0]
A
P
Attempt to read an address above 0x6B (NACK command):
S
ADDR[6:0]
0
A
CMD[7:0]
N P
The I2C engine will release both SDA and SCL if the I2C bus is held low for t(BUSERR). If the bq27510 was holding
the lines, releasing them will free 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.
30
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
bq27510
www.ti.com.......................................................................................................................................................... SLUS816A – MARCH 2008 – REVISED JUNE 2008
REFERENCE SCHEMATIC
Submit Documentation Feedback
Copyright © 2008, Texas Instruments Incorporated
Product Folder Link(s): bq27510
31
PACKAGE OPTION ADDENDUM
www.ti.com
30-Jul-2008
PACKAGING INFORMATION
Orderable Device
Status (1)
Package
Type
Package
Drawing
Pins Package Eco Plan (2)
Qty
BQ27510DRZR
ACTIVE
SON
DRZ
12
3000 Green (RoHS &
no Sb/Br)
CU NIPDAU
Level-2-260C-1 YEAR
BQ27510DRZT
ACTIVE
SON
DRZ
12
250
CU NIPDAU
Level-2-260C-1 YEAR
Green (RoHS &
no Sb/Br)
Lead/Ball Finish
MSL Peak Temp (3)
(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)
Eco Plan - The planned eco-friendly classification: Pb-Free (RoHS), Pb-Free (RoHS Exempt), or Green (RoHS & no Sb/Br) - please check
http://www.ti.com/productcontent for the latest availability information and additional product content details.
TBD: The Pb-Free/Green conversion plan has not been defined.
Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements
for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered
at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes.
Pb-Free (RoHS Exempt): This component has a RoHS exemption for either 1) lead-based flip-chip solder bumps used between the die and
package, or 2) lead-based die adhesive used between the die and leadframe. The component is otherwise considered Pb-Free (RoHS
compatible) as defined above.
Green (RoHS & no Sb/Br): TI defines "Green" to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame
retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material)
(3)
MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications, and peak solder
temperature.
Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is
provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the
accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take
reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on
incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited
information may not be available for release.
In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI
to Customer on an annual basis.
Addendum-Page 1
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements,
and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should
obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are
sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard
warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where
mandated by government requirements, testing of all parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and
applications using TI components. To minimize the risks associated with customer products and applications, customers should provide
adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right,
or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information
published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a
warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual
property of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of TI information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied
by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive
business practice. TI is not responsible or liable for such altered documentation. Information of third parties may be subject to additional
restrictions.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all
express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not
responsible or liable for any such statements.
TI products are not authorized for use in safety-critical applications (such as life support) where a failure of the TI product would reasonably
be expected to cause severe personal injury or death, unless officers of the parties have executed an agreement specifically governing
such use. Buyers represent that they have all necessary expertise in the safety and regulatory ramifications of their applications, and
acknowledge and agree that they are solely responsible for all legal, regulatory and safety-related requirements concerning their products
and any use of TI products in such safety-critical applications, notwithstanding any applications-related information or support that may be
provided by TI. Further, Buyers must fully indemnify TI and its representatives against any damages arising out of the use of TI products in
such safety-critical applications.
TI products are neither designed nor intended for use in military/aerospace applications or environments unless the TI products are
specifically designated by TI as military-grade or "enhanced plastic." Only products designated by TI as military-grade meet military
specifications. Buyers acknowledge and agree that any such use of TI products which TI has not designated as military-grade is solely at
the Buyer's risk, and that they are solely responsible for compliance with all legal and regulatory requirements in connection with such use.
TI products are neither designed nor intended for use in automotive applications or environments unless the specific TI products are
designated by TI as compliant with ISO/TS 16949 requirements. Buyers acknowledge and agree that, if they use any non-designated
products in automotive applications, TI will not be responsible for any failure to meet such requirements.
Following are URLs where you can obtain information on other Texas Instruments products and application solutions:
Products
Amplifiers
Data Converters
DSP
Clocks and Timers
Interface
Logic
Power Mgmt
Microcontrollers
RFID
RF/IF and ZigBee® Solutions
amplifier.ti.com
dataconverter.ti.com
dsp.ti.com
www.ti.com/clocks
interface.ti.com
logic.ti.com
power.ti.com
microcontroller.ti.com
www.ti-rfid.com
www.ti.com/lprf
Applications
Audio
Automotive
Broadband
Digital Control
Medical
Military
Optical Networking
Security
Telephony
Video & Imaging
Wireless
www.ti.com/audio
www.ti.com/automotive
www.ti.com/broadband
www.ti.com/digitalcontrol
www.ti.com/medical
www.ti.com/military
www.ti.com/opticalnetwork
www.ti.com/security
www.ti.com/telephony
www.ti.com/video
www.ti.com/wireless
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2008, Texas Instruments Incorporated