1.3 KiB
I²C
The Inter-Integrated Circuit (I2C) bus is a communication protocol used to transfer data between integrated circuits on a circuit board. It was developed by Philips Semiconductors (now NXP Semiconductors) in the 1980s as a way to connect peripheral devices to a microcontroller.
I2C uses a two-wire serial interface consisting of a clock signal (SCL)
and a data signal (SDA)
. Multiple devices can be connected to the same bus, with each device having a unique address. The bus is controlled by a master device, which initiates all communication with the slave devices.
Communication on the I2C bus is initiated by the master device sending a start condition, followed by the slave address and the read/write bit. The slave device then acknowledges receipt of the address, and the master device can then send or receive data to or from the slave device.
One advantage of the I2C bus is that it uses only two wires, making it a simple and efficient way to connect multiple devices on a circuit board. Additionally, the protocol supports multiple data transfer speeds, allowing for flexibility in device communication.
graph LR
A(Master Device) -- SCL --> B(I2C Bus)
A -- SDA --> B
B -- SCL --> C(Slave Device 1)
B -- SDA --> C
B -- SCL --> D(Slave Device 2)
B -- SDA --> D