Shopping Cart

0 item(s) - Rs.0.00
Your shopping cart is empty!
Please update your Flash Player to view content.

. . . FOLLOW  US







 
 
Introduction to I2C Protocol
Tutorial - 8051 Tutorial
Written by Amol Shah   

I2C is a MULTI MASTER SERIAL BUS i.e. more than one device capable of controlling the bus can be connected to it. It was invented by PHILIPS & stands for Inter-Integrated Circuit.

I2C

In I2C only two bi-directional lines Serial Data (SDA) & Serial Clock (SCL) are required to carry information between the devices connected to the bus. Each I2C device is recognized by a unique 7-bit address. The device that initiates the communication is called MASTER. The master controls the clock signal. Whereas the device being addressed by the Master is called as SLAVE. Generation of clock signals on the I2C-bus is always the responsibility of master devices; each master generates its own clock signals when transferring data on the bus.

Data on the I2C bus can be transferred in three modes:

1) Standard Mode: 100kbps.

2) Fast Mode: 400kbps

3) High Speed Mode: 3.4Mbps.

 

The maximum number of nodes is obviously limited by the address space, and also by the total bus capacitance of 400 pf.

COMMUNICATION

The master begins the communication by issuing the START condition followed by 7- bit unique address/Control Byte of the device it wants to access.The eighth bit after the start specifies if the slave is now to receive (0) or to transmit (1).  After reciving the address all IC's on the I2C bus will compare with their own address & if the address does not match, it will wait till a STOP is received. If address matches a ACKNOWLEDGE signal is generated by the Slave.

I2C_Signals

Following receipt of the slave’s address acknowledgment, the master continues with the data transfer. If a write operationhas been ordered, the master transmits the remaining data, with the slave acknowledging receipt of each byte. If the master has ordered a read operation, it releases the data line and clocks in data sent by the slave. After each byte is received, the master generates an acknowledge condition on the bus. The acknowledge is omitted following receipt of the last byte. The master terminates all operations by generating a stop condition on the bus. The master may also abort a data transfer at any time by generating a stop condition.

BUS CHARACTERISTIC

i2cstartstop

1.     BUS NOT BUSY

BOTH Data & Clock lines remain high.

2.     START CONDITION

A HIGH to LOW transition of SDA line while the SCL is high.

3.     STOP CONDITION

A LOW to HIGH transition of SDA line while the SCL is high.

4.     DATA VALID

During Data transfer, the data on must be changed during the LOW period of the clock signal i.e. the data line must remain stable whenever the clock line is HIGH. Any change in data line while clock is HIGH will be interpreted as START or STOP condition.

5.     ACKNOWLEDGE

Each device when addressed to has to generate an acknowledge signal after the reception of each byte. The master generated an extra clock pulse which is associated with the ACKNOWLEDGE bit. The device that acknowledges pulls down the SDA line during the acknowledge clock pulse.

.

 
 

Featured

 
 
 
.
 TUTORIALS
.
  8051 Tutorial
 
  Power Supply
 
CODE LIBRARY
.

  8051 Assembly
 
  C Code Library
 

.
 PROJECTS
.
  Project List
 
  Synopsis and Abstract
 
DOWNLOADS
.

  Datasheets
 
  Download
 

.
 POPULAR
.
  About Us
 
  DNA Shop
 
  Totorial
 
  Code Library
 
  Download
 

.
CONTACT US
.

Mr. Amol Shah

DNA Technology Nashik,

Maharashtra 422009 India

Phone : 0253-3023939

Mobile : 09225145135

Email : contact@dnatechindia.com