IIC Inter-Integrated Circuit (I2C) is a serial bus developed by PHLIPS Co.,LTD. It is a high-performance serial bus for multi-host systems, including bus decision and synchronization of high and low speed devices.
The IIC bus has only two two-way signal lines. One is the data wire SDA, and the other is the clock wire SCL.
The IIC bus is connected to a positive power supply through a pull-up resistor. When the bus is idle, both wires are high. If the output level of any device connected to the bus is low, the signal of the bus will be low, that is, the SDA and SCL of each device are line "and" relationship.
Each device connected to the I2C bus has a unique address. The data transmission between the host and other devices can be sent by the host data to other devices, then the host is the transmitter. The device that receives data from the bus is the receiver.
Host: The device that initiates the transmission, generates the clock signal,and terminates the transmission. It may be a transmitter or a receiver. The host is usually a microprocessor.
Slave: A device addressed by a host, which may be a transmitter or receiver. In a multi-host system, several hosts may simultaneously attempt to initiate the bus to transmit data. To avoid confusion, the IIC bus goes through bus arbitration to determine which host controls the bus.
In the serial bus extension of 80C51 microcontroller application system, we often encounter that 80C51 microcontroller is the host and other interface devices are the slave.
Characteristics and transmission mode
The main advantage of the IIC bus is its simplicity and efficiency. Because the interface is directly on top of the component, the IIC bus takes up very little space, reducing board space and the number of chip pins, reducing interconnection costs. The bus can be up to 25 feet long and can support 40 components at a maximum transfer rate of 10Kbps. Another advantage of the IC bus is that it supports multimastering, where any device capable of sending and receiving becomes the master bus. A master control can control signal transmission and clock frequency. Of course, there can only be one master at any one time.