This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ34Z100-G1: Minimum holdoff between I2C operations longer than expected

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQSTUDIO, EV2400

Hello,

   I'm developing software to communicate with a BQ34Z100-G1, and am trying to read/write values from the data flash. My software does the following: set block data control to 0, set data flash class to 104, set data flash block to 0, read the block data checksum, read the voltage divider setting from block data, then read the whole block. The device has never been sealed. The issue I'm having is that if I don't add an extra delay to my software between setting the data flash block and reading the checksum/block data, the chip interprets the write to set the command for reading the checksum as an incremental write, and sets the first byte of the block data to the checksum command number, then on the following read gives the second byte of the block data instead of the checksum. The time between the stop bit of the data flash block write and the start bit of the new command write is measured as ~110 microseconds by a saleae logic 16, longer than the 66 microsecond tbuf listed in the datasheet. The only fix I've found is to add extra delay to increase the time between the transactions to ~240 microseconds.

Is this expected behavior? I'm worried this problem might show up again in different ways and cause problems.

Thank you,

    -Nicholas Peters