This technical reference manual (TRM) discusses the modules and peripherals of the bq35100 device,
and how each is used to build a complete battery fuel gauge and end-of-service monitor. Content in this
TRM complements, not supersedes, information in the bq35100 Lithium Primary Battery Fuel Gauge andEnd-Of-Service Monitor Data Sheet (SLUSCM6).
Notational Conventions
This document uses the following conventions:
•Hexadecimal numbers may be shown with the suffix h or the prefix 0x. For example, the following
number is 40 hexadecimal (decimal 64): 40h or 0x40.
•Registers in this document are shown in figures and described in tables.
– Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its
read/write properties with default reset value below. A legend explains the notation used for the
properties.
– Reserved bits in a register figure can have one of multiple meanings:
•Not implemented on the device,
•Reserved for future device expansion,
•Reserved for TI testing,
•Reserved configurations of the device that are not supported.
– Writing non-default values to the Reserved bits could cause unexpected behavior and should be
avoided.
Preface
SLUUBH1C–August 2016–Revised March 2018
Read This First
Formatting in This Document
The following formatting convention is used in this document:
•SBS Commands: italic with parenthesis and no breaking spaces; for example, RemainingCapacity()
•Data Flash: italic, bold, and breaking spaces; for example, Design Capacity
•Data Flash Bits: italic and bold; for example, [LED1]
•Register Bits and Flags: italic and brackets; for example, [TDA]
•Modes and States: ALL CAPITALS; for example, UNSEALED
Trademarks
E2E is a trademark of Texas Instruments.
All other trademarks are the property of their respective owners.
Related Documentation From Texas Instruments
See the bq35100 Lithium Primary Battery Fuel Gauge and End-Of-Service Monitor Data Sheet
(SLUSCM6).
For product information, visit the Texas Instruments website at http://www.ti.com/product/bq35100.
The following links connect to TI community resources. Linked contents are provided "AS IS" by the
respective contributors. They do not constitute TI specifications and do not necessarily reflect TI's views;
see TI's Terms of Use.
TI E2E™ Online Community— TI's Engineer-to-Engineer (E2E) Community. Created to foster
collaboration among engineers. At e2e.ti.com, you can ask questions, share knowledge, explore
ideas and help solve problems with fellow engineers.
Design Support— TI's Design Support Quickly find helpful E2E forums along with design support tools
and contact information for technical support.
Definitions
A Battery Glossary is available at the Battery University on ti.com.
Glossary
TI Glossary —This glossary lists and explains terms, acronyms, and definitions.
The bq35100 Battery Fuel Gauge and End-Of-Service Monitor provides highly configurable fuel gauging
for non-rechargeable lithium primary batteries—without requiring forced discharge of the battery. Built so
that optimization is not necessary, the patented TI gauging algorithms support replaceable batteries and
enable accurate results with ultra-low average power consumption through host control via the GAUGE
ENABLE (GE) pin.
The fuel gauging functions use voltage, current, and temperature information to provide State-Of-Health
(SOH) and End-Of-Service (EOS) data. The bq35100 device is only required to be powered long enough
to gather data and to make calculations to support the selected algorithm and the frequency of updates
required by the system.
The host can read the gathered data through a 400-kHz I2C bus. An ALERT output is also available to
interrupt the host, based on a variety of configurable options.
The device has extended capabilities, including:
•Fuel Gauge for Single- and Multi-Cell Primary (Non-Rechargeable) Batteries
•Supports Lithium Thionyl Chloride (LiSOCl2) and Lithium Manganese Dioxide (LiMnO2)
The bq35100 device measures the BAT input using the integrated delta-sigma ADC, which is scaled by
the internal translation network, through the ADC. The measured voltage is available through Voltage(),
and is updated for the host to read once per second. The translation gain function is determined by a
calibration process. See Factory Calibration for further details.
In systems where the battery voltage is greater than V
external voltage scaling circuit is required. If [EXTVCELL] is set, then the voltage is measured via the VIN
pin. The input to VIN must be scaled to a maximum of 1 V.
The VEN pin can be used to enable and disable the external divider to conserve power. The firmware will
then scale this < 1-V value to reflect an average cell value, and then again by the number of series cells to
reflect the full battery voltage value.
Chapter 2
SLUUBH1C–August 2016–Revised March 2018
Basic Measurement Systems
MAX (for example, 2-series cell or more), an
IN(BAT)
CLASSSUBCLASSNAMETYPESIZEMIN VALUE
Gas gaugingDesign
The configured battery voltage measurement is made available through the Voltage() command.
2.2Temperature
The device can measure temperature through an integrated temperature sensor or an external NTC
thermistor using the integrated delta-sigma ADC. Only one source can be used for gauging and the
selection is made by setting Operation A [TEMPS] appropriately. The resulting measured temperature is
available through the Temperature() command, and is updated for the host to read once per second. The
internal temperature sensor is always measured in support of voltage measurement accuracy, and the
result is also available through the InternalTemperature() command.
When an external thermistor is used, REG25 (pin 7) is used to bias the thermistor, and TS (pin 11) is used
to measure the thermistor voltage (a pull-down circuit is implemented inside the device). The device then
correlates the voltage to temperature, assuming the thermistor is a Semitec 103AT or similar device.
There is a configurable option for the host to write the temperature to the Temperature() command when
[WRTEMP] = 1. This option is disabled by default.
2.3Coulombs
The integrating delta-sigma ADC (coulomb counter) in the device measures the discharge flow of the
battery by measuring the voltage drop across a small-value sense resistor between the SRP and SRN
pins in a range from –0.125 V to 0.125 V. The device continuously monitors the measured current and
integrates this value over time using an internal counter. This measurement is updated for the host to read
once per second.
Series cell
count
MAX
VALUE
Integer1181Count
DEFAULT
VALUE
UNIT
2.4Current
For the primary battery current, the integrating delta-sigma ADC in the device measures the discharge
current of the battery by measuring the voltage drop across a small-value sense resistor between the SRP
and SRN pins, and is available through the Current() command, and is updated for the host to read once
per second.
The measured current also includes the current consumed by the device. To subtract this value from the
reported current, a value programmed in EOS Gauge Load Current is subtracted for improved accuracy.
Current() = Actual Measured (SRP–SRN) Current – EOS Gauge Load Current
The bq35100 fuel gauge requires factory calibration. The gauge performs only a limited number of
calibration functions. The rest must be performed by a host system using commands provided by the
gauge for this purpose. The following sections give a detailed description of the various calibration
sequences with the help of flowcharts.
3.1General I2C Command Information
In the following flowcharts, all I2C functions take three arguments.
Write command arguments:
•Address
•Data
•Wait time in ms
Read command arguments:
•Address
•Number of bytes read
•Wait time in ms
Chapter 3
SLUUBH1C–August 2016–Revised March 2018
Factory Calibration
3.2Calibration Overview
3.2.1 Method
The calibration method is broken up into the following sections. The first four sequences are subroutines
to be used in the main calibration sequences. Once in CALIBRATION mode, it is important to perform
voltage calibration first.
•Section 3.3, Enter CALIBRATION Mode
•Section 3.4, Voltage Calibration
•Section 3.5, CC Offset
•Section 3.6, Board Offset
•Section 3.7, Obtain Raw Calibration Data
•Section 3.8, Current Calibration
•Section 3.9, Temperature Calibration
•Section 3.10, Floating Point Conversion
•Section 3.11, Exit CALIBRATION Mode
3.2.2 Sequence
Perform the following calibration sequence during battery pack manufacturing process:
A known voltage must be applied to the device for voltage calibration, but the voltage can be measured in
two different ways. See Voltage for more details.
The bq35100 device is default-configured to use the BAT input for voltage measurement, and the data
used for calibration is made available through the calibration commands in units of millivolts (mV). In this
setup, the calculated voltage offset must be written to the corresponding location in DF. The voltage offset
is represented by an integer that is a single byte in size and can be written to the appropriate location in
DF without any intermediate steps. The host system must ensure that the fuel gauge is UNSEALED.
The device has the option to use an external voltage divider circuit where the voltage is measured through
the VIN pin, and the data used for calibration is made available through the calibration commands. In this
setup, there is no user offset required and the reported RawVoltage is actually RawADCounts. The gain
of the voltage translation circuit needs to be calculated and stored, where: V
65536. This resulting integer is written to VIN
NOTE: The step labeled Obtain avgRawVoltage refers to Section 3.7, Obtain Raw Calibration
Use MAC commands for CC Offset calibration. The host system does not need to write information to the
data flash (DF). See CONTROL_STATUS: 0x0000 for the description of the CONTROL_STATUS[CCA]
bit. The host system must ensure that the fuel gauge is UNSEALED.
NOTE: While the device is calibrating the CC Offset, the host system must not read the
CC Offset
CONTROL_STATUS register at a rate greater than once every 0.5 seconds and no current
should be flowing.
The step labeled Enter CALIBRATION Mode refers to Section 3.3, Enter CALIBRATION
Mode.
The step labeled Exit CALIBRATION Mode refers to Section 3.11, Exit CALIBRATION
Use MAC commands for Board Offset calibration. The host system does not need to write information to
the DF. The host system must ensure that the fuel gauge is UNSEALED. See CONTROL_STATUS:
0x0000 for the description of the CONTROL_STATUS[CCA] and [BCA] bits.
NOTE: While the device is calibrating the Board Offset, the host system should not read the
CONTROL_STATUS() register at a rate greater than once every 0.5 seconds and no current
should be flowing.
The step labeled Enter CALIBRATION Mode refers to Section 3.3, Enter CALIBRATIONMode.
The step labeled Exit CALIBRATION Mode refers to Section 3.11, Exit CALIBRATIONMode.
The following flowchart demonstrates how the host system obtains the raw data to calibrate current,
voltage, and temperature. The host system uses this flow in conjunction with the current, voltage, and
temperature flows described in this chapter. It is recommended that the host system samples the raw data
multiple times at a rate of once per second to obtain an average of the raw current, voltage, and
temperature. The host system must ensure that the fuel gauge is UNSEALED.
NOTE: The step labeled Enter CALIBRATION Mode refers to Section 3.3, Enter CALIBRATION
Mode.
The step labeled Exit CALIBRATION Mode refers to Section 3.11, Exit CALIBRATION