I3C

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.

Available Devices

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:

Clock Settings

In the Clock Settings segment the user can configure two different clock frequencies:

ParameterAdmited valuesComment

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.

Bus Voltage

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.

Private Transactions

The Private Transactions segment is dedicated to I2C read/write transfers.

  1. Address and Subaddress: Positioned at the top, users can input these in hexadecimal format.

  2. Write Buffer and Read Size: The subsequent row houses fields to specify the payload (in hexadecimal) and the byte count for reading.

  3. Read and Write Buttons: Positioned on the final row, these buttons execute the aforementioned operations.

Common Command Code (CCC) 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 commandDescription

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.

Last updated