SLUA790 November   2016 BQ34110 , BQ34Z100-G1 , BQ35100

 

  1.   Using I2C Communications With the bq34110, bq35100, and bq34z100-G1 Series of Gas Gauges
    1.     Trademarks
    2. 1 Example 1: Reading Cell Voltage
    3. 2 Example 2: Reading the Firmware Version
      1. 2.1 Standard I2C Commands
      2. 2.2 Extended I2C Commands
      3. 2.3 Control Subcommands
      4. 2.4 Data Flash Access for the bq34z100-G1
    4. 3 Data Flash Access for the bq34110 and bq35100
    5. 4 Summary
    6. 5 Glossary: Control-Bit-Sequence Definitions

Summary

In summary, remember the following critical aspects when implementing I2C communication between host and bq34xxx and bq35xxx gauges:

  1. Handshaking between the host and gauge is performed by five bit sequences: START, REPEATSTART, ACKNOWLEDGE, NO ACKNOWLEDGE, and STOP.
  2. The I2C address and read/write bit is the first data item sent at the beginning of an I2C packet transmission. The I2C address must not be mistaken for the command address in the gauge, the latter being the second data field to be transmitted by the host.
  3. The host initiates all communication to the gauge and uses the WRITE directive at the end of the I2C address (total byte is 0xAA). When followed by the gauge command, this sets the command address from which the host writes or reads gauge data.
  4. When reading or writing multiple bytes, the host should use the base-address auto-increment feature of the gauge, rather than specifying the gauge address location each time a byte is transferred.
  5. Whether command address or gauge data, all I2C data is transferred between host and gauge with the least-significant byte first.
  6. All bytes transferred between host and gauge is transferred most-significant bit first.