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.

I2C Read and Write from and to BQ27501

Other Parts Discussed in Thread: BQ27501


In our HW we are using BQ27501 Battery Mgmt IC. The control interface is I2C.

Now, my question I wanted to know actual I2C Communication between the Processor and BQ27501.

For example I wish to read the current temperatur of the battery from the TEMP register.

My understanding is it's a two byte value. The first one we receive on I2C bus is LSB and the second byte we read is High Byte.

Now, to read the following command sequence I need to follow the I2C, (d) incremental read sequence that is provided in page-31 of the data sheet.

And in that transaction the CMD[7:0] shall be 0x06, after that if I read continuously I will get the first byte that is low byte and the second one will be High Byte. Is mu understanding correct?

My next question is how do I read or write Control() commands?

So for reading the CMD[7:0] shall be 16-bit value 0x0000?

And sub sequently I have two write another two bytes corresponding to subcommand?

is this the below sequence for writing Control command?

[16-Bit Command = 0x0000] - [16-Bit Subcommand] - [Subcommand Data Width]

Please clarify. I don't have HW right now to check it.

Thank You & Regards,