I3C
Last updated
Last updated
I3C, or Improved Inter-Integrated Circuit, is the successor of the I2C communication protocol, adopting backward compatibility. Additionally, the I3C protocol incorporates several features that allow for more communication flexibility, extends the spectrum of possible applications, increases performance and robustness. Some of these features include Dynamic Address Assignment, Higher Data Rates, CCC commands, Multi-Controller support, Hot Join/Removal events support, In-Band Interruptions (IBIs), etc. The Binho Supernova host adapter proudly supports the I3C protocol.
The I3C command panel is organized in five segments: Available Devices, Clock Settings, Bus Voltage, Private Transactions, and Common Comand Code transfers.
When the INIT BUS button is pressed, Binho Supernova initializes the bus, setting the bus voltage and assigning dynamic addresses to the target devices. In this process, the targets send their BCR, DCR and PID to the Controller, so it can identify them and assign them the dynamic addresses. After this is concluded, all target devices are listed up in the Available Devices table:
In the Clock Settings segment the user can configure two different clock frequencies:
Parameter | Admited values | Comment |
---|---|---|
Push-Pull | 3.75 to 12.5 MHz | 6 possible values |
Open Drain | 0.1 to 4.17 MHz | 7 possible values |
Notes:
Push-Pull Clock: Standard for regular transactions like Reads and Writes.
Open Drain Clock: Employed during the Dynamic Address Assignment phase to circumvent potential short-circuits, particularly when multiple targets access the bus concurrently.
The Bus Voltage segment's primary function is just to let users define the operational bus voltage, spanning a range from 0.8 to 3.3 V. After inputting the desired voltage, pressing the SET button confirms the change.
The Private Transactions segment is dedicated to I2C read/write transfers.
Address and Subaddress: Positioned at the top, users can input these in hexadecimal format.
Write Buffer and Read Size: The subsequent row houses fields to specify the payload (in hexadecimal) and the byte count for reading.
Read and Write Buttons: Positioned on the final row, these buttons execute the aforementioned operations.
The CCC sub-panel is dedicated to the unique I3C CCC commands, indicative of the protocol's novel offerings. It comprises a dropdown menu, textbox, and a TRANSFER button for seamless command execution.
The BMC App currently supports the following CCC.
CCC command | Description |
---|---|
GETBCR | Get the Bus Characteristics Register |
GETDCR | Get the Device Characteristics Register |
GETPID | Get Provisioned ID |
GETMRL | Get Max Read Length |
GETMWL | Get Max Write Length |
DIRECT SETMRL | Set Max Read Length |
DIRECT SETMWL | Set Max Read Length |
Notes:
The Write Buffer is relevant only for CCC commands that send data, such as DIRECT SETMRL and DIRECT SETMWL.
As more CCC commands are added with new versions of the app, this table serves as a reference. We recommend users to download the latest version of Binho Mission Control for the most up-to-date features.