SLUUCO5A december   2022  – august 2023 BQ34Z100-R2

 

  1.   1
  2.   Read This First
    1.     About This Manual
    2.     Notational Conventions
    3.     Glossary
    4.     Trademarks
  3. Introduction
  4. Data Commands
    1. 2.1 Standard Data Commands
      1. 2.1.1  Control(): 0x00/0x01
        1. 2.1.1.1  CONTROL_STATUS: 0x0000
        2. 2.1.1.2  DEVICE TYPE: 0x0001
        3. 2.1.1.3  FW_VERSION: 0x0002
        4. 2.1.1.4  HW_VERSION: 0x0003
        5. 2.1.1.5  RESET_DATA: 0x0005
        6. 2.1.1.6  PREV_MACWRITE: 0x0007
        7. 2.1.1.7  CHEM ID: 0x0008
        8. 2.1.1.8  BOARD_OFFSET: 0x0009
        9. 2.1.1.9  CC_OFFSET: 0x000A
        10. 2.1.1.10 CC_OFFSET_SAVE: 0x000B
        11. 2.1.1.11 DF_VERSION: 0x000C
        12. 2.1.1.12 SET_FULLSLEEP: 0x0010
        13. 2.1.1.13 STATIC_CHEM_DF_CHKSUM: 0x0017
        14. 2.1.1.14 SEALED: 0x0020
        15. 2.1.1.15 IT ENABLE: 0x0021
        16. 2.1.1.16 CAL_ENABLE: 0x002D
        17. 2.1.1.17 RESET: 0x0041
        18. 2.1.1.18 EXIT_CAL: 0x0080
        19. 2.1.1.19 ENTER_CAL: 0x0081
        20. 2.1.1.20 OFFSET_CAL: 0x0082
      2. 2.1.2  StateOfCharge(): 0x02
      3. 2.1.3  MaxError(): 0x03
      4. 2.1.4  RemainingCapacity(): 0x04/0x05
      5. 2.1.5  FullChargeCapacity(): 0x06/07
      6. 2.1.6  Voltage(): 0x08/0x09
      7. 2.1.7  AverageCurrent(): 0x0A/0x0B
      8. 2.1.8  Temperature(): 0x0C/0x0D
      9. 2.1.9  Flags(): 0x0E/0x0F
      10. 2.1.10 FlagsB(): 0x12/0x13
      11. 2.1.11 Current(): 0x10/0x11
    2. 2.2 Extended Data Commands
      1. 2.2.1  AverageTimeToEmpty(): 0x18/0x19
      2. 2.2.2  AverageTimeToFull(): 0x1A/0x1B
      3. 2.2.3  PassedCharge(): 0x1C/0x1D
      4. 2.2.4  DOD0Time(): 0x1E/0x1F
      5. 2.2.5  VoltScale(): 0x20
      6. 2.2.6  CurrScale(): 0x21
      7. 2.2.7  EnegyScale(): 0x22
      8. 2.2.8  AvailableEnergy(): 0x24/0x25
      9. 2.2.9  AveragePower(): 0x26/0x27
      10. 2.2.10 SerialNumber(): 0x28/0x29
      11. 2.2.11 InternalTemperature(): 0x2A/0x2B
      12. 2.2.12 CycleCount(): 0x2C/0x2D
      13. 2.2.13 StateOfHealth(): 0x2E/0x2F
      14. 2.2.14 ChargeVoltage(): 0x30/0x31
      15. 2.2.15 ChargeCurrent(): 0x32/0x33
      16. 2.2.16 PackConfiguration(): 0x3A/0x3B
      17. 2.2.17 DesignCapacity(): 0x3C/0x3D
      18. 2.2.18 DataFlashClass(): 0x3E
      19. 2.2.19 DataFlashBlock(): 0x3F
      20. 2.2.20 AuthenticateData/BlockData(): 0x40…0x53
      21. 2.2.21 AuthenticateChecksum/BlockData(): 0x54
      22. 2.2.22 BlockData(): 0x55…0x5F
      23. 2.2.23 BlockDataChecksum(): 0x60
      24. 2.2.24 BlockDataControl(): 0x61
      25. 2.2.25 GridNumber(): 0x62
      26. 2.2.26 LearnedStatus(): 0x63
      27. 2.2.27 Dod@Eoc(): 0x64/0x65
      28. 2.2.28 QStart(): 0x66/0x67
      29. 2.2.29 TrueRC(): 0x68/0x69
      30. 2.2.30 TrueFCC(): 0x6A/0x6B
      31. 2.2.31 StateTime(): 0x6C/0x6D
      32. 2.2.32 QmaxPassedQ(): 0x6E/0x6F
      33. 2.2.33 DOD0(): 0x70/0x71
      34. 2.2.34 QmaxDod0(): 0x72/0x73
      35. 2.2.35 QmaxTime(): 0x74/0x75
      36. 2.2.36 Data Flash Interface
        1. 2.2.36.1 Accessing Data Flash
        2. 2.2.36.2 Manufacturer Information Block
        3. 2.2.36.3 Access Modes
        4. 2.2.36.4 Sealing/Unsealing Data Flash Access
  5. Fuel Gauging
    1. 3.1  Overview
    2. 3.2  Impedance Track Variables
      1. 3.2.1  Load Mode
      2. 3.2.2  Load Select
      3. 3.2.3  Reserve Cap-mAh
      4. 3.2.4  Reserve Cap-mWh/cWh
      5. 3.2.5  Energy Scale
      6. 3.2.6  Dsg Current Threshold
      7. 3.2.7  Chg Current Threshold
      8. 3.2.8  Quit Current, Dsg Relax Time, Chg Relax Time, and Quit Relax Time
      9. 3.2.9  Qmax
      10. 3.2.10 Update Status
      11. 3.2.11 Avg I Last Run
      12. 3.2.12 Avg P Last Run
      13. 3.2.13 Cell Delta Voltage
      14. 3.2.14 Ra Tables
      15. 3.2.15 StateOfCharge() Smoothing
      16. 3.2.16 Charge Efficiency
      17. 3.2.17 Lifetime Data Logging
    3. 3.3  Device Configuration
      1. 3.3.1 Pack Configuration Register
      2. 3.3.2 Pack Configuration B Register
      3. 3.3.3 Pack Configuration C Register
    4. 3.4  Voltage Measurement and Calibration
      1. 3.4.1 1S Example
      2. 3.4.2 7S Example
      3. 3.4.3 Autocalibration
    5. 3.5  Temperature Measurement
    6. 3.6  Overtemperature Indication
      1. 3.6.1 Overtemperature: Charge
      2. 3.6.2 Overtemperature: Discharge
    7. 3.7  Charging and Charge Termination Indication
    8. 3.8  The Scale Factors
    9. 3.9  LED Display
    10. 3.10 Alert Signal
    11. 3.11 Fast Resistance Scaling
      1. 3.11.1 Calculation of Resistance Scale
      2. 3.11.2 Negative Resistance Scale
      3. 3.11.3 Reset of Resistance Scale
      4. 3.11.4 Fast Resistance Scaling Configuration
  6. Communications
    1. 4.1 Authentication
    2. 4.2 Key Programming
    3. 4.3 Executing an Authentication Query
    4. 4.4 HDQ Single-Pin Serial Interface
    5. 4.5 I2C Interface
    6. 4.6 Switching Between I2C and HDQ Modes
      1. 4.6.1 Converting to HDQ Mode
      2. 4.6.2 Converting to I2C Mode
  7. Device Functional Modes
    1. 5.1 NORMAL Mode
    2. 5.2 SLEEP Mode
    3. 5.3 FULL SLEEP Mode
  8. Power Control
    1. 6.1 Reset Functions
    2. 6.2 Wake-Up Comparator
    3. 6.3 Flash Updates
  9. Data Flash Summary
  10. Gas Gauge Timing Considerations
    1. 8.1 Gauging Effects on I2C Transactions
    2. 8.2 HDQ Bus Effects on Gauging
    3. 8.3 Gauging Effects on HDQ Transactions
    4. 8.4 Manufacturer Timing Notes
  11. HDQ Communication Basics
    1. 9.1 Basic HDQ Protocol
    2. 9.2 Break
    3. 9.3 Basic Timing
    4. 9.4 Reading 16-Bit Words
    5. 9.5 Host Processor Interrupts Using Discrete I/O Port for HDQ
    6. 9.6 Using UART Interface to HDQ
  12. 10Procedures to Seal and Unseal the Gauge
    1. 10.1 Unseal the Gauge to UNSEALED Mode
    2. 10.2 Unseal the Gauge to FULL ACCESS Mode
    3. 10.3 Seal the Gauge
  13. 11Impedance Track Gauge Configuration
    1. 11.1 Introduction
    2. 11.2 Determining ChemID
    3. 11.3 Learning Cycle
    4. 11.4 Common Problems Seen During the Learning Cycle
    5. 11.5 Test Gauge and Optimize
    6. 11.6 Finalize Golden File
    7. 11.7 Program and Test the PCB
  14. 12Revision History

Overview

Predicting available energy from lithium-ion cells requires consideration of a number of measurable parameters. The Impedance Track (IT) model measures, records, and predicts available capacity or energy from these parameters. The model provides the means to accurately determine available energy over the life of a cell by accounting for aging and present environmental conditions. Aging can be accounted for by measuring Qmax and cell impedances as the cell is cycled. Qmax is the amount of charge available in a fully charged cell. The present conditions include consideration of cell and ambient temperature, as well as the present or predicted power requirements. There are three major componentsof the IT model, as follows:

  • Measuring Qmax
  • Measuring cell impedance
  • Calculating capacities

All three components rely on the relationship of the open circuit voltage (OCV) versus depth of discharge (DOD). DOD is the percent of Qmax removed from a cell during a no load discharge and goes to 100% when the cell is fully discharged. The OCV versus DOD relationship is fixed for each particular cell chemistry. Qmax is determined by measuring the charge passed between two DOD points; the DOD points being determined from OCV measurements during RELAX mode. Cell impedance is measured during constant load times during discharge from the difference of measured voltage to the OCV voltage based on the known DOD. The DOD determined from the most recent OCV reading and adjusted by the passed charge during the discharge. In general, capacities are recalculated based on changes in temperature, load, or impedance. Capacity calculations use the known DOD, load, temperature, end-of discharge voltage, TermV, and Qmax.

The BQ34Z100-R2 device measures individual cell voltages, pack voltage, temperature, and current. When at rest and the Flags()[REST] is set or when cell impedance is updated, the IT capacity calculation determines battery state-of-charge from DOD and temperature. The BQ34Z100-R2 device measures charge and discharge activity by integrating the voltage across a small-value series sense resistor(5mΩ to 20mΩ typ.) between the negative terminal of the cell stack and the negative terminal of the battery pack. The battery state-of-charge is subsequently adjusted during load or charger application using the integrated charge passed through the battery. The device is capable of supporting a maximum battery pack capacity of 8160 Ah. See the Theory and Implementation of Impedance Track™ Battery Fuel-Gauging Algorithm in the BQ20Zxx Product Family Application Report(SLUA364) for further details of the Impedance Track calculations.

The default for Impedance Track (IT) gauging is off. To enable the gauging function, set ControlStatus()[QEN] = 1 by sending the control() command IT_ENABLE. The gauging function will be enabled.

The initial Qmax value is taken from a cell manufacturers' data sheet multiplied by the number of parallel cells and then divided by CurrScale(). The parallel value and the value returned by CurrScale() are also used for the value programmed in Design Capacity.

Table 3-1 Data Flash Parameter
Data Flash Parameter Curr Scale = 1 Curr Scale > 1
Design Capacity total mAh of cell stack (total mAh of cell stack) / Curr Scale
Qmax Cell 0 total mAh of cell stack (total mAh of cell stack) / Curr Scale

The BQ34Z100-R2 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() × CurrScale() is reported as capacity available from a fully charged battery under the present load and temperature until Voltage() reaches the Terminate Voltage. NominalAvailableCapacity() and FullAvailableCapacity() are the uncompensated (no or light load) versions of RemainingCapacity() and FullChargeCapacity(), respectively.

During normal battery usage there could be instances where a small rise of SOC for a short period of time could occur at the beginning of discharge. The [RSOC_HOLD] option in Pack Configuration C prevents SOC rises during discharge. SOC will be held until the calculated value falls below the actual state.

The BQ34Z100-R2 has two flags accessed by the Flags() function that warn 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 Clear Threshold. 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.

The BQ34Z100-R2 includes charge efficiency compensation that makes use of four Charge Efficiency factors to correct for energy lost due to heat. This is commonly used in NiMH and Lead-Acid chemistries and is not always linear with respect to state-of-charge.