SLUUB65B May   2015  – December 2022

 

  1.   Read This First
    1.     Formatting Conventions Used in This Document
    2.     Related Documentation from Texas Instruments
    3.     Trademarks
  2. Introduction
  3. Basic Measurement System
    1. 2.1 Introduction
    2. 2.2 Current and Coulomb Counting
    3. 2.3 Voltage
    4. 2.4 Temperature
  4. Device Power Modes
    1. 3.1 Introduction
      1. 3.1.1 NORMAL Mode
      2. 3.1.2 SLEEP Mode
      3. 3.1.3 FULLSLEEP Mode
      4. 3.1.4 HIBERNATE Mode
    2. 3.2 Power Control
      1. 3.2.1 Reset Functions
      2. 3.2.2 Wake-Up Comparator
      3. 3.2.3 Flash Updates
  5. Device Configuration Registers
    1. 4.1 Introduction
    2. 4.2 Registers Subclass
      1. 4.2.1 Pack Configuration Register
      2. 4.2.2 Pack Configuration B Register
      3. 4.2.3 Pack Configuration C Register
      4. 4.2.4 Pack Configuration D
  6. System Control Function
    1. 5.1 Introduction
    2. 5.2 SHUTDOWN Mode
    3. 5.3 INTERRUPT Mode
    4. 5.4 Low Capacity
    5. 5.5 Battery Level
    6. 5.6 Safety Conditions
      1. 5.6.1 Overtemperature Fault Conditions During Charge/Discharge
      2. 5.6.2 Tab Disconnect Detection
      3. 5.6.3 ISD Faults
    7. 5.7 Battery Trip Point Interrupt Function
  7. Impedance Track Fuel Gauging
    1. 6.1 Introduction
      1. 6.1.1 System Design Parameters
        1. 6.1.1.1 Design Voltage
        2. 6.1.1.2 Cycle Count
        3. 6.1.1.3 Cycle Count Threshold
        4. 6.1.1.4 Design Capacity
        5. 6.1.1.5 Design Energy
        6. 6.1.1.6 State of Health Load I
        7. 6.1.1.7 Design Energy Scale
        8. 6.1.1.8 System Design Parameters DF
    2. 6.2 Gauge FW Operation Modes
      1. 6.2.1 CHARGE Mode
      2. 6.2.2 RELAXATION Mode
      3. 6.2.3 DISCHARGE Mode
    3. 6.3 Current/Power Profiles
      1. 6.3.1 Load Select
      2. 6.3.2 Thermal Rise Factor
      3. 6.3.3 Thermal Time Constant
    4. 6.4 Qmax Update
      1. 6.4.1 Charge Hysteresis Voltage Shift
    5. 6.5 Fast Qmax Update
    6. 6.6 Resistance Update
    7. 6.7 Fast Resistance Scaling
    8. 6.8 StateOfCharge() Smoothing
      1. 6.8.1 SOC Smoothing in Charge/Discharge
      2. 6.8.2 SOC Smoothing in Relaxation
      3. 6.8.3 SOC Smoothing in Overcharge and Overdischarge Conditions
      4. 6.8.4 StateofCharge() Hold at 99%
      5. 6.8.5 StateofCharge() Hold at 1%
    9. 6.9 Additional Impedance Track Gauging Features
      1. 6.9.1 Trace and Downstream Resistance Compensation
      2. 6.9.2 Imax Calculation
      3. 6.9.3 Predict Outside Temp Time
      4. 6.9.4 State Subclass
        1. 6.9.4.1 Qmax Cell 0
        2. 6.9.4.2 Update Status
      5. 6.9.5 OCV Table Class
        1. 6.9.5.1 OCVa Table Subclass
          1. 6.9.5.1.1 Chemistry Identification
      6. 6.9.6 Ra Table Class
        1. 6.9.6.1 Ra0 Subclass
        2. 6.9.6.2 Ra0x Subclass
  8. Charging Features
    1. 7.1 Introduction
    2. 7.2 Charge Suspend
    3. 7.3 Charge Inhibit
    4. 7.4 JEITA Charging Profile
    5. 7.5 Full Charge Termination Detection
    6. 7.6 Pulse Loads
    7. 7.7 Terminate Voltage Valid Time
    8. 7.8 Charge Termination Subclass
      1. 7.8.1 DOD at EOC Delta Temperature
  9. Lifetime Data Logging Features
    1. 8.1 Introduction
    2. 8.2 Lifetime Data Logging Parameters
    3. 8.3 Feature Access
    4. 8.4 Lifetime Data Subclass, Lifetime Resolution Subclass
      1. 8.4.1 Maximum Temperature, Minimum Temperature, Temperature Resolution
      2. 8.4.2 Maximum Pack Voltage, Minimum Pack Voltage, Voltage Resolution
      3. 8.4.3 Maximum Charge Current, Maximum Discharge Current, Current Resolution
    5. 8.5 Lifetime Resolution Subclass
      1. 8.5.1 Lifetime Update Time
    6. 8.6 Lifetime Temp Samples Subclass
      1. 8.6.1 Flash Write Count
  10. Authentication
    1. 9.1 Introduction
    2. 9.2 Key Programming (Data Flash Key)
    3. 9.3 Key Programming (Secure Memory Key)
    4. 9.4 Executing an Authentication Query
    5. 9.5 Codes Subclass
      1. 9.5.1 Sealed to Unsealed
      2. 9.5.2 Unsealed to Full Access
      3. 9.5.3 Authentication Keys
  11. 10Communications
    1. 10.1 HDQ Single-Pin Serial Interface
    2. 10.2 HDQ Host Interruption Feature
      1. 10.2.1 Low Battery Capacity
      2. 10.2.2 Temperature
    3. 10.3 I2C Interface
      1. 10.3.1 I2C Time Out
      2. 10.3.2 I2C Command Waiting Time
      3. 10.3.3 I2C Clock Stretching
  12. 11Manufacturer Information
    1. 11.1 Manufacturer Information Blocks
    2. 11.2 Manufacturer Information Subclass
      1. 11.2.1 Block A and Block B
  13. 12Manufacturer Data
    1. 12.1 Introduction
    2. 12.2 Manufacturer Data Subclass
      1. 12.2.1 Pack Lot Code
      2. 12.2.2 PCB Lot Code
      3. 12.2.3 Firmware Version
      4. 12.2.4 Hardware Revision
      5. 12.2.5 Cell Revision
      6. 12.2.6 Data Flash Configuration Version
  14. 13Integrity Data or Checksum
    1. 13.1 Introduction
    2. 13.2 Data Flash Checksum
  15. 14Calibration
    1. 14.1 Introduction
    2. 14.2 Current Calibration
    3. 14.3 Offset Calibration
      1. 14.3.1 Coulomb Counter Offset/Board Offset
      2. 14.3.2 Internal/External Temperature Offset
      3. 14.3.3 Pack Voltage Offset
      4. 14.3.4 145
    4. 14.4 Current Measurement Noise Filtering
      1. 14.4.1 Filter
      2. 14.4.2 Deadband
      3. 14.4.3 CC Deadband
      4. 14.4.4 150
  16. 15Data Commands
    1. 15.1 Standard Data Commands
      1. 15.1.1  Control(): 0x00 and 0x01
        1. 15.1.1.1  CONTROL_STATUS: 0x0000
        2. 15.1.1.2  DEVICE_TYPE: 0x0001
        3. 15.1.1.3  FW_VERSION: 0x0002
        4. 15.1.1.4  HW_VERSION: 0x0003
        5. 15.1.1.5  RESET_DATA: 0x0005
        6. 15.1.1.6  PREV_MACWRITE: 0x0007
        7. 15.1.1.7  CHEM_ID: 0x0008
        8. 15.1.1.8  BOARD_OFFSET: 0x0009
        9. 15.1.1.9  CC_OFFSET: 0x000A
        10. 15.1.1.10 DF_VERSION: 0x000C
        11. 15.1.1.11 SET_FULLSLEEP: 0x0010
        12. 15.1.1.12 SET_HIBERNATE: 0x0011
        13. 15.1.1.13 CLEAR_HIBERNATE: 0x0012
        14. 15.1.1.14 SET_SHUTDOWN: 0x0013
        15. 15.1.1.15 CLEAR_SHUTDOWN: 0x0014
        16. 15.1.1.16 SET_HDQINTEN: 0x0015
        17. 15.1.1.17 CLEAR_HDQINTEN: 0x0016
        18. 15.1.1.18 STATIC_CHEM_CHKSUM: 0x0017
        19. 15.1.1.19 ALL_DF_CHKSUM: 0x0018
        20. 15.1.1.20 STATIC_DF_CHKSUM: 0x0019
        21. 15.1.1.21 SYNC_SMOOTH: 0x001E
        22. 15.1.1.22 SEALED: 0x0020
        23. 15.1.1.23 IT ENABLE: 0x0021
        24. 15.1.1.24 IMAX_INT_CLEAR: 0x0023
        25. 15.1.1.25 CAL_ENABLE: 0x002D
        26. 15.1.1.26 RESET: 0x0041
        27. 15.1.1.27 EXIT_CAL: 0x0080
        28. 15.1.1.28 ENTER_CAL: 0x0081
        29. 15.1.1.29 OFFSET_CAL: 0x0082
      2. 15.1.2  AtRate(): 0x02 and 0x03
      3. 15.1.3  UnfilteredSOC(): 0x04 and 0x05
      4. 15.1.4  Temperature(): 0x06 and 0x07
      5. 15.1.5  Voltage(): 0x08 and 0x09
      6. 15.1.6  Flags(): 0x0A and 0x0B
      7. 15.1.7  NomAvailableCapacity(): 0x0C and 0x0D
      8. 15.1.8  FullAvailableCapacity(): 0x0E and 0x0F
      9. 15.1.9  RemainingCapacity(): 0x10 and 0x11
      10. 15.1.10 FullChargeCapacity(): 0x12 and 0x13
      11. 15.1.11 AverageCurrent(): 0x14 and 0x15
      12. 15.1.12 TimeToEmpty(): 0x16 and 0x17
      13. 15.1.13 FilteredFCC(): 0x18 and 0x19
      14. 15.1.14 SafetyStatus(): 0x1A and 0x1B
      15. 15.1.15 UnfilteredFCC(): 0x1C and 0x1D
      16. 15.1.16 Imax(): 0x1E and 0x1F
      17. 15.1.17 UnfilteredRM(): 0x20 and 0x21
      18. 15.1.18 FilteredRM(): 0x22 and 0x23
      19. 15.1.19 BTPSOC1Set(): 0x24 and 0x25
      20. 15.1.20 BTPSOC1Clear(): 0x26 and 0x27
      21. 15.1.21 InternalTemperature(): 0x28 and 0x29
      22. 15.1.22 CycleCount(): 0x2A and 0x2B
      23. 15.1.23 StateOfCharge(): 0x2C and 0x2D
      24. 15.1.24 StateOfHealth(): 0x2E and 0x2F
      25. 15.1.25 ChargingVoltage(): 0x30 and 0x31
      26. 15.1.26 ChargingCurrent(): 0x32 and 0x33
      27. 15.1.27 PassedCharge(): 0x34 and 0x35
      28. 15.1.28 DOD0(): 0x36 and 0x37
      29. 15.1.29 SelfDischargeCurrent(): 0x38 and 0x39
    2. 15.2 Extended Data Commands
      1. 15.2.1  PackConfiguration(): 0x3A and 0x3B
      2. 15.2.2  DesignCapacity(): 0x3C and 0x3D
      3. 15.2.3  DataFlashClass(): 0x3E
      4. 15.2.4  DataFlashBlock(): 0x3F
      5. 15.2.5  BlockData(): 0x40 Through 0x5F
      6. 15.2.6  BlockDataCheckSum(): 0x60
      7. 15.2.7  BlockDataControl(): 0x61
      8. 15.2.8  DODatEOC(): 0x62 and 0x63
      9. 15.2.9  Qstart(): 0x64 and 0x65
      10. 15.2.10 FastQmax(): 0x66 and 0x67
      11. 15.2.11 Reserved—0x68 to 0x6C
      12. 15.2.12 Reserved—0x6E and 0x6F
      13. 15.2.13 Reserved—0x70 and 0x71
      14. 15.2.14 Reserved—0x72 and 0x73
      15. 15.2.15 AveragePower(): 0x76 and 0x77
      16. 15.2.16 AN_COUNTER: 0x79
      17. 15.2.17 AN_CURRENT_LSB: 0x7A
      18. 15.2.18 AN_CURRENT_MSB: 0x7B
      19. 15.2.19 AN_VCELL_LSB: 0x7C
      20. 15.2.20 AN_VCELL_MSB: 0x7D
      21. 15.2.21 AN_TEMP_LSB: 0x7E
      22. 15.2.22 AN_TEMP_MSB: 0x7F
  17. 16Data Flash Summary
    1. 16.1 Introduction
    2. 16.2 Data Flash Interface
      1. 16.2.1 Accessing the Data Flash
      2. 16.2.2 Access Modes
      3. 16.2.3 Sealing or Unsealing Data Flash
    3. 16.3 Data Flash Summary Tables
  18. 17Factory Calibration
    1. 17.1  General I2C Command Information
    2. 17.2  Calibration
      1. 17.2.1 Method
      2. 17.2.2 Sequence
    3. 17.3  Enter CALIBRATION Mode
    4. 17.4  Exit CALIBRATION Mode
    5. 17.5  CC Offset
    6. 17.6  Board Offset
    7. 17.7  Obtain Raw Calibration Data
    8. 17.8  Current Calibration
    9. 17.9  Voltage Calibration
    10. 17.10 Temperature Calibration
    11. 17.11 Floating Point Conversion
  19. 18Updating the BQ27542-G1 Firmware
    1. 18.1 Data Flash Stream (.DFFS)/BMS Data Flash Stream (.BQFS) Files
    2. 18.2 Write Command
    3. 18.3 Read and Compare Command
    4. 18.4 Wait Command
    5. 18.5 Firmware Updating Flow
    6. 18.6 Debugging BQFS Reader and Programmer
    7. 18.7 Creating a BQFS and DFFS Containing User-Specific DFI
  20. 19Impedance Track Gauge Configuration
    1. 19.1 Introduction
    2. 19.2 Determining ChemID
    3. 19.3 Learning Cycle
    4. 19.4 Common Problems Seen During the Learning Cycle
    5. 19.5 Test Gauge and Optimize
    6. 19.6 Finalize Golden File
    7. 19.7 Program and Test the PCB
  21. 20Revision History

Coulomb Counter Offset/Board Offset

CC Offset and Board Offset are two parameters used for calibrating the offset of the internal coulomb counter, board layout, sense resistor, copper traces, and other offsets from the coulomb counter readings.

CC Offset is the calibration value that primarily corrects for the offset error of the coulomb counter circuitry. Board Offset is used to calibrate everything the CC Offset does not calibrate. This includes board layout, sense resistor, copper trace, and other offsets that are external to the chip. The simplified ground circuit design in the fuel gauge requires a separate Board Offset for each tested device.

To minimize external influences when doing CC Offset calibration by automatic CC Offset calibration or CC Offset calibration function in CALIBRATION mode, an internal short is placed across the SRP and SRN pins inside the fuel gauge. CC Offset is a correction for small noise and errors; therefore, to maximize accuracy, it takes about 20 seconds to calibrate the offset. Because it is impractical to do a 20-s offset during production, there are two different methods for calibrating CC Offset.

  • The first method is to calibrate CC Offset by putting the fuel gauge in CALIBRATION mode and initiating the CC Offset function as part of the entire calibration suite. This is a short calibration that is not as accurate as the second method mentioned below. Its primary purpose is to calibrate CC Offset enough so that it does not affect any other coulomb counter calibrations. This is only intended as a temporary calibration, because the automatic calibration is done the first time the I2C data and clock are low for more than 20 seconds, which is a much more accurate calibration.
  • During NORMAL gas gauge operation when the I2C clock and data lines are low for more than 5 seconds and AverageCurrent() is less than Sleep Current in mA, then an automatic CC Offset calibration is performed. This takes approximately 16 seconds and is much more accurate than the method in CALIBRATION mode.

The fuel gauge provides an autocalibration feature that measures 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 CC begins on entry to SLEEP mode, except if Temperature() is ≤ 5°C or Temperature() ≥ 45°C, but will not occur more than once per every 10 hours.

The fuel gauge also performs autocalibration offset calibration any time the following conditions are detected:

  1. The condition of AverageCurrent() ≤ 100 mA, and
  2. A voltage change since last offset calibration ≥ 256 mV or a temperature change since the last offset calibration is greater than 8°C for ≥ 60 seconds.

Capacity and current measurements continue at the last measured rate during the offset calibration when these measurements cannot be performed. If the battery voltage drops more than 32 mV during the offset calibration, the load current has likely increased considerably, and the offset calibration is stopped.