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

0x00, 0x01 AltManufacturerAccess() and 0x3E, 0x3F AltManufacturerAccess()

AltManufacturerAccess() provides a method of reading and writing data in the Manufacturer Access System (MAC). The MAC command is sent via AltManufacturerAccess() by a block protocol. The result is returned on AltManufacturerAccess() via a block read.

Commands are set by writing to registers 0x00/0x01. On valid word access, the MAC command state is set, and commands 0x3E and 0x3F are used for MAC commands. These new addresses work the same as 0x00 and 0x01, but are primarily intended for block writes and reads.

Example: Send a MAC Gauging() to enable IT via AltManufacturerAccess().

  1. With Impedance Track disabled, send Gauging() (0x0021) to AltManufacturerAccess()
    1. I2C Write, start address = 0x3E (or 0x00). Data = 21 00 (data must be sent in Little Endian).
  2. IT is enabled, ManufacturingStatus()[GAUGE_EN] = 1.

Example: Read Chemical ID() (0x0006) via AltManufacturerAccess().

  1. Send Chemical ID() to AltManufacturerAccess().
    1. I2C Write, start address = 0x3E (or 0x00). Data sent = 06 00 (data must be sent in Little Endian).
  2. Read the result from AltManufacturerAccess() and MfgMACData().
    1. I2C Read, start address = 0x3E length = 36 bytes. First 4 bytes of the response will be 06 00 10 12.
    2. The first two bytes "06 00" is the MAC command (for verification).
    3. The second two bytes "10 12" are the Chem ID in Little Endian. That is, 0x1210 for ChemID 1210.
    4. The last two bytes of the 36-byte block will be the checksum and length. The length in this case will be 6. The checksum is 0xFF – (sum of the first length – 2 bytes). The length and checksum are used to validate the block response.

It is recommended to send “command only” operations to 0x00 and 0x01, and to set the command for a read back in the same way. The reason for this is that it can always reset any legacy support options that may be in effect; whereas, some legacy support options use 0x3E and 0x3F for other purposes. However, 0x3E and 0x3F can always safely be used for block reads. For backward compatibility, a request of the device number or version will report a value for read on 0x00/0x01. The response word for both MAC command DEV and VERSION (0x0001 and 0x0002) should report 0xFFA5 as the legacy response. This is meant as a token to indicate to the host that the real response is on the extended block. “Command only” operations take place immediately after the word write.

Table 12-2 AltManufacturerAccess() Command List
CommandFunctionAccessFormatData Read on MACData()Not Available in SEALED ModeTypeUnits
0x0001DeviceTypeRBlockhex
0x0002FirmwareVersionRBlockhex
0x0003HardwareVersionRBlockhex
0x0004IFChecksumRBlockhex
0x0005StaticDFSignatureRBlockhex
0x0006ChemIDRBlockhex
0x0007Prev_MacWriteRBlockhex
0x0008StaticChemDFSignatureRBlockhex
0x0009AllDFSignatureRBlockhex
0x0010ShutdownModeWhex
0x011SleepModeWhex
0x012ResetWhex
0x013Auto_CAL_MACWhex
0x001FChargeFETWhex
0x0020DischargeFETWhex
0x0021Gauging (IT Enable)Whex
0x0022FETControlWhex
0x0023LifetimeDataCollectionWhex
0x0024PermanentFailureWhex
0x0028LifetimeDataResetWhex
0x0029PermanentFailureDataResetWhex
0x002DCalibrationModeWhex
0x002ELifetimeDataFlushWhex
0x002FLifetimeDataTestWhex
0x0030SealDeviceWhex
0x0035SecurityKeysR/WBlockhex
0x0037AuthenticationKeyWBlockhex
0x0041ResetWhex
0x004ADevice NameR/WBlockhex
0x004BDevice ChemR/WBlockhex
0x004CManufacturer NameR/WBlockhex
0x004DManufacturer DateR/WBlockhex
0x004ESerial NumberR/Whex
0x0050SafetyAlertRBlockhex
0x0051SafetyStatusRBlockhex
0x0052PFAlertRBlockhex
0x0053PFStatusRBlockhex
0x0054OperationStatusRBlockhex
0x0055ChargingStatusRBlockhex
0x0056GaugingStatusRBlockhex
0x0057ManufacturingStatusRBlockhex
0x0058AFERegisterRBlockhex
0x0060LifetimeDataBlock1RBlockMixedMixed
0x0070ManufacturerDataRBlockhex
0x0071DAStatus1RBlockMixedMixed
0x0072DAStatus2RBlockMixedMixed
0x0073ITStatus1RBlockMixedMixed
0x0074ITStatus2RBlockMixedMixed
0x0075ITStatus3RBlockMixedMixed
0x0076CB StatusRBlockhex
0x0077FCC_SOHRBlockhex
0x01yyDFAccessRowAddressR/WBlockhex
0x0F00ROMModeWhex
0xF080ExitCalibrationOutputR/WBlockhex
0xF081OutputCCandADCforCalibrationR/WBlockhex
0xF082OutputShortedCCandADC
forCalibration
R/WBlockhex