SLVAE86B september   2019  – august 2023 BQ75614-Q1 , BQ79612-Q1 , BQ79614-Q1 , BQ79616 , BQ79616-Q1 , BQ79631-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Command Frames
    1. 1.1 Structure
      1. 1.1.1 Initialization Byte
      2. 1.1.2 Device ID Address
      3. 1.1.3 Register Address
      4. 1.1.4 Data
      5. 1.1.5 CRC
    2. 1.2 Command Frame Template Tables
    3. 1.3 ReadReg and WriteReg Functions
      1. 1.3.1 ReadReg
      2. 1.3.2 WriteReg
      3. 1.3.3 Packet Types Available in Sample Code
  5. Quick Start Guide
  6. Wake Sequence
  7. Auto-Addressing
    1. 4.1 Steps
    2. 4.2 Example Commands for ThreeDevices
  8. Read Cell Voltages
    1. 5.1 Steps
    2. 5.2 Example Commands for ThreeDevices
    3. 5.3 Convert to Voltages
  9. Cell Balancing
    1. 6.1 Steps
    2. 6.2 Example Commands
  10. OVUV
    1. 7.1 Steps
  11. OTUT
    1. 8.1 Steps
  12. Reverse Addressing
    1. 9.1 Steps
    2. 9.2 Example Commands for ThreeDevices
  13. 10Revision History

Steps

  1. Make sure ACTIVE_CELL has been set up for the desired number of channels.
  2. Set cell balancing timers using CB_CELL*_CTRL registers to choose the timers for the desired channels to balance. Only channels with nonzero values will be balanced.
  3. Set the duty cycle used to switch between even and odd cells using BAL_CTRL1[DUTY2:0] bits.
  4. OPTIONAL: Set VCB_DONE_THRESH register to the desired stop voltage for all channels. Now the device stops balancing if a cell reaches below this threshold. Then set OVUV_CTRL=0x05 to run OVUV comparators in round robin. NOTE: It is also a good idea to set OV_THRESH and UV_THRESH for when cell balancing finishes (and for before balancing starts).
  5. Choose auto-balance control, and start balancing by setting BAL_CTRL2 = 0x03