SLUUCI8 November   2023 BQ76905

 

  1.   1
  2.   Read This First
    1.     About This Manual
    2.     Battery Notational Conventions
    3.     Trademarks
    4.     Glossary
  3. Introduction
  4. Device Description
    1. 2.1 Overview
    2. 2.2 Functional Block Diagram
  5. Device Configuration
    1. 3.1 Direct Commands and Subcommands
    2. 3.2 Configuration Using OTP or Registers
    3. 3.3 Data Formats
      1. 3.3.1 Unsigned Integer
      2. 3.3.2 Integer
      3. 3.3.3 Hex
  6. Device Security
  7. Measurement Subsystem
    1. 5.1 Voltage Measurement
      1. 5.1.1 Voltage Measurement Schedule
      2. 5.1.2 Unused VC Cell Input Pins
      3. 5.1.3 General Purpose ADCIN Functionality
    2. 5.2 Coulomb Counter and Digital Filters
    3. 5.3 Internal Temperature Measurement
    4. 5.4 Thermistor Temperature Measurement
    5. 5.5 Measurement Calibration
  8. Protection Subsystem
    1. 6.1  Protections Overview
    2. 6.2  Protection FET Drivers
    3. 6.3  Cell Overvoltage Protection
    4. 6.4  Cell Undervoltage Protection
    5. 6.5  Short Circuit in Discharge Protection
    6. 6.6  Overcurrent in Charge Protection
    7. 6.7  Overcurrent in Discharge 1 and 2 Protections
    8. 6.8  Current Protection Latch
    9. 6.9  CHG Detector
    10. 6.10 Overtemperature in Charge Protection
    11. 6.11 Overtemperature in Discharge Protection
    12. 6.12 Internal Overtemperature Protection
    13. 6.13 Undertemperature in Charge Protection
    14. 6.14 Undertemperature in Discharge Protection
    15. 6.15 Host Watchdog Protection
    16. 6.16 Cell Open Wire Detection
    17. 6.17 Voltage Reference Measurement Diagnostic Protection
    18. 6.18 VSS Measurement Diagnostic Protection
    19. 6.19 REGOUT Diagnostic Protection
    20. 6.20 LFO Oscillator Integrity Diagnostic Protection
    21. 6.21 Internal Factory Trim Diagnostic Protection
  9. Device Status and Controls
    1. 7.1 0x00 Control Status() and 0x12 Battery Status() Commands
    2. 7.2 LDOs
    3. 7.3 ALERT Pin Operation
    4. 7.4 TS Pin Operation
    5. 7.5 Programmable Timer
    6. 7.6 Device Event Timing
  10. Operational Modes
    1. 8.1 Overview of Operational Modes
    2. 8.2 NORMAL Mode
    3. 8.3 SLEEP Mode
    4. 8.4 DEEPSLEEP Mode
    5. 8.5 SHUTDOWN Mode
    6. 8.6 CONFIG_UPDATE Mode
  11. I2C Serial Communications
    1. 9.1 I2C Serial Communications Interface
  12. 10Cell Balancing
    1. 10.1 Cell Balancing
  13. 11Commands and Subcommands
    1. 11.1 Direct Commands
    2. 11.2 Bit field Definitions for Direct Commands
      1. 11.2.1  Safety Alert A Register
      2. 11.2.2  Safety Status A Register
      3. 11.2.3  Safety Alert B Register
      4. 11.2.4  Safety Status B Register
      5. 11.2.5  Battery Status Register
      6. 11.2.6  Alarm Status Register
      7. 11.2.7  Alarm Raw Status Register
      8. 11.2.8  Alarm Enable Register
      9. 11.2.9  FET CONTROL Register
      10. 11.2.10 REGOUT CONTROL Register
      11. 11.2.11 DSG FET Driver PWM Control Register
      12. 11.2.12 CHG FET Driver PWM Control Register
    3. 11.3 Command-only Subcommands
    4. 11.4 Subcommands with Data
    5. 11.5 Bit field Definitions for Subcommands
      1. 11.5.1 DEVICE NUMBER Register
      2. 11.5.2 FW VERSION Register
      3. 11.5.3 HW VERSION Register
      4. 11.5.4 SECURITY KEYS Register
      5. 11.5.5 CB ACTIVE CELLS Register
      6. 11.5.6 PROG TIMER Register
      7. 11.5.7 PROT RECOVERY Register
  14. 12Data Memory
    1. 12.1 Calibration
      1. 12.1.1 Calibration:Voltage
        1. 12.1.1.1 Calibration:Voltage:Cell 1 Gain
        2. 12.1.1.2 Calibration:Voltage:Cell 2 Gain Delta
        3. 12.1.1.3 Calibration:Voltage:Cell 3 Gain Delta
        4. 12.1.1.4 Calibration:Voltage:Cell 4 Gain Delta
        5. 12.1.1.5 Calibration:Voltage:Cell 5 Gain Delta
        6. 12.1.1.6 Calibration:Voltage:Stack Gain
      2. 12.1.2 Calibration:Current
        1. 12.1.2.1 Calibration:Current:Curr Gain
        2. 12.1.2.2 Calibration:Current:Curr Offset
        3. 12.1.2.3 Calibration:Current:CC1 Gain
        4. 12.1.2.4 Calibration:Current:CC1 Offset
      3. 12.1.3 Calibration:Temperature
        1. 12.1.3.1 Calibration:Temperature:TS Offset
        2. 12.1.3.2 Calibration:Temperature:Int Temp Gain
        3. 12.1.3.3 Calibration:Temperature:Int Temp Offset
    2. 12.2 Settings
      1. 12.2.1 Settings:Configuration
        1. 12.2.1.1 Settings:Configuration:Power Config
        2. 12.2.1.2 Settings:Configuration:REGOUT Config
        3. 12.2.1.3 Settings:Configuration:I2C Address
        4. 12.2.1.4 Settings:Configuration:I2C Config
        5. 12.2.1.5 Settings:Configuration:DA Config
        6. 12.2.1.6 Settings:Configuration:Vcell Mode
        7. 12.2.1.7 Settings:Configuration:Default Alarm Mask
        8. 12.2.1.8 Settings:Configuration:FET Options
        9. 12.2.1.9 Settings:Configuration:Charge Detector Time
      2. 12.2.2 Settings:Cell Balancing
        1. 12.2.2.1 Settings:Cell Balancing:Balancing Configuration
        2. 12.2.2.2 Settings:Cell Balancing:Min Temp Threshold
        3. 12.2.2.3 Settings:Cell Balancing:Max Temp Threshold
        4. 12.2.2.4 Settings:Cell Balancing:Max Internal Temp
      3. 12.2.3 Settings:Protection
        1. 12.2.3.1 Settings:Protection:Enabled Protections A
        2. 12.2.3.2 Settings:Protection:Enabled Protections B
        3. 12.2.3.3 Settings:Protection:DSG FET Protections A
        4. 12.2.3.4 Settings:Protection:CHG FET Protections A
        5. 12.2.3.5 Settings:Protection:Both FET Protections B
        6. 12.2.3.6 Settings:Protection:Body Diode Threshold
        7. 12.2.3.7 Settings:Protection:Cell Open Wire NORMAL Check Time
        8. 12.2.3.8 Settings:Protection:Cell Open Wire SLEEP Check Time
        9. 12.2.3.9 Settings:Protection:Host Watchdog Timeout
    3. 12.3 Protections
      1. 12.3.1 Protections:Cell Voltage
        1. 12.3.1.1 Protections:Cell Voltage:Cell Undervoltage Protection Threshold
        2. 12.3.1.2 Protections:Cell Voltage:Cell Undervoltage Protection Delay
        3. 12.3.1.3 Protections:Cell Voltage:Cell Undervoltage Protection Recovery Hysteresis
        4. 12.3.1.4 Protections:Cell Voltage:Cell Overvoltage Protection Threshold
        5. 12.3.1.5 Protections:Cell Voltage:Cell Overvoltage Protection Delay
        6. 12.3.1.6 Protections:Cell Voltage:Cell Overvoltage Protection Recovery Hysteresis
      2. 12.3.2 Protections:Current
        1. 12.3.2.1  Protections:Current:Overcurrent in Charge Protection Threshold
        2. 12.3.2.2  Protections:Current:Overcurrent in Charge Protection Delay
        3. 12.3.2.3  Protections:Current:Overcurrent in Discharge 1 Protection Threshold
        4. 12.3.2.4  Protections:Current:Overcurrent in Discharge 1 Protection Delay
        5. 12.3.2.5  Protections:Current:Overcurrent in Discharge 2 Protection Threshold
        6. 12.3.2.6  Protections:Current:Overcurrent in Discharge 2 Protection Delay
        7. 12.3.2.7  Protections:Current:Short Circuit in Discharge Protection Threshold
        8. 12.3.2.8  Protections:Current:Short Circuit in Discharge Protection Delay
        9. 12.3.2.9  Protections:Current:Latch Limit
        10. 12.3.2.10 Protections:Current:Recovery Time
      3. 12.3.3 Protections:Temperature
        1. 12.3.3.1  Protections:Temperature:Overtemperature in Charge Protection Threshold
        2. 12.3.3.2  Protections:Temperature:Overtemperature in Charge Protection Delay
        3. 12.3.3.3  Protections:Temperature:Overtemperature in Charge Protection Recovery
        4. 12.3.3.4  Protections:Temperature:Undertemperature in Charge Protection Threshold
        5. 12.3.3.5  Protections:Temperature:Undertemperature in Charge Protection Delay
        6. 12.3.3.6  Protections:Temperature:Undertemperature in Charge Protection Recovery
        7. 12.3.3.7  Protections:Temperature:Overtemperature in Discharge Protection Threshold
        8. 12.3.3.8  Protections:Temperature:Overtemperature in Discharge Protection Delay
        9. 12.3.3.9  Protections:Temperature:Overtemperature in Discharge Protection Recovery
        10. 12.3.3.10 Protections:Temperature:Undertemperature in Discharge Protection Threshold
        11. 12.3.3.11 Protections:Temperature:Undertemperature in Discharge Protection Delay
        12. 12.3.3.12 Protections:Temperature:Undertemperature in Discharge Protection Recovery
        13. 12.3.3.13 Protections:Temperature:Internal Overtemperature Protection Threshold
        14. 12.3.3.14 Protections:Temperature:Internal Overtemperature Protection Delay
        15. 12.3.3.15 Protections:Temperature:Internal Overtemperature Protection Recovery
    4. 12.4 Power
      1. 12.4.1 Power:Sleep
        1. 12.4.1.1 Power:Sleep:Sleep Current
        2. 12.4.1.2 Power:Sleep:Voltage Time
        3. 12.4.1.3 Power:Sleep:Wake Comparator Current
      2. 12.4.2 Power:Shutdown
        1. 12.4.2.1 Power:Shutdown:Shutdown Cell Voltage
        2. 12.4.2.2 Power:Shutdown:Shutdown Stack Voltage
        3. 12.4.2.3 Power:Shutdown:Shutdown Temperature
        4. 12.4.2.4 Power:Shutdown:Auto Shutdown Time
    5. 12.5 Security
      1. 12.5.1 Security:Settings
        1. 12.5.1.1 Security:Settings:Security Settings
        2. 12.5.1.2 Security:Settings:Full Access Key Step 1
        3. 12.5.1.3 Security:Settings:Full Access Key Step 2
    6. 12.6 Data Memory Summary
  15. 13Revision History

Measurement Calibration

The BQ76905 device includes optional capability for the customer to calibrate offset and gain for the cell voltage measurement, the current measurement, and the internal temperature measurement. It also supports gain calibration for the top-of-stack (TOS) voltage measurement and offset calibration for the TS pin measurement. Table Table 5-11 shows the calibration configuration values provided.

Table 5-11 Calibration Configuration Settings
Name Description
Calibration:Voltage:Cell 1 Gain Cell 1 voltage gain calibration value in unsigned 16-bit format
Calibration:Voltage:Cell 2 Gain Delta Signed 8-bit value which is added to Cell 1 Gain to obtain the Cell 2 Gain calibration value.
Calibration:Voltage:Cell 3 Gain Delta Signed 8-bit value which is added to Cell 1 Gain to obtain the Cell 3 Gain calibration value.
Calibration:Voltage:Cell 4 Gain Delta Signed 8-bit value which is added to Cell 1 Gain to obtain the Cell 4 Gain calibration value.
Calibration:Voltage:Cell 5 Gain Delta Signed 8-bit value which is added to Cell 1 Gain to obtain the Cell 5 Gain calibration value.
Calibration:Voltage:TOS Gain Top-of-stack (TOS) voltage gain calibration value in unsigned 16-bit format
Calibration:Current:Curr Offset Current offset calibration value in units of signed 24-bit ADC counts (this is a 16-bit value, so only has range of +/- full-scale raw current range / 256)
Calibration:Current:Curr Gain Current gain calibration value in unsigned 16-bit format
Calibration:Current:CC1 Offset CC1 Current offset calibration value in units of signed 24-bit ADC counts (this is a 16-bit value, so only has range of +/- full-scale raw current range / 256)
Calibration:Current:CC1 Gain CC1 Current gain calibration value in unsigned 16-bit format
Calibration:Temperature:TS Offset TS measurement offset calibration value in units of signed 16-bit ADC counts.
Calibration:Temperature:Int Temp Offset Internal temperature offset calibration value in units of signed 16-bit ADC counts
Calibration:Temperature:Int Temp Gain Internal temperature gain calibration value in unsigned 16-bit format

If the host does not overwrite values for the calibration gain or offset configurations, the BQ76905 device uses the factory trim values stored in OTP for each respective setting. When a calibration configuration value is written, the device uses that in place of the respective factory trim value.

Each cell voltage has an associated Cell # Gain value, which is used to scale the raw ADC result to convert it into units of mV. The Cell 1 Gain is stored directly in data memory, while the remaining Cell # Gain values for cells 2 to 5 are encoded as a delta value versus the Cell 1 Gain value, as shown below.

Equation 1. C e l l   2   G a i n = ( C e l l   1   G a i n ) + ( C e l l   2   G a i n   D e l t a )
Equation 2. C e l l   3   G a i n = ( C e l l   1   G a i n ) + ( C e l l   3   G a i n   D e l t a )
Equation 3. C e l l   4   G a i n = ( C e l l   1   G a i n ) + ( C e l l   4   G a i n   D e l t a )
Equation 4. C e l l   5   G a i n = ( C e l l   1   G a i n ) + ( C e l l   5   G a i n   D e l t a )

The BQ76905 uses these calibration values to calculate the reported measurements from the raw ADC data as described below.

Equation 5. C e l l   1   V o l t a g e ( ) =   ( 16 - b i t   A D C   c o u n t s × (C ell 1 Gain ] 65536
Equation 6. C e l l   2   V o l t a g e ( ) =   ( 16 - b i t   A D C   c o u n t s × (C ell 2 Gain ] 65536
Equation 7. C e l l   3   V o l t a g e ( ) =   ( 16 - b i t   A D C   c o u n t s × (C ell 3 Gain ] 65536
Equation 8. C e l l   4   V o l t a g e ( ) =   ( 16 - b i t   A D C   c o u n t s × (C ell 4 Gain ] 65536
Equation 9. C e l l   5   V o l t a g e ( ) =   ( 16 - b i t   A D C   c o u n t s × (C ell 5 Gain ] 65536
Equation 10. Stack Voltage()=16-bit ADC counts×(TOS Gain)16384
Equation 11. TS Measurement()=16-bit ADC counts-(TS Offset)
Equation 12. Int Temperature()= (16-bit ADC counts-(Int Temp Offset) ]×(Int Temp Gain)65536
Equation 13. CC1 Current()= (16-bit ADC counts-(CC1 Offset / 256) ]×(CC1 Gain)32
Equation 14. Current()= (24-bit ADC counts-(Curr Offset) ]×(Curr Gain)8192

The cell voltage calibration is implemented by writing the Calibration:Voltage:Cell 1 Gain value to 65535 and all Calibration:Voltage:Cell # Gain Delta values to 0, then applying two precise DC voltages to a cell input (such as 2.5 V and 4.5 V) and averaging multiple raw ADC measurements in 16-bit counts obtained from the Cell # Voltage() command for each voltage. The gain is then calculated as:

Equation 15. Cell # Gain=65536 ×(Voltage1in mV-Voltage2in mV )(16-bit ADC Counts)Voltage1-(16-bit ADC Counts)Voltage2

The calibration for the TOS measurement gain is implemented by similarly writing the Calibration:Voltage:TOS Gain value to 16384, then applying two precise DC voltages to the VC5 pin and averaging multiple raw ADC measurements in 16-bit counts obtained from the 0x26 Stack Voltage() command. Note: one of the voltages can be skipped to reduce calibration time. The gain is then calculated as:

Equation 16. TOS Gain=16384 ×(Voltage1in mV-Voltage2in mV )(16-bit ADC Counts)Voltage1-(16-bit ADC Counts)Voltage2

The calibration for the TS pin measurement offset is implemented by similarly first writing the Calibration:Temperature:TS Offset value to zero. A precise DC voltage can be applied to the TS pin, and the 16-bit ADC counts obtained from the 0x6A TS Measurement() command. The offset is then calculated as:

Equation 17. TS Offset=(16-bit ADC Counts)TS_Voltage-32768 ×3×(TS_Voltagein V)VREF1×5

Although it is typically not practical in a production environment, the Internal Temperature measurement can be calibrated by first writing the Calibration:Temperature:Int Temp Gain value to 65535 and Calibration:Temperature:Int Temp Offset value to zero, then exposing the system to two precise temperatures and averaging multiple raw ADC measurements in 16-bit counts obtained from the Int Temperature() command for each temperature. The gain is then calculated as:

Equation 18. Int Temp Gain=65536 ×(Temp_1in °C-Temp_2in °C )(16-bit ADC Counts)Temp_1-(16-bit ADC Counts)Temp_2

The offset for the Internal Temperature measurement is calculated using this new value of Calibration:Temperature:Int Temp Gain as shown below:

Equation 19. Int Temp Offset=(16-bit ADC Counts)Temp_1-65536 ×(Temp_1in °C)Int Temp Gain

The 0x3A Current() current measurement can be calibrated by applying two precise DC currents and averaging multiple raw ADC measurements in 24-bit counts obtained from the 0x36 Raw Current() command for each current. The 0x3C CC1 Current() current measurement, which is used to calculate the charge integration data available from the 0x0004 PASSQ() command, can be calibrated by applying two precise DC currents and averaging multiple raw ADC measurements in 16-bit counts obtained from the 0x3C CC1 Current() command for each current, while the value of Calibration:Current:CC1 Gain is set to 32.

These gains are then calculated as:

Equation 20. CC1 Gain=32 ×(Current_1in mA-Current_2in mA )(16-bit ADC Counts)Current_1-(16-bit ADC Counts)Current_2
Equation 21. Curr Gain=8192 ×(Current_1in mA-Current_2in mA )(24-bit ADC Counts)Current_1-(24-bit ADC Counts)Current_2

then quantizing to an integer.

While a current measurement offset Calibration:Current:Curr Offset can be calculated using one of the two currents measured earlier, a more practical approach is to set the current to zero, and use the average of multiple raw ADC measurements in 24-bit counts obtained from the 0x36 Raw Current() command as Calibration:Current:Curr Offset, which uses the 16 LSBs from this calculation. The value for Calibration:Current:CC1 Offset can be obtained by setting the Calibration:Current:CC1 Gain to 32 and summing 256 samples of 0x3C CC1 Current().

A table of example gains and resulting LSB values for various sense resistor values and maximum current levels is shown below (with gains quantized to ensure support for the Max Current listed).

Table 5-12
Rsense (μΩ) Max Current (A) Max Voltage (V) Min LSB Allowed (mA) Quantized CC1 Gain Quantized Current Gain Quantized CC1 LSB (mA) Quantized Current LSB (mA)
5000 3 0.015000 0.091553 524 524 0.091618 0.091618
5000 15 0.075000 0.457764 104 104 0.461614 0.461614
5000 40 0.200000 1.220703 39 39 1.230970 1.230970
2000 10 0.020000 0.305176 393 393 0.305393 0.305393
2000 50 0.100000 1.525879 78 78 1.538712 1.538712
2000 100 0.200000 3.051758 39 39 3.077424 3.077424
1000 32.767 0.032767 0.999969 240 240 1.000163 1.000163
1000 50 0.050000 1.525879 157 157 1.528911 1.528911
1000 100 0.100000 3.051758 78 78 3.077424 3.077424
1000 200 0.200000 6.103516 39 39 6.154848 6.154848
500 32.767 0.016384 0.999969 480 480 1.000163 1.000163
500 100 0.050000 3.051758 157 157 3.057822 3.057822
500 250 0.125000 7.629395 62 62 7.743196 7.743196
500 400 0.200000 12.207031 39 39 12.309696 12.309696
250 32.767 0.008192 0.999969 960 960 1.000163 1.000163
250 100 0.025000 3.051758 314 314 3.057822 3.057822
250 250 0.062500 7.629395 125 125 7.681250 7.681250
250 800 0.200000 24.414063 39 39 24.619391 24.619391
100 32.767 0.003277 0.999969 2400 2400 1.000163 1.000163
100 100 0.010000 3.051758 786 786 3.053932 3.053932
100 200 0.020000 6.103516 393 393 6.107864 6.107864
100 327.67 0.032767 9.999695 240 240 10.001628 10.001628
100 500 0.050000 15.258789 157 157 15.289112 15.289112
100 1000 0.100000 30.517578 78 78 30.774239 30.774239
100 2000 0.200000 61.035156 39 39 61.548478 61.548478
50 32.767 0.001638 0.999969 4800 4800 1.000163 1.000163
50 100 0.005000 3.051758 1573 1573 3.051991 3.051991
50 250 0.012500 7.629395 629 629 7.632403 7.632403
50 1000 0.050000 30.517578 157 157 30.578225 30.578225
50 2000 0.100000 61.035156 78 78 61.548478 61.548478
50 4000 0.200000 122.070313 39 39 123.096955 123.096955
10 32.767 0.000328 0.999969 24003 24003 1.000038 1.000038
10 100 0.001000 3.051758 7865 7865 3.051991 3.051991
10 250 0.002500 7.629395 3146 3146 7.629977 7.629977
10 1000 0.010000 30.517578 786 786 30.539321 30.539321
10 5000 0.050000 152.587891 157 157 152.891123 152.891123
10 10000 0.100000 305.175781 78 78 307.742388 307.742388
10 20000 0.200000 610.351563 39 39 615.484776 615.484776