SETAASA Procedure
The I3CC can also request for all connected targets (which have a static address) to use their known static address as their dynamic address. This is the fastest method to assign I3C dynamic addresses to all targets with static addresses. This application must use the Regular Transfer command instead of the Address Assignment command to issue the SETAASA Transfer command.
The following flow describes the Dynamic Address Assignment using the SETAASA procedure:
- The application initializes the I3CC.
- The application issues the Regular Transfer command to generate Broadcast SETAASA CCC transfer without Data Payload.
- The I3CC starts executing the SETAASA CCC transfer as soon as the Regular Transfer command is issued, as shown in the following figure.
- The Dynamic Address Assignment continues until it generates SETAASA CCC on the line or it ends if it receives NACK response for the header 0x7E, RnW=0 (No I3C devices present).
- The I3CC writes the Transfer Complete status in the Command Response queue. ERR_STATUS in the Response Data structure indicates whether the transfer is completed successfully, or terminated abruptly due to NACK response from the targets.
Note: After successfully transmitting the SETAASA CCC command, the
application must update the DAT[Dynamic Address] to DAT[Static Address] to reflect that the
dynamic address is equivalent to the static address of the target.