In addition to the Static Address described above, every I3C device on the bus
also has a 7-bit Dynamic Address, which is assigned by the Controller through
the
Dynamic
Address Assignment process or the
Hot-Join Mechanism .
This Target module stores the Dynamic Address in the
I3CxDADR register.
Once the Target receives its Dynamic Address from the Controller, it starts to
operate in I3C SDR mode (
OPMD =
0b01
) and will no longer respond to the
Static Address. The Controller communicates with the Target at I3C speeds once
it is assigned a Dynamic Address.
Important: This Target device supports a special
Static Address SDR Mode where the module can operate in I3C SDR mode (OPMD =
0b01) using its Static Address without requiring a Dynamic Address. The module
can still participate in Dynamic Address Assignment procedure in this mode, in
which case the module will respond to both Static and Dynamic Addresses. Refer
to
Static
Address SDR Mode for more information.
While the Target is operating in I3C SDR mode, the Controller can engage with the
Target in the following ways:
Private Read/Write Transaction
Broadcast Common Command Code
(CCC) Write Transaction
Direct CCC Read/Write Transaction
In-Band Interrupt (IBI) Transaction
The Target sets the
DADRIF interrupt flag when it detects the Controller
has transmitted the Target’s Dynamic Address on the bus during a Direct CCC or a
Private Transaction.
The Target’s Dynamic Address transmitted on the bus immediately following a Start
(but not a Restart condition) is subject to arbitration, meaning both the
Controller and the Target can drive the Target’s Dynamic Address after a Start
condition.
The Controller can transmit
the Target’s Dynamic Address following a Start condition to initiate a
Private Transaction. The Controller also transmits a
R/W bit along with the Dynamic Address. When
R/W = 1
(read), the Controller
initiates a Private Read Transaction, whereas R/W =
0
(write) signifies a Private Write Transaction. The
Target responds to this request by acknowledging (or not acknowledging)
through the ACK /NACK bit that follows the
R/W bit.
The Target can transmit its
own Dynamic Address following a Start condition to initiate an IBI
request.(1 ) An IBI request is always made in Read
mode (the Target releases SDA high for R/W bit).
The Controller responds to this request by acknowledging (or not
acknowledging) through the ACK /NACK bit that
follows the R/W bit. Refer to the In-Band
Interrupt (IBI) section for details on Controller actions during
an IBI transaction.
Since the address header following a Start condition is arbitrable, both cases
mentioned above can happen concurrently. Refer to I3C Address
Arbitration for more information.
Important:
When this Target device
is operating in Static Address SDR Mode and does not have a
Dynamic Address assigned, the module will transmit its Static Address to
request for an In-Band Interrupt.