Texas Instruments bq35100 Technical Reference Manual

bq35100
Technical Reference Manual
Literature Number: SLUUBH1C
August 2016–Revised March 2018
Contents
Preface ........................................................................................................................................ 5
1 Introduction......................................................................................................................... 7
2 Basic Measurement Systems................................................................................................. 8
2.1 Voltage ........................................................................................................................ 8
2.2 Temperature.................................................................................................................. 8
2.3 Coulombs ..................................................................................................................... 8
2.4 Current ........................................................................................................................ 8
3 Factory Calibration ............................................................................................................. 10
3.1 General I
3.2 Calibration Overview....................................................................................................... 10
3.2.1 Method.............................................................................................................. 10
3.2.2 Sequence........................................................................................................... 10
3.3 Enter CALIBRATION Mode ............................................................................................... 11
3.4 Voltage Calibration......................................................................................................... 12
3.5 CC Offset.................................................................................................................... 13
3.6 Board Offset................................................................................................................. 14
3.7 Obtain Raw Calibration Data ............................................................................................. 15
3.8 Current Calibration ......................................................................................................... 16
3.9 Temperature Calibration................................................................................................... 17
3.10 Floating Point Conversion................................................................................................. 18
3.11 Exit CALIBRATION Mode................................................................................................. 19
4 Basic Configuration............................................................................................................ 20
4.1 Operation Config A......................................................................................................... 20
5 Battery Gauging ................................................................................................................. 21
5.1 ACCUMULATOR Mode ................................................................................................... 21
5.1.1 Total Capacity Update ............................................................................................ 21
5.2 STATE-OF-HEALTH (SOH) Mode....................................................................................... 21
5.2.1 Low State-Of-Health Alert........................................................................................ 21
5.3 End-Of-Service (EOS) Mode ............................................................................................. 22
5.3.1 Initial EOS Learning............................................................................................... 22
5.3.2 End-Of-Service Detection ........................................................................................ 23
5.3.3 End-Of-Service Smoothing....................................................................................... 23
6 Power Control.................................................................................................................... 25
6.1 Device Functional Modes ................................................................................................. 25
6.2 Flash Updates .............................................................................................................. 27
7 Battery Condition Warnings................................................................................................. 28
7.1 Battery Low Warning....................................................................................................... 28
7.2 Temperature Low Warning................................................................................................ 28
7.3 Temperature High Warning ............................................................................................... 28
7.4 Battery Low SOC Warning................................................................................................ 29
7.5 Battery EOS OCV BAD Warning......................................................................................... 29
8 ALERT Signal..................................................................................................................... 30
9 Lifetime Data Collection ...................................................................................................... 31
2
C Command Information ...................................................................................... 10
2
Contents
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
www.ti.com
10 SHA-1 Authentication.......................................................................................................... 32
10.1 Overview..................................................................................................................... 32
10.2 HMAC Description.......................................................................................................... 32
10.3 Authentication............................................................................................................... 32
10.4 AuthenticateData(): 0x40…0x53 ......................................................................................... 33
10.5 AuthenticateChecksum(): 0x54........................................................................................... 33
11 Data Commands................................................................................................................. 34
11.1 Command Summary....................................................................................................... 34
11.2 Control(): 0x00/0x01 ....................................................................................................... 34
11.3 CONTROL_STATUS: 0x0000 ............................................................................................ 35
11.3.1 DEVICE_TYPE: 0x0001......................................................................................... 37
11.3.2 FW_VERSION: 0x0002 ......................................................................................... 37
11.3.3 HW_VERSION: 0x0003 ......................................................................................... 37
11.3.4 STATIC_CHEM_DF_CHKSUM: 0x0005...................................................................... 37
11.3.5 CHEM_ID: 0x0006 ............................................................................................... 37
11.3.6 PREV_MACWRITE: 0x0007.................................................................................... 37
11.3.7 BOARD_OFFSET: 0x0009...................................................................................... 37
11.3.8 CC_OFFSET: 0x000A........................................................................................... 37
11.3.9 CC_OFFSET_SAVE: 0x000B .................................................................................. 37
11.3.10 GAUGE_START: 0x0011...................................................................................... 37
11.3.11 GAUGE_STOP: 0x0012 ....................................................................................... 38
11.3.12 SEALED: 0x0020 ............................................................................................... 38
11.3.13 CAL_ENABLE: 0x002D........................................................................................ 38
11.3.14 LT_ENABLE: 0x002E .......................................................................................... 38
11.3.15 RESET: 0x0041................................................................................................. 38
11.3.16 NEW_BATTERY: 0xA613 ..................................................................................... 38
11.4 AccumulatedCapacity(): 0x02/0x05...................................................................................... 38
11.5 Temperature(): 0x06/0x07................................................................................................. 38
11.6 Voltage(): 0x08/0x09....................................................................................................... 38
11.7 BatteryStatus() 0x0A....................................................................................................... 38
11.8 BatteryAlert() 0x0B......................................................................................................... 39
11.9 Current(): 0x0C/0x0D ...................................................................................................... 39
11.10 ScaledR(): 0x16/0x17 ..................................................................................................... 39
11.11 MeasuredZ(): 0x22/0x23.................................................................................................. 39
11.12 InternalTemperature(): 0x28/0x29 ....................................................................................... 39
11.13 StateOfHealth(): 0x2E/0x2F .............................................................................................. 40
11.14 DesignCapacity(): 0x3C/3D............................................................................................... 40
11.15 ManufacturerAccessControl(): 0x3E/0x3F ............................................................................. 40
11.16 MACData(): 0x40 through 0x5F.......................................................................................... 40
11.17 MACDataSum(): 0x60..................................................................................................... 40
11.18 MACDataLen(): 0x61 ..................................................................................................... 40
12 Data Flash ......................................................................................................................... 41
12.1 Accessing Data Flash...................................................................................................... 41
12.1.1 Write to DF Example............................................................................................. 41
12.1.2 Read from DF Example ......................................................................................... 41
12.1.3 Auto-Increment Reading ........................................................................................ 41
12.2 Access Modes .............................................................................................................. 41
12.2.1 Sealing/Unsealing Data Flash Access......................................................................... 42
12.3 BlockDataChecksum(): 0x60.............................................................................................. 42
12.4 BlockDataLength(): 0x61 .................................................................................................. 42
12.5 BlockDataControl(): 0x62.................................................................................................. 42
13 Data Flash Summary........................................................................................................... 43
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Contents
3
www.ti.com
14 Communications ................................................................................................................ 48
14.1 I
2
C Interface................................................................................................................. 48
Revision History.......................................................................................................................... 49
4
Contents
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
About This Manual
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 and End-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.
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Read This First
5
Community Resources
Community Resources
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 CommunityTI'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 SupportTI'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.
www.ti.com
6
Read This First
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Chapter 1
SLUUBH1C–August 2016–Revised March 2018
Introduction
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)
Provides Four Configurable Algorithm Options: – Coulomb Accumulation (ACC) – State-Of-Health (SOH) – End-Of-Service (EOS)
Ultra-Low Average Power Consumption Supported Through Gauge-Enable Control
Accurate Coulomb Counter, Voltage, and Temperature Measurement Options
I2C Host Communication, Providing Battery Parameter and Status Access
Configurable Host Interrupt
Data Logging Options
SHA-1 Authentication
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Introduction
7
2.1 Voltage
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)
CLASS SUBCLASS NAME TYPE SIZE MIN VALUE
Gas gauging Design
The configured battery voltage measurement is made available through the Voltage() command.
2.2 Temperature
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.3 Coulombs
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
Integer 1 1 8 1 Count
DEFAULT
VALUE
UNIT
2.4 Current
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.
8
Basic Measurement Systems
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
www.ti.com
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
Current
CLASS SUBCLASS NAME TYPE SIZE MIN VALUE
EOS data Values
EOS gauge load current
Integer 1 1 255 35 0.01 mA
MAX
VALUE
DEFAULT
VALUE
UNIT
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Basic Measurement Systems
9
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.1 General 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.2 Calibration 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:
1. Perform Voltage Calibration.
2. Perform CC Offset.
3. Perform Board Offset.
4. Perform Current Calibration.
5. Perform Temperature Calibration.
10
Factory Calibration
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
I2CWriteWord(0x0000, 0x0081,100)
ENTER_CAL MAC Command:
0x0081 to 0x0000
I2CWriteWord(0x0000, 0x0000,100)
I2CReadBlock(0x00, 2,100)
calMod == 1
Device did not enter calibration mode; retry
True
False
End
www.ti.com
6. Write calibration results to data flash.
3.3 Enter CALIBRATION Mode
The bq35100 device must be enabled (GE High) and in ACC mode (Operation Config A [GMSEL1:0] =
00) AND the GAUGE_START() command should have been sent. When using bqStudio, these steps are
automatic. This sequence puts the gauge into CALIBRATION mode. These steps must be performed when the
gauge is in UNSEALED mode.
Enter CALIBRATION Mode
Figure 3-1. Enter CALIBRATION Mode Flow
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Factory Calibration
11
Apply known voltage
Voltage() = known voltage
End
int vOffset = Voltage()
– avgRawVoltage
Write vOffset to DF
Obtain avgRawVoltage
Voltage Calibration
3.4 Voltage Calibration
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
Data.
Gain
www.ti.com
= (V
cellGain
/RawADCounts) ×
cal
.
12
Factory Calibration
Figure 3-2. Voltage Calibration Flow
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
I2CWriteWord (0x0000, 0x000A, 100)
CCA == 1
I2CReadBlock (0x00, 2, 100)
CCA == 0
Wait for CCA bit
to clear
End
Device is not calibrating
CC offset; retry.
The device is in the
process of calibrating
CC offset while the
CCA bit is set. Host
should check
the CCA bit more
than once every 0.5 s.
NOT
True
True
False
False
CC_OFFSET MAC Command:
0x000A to 0x0000
I2CWriteWord (0x0000, 0x0000, 100)
Enter Calibration Mode
Exit Calibration Mode
I2CWrite Word (0x0000, 0x000B, 100)
www.ti.com
3.5 CC Offset
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
Mode.
Figure 3-3. CC Offset Flow
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Factory Calibration
13
I2CWriteWord(0x0000, 0x0009, 100)
CCA == 1 && BCA == 1
I2CReadBlock(0x00, 2, 100)
Wait for CCA bit
to clear
End
Device is not calibrating
CC offset; retry
The device is in the
process of calibrating
CC offset while the
CCA bit is set. The
CCA bit will clear and
then the device will
calibrate the board offset. Host should
check the CCA/
BCA bits more than
once every 0.5 s.
NOT
True
True
False
False
BCA == 0
I2CWriteWord(0x0000, 0x0000, 100)
BOARD_OFFSET MAC Command:
0x0009 to 0x0000
Enter Calibration Mode
Exit Calibration Mode
Board Offset
3.6 Board Offset
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 CALIBRATION Mode.
The step labeled Exit CALIBRATION Mode refers to Section 3.11, Exit CALIBRATION Mode.
www.ti.com
14
Factory Calibration
Figure 3-4. Board Offset Flow
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Analog Conversion Counter:
0x79
Read MSB and LSB of the raw data we are interested in.
counterNow = Analog Conversion Counter
counterNow ==
counterPrev
True
False
End
Enter Calibration Mode
Wait 200 ms
loopCount = 0, rawDataSum = 0 counterNow = Analog Conversion Counter counterPrev = counterNow
Analog Current:
0x7A, 0x7B (LSB, MSB)
*Analog Cell Voltage:
0x7C, 0x7D (LSB, MSB)
Analog Temperature:
0x7E, 0x7F (LSB, MSB)
rawDataSum + = (MSB << 8) + LSB
loopCount++ counterPrev = counterNow
loopCount <
samplesToAvg
True
avgRawData = rawDataSum/samplesToAvg
Exit Calibration Mode
* When measurement input is
- BAT, then units are millivolts.
- VIN, then units are RawADCounts.
www.ti.com
3.7 Obtain Raw Calibration Data
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
Mode.
Obtain Raw Calibration Data
Figure 3-5. Obtain Raw Calibration Data Flow
SLUUBH1C–August 2016–Revised March 2018
Submit Documentation Feedback
Factory Calibration
15
Loading...
+ 35 hidden pages