SLUUA65E april   2014  – june 2023 BQ28Z610

 

  1.   1
  2.   Read This First
    1.     About This Manual
    2.     Notational Conventions
    3.     Trademarks
    4.     Glossary
  3. Introduction
  4. Protections
    1. 2.1  Introduction
    2. 2.2  Cell Undervoltage Protection
    3. 2.3  Cell Overvoltage Protection
    4. 2.4  Overcurrent in Charge Protection
    5. 2.5  Overcurrent in Discharge Protection
    6. 2.6  Hardware-Based Protection
      1. 2.6.1 Overload in Discharge Protection
      2. 2.6.2 Short Circuit in Charge Protection
      3. 2.6.3 Short Circuit in Discharge Protection
    7. 2.7  Temperature Protections
    8. 2.8  Overtemperature in Charge Protection
    9. 2.9  Overtemperature in Discharge Protection
    10. 2.10 Undertemperature in Charge Protection
    11. 2.11 Undertemperature in Discharge Protection
    12. 2.12 Precharge Timeout Protection
    13. 2.13 Fast Charge Timeout Protection
  5. Permanent Fail
    1. 3.1 Introduction
    2. 3.2 Safety Cell Overvoltage Permanent Fail
    3. 3.3 Voltage Imbalance at Rest Permanent Fail
    4. 3.4 Voltage Imbalance Active Permanent Fail
    5. 3.5 Charge FET Permanent Failure
      1. 3.5.1 Description
      2. 3.5.2 Feature Enable/Disable
    6. 3.6 Discharge FET Permanent Failure
      1. 3.6.1 Description
      2. 3.6.2 Feature Enable/Disable
    7. 3.7 Instruction Flash (IF) Checksum Permanent Fail
    8. 3.8 Data Flash (DF) Permanent Fail
  6. Advanced Charge Algorithm
    1. 4.1  Introduction
    2. 4.2  Charge Temperature Ranges
    3. 4.3  Voltage Range
    4. 4.4  Charging Current
    5. 4.5  Charging Voltage
    6. 4.6  Valid Charge Termination
    7. 4.7  Charge and Discharge Alarms
    8. 4.8  Terminate Charge and Discharge Alarms
    9. 4.9  Precharge
    10. 4.10 Maintenance Charge
    11. 4.11 BROADCAST Mode
    12. 4.12 Charge Disable and Discharge Disable
    13. 4.13 Charge Inhibit
    14. 4.14 Charge Suspend
  7. Power Modes
    1. 5.1 Introduction
    2. 5.2 NORMAL Mode
    3. 5.3 SLEEP Mode
      1. 5.3.1 Device Sleep
      2. 5.3.2 IN SYSTEM SLEEP Mode
      3. 5.3.3 AltManufacturerAccess() MAC Sleep
      4. 5.3.4 Wake Function
    4. 5.4 SHUTDOWN Mode
      1. 5.4.1 Voltage Based Shutdown
      2. 5.4.2 AltManufacturerAccess() MAC Shutdown
      3. 5.4.3 Time Based Shutdown
      4. 5.4.4 Emergency FET Shutdown
        1. 5.4.4.1 Exiting Emergency FET Shutdown
  8. Gauging
    1. 6.1 Introduction
    2. 6.2 Impedance Track Configuration
    3. 6.3 Gas Gauge Modes
    4. 6.4 QMax and Ra
      1. 6.4.1 QMax Initial Values
      2. 6.4.2 QMax Update Conditions
      3. 6.4.3 Fast QMax Update Conditions
      4. 6.4.4 QMax and Fast QMax Update Boundary Check
      5. 6.4.5 Ra Table Initial Values
      6. 6.4.6 Ra Table Update Conditions
    5. 6.5 FullChargeCapacity (FCC), RemainingCapacity (RemCap), and RelativeStateOfCharge (RSOC)
    6. 6.6 Impedance Track (IT) Configuration Options
    7. 6.7 State-of-Health (SOH)
    8. 6.8 Battery Trip Point (BTP)
  9. Cell Balancing
    1. 7.1 Introduction
    2. 7.2 Cell Balancing Setup
    3. 7.3 Cell Balancing Operation
  10. Lifetime Data Collection
    1. 8.1 Description
  11. Device Security
    1. 9.1 Description
    2. 9.2 SHA-1 Description
    3. 9.3 HMAC Description
    4. 9.4 Authentication
    5. 9.5 Security Modes
      1. 9.5.1 SEALING and UNSEALING Data Flash
      2. 9.5.2 SEALED to UNSEALED
      3. 9.5.3 UNSEALED to FULL ACCESS
  12. 10Manufacture Production
    1. 10.1 Manufacture Testing
    2. 10.2 Calibration
  13. 11Calibration
    1. 11.1 Cell Voltage Calibration
    2. 11.2 VC2 (BAT) Voltage Calibration
    3. 11.3 PACK Voltage Calibration
    4. 11.4 Current Calibration
      1. 11.4.1 CC Offset Calibration
      2. 11.4.2 Board Offset Calibration
      3. 11.4.3 CC Gain/Capacity Gain Calibration
    5. 11.5 Temperature Calibration
      1. 11.5.1 Internal Temperature Sensor Calibration
      2. 11.5.2 TS1 Calibration
  14. 12I2C Commands
    1. 12.1 Standard Data Commands
      1. 12.1.1  0x00/01 ManufacturerAccess() Control
      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  0x0E/0F MaxError()
      9. 12.1.9  0x10/11 RemainingCapacity()
      10. 12.1.10 0x12/13 FullChargeCapacity()
      11. 12.1.11 0x14/15 AverageCurrent()
      12. 12.1.12 0x16/17 AverageTimeToEmpty()
      13. 12.1.13 0x18/19 AverageTimeToFull()
      14. 12.1.14 0x1A/1B StandbyCurrent()
      15. 12.1.15 0x1C/1D StandbyTimeToEmpty()
      16. 12.1.16 0x1E/1F MaxLoadCurrent()
      17. 12.1.17 0x20/21 MaxLoadTimeToEmpty()
      18. 12.1.18 0x22/23 AveragePower()
      19. 12.1.19 0x24/25 BTPDischargeSet()
      20. 12.1.20 0x26/27 BTPChargeSet()
      21. 12.1.21 0x28/29 InternalTemperature()
      22. 12.1.22 0x2A/2B CycleCount()
      23. 12.1.23 0x2C/2D RelativeStateOfCharge()
      24. 12.1.24 0x2E/2F State-of-Health (SOH)
      25. 12.1.25 0x30/31 ChargingVoltage()
      26. 12.1.26 0x32/33 ChargingCurrent()
      27. 12.1.27 0x3C/3D DesignCapacity()
      28. 12.1.28 0x3E/3F AltManufacturerAccess()
      29. 12.1.29 0x40/0x5F MACData()
      30. 12.1.30 0x60 MACDataChecksum()
      31. 12.1.31 0x61 MACDataLength()
    2. 12.2 0x00, 0x01 AltManufacturerAccess() and 0x3E, 0x3F AltManufacturerAccess()
      1. 12.2.1  AltManufacturerAccess() 0x0001 Device Type
      2. 12.2.2  AltManufacturerAccess() 0x0002 Firmware Version
      3. 12.2.3  AltManufacturerAccess() 0x0003 Hardware Version
      4. 12.2.4  AltManufacturerAccess() 0x0004 Instruction Flash Signature
      5. 12.2.5  AltManufacturerAccess() 0x0005 Static DF Signature
      6. 12.2.6  AltManufacturerAccess() 0x0006 Chemical ID
      7. 12.2.7  AltManufacturerAccess() 0x0007 Pre_MACWrite
      8. 12.2.8  AltManufacturerAccess() 0x0008 Static Chem DF Signature
      9. 12.2.9  AltManufacturerAccess() 0x0009 All DF Signature
      10. 12.2.10 AltManufacturerAccess() 0x0010 SHUTDOWN Mode
      11. 12.2.11 AltManufacturerAccess() 0x0011 SLEEP Mode
      12. 12.2.12 AltManufacturerAccess() 0x0012 Device Reset
      13. 12.2.13 AltManufacturerAccess() 0x001F CHG FET
      14. 12.2.14 AltManufacturerAccess() 0x0020 DSG FET
      15. 12.2.15 AltManufacturerAccess() 0x0021 Gauging
      16. 12.2.16 AltManufacturerAccess() 0x0022 FET Control
      17. 12.2.17 AltManufacturerAccess() 0x0023 Lifetime Data Collection
      18. 12.2.18 AltManufacturerAccess() 0x0024 Permanent Failure
      19. 12.2.19 AltManufacturerAccess() 0x0028 Lifetime Data Reset
      20. 12.2.20 AltManufacturerAccess() 0x0029 Permanent Fail Data Reset
      21. 12.2.21 AltManufacturerAccess() 0x002D CALIBRATION Mode
      22. 12.2.22 AltManufacturerAccess() 0x0030 Seal Device
      23. 12.2.23 AltManufacturerAccess() 0x0035 Security Keys
      24. 12.2.24 AltManufacturerAccess() 0x0037 Authentication Key
      25. 12.2.25 AltManufacturerAccess() 0x0041 Device Reset
      26. 12.2.26 AltManufacturerAccess() 0x0050 SafetyAlert
      27. 12.2.27 AltManufacturerAccess() 0x0051 SafetyStatus
      28. 12.2.28 AltManufacturerAccess() 0x0052 PFAlert
      29. 12.2.29 AltManufacturerAccess() 0x0053 PFStatus
      30. 12.2.30 AltManufacturerAccess() 0x0054 OperationStatus
      31. 12.2.31 AltManufacturerAccess() 0x0055 ChargingStatus
      32. 12.2.32 AltManufacturerAccess() 0x0056 GaugingStatus
      33. 12.2.33 AltManufacturerAccess() 0x0057 ManufacturingStatus
      34. 12.2.34 AltManufacturerAccess() 0x0058 AFE Register
      35. 12.2.35 AltManufacturerAccess() 0x0060 Lifetime Data Block 1
      36. 12.2.36 AltManufacturerAccess() 0x0070 ManufacturerInfo
      37. 12.2.37 AltManufacturerAccess() 0x0071 DAStatus1
      38. 12.2.38 AltManufacturerAccess() 0x0072 DAStatus2
      39. 12.2.39 AltManufacturerAccess() 0x0073 ITStatus1
      40. 12.2.40 AltManufacturerAccess() 0x0074 ITStatus2
      41. 12.2.41 AltManufacturerAccess() 0x0075 ITStatus3
      42. 12.2.42 AltManufacturerAccess() 0x0076 CB Status
      43. 12.2.43 AltManufacturerAccess() 0x0077 State-of-Health
      44. 12.2.44 AltManufacturerAccess() 0x0F00 ROM Mode
      45. 12.2.45 Data Flash Access() 0x4000–0x5FFF
      46. 12.2.46 AltManufacturerAccess() 0xF080 Exit Calibration Output Mode
      47. 12.2.47 AltManufacturerAccess() 0xF081 Output CC and ADC for Calibration
      48. 12.2.48 AltManufacturerAccess() 0xF082 Output Shorted CC and ADC for Calibration
  15. 13Data Flash Values
    1. 13.1  Data Formats
      1. 13.1.1 Unsigned Integer
      2. 13.1.2 Integer
      3. 13.1.3 Floating Point
      4. 13.1.4 Hex
      5. 13.1.5 String
    2. 13.2  Calibration
      1. 13.2.1 Voltage
      2. 13.2.2 Current
      3. 13.2.3 Current Offset
      4. 13.2.4 Current Deadband
      5. 13.2.5 Temperature
      6. 13.2.6 Internal Temp Model
      7. 13.2.7 Cell Temp Model
    3. 13.3  Settings
      1. 13.3.1 Configuration
      2. 13.3.2 Charger
      3. 13.3.3 Protection
      4. 13.3.4 Permanent Failure
      5. 13.3.5 AFE
      6. 13.3.6 Manufacturing
    4. 13.4  Advanced Charging Algorithms
      1. 13.4.1  Temperature Ranges
      2. 13.4.2  Low Temp Charging
      3. 13.4.3  Standard Temp Charging
      4. 13.4.4  High Temp Charging
      5. 13.4.5  Rec Temp Charging
      6. 13.4.6  Pre-Charging
      7. 13.4.7  Maintenance Charging
      8. 13.4.8  Voltage Range
      9. 13.4.9  Termination Config
      10. 13.4.10 Cell Balancing Config
    5. 13.5  Power
      1. 13.5.1 Power
      2. 13.5.2 Shutdown
      3. 13.5.3 Sleep
      4. 13.5.4 Ship
    6. 13.6  Gas Gauging
      1. 13.6.1  Standby
      2. 13.6.2  Max Load
      3. 13.6.3  Current Thresholds
      4. 13.6.4  Design
      5. 13.6.5  Cycle
      6. 13.6.6  FD
      7. 13.6.7  FC
      8. 13.6.8  TDA
      9. 13.6.9  TCA
      10. 13.6.10 State
      11. 13.6.11 IT Config
      12. 13.6.12 Condition Flag
      13. 13.6.13 SOH
      14. 13.6.14 Max Error
    7. 13.7  System Data
      1. 13.7.1 Manufacturer Data
      2. 13.7.2 Integrity
    8. 13.8  Configuration
      1. 13.8.1 Data
    9. 13.9  Lifetimes
      1. 13.9.1 Voltage
      2. 13.9.2 Current
      3. 13.9.3 Temperature
    10. 13.10 Protections
      1. 13.10.1  CUV—Cell Undervoltage
      2. 13.10.2  COV—Cell Overvoltage
      3. 13.10.3  OCC—Overcurrent In Charge
      4. 13.10.4  OCD—Overcurrent In Discharge
      5. 13.10.5  AOLD—AFE Over Load In Discharge
      6. 13.10.6  ASCC—AFE Short Circuit in Charge
      7. 13.10.7  ASCD—AFE Short Circuit in Discharge
      8. 13.10.8  OTC—Overtemperature in Charge
      9. 13.10.9  OTD—Overtemperature in Discharge
      10. 13.10.10 UTC—Under Temperature in Charge
      11. 13.10.11 UTD—Under Temperature in Discharge
      12. 13.10.12 PTO—PRECHARGE Mode Time Out
      13. 13.10.13 CTO—FAST CHARGE Mode Time Out
    11. 13.11 Permanent Fail
      1. 13.11.1 SOV—Safety Cell Overvoltage
      2. 13.11.2 VIMR—Voltage Imbalance at Rest
      3. 13.11.3 VIMA—Voltage Imbalance Active
    12. 13.12 PF Status
      1. 13.12.1 Device Status
      2. 13.12.2 275
      3. 13.12.3 Device Voltage Data
      4. 13.12.4 Device Current Data
      5. 13.12.5 Device Temperature Data
      6. 13.12.6 Device Gauging Data
      7. 13.12.7 AFE Registers
    13. 13.13 RA Table
      1. 13.13.1 R_a0
      2. 13.13.2 R_a1
      3. 13.13.3 R_a0x
      4. 13.13.4 R_a1x
  16. 14Data Flash Summary
    1. 14.1 Data Flash Table
  17.   A AFE Threshold and Delay Settings
    1.     A.1 Overload in Discharge Protection (AOLD)
    2.     A.2 Short Circuit in Charge (ASCC)
    3.     A.3 Short Circuit in Discharge (ASCD1 and ASCD2)
  18.   B Revision History

Cell Balancing Setup

The BQ28Z610 is required to be in RELAX mode before it can check if the cells are unbalanced and how much balancing is required. The BQ28Z610 enters RELAX mode when:

Current() < Quit Current for at least Dsg Relax Time when coming from DISCHARGE mode for Chg Relax Time when coming for CHARGE mode.

GUID-4BBF198E-0A53-4BAB-A3FB-9BC9D1A63E68-low.gifFigure 7-1 Entering CHARGE or RELAX Mode

Once in RELAX mode, the BQ28Z610 waits until an OCV measurement is taken, which occurs after:

  1. A dV/dt condition of < 4 µV/s is satisfied,
  2. After 5 hours from when Current() < Quit Current,
  3. Upon gas gauge reset,
  4. An IT Enable command is issued.

The determination of when to update the OCV data is part of the normal Impedance Track algorithm and is not specific to the cell balancing algorithm.

GUID-A4DA4540-0A79-43D5-B1AB-55EFDE50BAC9-low.gifFigure 7-2 OCV Measurement

The BQ28Z610 then calculates the amount of charge difference between cells with a higher state-of-charge than the lowest cell SOC. The value, dQ, is determined for each cell based by converting the measured OCV to Depth-of-Discharge (DOD) percentages using a temperature-compensated DOD vs. OCV table lookup table. If the measured, OCV does not coincide with a specific table entry, then the DOD value is linearly interpolated from the two adjacent DODs of the respective table adjacent OCVs.

The delta in DOD% between each cell and the cell of lowest SOC is multiplied by the respective cells QMax to create dQ: for example, dQ = CellnDOD – CellLOWEST_SOC DOD × CellnQMax (mAh).

GUID-F5C869E7-8060-43E0-80AB-C43948A74D26-low.gif Figure 7-3 ΔQ Calculation

The BQ28Z610 calculates the required balancing time using dQ and Bal Time/mAh Cell 1 (for cell 1) or Bal Time/mAh Cell 2. The value of Bal Time/mAh Cell 1 and Bal Time/mAh Cell 2 is fixed based on key system factors and is calculated by:

Bal Time/mAh Cell x = 3600 mAs/(DUTY × (1000 mV / 1 V) × VCELL/(RVCx + Rcb))

Where:

VCELL = average cell voltage (for example, 3.7 V for most chemistry)

RVCx = external resistance in series between the cell and the pins of the BQ28Z610. In the reference schematic, RVC2 = 105 Ω and RVC1 = 100 Ω.

Rcb = cell balancing FET Rdson, which is 150 Ω.

DUTY = cell balancing duty cycle, which is 68.75% typ.

Cell balancing time for each cell to be balanced is calculated by: dQCelln × Bal Time/mAh Cell 1 for cell1 or and dQCelln × Bal Time/mAh Cell 2. The cell balancing time is stored in the 16-bit RAM register CellnBalanceTimer, providing a maximum calculated time of 65535 s (or 18.2 hrs). This update only occurs if a valid QMax update has been made; otherwise, they are all set to 0.

The CellnBalanceTimer registers are clamped at 0xFFFF and cannot roll over.