1.7 Private I3C Transaction

The controller can begin a Private I3C Transaction with the Target by addressing it directly using the Dynamic Address after a Start/Restart, or after transmitting the 7’h7E/W I3C Broadcast Address. When a Dynamic Address match occurs, the DADRIF bit is set, and the RNW bits are changed to reflect whether the transaction is a read or a write request from the controller.

When a Dynamic Address match occurs, the module responds with an ACK/NACK as described below.

  • If ACKP = 0, then the module typically ACKs the request as follows:
    • Private Write: Module always ACKs regardless of the status of the Receive FIFO
    • Private Read: Module ACKs only when data is available in Transmit FIFO
  • If ACKP = 1, then the module typically NACKs the request, except when ACKPOS changes this behavior, as mentioned below
  • If ACKPOS = 1, the following immediate Private Transaction request will be ACK'd regardless of the status of the ACKP bit
Tip: The user can set ACKP = 1 to force a NACK on the bus for Private Transaction requests if the firmware is not ready to receive/send the data from/to the controller. When the firmware is ready, the user can set ACKPOS = 1 to receive/send the following data stream from/to the controller. Since the ACKPOS bit is cleared immediately after a one-time ACK, this mode is helpful when the firmware is speed limited and is unable to receive data from back-to-back Private Transaction requests.