SLUUC54C February   2020  – March 2024 BQ27Z558 , BQ27Z561 , BQ27Z561-R2

 

  1.   1
  2. Preface
    1. 1.1 Read this First
    2. 1.2 Notational Conventions
    3. 1.3 Trademarks
  3.   Introduction
  4. Basic Measurement System
    1. 2.1 Introduction
    2. 2.2 Current and Coulomb Counting
    3. 2.3 Voltage
    4. 2.4 Temperature
      1. 2.4.1 Internal Temperature
      2. 2.4.2 Cell Temperature
      3. 2.4.3 Temperature Configuration
  5. Power Modes
    1. 3.1 Introduction
    2. 3.2 NORMAL Mode
    3. 3.3 SLEEP Mode
      1. 3.3.1 Device Sleep
    4. 3.4 DEEP SLEEP Mode
    5. 3.5 HIBERNATE Mode
    6. 3.6 Power Modes Configuration
  6. Gauging
    1. 4.1  Impedance Track (IT) Model
    2. 4.2  Thermal Model
    3. 4.3  Gauging Capacities
    4. 4.4  Learning Cycles
    5. 4.5  Impedance Track Configuration
    6. 4.6  Gas Gauge Modes
    7. 4.7  QMax and Ra
      1. 4.7.1 QMax Initial Values
      2. 4.7.2 QMax Update Conditions
        1. 4.7.2.1 Base Required Conditions
        2. 4.7.2.2 Tracking QMax Updates
        3. 4.7.2.3 Relaxed Cell OCV
        4. 4.7.2.4 OCV Prediction
        5. 4.7.2.5 Cycle Count Based QMax Degradation
        6. 4.7.2.6 38
        7. 4.7.2.7 Fast QMax Update Conditions
        8. 4.7.2.8 QMax and Fast QMax Update Boundary Check
      3. 4.7.3 Ra Table Initial Values
        1. 4.7.3.1 R_a0 Table
        2. 4.7.3.2 R_a0x Table
      4. 4.7.4 Ra Table Update Conditions
      5. 4.7.5 Fast Resistance Scaling
        1. 4.7.5.1 Calculation of Resistance Scale
        2. 4.7.5.2 Negative Resistance Scale
        3. 4.7.5.3 Reset of Resistance Scale
        4. 4.7.5.4 Application of Resistance Scale
        5. 4.7.5.5 Fast Resistance Scaling Configuration
    8. 4.8  FullChargeCapacity (FCC), RemainingCapacity (RemCap), and RelativeStateOfCharge (RSOC)
      1. 4.8.1 Smoothing Engine
        1. 4.8.1.1 Smoothing to 0% in DISCHARGE Mode
        2. 4.8.1.2 Smoothing to 100% in CHARGE Mode
        3. 4.8.1.3 Smoothing in RELAX Mode
    9. 4.9  Impedance Track (IT) Configuration Options
    10. 4.10 State-Of-Health (SOH)
    11. 4.11 TURBO Mode 3.0
    12. 4.12 Battery Trip Point (BTP)
  7. Lifetime Data Collection
    1. 5.1 Description
    2. 5.2 Reset
  8. Host Interrupts
    1. 6.1 Description
    2. 6.2 Voltage and Temperature Interrupts
    3. 6.3 RSOC Interrupts
    4. 6.4 Host Interrupts Configuration
  9. Programmable Pulse Width
    1. 7.1 Description
    2. 7.2 Programmable Pulse Width Configuration
  10. Device Security
    1. 8.1 Description
    2. 8.2 SHA-256 Authentication
      1. 8.2.1 Secure Key
      2. 8.2.2 Authentication Flow
    3. 8.3 Security Modes
      1. 8.3.1 SEALING and UNSEALING Data Flash
      2. 8.3.2 SEALED to UNSEALED
      3. 8.3.3 UNSEALED to FULL ACCESS
  11. Advanced Charge Algorithm
    1. 9.1  Introduction
    2. 9.2  Charge Temperature Ranges
    3. 9.3  Voltage Range
      1. 9.3.1 RelativeStateofCharge() Range
    4. 9.4  Charging Current
    5. 9.5  Charging Voltage
      1. 9.5.1 Charge Voltage Compensation for System Impedance
    6. 9.6  Charging Degradation Modes
    7. 9.7  Cell Swelling Control (via Charging Voltage Degradation)
    8. 9.8  Valid Charge Termination
    9. 9.9  Charge and Discharge Alarms
    10. 9.10 Terminate Charge and Discharge Alarms
    11. 9.11 Precharge
    12. 9.12 Maintenance Charge
    13. 9.13 Charge Inhibit
  12. 10Communications
    1. 10.1 HDQ Single-Pin Serial Interface
    2. 10.2 I2C Interface
      1. 10.2.1 I2C Clock Frequency
      2. 10.2.2 I2C Time Out
      3. 10.2.3 I2C Command Waiting Time
      4. 10.2.4 I2C Clock Stretching
  13. 11Manufacture Production
    1. 11.1 Manufacture Testing
      1. 11.1.1 Manufacturing Status Configuration
    2. 11.2 I2C Configuration
    3. 11.3 Manufacturer Information Blocks
    4. 11.4 Verification of Data Flash
    5. 11.5 Calibration
  14.   Calibration
    1. 12.1 Cell (BAT) Voltage Calibration
      1. 12.1.1 Voltage Calibration Data Flash
    2. 12.2 Current Calibration
      1. 12.2.1 CC Gain/Capacity Gain Calibration
      2. 12.2.2 Deadbands
        1. 12.2.2.1 Current Deadband
        2. 12.2.2.2 Coulomb Counter Deadband
      3. 12.2.3 Current Calibration Data Flash
    3. 12.3 Temperature Calibration
      1. 12.3.1 Internal Temperature Sensor Calibration
      2. 12.3.2 TS Calibration
      3. 12.3.3 Temperature Calibration Data Flash
      4. 12.3.4 Cell Temp Model
      5. 12.3.5 Internal Temp Model
  15. 12Data Commands
    1. 12.1 Standard Data Commands
      1. 12.1.1  0x00/01 ManufacturerAccess()/ControlStatus()
      2. 12.1.2  0x02/03 AtRate()
      3. 12.1.3  0x04/05 AtRateTimeToEmpty()
      4. 12.1.4  0x06/07 Temperature()
      5. 12.1.5  0x08/09 Voltage()
      6. 12.1.6  0x0A/0B BatteryStatus()
      7. 12.1.7  0x0C/0D Current()
      8. 12.1.8  0x10/11 RemainingCapacity()
      9. 12.1.9  0x12/13 FullChargeCapacity()
      10. 12.1.10 0x14/15 AverageCurrent()
      11. 12.1.11 0x16/17 AverageTimeToEmpty()
      12. 12.1.12 0x18/19 AverageTimeToFull()
      13. 12.1.13 0x1E/1F MaxLoadCurrent()
      14. 12.1.14 0x20/21 MaxLoadTimeToEmpty()
      15. 12.1.15 0x22/23 AveragePower()
      16. 12.1.16 0x28/29 InternalTemperature()
      17. 12.1.17 0x2A/2B CycleCount()
      18. 12.1.18 0x2C/2D RelativeStateOfCharge()—RSOC
      19. 12.1.19 0x2E/2F StateOfHealth()
      20. 12.1.20 0x30/31 ChargingVoltage()
      21. 12.1.21 0x32/33 ChargingCurrent()
      22. 12.1.22 0x34/35 TerminateVoltage()
      23. 12.1.23 0x36/0x37/0x38/0x39 Timestamp()
      24. 12.1.24 QMax Cycles() 0x3A/3B
      25. 12.1.25 0x3C/3D DesignCapacity()
      26. 12.1.26 0x3E/3F AltManufacturerAccess()
      27. 12.1.27 0x40/0x5F MACData()
      28. 12.1.28 0x60 MACDataChecksum()
      29. 12.1.29 0x61 MACDataLength()
      30. 12.1.30 0x62/63 VoltHiSetThreshold
      31. 12.1.31 0x64/65 VoltHiClearThreshold
      32. 12.1.32 0x66/67 VoltLoSetThreshold
      33. 12.1.33 0x68/69 VoltLoClearThreshold
      34. 12.1.34 0x6A TempHiSetThreshold
      35. 12.1.35 0x6B TempHiClearThreshold
      36. 12.1.36 0X6C TempLoSetThreshold
      37. 12.1.37 0x6D TempLoClearThreshold
      38. 12.1.38 0x6E InterruptStatus()
      39. 12.1.39 0x6F SOCSetDeltaThreshold
    2. 12.2 0x70, 0x71 SusTurboPwr()
    3. 12.3 0x72, 0x73 MaxTurboPwr()
    4. 12.4 0x74, 0x75 SusTurboCurr()
    5. 12.5 0x76, 0x77 MaxTurboCurr()
    6. 12.6 0x78, 0x79 TurboSysR()
    7. 12.7 0x7A, 0x7B TurboEdv()
    8. 12.8 0x00, 0x01 ManufacturerAccess() and 0x3E, 0x3F AltManufacturerAccess()
      1. 12.8.1  AltManufacturerAccess() 0x0001 Device Type
      2. 12.8.2  AltManufacturerAccess() 0x0002 Firmware Version
      3. 12.8.3  AltManufacturerAccess() 0x0003 Hardware Version
      4. 12.8.4  AltManufacturerAccess() 0x0004 Instruction Flash Signature
      5. 12.8.5  AltManufacturerAccess() 0x0005 Static DF Signature
      6. 12.8.6  AltManufacturerAccess() 0x0006 Chemical ID
      7. 12.8.7  AltManufacturerAccess() 0x0007 Pre_MACWrite
      8. 12.8.8  AltManufacturerAccess() 0x0008 Static Chem DF Signature
      9. 12.8.9  AltManufacturerAccess() 0x0009 All DF Signature
      10. 12.8.10 AltManufacturerAccess() 0x0012 Device Reset
      11. 12.8.11 AltManufacturerAccess() 0x0017 QMax Day
      12. 12.8.12 AltManufacturerAccess() 0x0021 Gauging
      13. 12.8.13 AltManufacturerAccess() 0x0023 Lifetime Data Collection
      14. 12.8.14 AltManufacturerAccess() 0x0028 Lifetime Data Reset
      15. 12.8.15 AltManufacturerAccess() 0x002D CALIBRATION Mode
      16. 12.8.16 ManufacturerAccess() 0x002E Lifetime Data Flush
      17. 12.8.17 ManufacturerAccess() 0x002F Lifetime Data SPEED UP Mode
      18. 12.8.18 AltManufacturerAccess() 0x0030 Seal Device
      19. 12.8.19 AltManufacturerAccess() 0x0035 Security Keys
      20. 12.8.20 AltManufacturerAccess() 0x0037 Authentication Key
      21. 12.8.21 AltManufacturerAccess() 0x0041 Device Reset
      22. 12.8.22 AltManufacturerAccess() 0x0044 Set Deep Sleep
      23. 12.8.23 AltManufacturerAccess() 0x0045 Clear Deep Sleep
      24. 12.8.24 AltManufacturerAccess() 0x0046 Pulse GPIO
      25. 12.8.25 AltManufacturerAccess() 0x0047 Tambient Sync
      26. 12.8.26 AltManufacturerAccess() 0x0047 Clear GPIO
      27. 12.8.27 AltManufacturerAccess() 0x0047 Set GPIO
      28. 12.8.28 AltManufacturerAccess() 0x004A Device Name
      29. 12.8.29 AltManufacturerAccess() 0x004B Device Chem
      30. 12.8.30 AltManufacturerAccess() 0x004C Manufacturer Name
      31. 12.8.31 AltManufacturerAccess() 0x004D Manufacture Date
      32. 12.8.32 AltManufacturerAccess() 0x004E Serial Number
      33. 12.8.33 AltManufacturerAccess() 0x0054 OperationStatus
        1. 12.8.33.1 Operation Status A
        2. 12.8.33.2 Operation Status B
      34. 12.8.34 AltManufacturerAccess() 0x0055 ChargingStatus
        1. 12.8.34.1 Temp Range
        2. 12.8.34.2 Charging Status
      35. 12.8.35 AltManufacturerAccess() 0x0056 GaugingStatus
      36. 12.8.36 AltManufacturerAccess() 0x0057 ManufacturingStatus
      37. 12.8.37 AltManufacturerAccess() 0x0060 Lifetime Data Block 1
      38. 12.8.38 AltManufacturerAccess() 0x0062 Lifetime Data Block 3
      39. 12.8.39 ManufacturerAccess() 0x0063 Lifetime Data Block 4
      40. 12.8.40 ManufacturerAccess() 0x0065-0x006B Lifetime SOC Range Table Data Blocks
      41. 12.8.41 AltManufacturerAccess() 0x0070 ManufacturerInfo
      42. 12.8.42 AltManufacturerAccess() 0x0071 DAStatus1
      43. 12.8.43 AltManufacturerAccess() 0x0072 DAStatus2
      44. 12.8.44 AltManufacturerAccess() 0x0073 ITStatus1
      45. 12.8.45 AltManufacturerAccess() 0x0074 ITStatus2
      46. 12.8.46 AltManufacturerAccess() 0x0075 ITStatus3
      47. 12.8.47 AltManufacturerAccess() 0x0077 FCC_SOH
      48. 12.8.48 AltManufacturerAccess() 0x0078 Filtered Capacity
      49. 12.8.49 AltManufacturerAccess() 0x007A ManufacturerInfoB
      50. 12.8.50 AltManufacturerAccess() 0x007B ManufacturerInfoC
      51. 12.8.51 ManufacturerAccess() 0x00B0 ChargingVoltageOverride
      52. 12.8.52 AltManufacturerAccess() 0x0F00 ROM Mode
      53. 12.8.53 Data Flash Access() 0x4000–0x5FFF
      54. 12.8.54 AltManufacturerAccess() 0x7C40 Switch to HDQ
      55. 12.8.55 AltManufacturerAccess() 0xF080 Exit Calibration Output Mode
      56. 12.8.56 AltManufacturerAccess() 0xF081 Output CC and ADC for Calibration
  16. 13Data Flash Access and Format
    1. 13.1 Data Flash Access
      1. 13.1.1 Minimum Voltage
    2. 13.2 Data Formats
      1. 13.2.1 Unsigned Integer
      2. 13.2.2 Integer
      3. 13.2.3 Floating Point
      4. 13.2.4 Hex
      5. 13.2.5 String
  17. 14Data Flash Summary
    1. 14.1 Data Flash Table
  18. 15Revision History

Impedance Track Configuration

    Load Mode

    During normal operation, the battery-impedance profile compensation of the Impedance Track algorithm can provide more accurate full-charge and remaining state-of-charge information if the typical load type is known. The two selectable options are constant current (Load Mode = 0) and constant power (Load Mode = 1).

    Load Select

    To compensate for the I × R drop near the end of discharge, the BQ27Z561-R2 must be configured for whatever current (or power) will flow in the future. While it cannot be exactly known, the BQ27Z561-R2 can use load history, such as the average current of the present discharge to make a sufficiently accurate prediction.

    The BQ27Z561-R2 can be configured to use several methods of this prediction by setting the Load Select value. Because this estimate has only a second-order effect on remaining capacity accuracy, different measurement-based methods (methods 0–3, and method 7) result in only minor differences in accuracy. However, methods 4–6, where an estimate is arbitrarily assigned by the user, can result in a significant error if a fixed estimate is far from the actual load.

    Constant Current (Load Mode = 0)Constant Power (Load Mode = 1)
    0 =Avg I Last RunAvg P Last Run
    1 =Present average discharge currentPresent average discharge power
    2 =Current()Current() × Voltage()
    3 =AverageCurrent()AverageCurrent() × Voltage()
    4 =Design Capacity mAh/5Design Capacity cWh/5
    5 =AtRate() (mA)N/A
    6 =User Rate-mAUser Rate-cW
    7 =Max Avg I Last RunMax Avg P Last Run
    Pulsed Load Compensation and Termination Voltage

    To take into account pulsed loads while calculating remaining capacity until Term Voltage threshold is reached, the BQ27Z561-R2 monitors not only average load, but also short load spikes. The maximum voltage deviation during a load spike is continuously updated during discharge and stored in Delta Voltage, with the minimum value allowed set in Min Delta Voltage. Delta Voltage is added to Term Voltage to determine end-of-discharge voltage (EDV).

    Reserve Battery Capacity

    The BQ27Z561-R2 allows an amount of capacity to be reserved in both mAh (Reserve Cap-mAh) and cWh (Reserve Cap-cWh) units between the point where the RemainingCapacity() function reports zero capacity and the absolute minimum pack voltage, Term Voltage. This enables a system to report zero capacity/energy, but still have enough reserve capacity/energy to perform a controlled shutdown or provide an extended sleep period for the host system.

    Pack Based Termination Voltage

    The BQ27Z561-R2 forces RemainingCapacity() to 0 mAh when the battery voltage discharges to Term Voltage for a period of Term V Hold Time.

A portion of the configuration options for Impedance Track is in the following data flash. Additional configuration options are located in the sections in which they are discussed.

ClassSubclassNameTypeMinMaxDefaultUnitDescription
Gas GaugingIT CfgPack ResistanceI20327670Value of the battery pack serial resistance that is NOT along the cell voltage measurement path of the gauge. This can include the resistance associated with FETs, traces, sense resistors, and any additional resistance in the path.
Gas GaugingIT CfgSystem ResistanceI20327670Value of the system serial resistance that is along the path from the battery pack to the system power converter input. This can include FETs, traces, sense resistors and any additional resistance in the path.
Gas GaugingIT CfgCell 1 Interconnect ResistanceI203276702–10 ΩValue of the battery pack serial resistance that is along the cell voltage measurement path of the gauge; that is, the negative rail to the bottom of the cell and the top of the cell to the gauge. This can include the resistance associated with FETs, traces, sense resistors, and any additional resistance in the path. The gauge will offset the measured resistance with this value to improve Ra accuracy.
Gas GaugingIT CfgTerm VoltageI20327673000mVMinimum pack voltage used in IT simulations. Term Voltage should be set to the minimum allowable voltage at the system power converter input. If it is desired to report 0% RelativeStateOfCharge() before the pack voltage reaches Term Voltage, it is recommended to increase Reserve Cap-mAh and Reserve Cap-cWh.
Gas GaugingIT CfgTerm V Hold TimeU102552sWhen Term Voltage is met for Term V Hold Time, the RemainingCapacity() is set to 0 mAh.
Gas GaugingIT CfgMax Simulation IterationsU1205050Enables the user to set the max number of simulation iterations IT is allowed to do. If the user finds that the watchdog is tripping, this number can be lowered.
Gas GaugingIT CfgSimulation Near Term DeltaI2032767250mVVoltage delta from Term Voltage, which defines "near EDV" for IT simulations. If Term Voltage is increased, Simulation Near Term Delta should be decreased to keep Term Voltage + Simulation Near Term Delta around 3.2 V–3.5 V, the knee of the discharge curve.
Gas GaugingIT CfgMin Delta VoltageI2–32768327670mVThe minimum Delta Voltage that is saved during discharge cycles
Gas GaugingIT CfgLoad SelectU1071Defines load compensation mode used by the gauging algorithm
Gas GaugingIT CfgLoad ModeU1011Defines unit used by the gauging algorithm:
0 = Constant Current
1 = Constant Power
Gas GaugingIT CfgUser Rate-mAI2–900000mADischarge rate used for capacity calculation selected by Load Select = 6
Gas GaugingIT CfgUser Rate-cWI2–3276800cWDischarge rate used for capacity calculation selected by Load Select = 6
Gas GaugingIT CfgReserve Cap-mAhI2090000mAhCapacity reserved available when the gauging algorithm reports 0% RelativeStateOfCharge()
Gas GaugingIT CfgReserve Cap-cWhI20320000cWhCapacity reserved available when the gauging algorithm reports 0% RelativeStateOfCharge()
Gas GaugingIT CfgPredict Ambient TimeU20655352000sWait time before the gauging algorithm starts to predict the ambient temperature during CHARGE and DISCHARGE modes (if [AMB_PRED] = 1). It is recommended to be set to 2× the value of Temp a to represent system thermal equilibrium.

The parameters updated by AND used for Impedance Track are in the following data flash.

ClassSubclassNameTypeMinMaxDefaultUnitDescription
Gas GaugingStateUpdate StatusH10x000x0E0x00Bit 1:0: UPDATE1, UPDATE0
Update Status
0,0 = QMax NOT updated, Ra NOT updated
0,1 = QMax updated, Ra NOT updated
1,0 = QMax updated, Ra updated
1,1 = Unused
Bit 2: Enables—Impedance Track gauging is enabled. This bit can only be changed via the Gauging() command.
0 = Disabled
1 = Enabled
Bit 3: is_QMax_Field_Updated—QMax has updated in the field.
0 = Not updated
1 = Updated
Bit 7:4: Reserved
Gas GaugingStateAvg I Last RunI2–3276832767–500mAAverage current last discharge cycle
Gas GaugingStateAvg P Last RunI2–3276832767–192cWAverage power last discharge cycle
Gas GaugingStateDelta VoltageI2–32768327670mVVoltage() delta between normal and short load spikes to optimize runtime calculation
Gas GaugingStateTemp kI20327672000.1°C/
256 cW
Thermal model temperature factor
Gas GaugingStateTemp aI20327671000sThermal model temperature time constant
Gas GaugingStateMax I Last RunI2–3276832767–500mAMax current last discharge cycle
Gas GaugingStateMax P Last RunI2–3276832767–192cWMax power last discharge cycle