This topic describes the Inter Integrated Circuit (I2C) bus technology.
The I2C is a serial bus technology invented by Philips. The I2C is a multi master serial interface used by the low power peripherals to exchange data. The I2C supports different modes of data transfer and three commonly used modes are:
The I2C bus contains 2 bi-directional lines, a serial clock (SCL)
and serial data (SDA) lines. In the I2C bus, more than one device
could act as Master device. There can be only one master device active
at a given time. The master device initiates the communication and
slave responds to the master. The master and slave devices can be
interchanged after a data STOP
signal is sent from
the master. The master device can address more than one slave at a
time.
Figure: I2C Bus
The master device can read and write data to the slave device. The I2C bus uses 7 or 10 bit address.
The features of the I2C bus are:
The first byte from the master is used to address the slave device. In the first byte the master sends the address and read/write signal to the slave. There are three types of messages:
master just reads data from the slave
master just writes data to the slave
master reads and writes data
The communication is initiated with a start signal and completed with a stop bit. In the third type of message the master starts the communication with a start signal with a read or write bit to the slave. The process continues until the master has completed the read and write tasks. The communication is terminated with a stop signal.