What is I2C protocol? | Explained
I2C is a type of serial communication protocol, through which the data is sent bit by bit, with the help of a single wire. The full form of I2C is an inter-integrated circuit or inter IC. This 8-bit serial communication protocol takes the assistance of bus wires, which is: serial data wire (SDA) and serial clock wire (SCL) sending data. I2C is the combination of different types of ICs and it helps the devices for interacting directly with each other through sending data.
What is the I2C protocol?
The requirement of the I2C protocol is increasing day by day in the field of embedded system designing, in terms of this, demands of them are also increasing. Transmitting and receiving the information between sender and receivers is a common function of the protocol and when it is required to send the information among more than two devices, it needs a communication path which is commonly known as a bus system. I2C bus protocol is a two-wired serial bus, which sends the data in a bidirectional order, among integrated circuits. Philips had created this serial communication protocol, but gradually the popularity has increased and different IC manufacturers are now using it. Compared with other serial peripheral interfaces I2C is considered as one of the great serial port, it is considered as one of the great competitive advantages for I2C protocol.
Examples of I2C protocol
The application of the I2C protocol can be seen where the data transmission is required serially, by connecting low-speed devices, which are microcontrollers A/D and D/A converters, EPROM, I/O interfaces, and some similar type of peripherals in the embedded system. I2C is synchronous in nature so that the output bits of I2C is synchronized with respect to the sampling bits, which can be shared through a clock signal. And these bits are shared between the master and the slave. After considering several illustrations of I2C protocols, It is seen that most of them, they offer in the SparkFun catalog at the time of pull up resistors for two signals SCL and SDA. Whenever anyone else’s different types of I2c devices on a single bus, the user needs to control the equivalent value for the registers. Moreover, it is a serial port, that can support more because one master with more than one slips.
- I2C requires 2 wires for transmitting the data serially.
- The standard mode of transmitting data from the perception of speed is 100 kbps.
- When the I2C protocol works in fast mode It can provide data at 400 kbps.
- The high-speed mode of the I2C pedicle is when it can send 3.4 Mbps data and in ultrafast mode, It can send 5 Mbps data.
- I2C protocol follows a synchronous mode for transmitting data.
- It sends the data serially.
It consists of unlimited masters and 1008 slaves for sending the data.
Mode of transmission of I2C
Apart from the characteristics of the I2C protocol, it has some advantages and disadvantages which can be seen in the time of using it on the field. I2C follows five modes of transmission, the classification of modes is dependent on the speed of transmitting the data. The five transmission modes of I2C are standard, fast, fast mode Plus, high speed, and ultra-fast. The mode of traveling the data is different for each mode, as standard, fast, fast mode plus and high-speed delivers a data bidirectionally, whereas ultra-fast mode transfers the data in a unidirectional way.
Working principle of I2C protocol
In the I2C protocol, the data is shifted through messages, and these messages are split into frames of data. The particular message has a particular address frame, and each address frame comprises the binary address of the slave. If it contains more than one data frame, then the data will be transmitted. Moreover, start condition and stop condition are need to be considered in the message, and read/write bits and ACK/NACK bits between a single data frame.
Start Condition: In this condition, only the SDA line shifts from a high voltage level to a low-level voltage level, before the SCL is switched from a high level to level.
Stop condition: in this, SDA ships from a low-level voltage to high-level voltage, after the SCL line shifts from low to high.
Read/write bit: with the help of the read or write bit, it is possible to know whether the master is shifting the data to the slave which means to the low level or trying to send a request data from it which means high voltage level.
ACK/NACK bits: which type of message needs to be followed by and acknowledge or not acknowledge bit. After receiving a frame or data frame successfully address, an acknowledgment is sent to the sender from the end of the receiver.
Signal lines of I2C protocol
The I2C is a serial bus protocol comprises two types of signal lines, which are: SCL and SDL, these are utilized in communicating with different devices. The SDL stands for serial data line and SCL stands for serial clock line, these signals are included either through master or the I2C peripherals and through master device respectively. These signals are accessed in the open-drain state, in which no transfer or shifting is possible between I2C peripherals.
Advantages of I2C protocol:
- I2C serial port only uses two wires for sending the data.
- It can support different types of masters and multiple slaves. With the help of ACK/NACK bits, it is understood that whether each frame is shifted successfully or not.
- Compare with other protocols, I2C is much better due to its several good characteristics.
- It is seen that UARTs, the hardware becomes less difficult.
- It is one of the renowned serial port used for transmitting the data and its application can be seen broadly as protocol.
Disadvantages of I2C
- The rate of transferring the data is comparatively lowered with the help id other SPI.
- The data frame needs to be bound to 8 bits.
- It requires complicated hardware compared with.
The communication process of I2C protocol
some communication sequences of I2C protocol are received by master slave multi-master and slave synchronisation.
Application of I2C protocol
The main purpose of using I2C protocol is to make communication in master and slave, in which the master is considered as a microcontroller, whereas the slave is considered as some other devices, like – A to D converter, D to A converter, EEPROM, and some same types of devices like embedded system. Therefore, it can be concluded that the inter-integrated circuit or I2C protocol is mainly used for interacting with several controller chips. It is perfect for lower speed transmission and for short-distance communication.