Explain data transfer mechanism in I2C protocol. Compare it with CAN and USB protocol based on bit rate and area of applications.
I2C (Inter-Integrated Circuit):
I2C stands for Inter-Integrated Circuit. I2C is a serial protocol. It was developed by Philips Semiconductor. I2C bus have two communication lines. One is serial data (SDA) line and second is serial clock (SCL) line. I2C is synchronous in nature. The clock signal synchronizes the data transfer. I2C protocol have bidirectional data support. The data can flow in any direction. I2C uses a controller called master which communicate with the slave devices. The devices on I2C bus have different addresses. The serial data (SDA) and serial clock(SCL) are connected to VCC via a pull-up resistor. I2C is used by many integrated circuits. I2C bus can communicate with slow devices and also it have a fast mode. I2C defines the features like addressing, word length, master/slave communication, start/stop condition. All devices in I2C are connected to serial data (SDA) and serial clock (SCL) wires. The terms in I2C are a transmitter, receiver, master, and slave. The transmitter is a device which sends data on I2C bus. The receiver is a device which receives data from I2C bus. The master is a device which starts and stops the data transfer and also generates the clock. The slave is a device which is controlled by the master. Both master and slave can transmit or receive data. In normal mode, data transfer rate is up to 100 kbits/s and addressing is 7 bit. In fast mode, data transfer rate up to 3.4 Mbits/s and addressing is 10 bit. EPROM, watchdog timers, LCD controller, temperature sensors, and microcontrollers etc. devices are capable of interfacing with I2C bus.
Comparision of I2C with CAN and USB protocol based on bit rate and area of applications:
Controller Area Network (CAN):
CAN is a serial protocol. CAN stands for Controler Area Network. CAN allow microcontrollers and devices to communicate with each other in applications without host computer. Controller Area Network (CAN) is a message based protocol.CAN is an International Standardization Organization (ISO) defined serial communications bus. CAN originally developed for automotive industry.Data transfer rate of CAN is upto 1 Mbit/s and 11-bit addressing. CAN may use in elevator controllers, medical instruments etc.
Universal Serial Bus (USB):
USB is a serial protocol. USB stands for Universal Serial Bus. USB was designed to control standardize the computer peripherals to the computer. USB is for both communicating and supplying electric power. USB have two data rates one have the speed of 12 Mbps this is used for increased bandwidth devices, and second data rate of USB is 1.5 Mbps this is used for lower speed devices. Using USB we can connect upto 127 devices.