I3C Communication Protocol

Article by:
Date Published:
Last Modified:
WARNING
This page is in notes format, and may not be of the same quality as other pages on this site.

Overview

The I3C communication protocol (pronounced eye-three-see) is a standard by the Sensor Working Group at the MIPI Alliance. The name is intended to indicate it’s similarity to I2C, with the bus having the same two-wire SCL and SDA wires and being backwards compatible with I2C (with some caveats).

The MIPI Alliance logo. I couldn't find a logo specifically for the I3C protocol so this is the best substitute. Image from https://www.fierceelectronics.com/components/mipi-alliance-releases-mipi-i3c-sensor-interface-specification.

The MIPI Alliance logo. I couldn’t find a logo specifically for the I3C protocol so this is the best substitute. Image from https://www.fierceelectronics.com/components/mipi-alliance-releases-mipi-i3c-sensor-interface-specification.

MIPI membership (and $$$) is required to get the full I3C specification. However, there is a publicly available subset of the full specification called MIPI I3C Basic, which can be downloaded for free from the MIPI Alliance website.

History

The I3C standard was first released publicly by the MIPI Alliance in late 20171, named MIPI I3C v1.0. MIPI Alliance members had access to the standard before this release date. MIPI I3C Basic v1.0 was released in October 2018. MIPI I3C v1.1 was released in December 20192.

Comparison With I2C

The MIPI I3C Basic specification states that I3C has significant energy consumption and bus speed improvements over I2C:

Energy consumption and data rate comparisons between I3C and I2C. Image from the publicly available MIPI I3C Basic specification.

Energy consumption and data rate comparisons between I3C and I2C. Image from the publicly available MIPI I3C Basic specification.

The speed improvement over I2C is enabled mostly by the ability for I3C to switch from open-drain to push-pull drive in certain modes. I2C uses open-drain drive at all times, which limits the rise-time of the signal (the signal is pulled high by a “slow” resistor). I3C can switch from open-drain to push-pull once the initial bus arbitration has taken place, allowing much faster communication (up to rates comparable with SPI).

I3C does not need external pull-up resistors — the pull-up resistors are provided by the I3C master(s).

Backwards Compatibility With I2C

I2C devices can be connected to an I3C bus and communicate with I2C and I3C nodes at I2C bit rates. The standard allows the bit rate to increase when an I3C node is communicating with another I3C node. While I2C slaves are supported on an I3C bus, I2C masters are not (the master on a I3C must be a I3C device).

References


Authors

Geoffrey Hunter

Dude making stuff.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License .

Related Content:

Tags

comments powered by Disqus