1 I2C Specification

The I2C Specification was developed by Philips Semiconductors to communicate between devices connected to a two-wire bus. Philips recognized that there were many similarities between consumer electronics, industrial electronics and telecommunications designs. These designs often contained similar components, such as Analog-to-Digital Converters (ADCs), Liquid Crystal Displays (LCDs) or external memory modules. Philips determined that they could simplify system design and maximize hardware efficiency by creating a communications scheme that could be used to transfer data between any device connected to a common bus. The I2C Specification allowed system designers to use devices from multiple manufacturers, or use one device in several applications. The Specification also solved interfacing issues by creating a standard protocol that is now held as an industry standard, meaning any I2C device can communicate with any other I2C device changing the hardware or firmware of either device.

The I2C Specification defines the bus as a two-wire, bidirectional communications network. One line carries the Serial Data (SDA) signal, and the other line carries the Serial Clock (SCL) signal. Each I2C device connected to a bus has a unique address, either 7 bits or 10 bits in length. An I2C device may operate as a bus master, a bus slave, or both, depending on the device and the application in which the device is used.