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.