Dynamic Address Assignment Procedure

The Main Controller begins the Dynamic Address Assignment procedure by broadcasting the ENTDAA (Enter Dynamic Address Assignment) CCC. The Target participates in this process automatically if it does not have a Dynamic Address already assigned and is not a Hot-Joining device. If the Target already has a Dynamic Address assigned or is a Hot-Join device, it passively NACKs the Main Controller and waits for the Stop condition (Hot-Joining devices are assigned a Dynamic Address through a separate Hot-Join Mechanism).

Important: The Controller can send ENTDAA CCC to configure a new I3C bus or as a response to a Target requesting Hot-Join to an already configured I3C bus. Refer to section Hot-Join Mechanism for more information.

During the Dynamic Address Assignment procedure, the Target (alongside all the other devices on the bus) sends its own 48-bit Provisional ID (I3CxPID5 through I3CxPID0), Bus Characteristics Register (I3CxBCR), and Device Characteristics Register (I3CxDCR). Due to the nature of the I3C bus, the Target wins the arbitration if it has the lowest concatenated value of the Provisional ID, BCR, and DCR(1).

Upon winning the arbitration, the Main Controller transfers a 7-bit wide Dynamic Address to the Target followed by the Parity T-Bit. If the parity is valid, the Target ACKs the Main Controller and stores the Dynamic Address in I3CxDADR register. If the parity is invalid, the Target passively NACKs the Main Controller and waits for the next arbitration round.

The Dynamic Address Assignment procedure is outlined in Figure 1 below. Figure 2 shows the frame format for a typical Dynamic Address Assignment procedure. The Dynamic Address Assignment uses Open-Drain signaling, except for when the Controller is transmitting a Restart followed by the Broadcast Address 7'h7E/R, in which case Push-Pull signaling is used.

Important:
  1. 1.The Target loses Dynamic Address Arbitration when it releases the SDA line to transmit a ‘1’, but another device on the bus drives it low to transmit a ‘0’.
  2. 2.The Dynamic Address assigned by the Main Controller incorporates the priority level assigned to the Target for servicing In-Band Interrupt (IBI) requests. Refer to In-Band Interrupt (IBI) for details.
  3. 3. The Main Controller can abort the Dynamic Address Assignment procedure anytime by sending the Stop condition. The Main Controller can also restart the procedure anytime by sending the ENTDAA CCC during a Bus Available condition.
Figure 1. Dynamic Address Assignment Procedure
Figure 2. Dynamic Address Assignment Frame Format