top of page
Writer's picturePoornima Mani

I2C Communication

Updated: Sep 26

What is I2C communication? How do we understand the concepts, working, and application of I2C communication? These are some of the common questions that we get to hear and will answer these in this article.






What is I2C communication?


I2C stands for inter-integrated circuits. This is a communication protocol developed by Philips that is used for data transfer using simple connections. Owing to this advantage, they are widely used in communication between common electronic components such as sensors, display, microcontrollers, etc.


In this communication protocol, data bits are transferred at certain intervals of time and hence is synchronous in nature.


Brief history


In the year 1982, the first model of I2C was developed by Philips for its chips. This was limited to 100kHz communication and only provided only 7-bit addresses. Later, a publication with a 400kHz fast-mode type was added and published.

Additionally, Intel published a variant SMBus, in order to maximize predictability as well as speeds. These have lost operational costs as well as maximized interoperability.


Working


In this type of communication, data is transferred as messages which as broken up into frames. There includes an address frame that stores the slave's binary address. The message starts stops, read/write, and acknowledgments bits between data frames.


Data frames in I2C protocol.

Start: The SDA switches from HIGH to LOW even before the SCL switch does it. Once this is done, all the devices (even if they are in sleep mode) are active and wait for address bits.


Stop: The SCL switches from LOW to HIGH even before SCL does it.


Address Frame: This is a 7-bit sequence which helps to transfer the data between the master and the slave.


Read/Write: This bit is used to specify the direction of data transfer. If the master needs to send data to the slave, this bit is saved to '0'. In the reverse case, the bit is set to '1'.


ACK/NACK: This is the short-form of Acknowledged/not Acknowledged. The default value of this bit is '1' and is set to '0' if the physical address of the slave and master coincide with each other.

Data Frame: If the ACk is detected with data, then the slave is all good to go for the first data frame to be sent. The data frame consists of 8 bits and sends the MSB first. This is immediately acknowledged using ACK/NACK bit to show the scenario.


Once all the data frames are sent, a stop condition is sent by the master so the transmission is completed. This transmits SDA from low to high and the process is completed successfully.


Similar to SPI communication, this also has varied possibilities for masters and slaves. Let us check out these: one master, one slave and one master, multiple slaves.


Multiple masters and multiple slaves.



Applications:


Due to its low cost, simplicity it is considered as a great option despite lower speeds. Some of the common real-life applications include:

Networking using I2C
  • Some of these are mainly used to access certain memory ICs.

  • These can be really beneficial while accessing DACs and ADCs.

  • Controlling and transmitting user-directed actions could be facilitated easily using I2C.

  • They could be taken advantage of while reading hardware.

  • Communication with multiple micro-controller

Advantages

  1. There is only a need for two wires.

  2. It provides support for multiple masters and multiple slaves.

  3. Using the acknowledge bits, confirmation can be easily done

  4. Compared to UARTs, the hardware is lesser.

  5. Very popular and widely used protocol.

Disadvantages

  1. Slower data transfer rate.

  2. Data Frame size is limited to 8 bits.

  3. Hardware is more complicated to be implemented compared to that of SPI.


 

See Also:





Order Electronics Projects


Want us to guide you through your project or make the project for you? Click on the button below or reach out to us via Call/WhatsApp at (+91) - 7600948607


You can -


  • Order Basic Electronics Projects

  • Order Embedded Systems Projects

  • Order IoT Projects

  • Order FPGA Projects

  • Order VLSI Projects

  • Order Image Processing Projects

  • Order Matlab Projects

  • Order TinkerCAD Projects

  • Order Proteus Projects


Click on the button below to fill out the project inquiry form -





Create Various Projects


Check out our Free Arduino Projects Playlist - Arduino Projects 

Check out our Free Raspberry Pi Projects Playlist - Raspberry Pi Projects 

Check out our Free TinkerCAD Projects Playlist - TinkerCAD Projects 

Check out our Free IoT Projects Playlist - IoT Projects 

Check out our Free Home Automation Projects Playlist - Home Automation Projects 

Check out our Free NodeMCu Projects Playlist - NodeMCu Projects 


Follow us -


Please do follow us i.e. #learnelectronicsindia to get daily updates about new blogs, videos, courses, products, offers, competitions, quizzes, and Internship Opportunities.





18 views2 comments

Related Posts

See All

2 comentarios


Anushka Gupta
Anushka Gupta
29 jul 2023

Learn Electronics India's blog on I2C Communication is a treasure trove of knowledge. I appreciate the effort taken to include real-world examples, making it easier to grasp the concepts. It's a must-read for electronics enthusiasts.

Me gusta

Clear and concise. LearnElectronics India's expertise shines through.

Me gusta
bottom of page