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.

BQ34110: Questions about reading/writing data flash and checksum by I2C protocol.

Part Number: BQ34110
Other Parts Discussed in Thread: BQ34Z100-G1, BQ35100

Hi,

I'm following the sluubf7 datasheet to write an I2C interface for the bq34110. I'm now at the part of reading/writing the DF of the device.

The examples in the TRM of the device at sections 4.1.1 and 4.1.2 (p. 87) have some ambiguities (for me) that I'd like help with.

1) Read from DF example

When reading from DF, does the device always puts 32 bytes in MACData starting from the address written to ManufacturerAccessControl?

If so, then the checksum must be computed from all 32 bytes. Should I always read 32 bytes to verify checksum, even if I only need (for example) 2 bytes of data?

It also says to read ManufacturerAccessControl after writing to it to verify. Is this step always necessary? If the voltage is right, could the device ignore the first write to ManufacturerAccessControl?

2) Write to DF example

The numeric example in the TRM sends a length of 8 (4 + length of MACData) to MACDataLen. However, only 4 bytes were written to MACData (0x12, 0x34, 0x56, 0x78). Is the additional 4 bytes a mandatory constant to add?

Should I read back ManufacturerAccessControl after writing to it to verify like in the READ example, or must a write operation not be stopped after writing to ManufacturerAccessControl?

Can I write directly the word {MACDataSum, MACDataLen} after writing 32 bytes to MACData, or should I start a new I2C transaction?

Thank you,

Fred