SNVSC07A June 2021 – September 2022 LP876242-Q1
PRODUCTION DATA
Every byte put on the SDA line must be eight bits long, with the most significant bit (MSB) being transferred first. Each byte of data has to be followed by an acknowledge bit. The acknowledge related clock pulse is generated by the controller device. The controller device releases the SDA line (HIGH) during the acknowledge clock pulse. The device pulls down the SDA line during the 9th clock pulse, signifying an acknowledge. The device generates an acknowledge after each byte has been received.
There is one exception to the acknowledge after every byte rule. When the controller device is the receiver, it must indicate to the transmitter an end of data by not-acknowledging (negative acknowledge) the last byte clocked out of the target device. This negative acknowledge still includes the acknowledge clock pulse (generated by the controller device), but the SDA line is not pulled down.
After the START condition, the bus controller device sends a chip address. This address is seven bits long followed by an eighth bit which is a data direction bit (READ or WRITE). For the eighth bit, a 0 indicates a WRITE and a 1 indicates a READ. The second byte selects the register to which the data is written. The third byte contains data to write to the selected register. Figure 7-51 shows an example bit format of device address 110000-Bin = 60Hex.
For safety applications, the device supports read and write protocols with embedded CRC data fields. In a write cycle, the I2C controller device (i.e. the MCU) must provide the 8-bit CRC value after sending the write data bits and receiving the ACK from the target (i.e. the LP876242-Q1 PMIC). The CRC value must be calculated from every bit included in the write protocol except the ACK bits from the target. See CRC Calculation for I2C and SPI Interface Protocols. In a read cycle, the I2C target must provide the 8-bit CRC value after sending the read data bits and the ACK bit, and expect to receive the NACK from the controller at the end of the protocol. The CRC value must be calculated from every bit included in the read protocol except the ACK and NACK bits. See CRC Calculation for I2C and SPI Interface Protocols.
The embedded CRC field can be enabled or disabled from the protocol by setting the register bit to '1' - enabled, '0' - disabled. The default of this bit is configurable through the NVM.