4.3 Functional Description
After initialization, the I3C Target generates a Hot-join request to an I3C bus and gets a dynamic address assigned. The I3C Controller initiates a Read, Write, or Reset for the I2C/SPI client devices and Read/Write to UART devices by sending specific commands to the I3C Target through a Private Write transaction. In this Private Write transaction, the first byte of the payload is a Function ID. The Function ID consists of the client ID of I2C/SPI clients, the device ID for UART devices, and the commands.
Bit | Description |
---|---|
b7: Res | Reserved |
b6:5: Command [1:0] |
|
b4:3 Device ID [1:0] |
|
b:2:0 Client ID [2:0] |
b0 = b1 = b2 = |
The PIC MCU decodes the Function ID sent by the I3C Controller to decide what actions to perform. For each command, the sequence of actions is described in detail in the section below. For instance, if the controller wants to write to an I2C client device, it must send a Private Write transaction with the first byte as 0x40 followed by the I2C client address and the data to be sent. The microcontroller decodes the first byte and initiates an I2C write operation.
The section below explains each operation performed by the multi-protocol translator with a data sequence diagram.