A recent collaboration between the MIPI I3C Working Group and the USB Implementers Forum (USB-IF) has resulted in a new USB-IF specification that dramatically expands the possible use cases and ecosystem for both the Universal Serial Bus (USB) standard and MIPI I3C®/I3C BasicSM, the two-wire utility and control bus interface designed as the successor to I2C.
The new Universal Serial Bus I3C Device Class Specification v1.0, published by the USB-IF in January 2022, defines a standardized way to connect MIPI I3C/I3C Basic buses to USB-enabled devices such as embedded systems, desktop and laptop PCs, and data center server applications. The specification, which is available for download from the USB-IF document library, describes:
- An interface to expose and configure I3C function within a USB device to allow interaction between host software and the I3C device, to drive transaction on the I3C bus to/from target devices
- An operational model consisting of USB control, bulk and interrupt transfers to communicate with a USB I3C device
- Data structures, command and response descriptors used in the operational model
To develop the specification, members of MIPI Alliance's I3C Working Group participated in a subgroup of the USB-IF I3C USB Device Class Working Group as USB-IF members. Addressing the need for wide applicability of the specification, the group also ensured it would be usable by both MIPI members who have access to the full version of I3C, as well as USB developers who could take advantage of the publicly available I3C Basic version.
The new specification has benefits for a wide range of stakeholders:
- System and application developers will be able to utilize USB-to-I3C/I3C Basic bridge devices without the complexity of creating their own drivers.
- Operating system (OS) developers will be able to create only one type of driver that will work across any hardware.
- Device manufacturers will be able to make I3C/I3C Basic devices accessible to a broader ecosystem.
- Integrators will be able to roll out designs more efficiently because standardized USB-to-I3C/I3C Basic devices can reuse existing logic and firmware.
One key advantage is that the new specification greatly expands the distance of the devices that can be connected. For instance, in the case of a data center application, there might be a single baseboard management controller or BMC chip on the platform, which could be as large as a small refrigerator, and the sensors might be located two to three feet away, too far for I3C high performance. But with the use of USB and shielding and differential signaling, those sensors could be placed wherever they're needed.
The Universal Serial Bus I3C Device Class Specification serves as another tool that helps developers use MIPI I3C/I3C Basic to craft innovative designs for any mobile or mobile-influenced product—from smartphones, to wearables, to systems in automobiles. Other tools include the MIPI I3C Host Controller Interface (I3C HCI℠), a common set of capabilities for the host controller and the software interface, as well as an I3C HCI driver for Linux, and the MIPI Discovery and Configuration for I3C (DisCo for I3C℠) specification, a software framework designed to simplify software integration of sensors and other peripherals that use the I3C/I3C Basic device interface. App notes, FAQs and presentation recordings are also available on the MIPI I3C webpage.
“We are excited about the Universal Serial Bus I3C Device Class Specification as it expands USB capabilities in the IoT (Internet of Things) and other applications leveraging small devices and sensors,” said Jeff Ravencraft, president and chief operating officer, USB Implementers Forum. “It also is an example of how USB-IF and MIPI Alliance work together effectively and efficiently to meet the needs of the industry at large that our organizations serve.”