SLUUCD5 January   2023 BQ27427

 

  1.   Read This First
    1. 1.1 Notational conventions used in this document:
    2. 1.2 Trademarks
    3. 1.3 Glossary
  2. 1General Description
  3. 2Functional Description
    1. 2.1 Fuel Gauging
    2. 2.2 Temperature Measurement
    3. 2.3 Current Measurement
    4. 2.4 Operating Modes
      1. 2.4.1 SHUTDOWN Mode
      2. 2.4.2 POR and INITIALIZATION Modes
      3. 2.4.3 CONFIG UPDATE Mode
      4. 2.4.4 NORMAL Mode
      5. 2.4.5 SLEEP Mode
    5. 2.5 Pin Descriptions
      1. 2.5.1 GPOUT Pin
      2. 2.5.2 Battery Detection (BIN)
  4. 3Communications
    1. 3.1 I2C Interface
    2. 3.2 I2C Time Out
    3. 3.3 I2C Command Waiting Time
    4. 3.4 I2C Clock Stretching
  5. 4Application Examples
    1. 4.1 Data Memory Parameter Update Example
    2. 4.2 Chemistry Profile Change Example
  6. 5Standard Commands
    1. 5.1  Control(): 0x00 and 0x01
      1. 5.1.1  CONTROL_STATUS: 0x0000
      2. 5.1.2  DEVICE_TYPE: 0x0001
      3. 5.1.3  FW_VERSION: 0x0002
      4. 5.1.4  DM_CODE: 0x0004
      5. 5.1.5  PREV_MACWRITE: 0x0007
      6. 5.1.6  CHEM_ID: 0x0008
      7. 5.1.7  BAT_INSERT: 0x000C
      8. 5.1.8  BAT_REMOVE: 0x000D
      9. 5.1.9  SET_CFGUPDATE: 0x0013
      10. 5.1.10 SMOOTH_SYNC: 0x0019
      11. 5.1.11 SHUTDOWN_ENABLE: 0x001B
      12. 5.1.12 SHUTDOWN: 0x001C
      13. 5.1.13 SEALED: 0x0020
      14. 5.1.14 PULSE_SOC_INT: 0x0023
      15. 5.1.15 CHEM_A:/B/C 0x0030/0x0031/0x0032
      16. 5.1.16 RESET: 0x0041
      17. 5.1.17 SOFT_RESET: 0x0042
    2. 5.2  Temperature(): 0x02 and 0x03
    3. 5.3  Voltage(): 0x04 and 0x05
    4. 5.4  Flags(): 0x06 and 0x07
    5. 5.5  NominalAvailableCapacity(): 0x08 and 0x09
    6. 5.6  FullAvailableCapacity(): 0x0A and 0x0B
    7. 5.7  RemainingCapacity(): 0x0C and 0x0D
    8. 5.8  FullChargeCapacity(): 0x0E and 0x0F
    9. 5.9  AverageCurrent(): 0x10 and 0x11
    10. 5.10 AveragePower(): 0x18 and 0x19
    11. 5.11 StateOfCharge(): 0x1C and 0x1D
    12. 5.12 InternalTemperature(): 0x1E and 0x1F
    13. 5.13 RemainingCapacityUnfiltered(): 0x28 and 0x29
    14. 5.14 RemainingCapacityFiltered(): 0x2A and 0x2B
    15. 5.15 FullChargeCapacityUnfiltered(): 0x2C and 0x2D
    16. 5.16 FullChargeCapacityFiltered(): 0x2E and 0x2F
    17. 5.17 StateOfChargeUnfiltered(): 0x30 and 0x31
  7. 6Extended Data Commands
    1. 6.1 DataClass(): 0x3E
    2. 6.2 DataBlock(): 0x3F
    3. 6.3 BlockData(): 0x40 Through 0x5F
    4. 6.4 BlockDataChecksum(): 0x60
    5. 6.5 BlockDataControl(): 0x61
    6. 6.6 Reserved—0x62 Through 0x7F
  8. 7Data Memory
    1. 7.1 Data Memory Interface
      1. 7.1.1 Accessing the Data Memory
      2. 7.1.2 Access Modes
      3. 7.1.3 SEALING and UNSEALING Data Memory Access
    2. 7.2 Data Types Summary
    3. 7.3 Data Flash Summary
    4. 7.4 Data Memory Parameter Descriptions
      1. 7.4.1 Configuration Class
        1. 7.4.1.1 Safety Subclass
          1. 7.4.1.1.1 Over-Temperature Threshold, Under-Temperature Threshold, Temperature Hysteresis
        2. 7.4.1.2 Charge Termination Subclass
          1. 7.4.1.2.1 Terminate Charge Alarm Set %, Terminate Charge Alarm Clear %
          2. 7.4.1.2.2 Full Charge Set %, Full Charge Clear %
          3. 7.4.1.2.3 DOD at EOC Delta Temperature
        3. 7.4.1.3 Discharge Subclass
          1. 7.4.1.3.1 State-of-Charge 1 Set Threshold, State-of-Charge 1 Clear Threshold
          2. 7.4.1.3.2 State-of-Charge Final Set Threshold, State-of-Charge Final Clear Threshold
        4. 7.4.1.4 Registers
          1. 7.4.1.4.1 Operation Configuration (OpConfig) Register
          2. 7.4.1.4.2 Operation Configuration B (OpConfigB) Register
          3. 7.4.1.4.3 Operation Configuration C (OpConfigC) Register
          4. 7.4.1.4.4 Operation Configuration D (OpConfigD) Register
      2. 7.4.2 Gas (Fuel) Gauging Class
        1. 7.4.2.1 IT Cfg Subclass
          1. 7.4.2.1.1  OCV Wait Time
          2. 7.4.2.1.2  Ra Filter
          3. 7.4.2.1.3  Resistance Update Voltage Drop
          4. 7.4.2.1.4  Samples to Wake
          5. 7.4.2.1.5  Qmax Max Time
          6. 7.4.2.1.6  Fast Qmax Start DOD%, Fast Qmax Start Voltage Delta, Fast Qmax Current Threshold
          7. 7.4.2.1.7  Fast Qmax End DOD%, Fast Qmax Minimum Data Points
          8. 7.4.2.1.8  Maximum Qmax Change
          9. 7.4.2.1.9  Qmax Maximum Delta %
          10. 7.4.2.1.10 Maximum % Default Qmax
          11. 7.4.2.1.11 Qmax Filter
          12. 7.4.2.1.12 Simulation ResRelax Time (ResRelax Time)
          13. 7.4.2.1.13 User-Defined Rate-Current
          14. 7.4.2.1.14 User-Defined Rate-Power
          15. 7.4.2.1.15 Maximum Simulation Rate, Minimum Simulation Rate
          16. 7.4.2.1.16 Ra Max Delta
          17. 7.4.2.1.17 Minimum Delta Voltage, Maximum Delta Voltage
          18. 7.4.2.1.18 DeltaV Maximum Delta Voltage
          19. 7.4.2.1.19 Terminate Voltage Valid Time
          20. 7.4.2.1.20 Trace Resistance
          21. 7.4.2.1.21 Downstream Resistance
          22. 7.4.2.1.22 Predict Ambient Time
          23. 7.4.2.1.23 Design Energy Scale
          24. 7.4.2.1.24 Fast Scale Load Select
          25. 7.4.2.1.25 Chg DOD Correction Start SOC
          26. 7.4.2.1.26 Chg DOD Correction Taper Ratio
        2. 7.4.2.2 Current Thresholds Subclass
          1. 7.4.2.2.1 Discharge and Charge Detection Threshold, Quit Current and Relax Time, Discharge and Charge Relax Time
          2. 7.4.2.2.2 Max IR Correct
        3. 7.4.2.3 State Subclass
          1. 7.4.2.3.1  Qmax Cell 0
          2. 7.4.2.3.2  Update Status
          3. 7.4.2.3.3  Reserve Capacity (mAh)
          4. 7.4.2.3.4  Load Select, Load Mode
          5. 7.4.2.3.5  Design Capacity, Design Energy, Default Design Capacity
          6. 7.4.2.3.6  Terminate Voltage
          7. 7.4.2.3.7  Thermal Rise Factor (T Rise)
          8. 7.4.2.3.8  Thermal Time Constant (T Time Constant)
          9. 7.4.2.3.9  SOC Interrupt Delta
          10. 7.4.2.3.10 Taper Rate, Taper Voltage
          11. 7.4.2.3.11 Sleep Current
          12. 7.4.2.3.12 Voltage at Charge Termination
          13. 7.4.2.3.13 Average Current Last Run
          14. 7.4.2.3.14 Average Power Last Run
          15. 7.4.2.3.15 Delta Voltage
      3. 7.4.3 Ra Table Class
        1. 7.4.3.1 R_a RAM Subclass
      4. 7.4.4 Chemistry Class
        1. 7.4.4.1 Chem Data Subclass
          1. 7.4.4.1.1 Q Invalid Max V and Q Invalid Min V
          2. 7.4.4.1.2 V at Chg Term
          3. 7.4.4.1.3 Taper Voltage
      5. 7.4.5 Calibration Class
        1. 7.4.5.1 Data Subclass
          1. 7.4.5.1.1 Board Offset
          2. 7.4.5.1.2 Internal Temperature Offset and External Temperature Offset
          3. 7.4.5.1.3 Pack Voltage Offset
          4. 7.4.5.1.4 Ext a Coef and Ext b Coef
        2. 7.4.5.2 CC Cal Subclass
          1. 7.4.5.2.1 CC Cal Temp
        3. 7.4.5.3 Current Subclass
          1. 7.4.5.3.1 Deadband
      6. 7.4.6 Security Class
        1. 7.4.6.1 Codes Subclass
          1. 7.4.6.1.1 Sealed to Unsealed
  9. 8Updating BQ27427 Configuration Parameters
    1. 8.1 Gauge Mode FlashStream (gm.fs) Files
    2. 8.2 Write Command
    3. 8.3 Read and Compare Command
    4. 8.4 Wait Command
    5. 8.5 CONFIG UPDATE Mode
  10. 9Revision History

CONFIG UPDATE Mode

If the application requires different configuration data for the fuel gauge, the system processor can update RAM-based data memory parameters using the Control()SET_CFGUPDATE subcommand to enter the CONFIG UPDATE mode.

Note:

To ensure that the gas gauge has entered CONFIG UPDATE mode correctly, there needs to be at least an 1100-ms delay after sending the SET_CFGUPDATE. Operation in this mode is indicated by the Flags()[CFGUPMODE] status bit.

In this mode, fuel gauging is suspended while the host uses the extended data commands to modify the configuration data blocks. To resume fuel gauging, the host must send a Control()SOFT_RESET subcommand to exit the CONFIG UPDATE mode, which clears both Flags()[ITPOR] and [CFGUPMODE] bits. After a timeout of approximately 240 seconds (4 minutes), the gauge automatically exits the CONFIG UPDATE mode if it has not received a SOFT_RESET subcommand from the host.

The memory of the BQ27427 device is separated into memory subclasses defined in this document. The memory cannot be directly addressed, but is updated through a sequence of extended commands that can access each block of memory indirectly. The gm.fs file updates these blocks to write the proper configuration so the BQ27427 device can have proper gauging performance and match the system characteristics. These updates are stored in RAM and need to be re-programmed any time the device loses power. (The [ITPOR] bit in the Flags() register indicates that the RAM configuration has been reset to the defaults, and is in need of updating using the gm.fs file.)

#GUID-C5036616-CA2A-4AC9-AB56-E29A29916FBE/SLUUBB04020 shows the “Ra Tables” subclass in the BQ27427 gauge (see also Table 7-2).

Table 8-1 Ra Tables Subclass
ClassSubclassSubclass IDOffsetTypeNameMinMaxDefaultUnits
Ra Tables Ra0 RAM 89 0 I2 Ra 0 0 32767 78 Num
Ra Tables Ra0 RAM 89 2 I2 Ra 1 0 32767 35 Num
Ra Tables Ra0 RAM 89 4 I2 Ra 2 0 32767 39 Num
Ra Tables Ra0 RAM 89 6 I2 Ra 3 0 32767 45 Num
Ra Tables Ra0 RAM 89 8 I2 Ra 4 0 32767 42 Num
Ra Tables Ra0 RAM 89 10 I2 Ra 5 0 32767 36 Num
Ra Tables Ra0 RAM 89 12 I2 Ra 6 0 32767 39 Num
Ra Tables Ra0 RAM 89 14 I2 Ra 7 0 32767 36 Num
Ra Tables Ra0 RAM 89 16 I2 Ra 8 0 32767 35 Num
Ra Tables Ra0 RAM 89 18 I2 Ra 9 0 32767 37 Num
Ra Tables Ra0 RAM 89 20 I2 Ra 10 0 32767 38 Num
Ra Tables Ra0 RAM 89 22 I2 Ra 11 0 32767 40 Num
Ra Tables Ra0 RAM 89 24 I2 Ra 12 0 32767 46 Num
Ra Tables Ra0 RAM 89 26 I2 Ra 13 0 32767 54 Num
Ra Tables Ra0 RAM 89 28 I2 Ra 14 0 32767 46 Num

The subclass ID is defined by the decimal number 89, which is hexadecimal 0x59. To program this subclass ID, send the following sequence to the BQ27427 after entering CONFIG UPDATE mode.

CommandsDescription
1W: AA 3E 59 00Write to I2C address AA, register 3E, the bytes 0x59 and 0x00. That is, 0x59 is written to 0x3E and 0x00 is written to address 0x3F. This is to setup the subclass ID for writes.
2X: Delay (5 ms)After setting up the subclass ID, delay for the BQ27427 to set up the block data to write all the 32 bytes. Wait a minimum of 5 ms after sending the command in (1).
3W: AA 40 00 0B 00 0B 00 0D 00 11 00 0E 00 0C 00 0E 00 0C 00 0C 00 0D 00 0F 00 0F 00 17 00 2B 00 4B 00 00Send 32 bytes (1 block) of data to address 0x40. This is the actual data for the gas gauge data memory area.
4W: AA 60 “checksum”Write the checksum into register 0x60
5X: Delay (5 ms)Need a delay after checksum operation of 5 ms
6W: AA 3E 59 00Write the block address for checksum computation
7X: Delay (5 ms)Need a delay for checksum operation of 5 ms
8C: AA 60 D3The checksum is computed and read from location 0x60 to compare the checksum to the checksum the gas gauge computed.