I²C (2-wire), alternatively I²C is spelled I2C (pronounced I-square-C) or IIC (pronounced I-I-C), is a multi-master, multi-slave, packet switched, single-ended, serial computer bus invented in 1982 by Philips Semiconductor (now NXP Semiconductors). I2C is a serial communication protocol, so data is transferred bit by bit along a single wire (the SDA line). It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication.  I2C is synchronous, so the output of bits is synchronized to the sampling of bits by a clock signal shared between the master and the slave. The clock signal is always controlled by the master.

The I2C bus is currently still a common communication peripheral used by various circuits and is simple to implement. In I2C, both buses are bidirectional, which means the master able to send and receive the data from the slave. The clock bus is controlled by the master but in some situations slave is also able to suppress the clock signal, but we will discuss it later. No matter how many devices are connected to the bus, only two signal lines (clock SCL and data SDA) are needed. The I2C multi-master bus is superior to the SPI (Serial Peripheral Interface) four wire-based full-duplex communication protocol.

The I2C interface is allows for it to communicate with slow devices while also having high-speed modes to transmit large data. The transmission rate can reach 100kbit/s in standard mode, 400kbit/s in fast mode, and 3.4Mbit/s in high-speed mode. I2C remains as one of the best communication peripheral to connect devices.

I2C data is transferred in messagesMessages are broken up into frames of data. Each message has an address frame that contains the binary address of the slave, and one or more data frames that contain the data being transmitted. The message also includes start and stop conditions, read/write bits, and ACK/NACK bits between each data frame.

Advantages of I2C communication protocol

  • It is the synchronous communication protocol, so no need of precise oscillators for the master and slave.
  • It requires only two-wire, one wire for the data (SDA), and other wire for the clock (SCL).
  • It provides the flexibility to the user to select the transmission rate as per the requirements.
  • In I2C Bus, each device on the bus is independently addressable.
  • It follows the master and slave relationships.
  • It has the capability to handle multiple masters and multiple slaves on the I2C Bus.
  • I2C has some important features like arbitration, clock synchronization, and clock stretching.
  • I2C provides ACK/NACK (acknowledgment/ Not-acknowledgement) features that provide help in error handling.

Limitations of I2C communication protocol

  • It consumes more power than other serial communication busses due to open-drain topology.
  • It is good only for a short distance.
  • I2C protocol has some limitation for the number of slaves, the number of the slave depends on the capacitance of the I2C bus.
  • It only provides a few limited communication speed like 100 kbit/s,400 kbit/s, etc.
  • In I2c, devices can set their communication speed, slower operational devices can delay the operation of faster speed devices.

List of known I²C’s used for memory cards

Related Products

Related Articles

BIO-key Announces New MobilePOS Pro Android All-in-one Terminal Enabling Convenient Biometric-Secured Commerce

August 18th, 2021|

WALL, N.J., Aug. 18, 2021 -- BIO-key International, Inc. (NASDAQ: BKYI), an innovative provider of civil, workforce and customer identity and access management (IAM) solutions featuring Identity-Bound Biometrics, today announced the availability of BIO-key MobilePOS Pro, a handheld, biometrically-enabled, rugged

Categories: Smart Card, Standards
« Back to Glossary Index