United States - Flag United States

Please confirm your currency selection:

Bench Talk for Design Engineers

Bench Talk

rss

Bench Talk for Design Engineers | The Official Blog of Mouser Electronics


Will I3C Replace I²C? Lynnette Reese

It’s hard to believe, but the Inter-Integrated Circuit (I²C or I2C) bus is 35 years old. Often used when an MCU is low on I/O, I²C was first released in 1982 by Philips (now NXP), as a simple serial bus for MCUs to communicate to I/O. Theoretically, I²C can connect up to 127 devices using just two wires and ground, but in reality, most highly-populated I²C connections typically number in the teens. I²C is simple, flexible, and the go-to backup plan for reducing pin count.

Thirty-five years on, I²C is still in broad use and is especially useful for communicating with sensors. Internet of Thing (IoT) devices collect data through sensors; therefore, it is reasonable to expect the market for sensors to grow as rapidly as is projected for IoT devices. The newest standard—I3C (pronounced “Eye-three-See”)—is in the early adoption phase, as measured by the fact that there have already been two Plugfests to test drive the new bus’ interoperability. A Plugfest is something like a working, interactive developers’ forum where companies prototyping products with new technology bring them to a meeting place and make their prototypes interact with each other according to each developer’s interpretation of the nascent I3C standard. The interconnection of prototypes at a Plugfest results either in changing the prototypes or changing the specifications.

I3C looks like it’s being taken seriously. Both Intel and Synopsys have skin in the game, and test equipment and protocol analyzers were present at the first Plugfest, as Tektronix can testify. Tektronix’s newest oscilloscopes were running the latest software that included I3C along with the level of coding and analysis that you would see if you were implementing well-established protocols like I²C or SPI. The first I3C Plugfest was in Barcelona in April 2017, followed by one in Atlanta, Georgia in June 2017. The next I3C Plugfest is planned for late October 2017 in Bangalore, India.

I3C is especially tuned to attributes common to sensors, provides improved performance, and yet, maintains full backward compatibility to I²C and existing I²C ecosystems (see Figure 1). I3C fixes some of the annoying problems encountered with I²C, as well. For example, with I²C, a chip could hold the entire bus hostage in long connected sessions while the I²C master waited for the I²C line to be released. This won’t happen with I3C, because it allows prioritized, in-band interrupts that notify the MCU using the still-only-two-wires communication bus. When a sensor with critical data needs to communicate with the master on I3C, the sensor is not forced to wait for a chip to release the bus because prioritization is possible in I3C without using an additional, dedicated input pin in the MCU.

I3C application block diagram

Figure 1: I3C is a new standard hosted by the MIPI Alliance. It's especially promising for implementing sensors. (Source: MIPI)

Another benefit for sensors is that power efficiency is greatly increased. Advanced power management features with I3C extend battery life, and high or low data rates can be set without changing the clock speed. I3C can run at clock speeds up to 12.5MHz, whereas I²C runs at 400kHz, 1MHz, or 5MHz (where 5MHz is unidirectional).

Legacy I²C devices can coexist on the I3C bus with some minor limitations. I3C has multi-master capability, supports dynamic addressing, and supports static addressing of legacy I²C devices. I3C improves upon I²C in that it has a clearly defined master ownership and mechanism for handing over the bus. I3C also supports in-band interrupts and Hot-Join.

I3C is purpose-built to maintain backwards compatibility with I²C while maintaining the ease-of-use that is inherent with simplicity (unlike the USB, for instance). Therefore, some disadvantages exist with I3C, as it cannot (and probably should not) be all things to all people. For example, I3C still supports the 7-bit addressing of I²C. However, 7-bit addressing isn’t really a problem because addressing with I3C is now dynamic, so the old issues with addressing on I²C are moot. And although I3C theoretically supports 127 devices, as does I²C, in reality the limit is about 12 devices, as it is with I²C. Furthermore, the I3C standard doesn’t incorporate security features. Security is big within IoT, but I²C also never had security features. I3C replaces I²C without adding unnecessary complexity, but it lacks other necessary provisions. The I3C standard is still in its infancy, but version 1.0 is anticipated for release in early 2018.



« Back


Lynnette Reese holds a B.S.E.E from Louisiana State University in Baton Rouge. Lynnette has worked at Mouser Electronics, Texas Instruments, Freescale (now NXP), and Cypress Semiconductor. Lynnette has three kids and occasionally runs benign experiments on them. She is currently saving for the kids’ college and eventual therapy once they find out that cauliflower isn’t a rare albino broccoli (and other white lies.)


All Authors

Show More Show More
View Blogs by Date