SLUUBD4A April   2016  – November 2022 BQ27220

 

  1.   Read This First
    1. 1.1 About This Manual
    2. 1.2 Formatting conventions used in this document:
    3. 1.3 Related Documentation from Texas Instruments
    4. 1.4 Trademarks
  2. 2General Description
    1. 2.1 Gas Gauging
      1. 2.1.1  CEDV Gas Gauging Operational Overview
      2. 2.1.2  Main Fuel Gauge Registers
      3. 2.1.3  Capacity Learning (FCC Update) and Qualified Discharge
      4. 2.1.4  End-of-Discharge Thresholds and Capacity Correction
      5. 2.1.5  EDV Discharge Rate and Temperature Compensation
      6. 2.1.6  EDV Age Factor
      7. 2.1.7  Self-Discharge
      8. 2.1.8  Battery Electronic Load Compensation
      9. 2.1.9  CEDV Configuration
      10. 2.1.10 Initial Battery Capacity at Device Reset
      11. 2.1.11 Fuel Gauge Operating Modes
      12. 2.1.12 Qmax
      13. 2.1.13 CEDV Smoothing
  3. 3Standard Data Commands
    1. 3.1  Standard Commands
    2. 3.2  Control()/CONTROL_STATUS(): 0x00 and 0x01
      1. 3.2.1  CONTROL_STATUS: 0x0000
      2. 3.2.2  DEVICE_NUMBER: 0x0001
      3. 3.2.3  FW_VERSION: 0x0002
      4. 3.2.4  HW_VERSION: 0x0003
      5. 3.2.5  BOARD_OFFSET: 0x0009
      6. 3.2.6  CC_OFFSET: 0x000A
      7. 3.2.7  CC_OFFSET_SAVE: 0x000B
      8. 3.2.8  OCV_CMD: 0x000C
      9. 3.2.9  BAT_INSERT: 0x000D
      10. 3.2.10 BAT_REMOVE: 0x000E
      11. 3.2.11 SET_SNOOZE: 0x0013
      12. 3.2.12 CLEAR_SNOOZE: 0x0014
      13. 3.2.13 SET_PROFILE_1/2/3/4/5/6: 0x0015–0x001A
      14. 3.2.14 CAL_TOGGLE: 0x002D
      15. 3.2.15 SEALED: 0x0030
      16. 3.2.16 RESET: 0x0041
      17. 3.2.17 OPERATION_STATUS: 0x0054
      18. 3.2.18 GaugingStatus: 0x0056
      19. 3.2.19 EXIT_ CAL: 0x0080
      20. 3.2.20 ENTER_CAL: 0x0081
      21. 3.2.21 ENTER_CFG_UPDATE: 0x0090
      22. 3.2.22 EXIT_CFG_UPDATE_REINIT: 0x0091
      23. 3.2.23 EXIT_CFG_UPDATE: 0x0092
      24. 3.2.24 ENTER_ROM: 0x0F00
    3. 3.3  AtRate(): 0x02 and 0x03
    4. 3.4  AtRateTimeToEmpty(): 0x04 and 0x05
    5. 3.5  Temperature(): 0x06 and 0x07
    6. 3.6  Voltage(): 0x08 and 0x09
    7. 3.7  BatteryStatus(): 0x0A and 0x0B
    8. 3.8  Current(): 0x0C and 0x0D
    9. 3.9  RemainingCapacity(): 0x10 and 0x11
    10. 3.10 FullChargeCapacity(): 0x12 and 0x13
    11. 3.11 TimeToEmpty(): 0x16 and 0x17
    12. 3.12 TimeToFull(): 0x18 and 0x19
    13. 3.13 StandbyCurrent(): 0x1A and 0x1B
    14. 3.14 StandbyTimeToEmpty(): 0x1C and 0x1D
    15. 3.15 MaxLoadCurrent(): 0x1E and 0x1F
    16. 3.16 MaxLoadTimeToEmpty(): 0x20 and 0x21
    17. 3.17 RawCoulombCount(): 0x22 and 0x23
    18. 3.18 AveragePower(): 0x24 and 0x25
    19. 3.19 InternalTemperature(): 0x28 and 0x29
    20. 3.20 CycleCount(): 0x2A and 0x2B
    21. 3.21 StateOfCharge(): 0x2C and 0x2D
    22. 3.22 StateOfHealth(): 0x2E and 0x2F
    23. 3.23 ChargingVoltage(): 0x30 and 0x31
    24. 3.24 ChargingCurrent(): 0x32 and 0x33
    25. 3.25 BTPDischargeSet(): 0x34 and 0x35
    26. 3.26 BTPChargeSet(): 0x36 and 0x37
    27. 3.27 OperationStatus(): 0x3A and 0x3B
    28. 3.28 DesignCapacity(): 0x3C and 0x3D
    29. 3.29 MACData(): 0x40 through 0x5F
    30. 3.30 MACDataSum(): 0x60
    31. 3.31 MACDataLen(): 0x61
    32. 3.32 AnalogCount(): 0x79
    33. 3.33 RawCurrent(): 0x7A and 0x7B
    34. 3.34 RawVoltage(): 0x7C and 0x7D
  4. 4Data Memory Interface
    1. 4.1 Accessing the Data Memory
    2. 4.2 Device Access Modes
    3. 4.3 Sealing and Unsealing Data Memory Access
    4. 4.4 Data Memory Summary
  5. 5Functional Description
    1. 5.1 Device Configuration
      1. 5.1.1 CEDV Smoothing Config Register
      2. 5.1.2 Operation Configuration A (Operation Config A) Register
      3. 5.1.3 Operation Configuration B (Operation Config B) Register
    2. 5.2 External Pin Functions
      1. 5.2.1 Pin Function Code (PFC) Descriptions
      2. 5.2.2 Battery Presence Detection Using the BIN/TOUT Pin
      3. 5.2.3 SOC_INT Pin Behavior
      4. 5.2.4 Power Path Control With the BAT_GD Pin
      5. 5.2.5 Battery Trip Point (BTP) Interrupts
      6. 5.2.6 Wake-Up Comparator
      7. 5.2.7 Autocalibration
    3. 5.3 Temperature Measurement
      1. 5.3.1 Overtemperature Indication
        1. 5.3.1.1 Overtemperature: Charge
        2. 5.3.1.2 Overtemperature: Discharge
    4. 5.4 Charging and Charge Termination Indication
      1. 5.4.1 Detecting Charge Termination
      2. 5.4.2 Charge Inhibit
    5. 5.5 Power Modes
      1. 5.5.1 NORMAL Mode
      2. 5.5.2 SLEEP Mode
    6. 5.6 CONFIG UPDATE Mode
    7. 5.7 BAT INSERT CHECK Mode
    8. 5.8 Application-Specific Information
      1. 5.8.1 Battery Profile Storage and Selection
      2. 5.8.2 First OCV Measurement
    9. 5.9 Additional Data Memory Parameter Descriptions
      1. 5.9.1  Calibration
        1. 5.9.1.1 CC Gain
        2. 5.9.1.2 CC Delta
      2. 5.9.2  Coulomb Counter Offset
      3. 5.9.3  Board Offset
      4. 5.9.4  Int Temp Offset
      5. 5.9.5  Ext Temp Offset
      6. 5.9.6  Pack VOffset
      7. 5.9.7  Internal Temp Model
      8. 5.9.8  Ext a Coef and Ext b Coef
      9. 5.9.9  Filter
      10. 5.9.10 Deadband
      11. 5.9.11 CC Deadband
      12. 5.9.12 SOC Flag Configuration A (SOC Flag Config A) Register
      13. 5.9.13 SOC Flag Configuration B (SOC Flag Config B) Register
      14. 5.9.14 CEDV Gauging Configuration (CEDV Config) Register
      15. 5.9.15 EMF
      16. 5.9.16 C0
      17. 5.9.17 R0
      18. 5.9.18 T0
      19. 5.9.19 R1
      20. 5.9.20 TC
      21. 5.9.21 C1
      22. 5.9.22 Age Factor
      23. 5.9.23 Fixed EDV0
      24. 5.9.24 Fixed EDV1
      25. 5.9.25 Fixed EDV2
      26. 5.9.26 Battery Low %
      27. 5.9.27 Low Temp Learning
      28. 5.9.28 Overload Current
      29. 5.9.29 Self Discharge Rate
      30. 5.9.30 Electronic Load
      31. 5.9.31 Near Full
      32. 5.9.32 Reserve Capacity
      33. 5.9.33 Charge Efficiency
      34. 5.9.34 Discharge Efficiency
      35. 5.9.35 Qmax Cell 1 and Qmax Pack
      36. 5.9.36 Learned Full Charge Capacity
      37. 5.9.37 DOD at EDV2
      38. 5.9.38 Cycle Count
      39. 5.9.39 Design Capacity
      40. 5.9.40 Design Voltage
      41. 5.9.41 Cycle Count %
      42. 5.9.42 Charge Inhibit Temp Low
      43. 5.9.43 Charge Inhibit Temp High
      44. 5.9.44 Temp Hys
      45. 5.9.45 Fast Charge Current
      46. 5.9.46 Charging Voltage
      47. 5.9.47 Taper Current
      48. 5.9.48 Taper Voltage
      49. 5.9.49 SOC Delta
      50. 5.9.50 Clock Control Register
      51. 5.9.51 Sleep Current
      52. 5.9.52 Offset Calibration Inhibit Temperature Low
      53. 5.9.53 Offset Calibration Inhibit Temperature High
      54. 5.9.54 Sleep Voltage Time
      55. 5.9.55 Sleep Current Time
      56. 5.9.56 Dsg Current Threshold
      57. 5.9.57 Chg Current Threshold
      58. 5.9.58 Quit Current
      59. 5.9.59 Dsg Relax Time
      60. 5.9.60 Chg Relax Time
      61. 5.9.61 Quit Relax Time
      62. 5.9.62 OT Charge
        1. 5.9.62.1 OT Charge Time
      63. 5.9.63 OT Chg Recovery
      64. 5.9.64 OT Discharge
        1. 5.9.64.1 OT Discharge Time
      65. 5.9.65 OT Dsg Recovery
      66. 5.9.66 Initial Standby Current
      67. 5.9.67 Default Temperature
      68. 5.9.68 Device Name
      69. 5.9.69 System Down Set Voltage
      70. 5.9.70 System Down Set Voltage Time
      71. 5.9.71 System Down Clear Voltage
      72. 5.9.72 Full Reset Counter
      73. 5.9.73 Reset Counter Watchdog
  6. 6Communications
    1. 6.1 I2C Interface
    2. 6.2 I2C Time Out
    3. 6.3 I2C Command Waiting Time
    4. 6.4 I2C Clock Stretching
  7. 7Application Examples
    1. 7.1 Data Memory Parameter Update Example
  8. 8Open-Circuit Voltage Measurement Background
    1. 8.1 Background
      1. 8.1.1 OCV Qualification and Calculation
      2. 8.1.2 OCV Calculation Assumption
      3. 8.1.3 OCV Timing
    2. 8.2 OCV Timing and OCV_CMD Use Recommendations
      1. 8.2.1 ACTIVE Mode (Fuel Gauge Is Not in SLEEP Mode)
      2. 8.2.2 SLEEP Mode
      3. 8.2.3 Initial OCV – POR
  9. 9Updating BQ27220 Configuration Parameters
    1. 9.1  Gauge Mode FlashStream (gm.fs) Files
      1. 9.1.1 Write Command
      2. 9.1.2 Read and Compare Command
      3. 9.1.3 Wait Command
      4. 9.1.4 CONFIG UPDATE Mode
    2. 9.2  OTP Mode FlashStream (ot.fs) Files
      1. 9.2.1 Write Command
      2. 9.2.2 Read and Compare Command
      3. 9.2.3 Wait Command
      4. 9.2.4 CONFIG UPDATE Mode
    3. 9.3  Programming Instructions
      1. 9.3.1 Using gm.fs Files
      2. 9.3.2 Using ot.fs Files
    4. 9.4  General Setup and Software Installation to Program OTP
    5. 9.5  Launch BQStudio Software
    6. 9.6  Load .GG File
    7. 9.7  Confirm or Update Data Memory Parameters
    8. 9.8  Save .OTFS File
    9. 9.9  Launch SmartFlash Software
    10. 9.10 Open Ot.fs File
    11. 9.11 Program OTP
    12. 9.12 Confirm Success
  10.   A Battery Gauge Glossary
    1.     A.1 Glossary
  11.   B Revision History

CEDV Smoothing

The BQ27220 device has the ability to smooth the RemainingCapacity() during discharge in order to avoid a drop in RelativeStateOfCharge() when the EDV thresholds are reached. This feature is enabled by setting the Smoothing Config [SMEN] = 1 and configuring the Smoothing Start Voltage and Smoothing Delta Voltage.

The smoothing will activate only when all of the following conditions are true:

  • Current() < 0
  • Voltage() < Smoothing Start Voltage
  • EDV2 has been reached ([EDV2] = 1) OR (Voltage() – present EDV2 threshold) < Smoothing Delta Voltage.
  • Maximum Voltage() during the previous one minute is less than the maximum Voltage() during the current minute (that is, "drop rate" is greater than 0).
  • RemainingCapacity() is greater than the capacity at the next EDV point.

While smoothing is active, the "drop rate" is used to estimate the time to the EDV point under the assumption that the rate is constant (linear). This information is then used to estimate how much current would need to be applied in order to have RemainingCapacity() reach the expected capacity at the EDV point. The actual Current() is then scaled by the "smoothing current." This will either speed up or slow down the RemainingCapacity() accumulation to reach the EDV threshold at the correct time.

Whenever the RemainingCapacity() accumulation is actively scaled, the OperationStatus()[SMTH] bit will be set.

Smoothing deactivates whenever an EDV threshold is reached until the rate to the next EDV threshold can be calculated. However, smoothing past the EDV2 point only occurs if the Smoothing Config [SMEXT] is set to 1.

To improve smoothing at the end of discharge, the SME0 configuration bit provides additional flexibility. This is particularly useful when FIXED_EDV0 is set and the calculated EDV2/EDV1 is lower than EDV0. In this scenario, the SOC smooths to EDV2, then to EDV1, and then to EDV0, leading to SOC jumps. If the SME0 bit is set, then the SOC smooths directly to EDV0, leading to a smooth transition to empty.

Table 2-3 shows the available smoothing configurations.

Table 2-3 Smoothing Configurations
SMENSMEXTSME0Description
000No Smoothing
001No Smoothing
010No Smoothing
011No Smoothing
100Smoothing to EDV2
101Smoothing to EDV0 if calculated EDV2/EDV1 is less than EDV0.
110Smoothing to EDV2 ≥ EDV1 ≥ EDV0
111Smoothing to EDV0 if calculated EDV2/EDV1 is less than EDV0.

The BQ27220 device can also add smoothing during charging. In situations when the FCC is not updated during a discharge cycle or on a subsequent charge cycle, if the valid charge termination is reached, RSOC is synced to 100% regardless of the true RSOC. To help in scenarios like these, the device enables the SMOOTHEOC_EN bit (default is enabled).

When enabled, the RSOC value is gradually increased to 100% instead of a sudden jump if the following is true:

  1. Battery is charging.
  2. Cell Voltage > Taper Voltage
  3. Charge Current is decreasing AND is below the EOC Smooth Current threshold for EOC Smooth Current Time.