24.4.3.1 Format of Data Transfer
I3C bus transactions are delimited by the same START (S), Repeated START (Sr), and STOP (P) conditions that I2C uses.
A bus transmission is done by sending 9-bit sequences. A sequence can be either control or data. One or more control sequences are sent first, then data sequences may follow.
Control Sequence format:
- Either a 7-bit Address or a Command Code, issued by the Controller.
- RnW bit: 1=Read, 0=Write, issued by the Controller.
- ACK bit: 0=ACK, 1=NACK (i.e., not-ACK). Emitted by one or more Targets.
Data Sequence:
- 8-bit Data: Read or write, depending on the RnW bit of the previous control sequence.
- Ninth bit: The meaning of this bit differs between read transfers and write transfers:
- During Writes the ninth bit indicates the parity of the data, as an integrity check (using odd parity)
- During Reads the ninth bit is called Transition Bit or T-Bit, and it tells the Controller whether the Target has more data to send: if the T-Bit is 1, then the Target has more data to send; if 0, then there’s no more data to send.
For reads, the Target switches the SDA line to Hi-Z on the rising edge of the SCL signal. This allows the Controller to either continue or stop the transfer by issuing a STOP (i.e., holding and then raising SDA) or a repeated START.
