I3C: Improved inter-integrated circuit - The future of I2C

13-06-2022 | By Robin Mitchell

While I3C has been around for 6 years, its predecessor, I2C, remains a dominant bus technology for sensors, memory, and interfaces. What exactly is I3C, what advantages does I3C present for new designs, and will I2C be replaced with I3C?


What exactly is I3C?


I3C is a serial bus protocol that allows devices to communicate over a common bus and is based on its predecessor, I2C. I3C as a bus technology aims to solve many challenges presented to I2C and SPI devices, including minimising connections, reducing the overall energy usage, allowing for dynamic addressing techniques, increasing data speeds, and allowing for backwards compatibility with I2C devices.

I3C uses the same two pins as I2C for clock and data to retain backwards compatibility. However, a major change introduced in I3C is that data and clock lines can switch between open-collector and push-pull. This is an important feature as initial communication over I3C is done using traditional I2C communication methods, and then once an I3C device has been selected by the master, push-pull circuitry is used to massively increase the speed of data transfer.

While this does allow for high-speed operation (up to 33Mbits/s), the downside to using push-pull outputs is that I3C slave devices are no longer allowed to stretch the master clock, meaning that all devices are expected to operate at the maximum speed possible. Data throughput can also be increased with the use of double data rate, whereby two bits can be sent per clock cycle (rising and falling edge).

Regarding reducing the overall number of connections needed, the I3C protocol removes the need for dedicated interrupt pins by allowing devices to send interrupt messages over the bus (multi-master support). Furthermore, common command codes have been introduced along with dynamic address allocation to remove the need for external address pins (instead, devices have unique internal 48-bit serial numbers).



What advantages does I3C present for new designs?


The backwards compatibility of I3C with I2C devices allows for a mixture of old and new devices to share the same bus. Some engineers may wonder how this is possible as I2C devices do not support double data rate and extremely high clock speeds, but the solution is that I2C devices integrating spike filters ignore signal transitions below 50ns. As such, the initial communication of devices over an I3C device uses older I2C speeds, and when full speed is initiated, I2C devices do not detect any changes on the signal busses. (i.e. appears as an idle bus).

The lack of additional pins also helps reduce the size of new designs, which is especially advantageous for IoT devices. By reducing the number of I/O needed, more features can be integrated into a device, and using a single bus with no additional I/O allows many devices to connect to a single bus.

Dynamic address also allows for device scanning, while the ability to support hot-plugging makes I3C more akin to USB than I2C. This is advantageous for devices that expect to have configurable hardware (such as removable sensors and future upgrading ports). While I3C still supports I2C addressing, the use of dynamic addressing allows for interrupt priority allocation through the lowest device address.


Will I3C replace I2C?


Even though I3C presents many advantages over I2C while remaining backwards compatibility, the trouble with introducing new bus technologies is adoption by the wider community, and I3C does not have anywhere near as much fame as I2C. Considering that I2C has far greater support from microcontrollers, microprocessors, and digital controllers, I2C will remain a dominant bus technology for sensors, memory, and interfaces.

Another challenge I3C faces is that not many designs require extremely high-speed busses for communication, especially those involved with IoT. Concept I3C designs generally show smartphones that incorporate multiple high-speed devices on the same bus (display, touchscreen etc.), but IoT devices will normally have a few connected low-speed sensors using a wireless SoC with many I/O pins.

That isn’t to say that I3C won’t replace I2C in the future, as it clearly supports more features. To aid its adoption amongst manufacturers, the developers of the I3C protocol have developed I3C Basic, which comes with no licenses or royalties requirements but doesn’t allow for the support for high data rate and double data rate.

Profile.jpg

By Robin Mitchell

Robin Mitchell is an electronic engineer who has been involved in electronics since the age of 13. After completing a BEng at the University of Warwick, Robin moved into the field of online content creation, developing articles, news pieces, and projects aimed at professionals and makers alike. Currently, Robin runs a small electronics business, MitchElectronics, which produces educational kits and resources.