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. Several Memory IC's like EEPROM and some RTC like DS1307 use I2C communication to interface with microcontroller. 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:
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. |
||||||||||
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 |
||||||||||
|
||||||||||
|
.