I2C Serial Communication Protocol: Inter Integrated Circuit
I2C Serial Communication Protocol: Inter Integrated Circuit
I2C Serial Communication Protocol: Inter Integrated Circuit
protocol
Inter Integrated Circuit
I2C basics
Developed by Philips semiconductors.
It is a two wire serial bus protocol.
It enables peripheral ICs in electronic
systems to communicate with each other
using simple hardware.
Based on the original I2C specs, a data
transfer rate of 100 kbps and 7-bit
addressing are supported.
How many devices can be connected on a
single I2C bus?
fast mode specs of I2C were developed
which can provide data rates of 3.4 Mbps
with 10-bit addressing.
What is the maximum wire length of I2C
bus that can be supported?
Common devices capable of interfacing
with I2C bus include
EPROMs, Flash and some RAM memory
devices
Real time clocks
Watchdog timers
Microcontrollers
LCD controllers
Sensors and so on..
I2C bus consists of two wires (SDA
serial data line) and (SCL serial clock
line).
Example scenario with 4 devices
One micro controller which acts as master,
3 servants (EEPROM, Temp sensor, LCD
controller).
Address allocation using 7-bit addressing?
Only master device can initiate data
transfer on an I2C bus.
Both masters and slaves can either be
senders or receivers of the data
depending on their functionality.
Bi-directional , only sender, only receiver.
Start condition
(SCL = high, SDA = high to low)
Stop condition
(SCL = high, SDA = low to high)
Write cycle
Start, address, R/ w, Rx ack, Send data, Rx
ack, stop
Read cycle
Start, address, r/w, master ack, send data by
slave, master ack, stop
Interfacing I2C with RTC