I2C Communication Protocol
I2C Communication Protocol
Done by :
George Bannoura 21610234
Sumaya Omar 21610691
Duaa Barghouthi 21611122
Alzahra Yassir 21610600
What to expect:
Used to indicate that a device would like to transfer data on the I2C bus
Represented by the SDA line going low when the clock (SCL) signal is high
Will initialize the I2C bus.
Stop Condition:
A condition that a device wants to release the I2C bus represented by the
SDA signal going high when the SCL signal is high Once the stop condition is
complete, both the SCL and SDA signals are high. This is the idle bus.
Addressing:
A 7 or 10 bit sequence unique to each slave that identifies the slave
when the master wants to talk to it.
The salve I2C needs a way to know that the data is sent to it not to
another slave,We do that by addressing.
We use address frame which is the first frame after start bit.
The master sends the address of the slave it wants to communicate with
to every slave connected to it.
READ/WRITE BIT:
The address frame includes a single bit at the end that informs the slave
whether the master wants to write data to it or receive data from it.
If the master wants to send data to the slave, the read/write bit is a low
voltage level. If the master is requesting data from the slave, the bit is a
high voltage level.
ACK/NACK Bit:
Each frame in a message is followed by an acknowledge/no-acknowledge
bit. If an address frame or data frame was successfully received, an ACK
bit is returned to the sender from the receiving device.
THE DATA FRAME
After the master detects the ACK bit from the slave, the first data frame is
ready to be sent.
After all of the data frames have been sent, the master can send a stop
condition to the slave to halt the transmission.
Arbitration
an arbitration scheme is
employed to force one or
more masters to give up
the bus.
I2C BLOCK DIAGRAM
Register for i2c operation
More complicated hardware
needed to implement than SPI
Examples of I2C in Microcontrollers
PCF 8574
Grove – I2C Hub (6 Port) MCP 23017
Comparison between I2C and SPI
THE END
For any questions refer to the working team