4.2.3 Split I2C Transactions

System requirements sometimes limit the length of a transaction to a certain number of bytes. The ECC204-TFLXAUTH can accommodate this limitation and commands can be subdivided into multiple transactions. When the device receives the first portion of the command, which includes the total number of bytes being sent, the control logic of the device will be looking for that number of bytes before it will execute the command. Each portion of the command requires that the device address plus word address be sent for each partial packet. It is recommended that a Restart condition be sent between the partial packets without a Stop condition and only send the Stop condition after the last of the command bytes are sent. It is, however, acceptable to send a Stop condition between each portion of the command byte stream.

Beyond system level requirements that force the need to subdivide a command, it may simply be convenient to do so. For example, when executing a read transaction of an unknown length, it may be desirable to first read back only the initial payload byte to determine the length of the data being read back. This allows for the ability to dynamically allocate the size of the array being read back.

Legend: A = ACK N = NACK S = Start condition P = Stop condition Sr = Repeated Start Condition
The legend applies to all of the following diagrams.
Figure 4-7. 32-Byte Standard I2C Write
Figure 4-8. 32-Byte Split I2C Write
Figure 4-9. 32-Byte Standard I2C Read
Figure 4-10. 32-Byte Split I2C Read