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,