37.2.7.1 Broadcast vs Direct CCC
There are three categories of CCCs:
- Broadcast Write – A Broadcast Write CCC is seen by all I3C targets on the bus. The Target module inspects every received Broadcast command, even if it then chooses to ignore the CCC (for example, an unsupported CCC is ignored). ENEC is an example of a Broadcast Write CCC.
- Direct Write – A Direct Write CCC writes data to a specific target on the bus directly by selecting its Dynamic Address. Other targets on the bus can also be addressed by the Controller in the same transaction by selecting the appropriate Dynamic Addresses. SETMRL is an example of a Direct Write CCC.
- Direct Read – A Direct Read CCC reads data from a specific target on the bus directly by selecting its Dynamic Address. Other targets on the bus can also be addressed by the Controller in the same transaction by selecting the appropriate Dynamic Addresses. GETPID is an example of a Direct Read CCC.
Each CCC has its own unique 8-bit command code. The command code space is divided into
Broadcast CCC and Direct CCC codes. Broadcast CCCs have command codes
0x00
through 0x7F
. Direct CCCs have command codes
0x80
through 0xFE
. Consequently, the targets can
inspect the Most Significant bit (bit 7) of the command code to differentiate between
the two types of CCCs. Table 37-11 lists the command codes for all the CCCs that are supported by this
Target module.
The frame format for Broadcast CCCs is shown in Figure 37-20. All of the Broadcast CCCs share the same general frame format and have the following sequence:
- Start or Restart, followed by the Broadcast Address.
- Broadcast CCC value, followed by any required defining byte or data.
- End of command.
The frame format for Direct CCCs is shown in Figure 37-21. All of the Direct CCCs share the same general frame format and have the following sequence:
- Start or Restart, followed by the Broadcast Address.
- Direct CCC value, followed by any required defining byte or data.
- Restart, followed by the address of the targeted Target, followed by any required defining byte or data.
- Repeat step 3 if the Controller wants to address multiple targets in the same CCC transaction.
- End of command.
The frame field definitions are explained in Table 37-10.
Field | Definition |
---|---|
S or Sr | A CCC always begins with either Start or Restart condition |
Broadcast Address/ W/ACK | This field has three parts:
|
Broadcast or Direct CCC/T | The Controller then sends an 8-bit code corresponding to the CCC being sent. All supported CCC codes are defined in Table 37-11. This is followed by a Parity T-bit. |
Defining Byte (Optional)/T | Some CCCs require an additional defining byte to be sent. Refer to the individual CCC definition for more information. This is followed by a Parity T-bit. |
Data (Optional)/T | Some CCCs require additional data (one or more bytes) to be sent. Refer to the individual CCC definition for more information. This is followed by a Parity T-bit for a Write CCC or an End-of-Data T-bit for a Read CCC. |
Target
Address/ R/W |
This field is used by Direct CCCs to address an individual target on
the bus. This field has three parts:
|
Sr/Broadcast Address or P |
A CCC always ends with either a Stop condition or a
Restart condition followed by the 7’h7E Broadcast
Address (which can follow into another CCC). |