User's Guide
SLUUAP5A – December 2013 – Revised April 2014
Quickstart Guide for bq27621-G1
The bq27621-G1 is the easiest-to-use rechargeable lithium battery gauge in the industry. For fast time-tomarket, virtually no development effort, battery characterization, nor learning cycle is required. Once
assembled into the end-system, only a few simple registers need to be configured before gauging results
can be read from the IC. This document outlines the minimum procedure required. For more configuration
options and details, please see the bq27621-G1, Technical Reference Manual (SLUUAD4).
NOTE:
Formatting conventions used in this document:
Commands: italics with parentheses and no breaking spaces, for example:
RemainingCapacity( )
Data Memory Configuration Parameter: italics, bold, and breaking spaces, for example:
Design Capacity
Register bits and flags: brackets and italics, for example: [ITPOR]
Data Memory Configuration Parameter bits: brackets, italics and bold, for example: [BIE]
Modes and states: ALL CAPITALS, for example: UNSEALED mode
1
2
3
4
5
6
7
8
9
Contents
Overview ......................................................................................................................
Hardware......................................................................................................................
Programming the Configuration ............................................................................................
Reading the Gauge Registers..............................................................................................
Gauge Re-Initialization ......................................................................................................
Other Configuration Options................................................................................................
Summary ......................................................................................................................
Related Documentation from Texas Instruments ........................................................................
Revision History ..............................................................................................................
2
2
3
5
6
7
7
7
7
List of Figures
1
Flowchart for Updating the Gauge Configuration Parameters ......................................................... 4
2
Gauge Register Commands ................................................................................................ 5
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Quickstart Guide for bq27621-G1
1
Overview
1
www.ti.com
Overview
The bq27621-G1 fuel gauge utilizes standard lithium battery profiles that match typical batteries available
in the market. The fuel gauge contains multiple battery profiles that fit a wide range of consumer
rechargeable lithium chemistries. On IC power-up, default settings are loaded into the gauge RAM. These
should be over-written by the system to match the actual battery capacity. Additionally, the full and empty
battery conditions should be updated to match the system requirements. Also, if the default battery profile
does not match the battery in use, a command can be sent to switch to the appropriate alternate profile.
By configuring only a handful of parameters, the battery capacity predictions can be utilized with
confidence.
2
Hardware
The bq27621-G1 fuel gauge comes in a tiny 9-pin, 1,62 mm × 1,58 mm, CSP package. A single 0.47-µF
capacitor to be connected between the VDD and VSS pins.
The fuel gauge has the ability to provide interrupts to the system when State of Charge (SOC) changes
through the GPOUT pin. The GPOUT pin is an open-drain output and should be pulled up, typically with a
4.7-kΩ or 10-kΩ resistor. It should not be left floating, even if unused. The GPOUT pin can also be
configured to simply change polarity when SOC drops below a specific threshold. The polarity of the
GPOUT pin can also be configured. For more details on configuration options, see the bq27621-G1
Technical Reference Manual (SLUUAD4).
For accurate gauging the fuel gauge needs to be able to detect that the battery has been inserted into the
system. The fuel gauge will not be actively gauging unless the [BAT_DET] bit in the Flags( ) register is set.
By default, [BAT_DET] is set if the BIN pin is low. Alternatively, the gauge can be configured to rely on the
host to inform it when the battery is inserted and removed, thereby setting and clearing the [BAT_DET] bit.
If Operation Configuration bit [BIE] = 1 (default), a logic low on the pin is detected as battery insertion.
For a removable pack, the BIN pin can be connected to VSS through a pulldown resistor on the pack,
typically the 10-kΩ thermistor in the battery pack; the system board should use a 1.8-MΩ pullup resistor to
VDD to ensure the BIN pin is high when a battery is removed. If the battery is embedded in the system, it is
recommended to leave [BIE] = 1 and use a 10-kΩ (or the battery thermistor) pulldown resistor from BIN to
VSS.
If [BIE] = 0, then the host must inform the gauge of battery insertion and removal with the BAT_INSERT
and BAT_REMOVE subcommands. A 10-kΩ pulldown resistor should be connected to the BIN pin, even if
the pin is not used.
NOTE: The BIN pin should not be shorted directly to VCC or VSS, and any pullup resistor on the BIN
pin should only be connected to the bq27621 VDD and not an external voltage rail.
NOTE: The fuel gauge needs accurate measurements of the battery pack voltage. The BAT and VSS
pins should be Kelvin-connected directly to the battery terminals for maximum gauging
accuracy, with system current flowing through separate traces. Any I×R drop caused by
current flowing through voltage measurement traces between the fuel gauge and the battery
will reduce accuracy. Typically, the fuel gauge should be placed as close to the battery as
possible to ensure its on-board temperature sensor is reflecting the battery temperature.
However, since no sense resistor is required, more flexibility in layout is allowed as long as a
Kelvin connection is ensured.
2
Quickstart Guide for bq27621-G1
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Programming the Configuration
www.ti.com
3
Programming the Configuration
A number of configuration parameters are available in the bq27621-G1 so that it can be tuned to match
the target battery as well as the system requirements. Most of the defaults can be left alone if desired, but
there are five important parameters that should be configured to achieve accurate gauging of the target
battery. These parameters are Toggle Power Min, Design Capacity, Design Energy, Terminate
Voltage, and Taper Rate. If you are using the bq27621-G1 EVM, then use Battery Management Studio
(bqStudio) to configure the gauge to fit the target battery and system. You can download Battery
Management Studio at www.ti.com/product/bq27621-g1.
The fuel gauge contains multiple battery profiles that fit a wide range of consumer rechargeable lithium
chemistries. Depending on the actual chemistry used by the target battery, the profile used by the gauge
(also known as a chemID) can be changed with a simple I2C command. The chemIDs available are 1202
(4.2 V maximum charge voltage), 1210 (4.3 V maximum charge voltage), and 354 (4.35 V maximum
charge voltage). The default chemID is 1202 and is automatically used by the gauge upon reset. If a
different battery type is used, then during the initialization sequence the host must send 0x0031 to
Control( ) to use chemID 1210 or 0x0032 to Control( ) for chemID 354.
Toggle Power Min is an I2C command which is sent to Control() to toggle the bq27621-G1 minimum
power mode. It is enabled when the [POWERMIN] bit in Control Status is set. The minimum power mode
configures the gauge to consume the lowest power in all power modes. By default, it is not enabled. To
toggle it, send 0x0010 to Control(). If the bq27621-G1 goes through a POR or hard reset, it will exit this
mode. Using the minimum power mode can result in longer clock stretch during I2C communications.
Design Capacity should be set to the nominal battery capacity printed on the battery label or found in the
battery datasheet. It gives a starting point for the gauge's predictions.
Design Energy should be set to be Design Capacity × 3.7. Design Energy is used when the gauge is
operating in constant-power model. The bq27621-G1 defaults to constant-current model and this is
reflected by the [LDMD] bit in the Control() register being cleared.
NOTE: When updating the fuel gauge on an EVM using the Q/A plug-in of Battery Management
Studio, Design Energy is automatically calculated based on the Design Capacity.
Terminate Voltage should be set to the minimum operating voltage of your system. This is the target
where the gauge typically reports 0% capacity. It is not usually necessary to include a guard band when
selecting this value, because the gauge also learns the level of load spikes in the system and
automatically uses a higher voltage when necessary to ensure that load spikes and low temperatures do
not allow sudden voltage drops below Terminate Voltage before 0% is reported. The actual point at
which 0% is reported is therefore dynamic, so Terminate Voltage should be set to the minimum operating
voltage supported by the system. If additional reserve capacity is desired between the 0% point and the
actual Terminate Voltage, then the optional Reserve Capacity memory parameter can also be
configured. This ensures that a known amount of energy is available for shutdown activities once 0% SOC
is reported, but before Terminate Voltage is actually reached.
Taper Rate should be set to the current threshold in mA below which your charger IC is set to stop
charging once it considers the battery to be full. The Taper Rate is stored in units of 0.1-hr rate and can
be derived from the taper current value in mA by the following equation:
Taper Rate = Design Capacity / (0.1 * Taper Current)
This is simply a way to store the taper current value with respect to Design Capacity. The Taper Rate
value allows the gauge to synchronize its full charge detection point with that of the charger. The gauge
Taper Rate should be set to a value slightly higher than the taper current detection threshold of the
charger (including charger tolerances).
For example, if using a 1000-mA battery and the charger is set to stop charging when the voltage is 4.2 V
and the current tapers to less than 100 mA (±15%), then the bq27621-G1 Taper Rate should be set to 87
(Taper Rate = 1000 / (0.1 × 115 mA) where Taper Current = 115 mA) to give a slight guard band. It is
important that the gauge detect full charge (StateOfCharge() = 100%) before the charger shuts off. An
alternative system design to improve synchronization is to have the system read the [FC] (full charge) bit
from the Flags() register and then disable the charger when it is set.
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Quickstart Guide for bq27621-G1
3
Programming the Configuration
www.ti.com
Because the gauge is estimating current, it is possible for it to report 100% SOC slightly early during
charging. If the host processor can detect when the charger actually shuts off, then it can continue
reporting 99% to the user until charge termination is detected, even if the gauge is reporting 100%.
NOTE: When updating the fuel gauge on an EVM using the Q/A plugin of Battery Management
Studio, Taper Rate is calculated automatically based on the Taper Current value.
The procedure and commands required to update the configuration parameters are shown in the flowchart
of Figure 1.
Steps to compute the
updated checksum
Steps to unseal
the fuel gauge
Start
I2CWriteByte(0x3E, 0x52, 100)
TMP_CHKSUM = 0xFF – OLD_CHKSUM
I2CWriteWord(0x00, 0x8000, 100)
OLD_DC[2] = I2CReadBlock(0x4A, 2, 100)
I2CWriteWord(0x00, 0x8000, 100)
I2CWriteWord(0x00, 0x0013, 100)
Flags[2] = I2CReadSubCommand(0x06, 2, 100)
I2CWriteByte(0x3F, 0x00, 100)
CHKSUM = I2CReadBlock(0x60, 1, 100)
OLD_DE[2] = I2CReadBlock(0x4C, 2, 100)
Steps to place the
gauge into
CONFIG UPDATE
mode
False
CHKSUM ==
NEW_CHKSUM
OLD_TV[2] = I2CReadBlock(0x50, 2, 100)
Steps to verify
RAM update
completed
correctly
True
OLD_TR[2] = I2CReadBlock(0x5B, 2, 100)
False
[CFGUPMODE] == 1
I2CWriteWord(0x00, 0x0042, 100)
Change chemID by
sending Control()
SubCommand
ALT_CHEM1 (0x0031)
for chemID 1210 or
ALT_CHEM2 (0x0032)
for chemID 354
True
False
Change chemID?
TMP_CHKSUM = TMP_CHKSUM – OLD_DC[2] –
OLD_DE[2] – OLD_TV[2] – OLD_TR[2]
Flags[2] = I2CReadSubCommand(0x06, 2, 100)
I2CWriteWord(0x4A, NEW_DC[2], 100)
Steps to exit
CONFIG
UPDATE mode
False
I2CWriteWord(0x4C, NEW_DE[2], 100)
[CFGUPMODE] == 0
True
I2CWriteWord(0x50, NEW_TV[2], 100)
I2CWriteWord(0x00, ALT_CHEMx, 100)
True
I2CWriteWord(0x00, 0x0020, 100)
I2CWriteWord(0x5B, NEW_TR[2], 100)
I2CWriteByte(0x61, 0x00, 100)
I2CWriteByte(0x3E, 0x52, 100)
End
Steps to setup
block RAM
update
I2CWriteByte(0x3F, 0x00, 100)
OLD_CHKSUM = I2CReadBlock(0x60, 1, 100)
TMP_CHKSUM = TMP_CHKSUM + NEW_DC[2] +
NEW_DE[2] + NEW_TV[2] + NEW_TR[2]
NEW_CHKSUM = 0xFF - TMP_CHKSUM
I2CWriteByte(0x60, NEW_CHKSUM, 100)
Figure 1. Flowchart for Updating the Gauge Configuration Parameters
NOTE: For information on the complete sealing process with the bq27621, see the TRM
(SLUUAD4).
NOTE: The process for updating the RAM can also be handled through parsing the data contents in
a *.fs file generated by Battery Management Studio. A *.fs is a series of I2C commands that
can be processed by the host. Using the *.fs file will allow the host an alternative route to
updating the RAM instead of following the flow outlined in Figure 1.
4
Quickstart Guide for bq27621-G1
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Reading the Gauge Registers
www.ti.com
4
Reading the Gauge Registers
There are a total of 18 registers available for the system to read from the bq27621. The registers most
commonly used are Voltage( ), Temperature( ), EstimatedCurrent( ), and StateOfCharge( ). The
commands to read these registers are shown in Figure 2. Other useful registers include Control(), Flags(),
and the estimate of RemainingCapacity().
Start
False
[ITPOR] == 1
Refer to Figure 1 for
initialization process
Details of the I2CReadSubCommand() function
True
Note that the fuel gauge
address is 0x55
Reinitialize fuel gauge
I2CWrite(0x04, 100)
Buffer[2] = I2CRead(2, 100)
Voltage[2] = I2CReadSubCommand(0x04, 2, 100)
Temperature[2] = I2CReadSubCommand(0x02, 2, 100)
Additional recommended commands to read from
the fuel gauge. However, the basic set of
Voltage(), Temperature(), AverageCurrent() and
StateOfCharge() will suffice for most applications.
SOC[2] = I2CReadSubCommand(0x1C, 2, 100)
ControlStatus[2] = I2CReadSubCommand(0x00, 2, 100)
Flags[2] = I2CReadSubCommand(0x06, 2, 100)
RemCap[2] = I2CReadSubCommand(0x0C, 2, 100)
End
Figure 2. Gauge Register Commands
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Quickstart Guide for bq27621-G1
5
Gauge Re-Initialization
5
www.ti.com
Gauge Re-Initialization
Ideally, the system should be designed so that the bq27621-G1 is always powered by the battery, even
during system shutdown. The gauge maintains the values in RAM as long as it is powered and operates in
NORMAL, SLEEP, or HIBERNATE mode. The gauge automatically transitions to SLEEP mode when the
system current is low to minimize power consumption.
If the battery is removed or the gauge is put into SHUTDOWN mode, the values stored in RAM are lost.
Once powered up again, the [ITPOR] bit in the Flags() register is set indicating that all values are
initialized to the defaults, including Design Capacity, Design Energy, Terminate Voltage, Taper
Current, and the [POWER_MIN] bit. The [ITPOR] bit indicates one of the following:
• The fuel gauge has been reset due to loss in power.
• A full RESET (0x0041) Control() subcommand has been sent to the gauge.
• The gauge has exited the SHUTDOWN mode.
Sending a SOFT_RESET (0x0042) Control() subcommand to the gauge clears the [ITPOR] bit. The host
can use the [ITPOR] bit to determine if the gauge memory parameters need to be reloaded. If the [ITPOR]
bit is set, at a minimum the Design Capacity, Design Energy, Terminate Voltage, and Taper Rate
values should be reloaded to the gauge.
NOTE: The SOFT_RESET subcommand is used to exit the RAM update process. Therefore, the
[ITPOR] bit clears after the RAM has been updated.
See Figure 1 for more details on the RAM update process.
6
Quickstart Guide for bq27621-G1
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Other Configuration Options
www.ti.com
6
Other Configuration Options
The previous instructions outlined the minimum registers to update for accurate fuel gauging. Other
registers are available for configuration to enable different options (such as interrupt conditions). See the
bq27621-G1 Technical Reference Manual (SLUUAD4) for additional configuration options and details.
6.1
Very Small or Very Large Battery Capacities
When using batteries that have capacity less than 150 mAh, it is recommended that a scale factor of 10×
be applied. For example, if the fuel gauge is used with an 89-mAh battery, then Design Capacity and
Design Energy should be set to 890 mAh and 3293 mWh, respectively. Then all registers with units of
mA, mAh, or mW read back from the gauge, such as EstimatedCurrent( ) or RemainingCapacity( ), can be
divided by 10 to get the original value if desired. Since SOC = RemainingCapacity( ) /
FullChargeCapacity( ), this factor of 10 will be canceled out and there is no need to scale
StateofCharge( ). Conversely, for use with extremely large batteries, a scaling factor of ÷10 or ÷100 may
be used to keep the Design Capacity below 6 Ah, which is the maximum recommended value.
6.2
Zero Configuration Usage
This document has shown how the bq27621-G1 fuel gauge can be configured for use through a few
simple configuration parameters. In fact, for some applications it may be allowable to use the gauge with
zero configuration. If only the StateOfCharge( ) register is needed by the system, the battery capacity
does not need to be configured. This is because SOC = RemainingCapacity( ) / FullChargeCapacity( ) and
any scaling error will be canceled out. Furthermore, the default Terminate Voltage (3.2 V) and charger
termination conditions may be close enough to the actual system requirements that they could be left
unchanged in some situations. If these settings are sufficient, then the bq27621-G1 can truly be used with
no configuration and the SOC can be immediately read from the gauge. On the other hand, if fine-tuning
of the gauge behavior and settings is required, there are many more options detailed in the bq27621-G1
Technical Reference Manual (SLUUAD4).
7
Summary
By requiring no battery characterization and typically only needing a minimum of five registers to be
updated on power-on reset (POR), the bq27621-G1 fuel gauge allows system designers to quickly
incorporate fuel gauging functionality into their design with minimal effort.
8
Related Documentation from Texas Instruments
To obtain a copy of any of the following TI documents, call the Texas Instruments Literature Response
Center at (800) 477-8924 or the Product Information Center (PIC) at (972) 644-5580. When ordering,
identify this document by its title and literature number. Updated documents also can be obtained through
the TI Web site at www.ti.com.
1. bq27621-G1, System-Side Fuel Gauge with Dynamic Voltage Correlation Data Sheet (SLUSBB3)
2. bq27621-G1, Technical Reference Manual (SLUUAD4)
9
Revision History
Version
Change Date
—
December 2013
A
March 2014
Description
Initial Release
In Figure 2, changed AverageCurrent() to EstimatedCurrent().
Streamlined instructions.
SLUUAP5A – December 2013 – Revised April 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated
Quickstart Guide for bq27621-G1
7
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other
changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest
issue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and
complete. All semiconductor products (also referred to herein as “components”) are sold subject to TI’s terms and conditions of sale
supplied at the time of order acknowledgment.
TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s terms
and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary
to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily
performed.
TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products and
applications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provide
adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or
other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information
published by TI regarding third-party products or services does not constitute a license 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 significant portions 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. TI is not responsible or liable for such altered
documentation. Information of third parties may be subject to additional restrictions.
Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service
voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice.
TI is not responsible or liable for any such statements.
Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements
concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support
that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which
anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause
harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use
of any TI components in safety-critical applications.
In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is to
help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and
requirements. Nonetheless, such components are subject to these terms.
No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties
have executed a special agreement specifically governing such use.
Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use in
military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components
which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and
regulatory requirements in connection with such use.
TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use of
non-designated products, TI will not be responsible for any failure to meet ISO/TS16949.
Products
Applications
Audio
www.ti.com/audio
Automotive and Transportation
www.ti.com/automotive
Amplifiers
amplifier.ti.com
Communications and Telecom
www.ti.com/communications
Data Converters
dataconverter.ti.com
Computers and Peripherals
www.ti.com/computers
DLP® Products
www.dlp.com
Consumer Electronics
www.ti.com/consumer-apps
DSP
dsp.ti.com
Energy and Lighting
www.ti.com/energy
Clocks and Timers
www.ti.com/clocks
Industrial
www.ti.com/industrial
Interface
interface.ti.com
Medical
www.ti.com/medical
Logic
logic.ti.com
Security
www.ti.com/security
Power Mgmt
power.ti.com
Space, Avionics and Defense
www.ti.com/space-avionics-defense
Microcontrollers
microcontroller.ti.com
Video and Imaging
www.ti.com/video
RFID
www.ti-rfid.com
OMAP Applications Processors
www.ti.com/omap
TI E2E Community
e2e.ti.com
Wireless Connectivity
www.ti.com/wirelessconnectivity
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2014, Texas Instruments Incorporated