Understanding I2C
Originally developed by Philips Semiconductor in 1982 as a bus for communicating with the ICs, the I2C protocol has become a general-use bus that is supported by a wide variety of IC manufacturers. I2C is a multimaster and multislave bus, though the most common configuration is that of a single master device and one or more slave devices on a single bus. An I2C master device sets the pace for the bus by generating a clock signal, and it initiates communication with the slave devices. Slave devices receive the master's clock signal and respond to the master's queries.
Only four wires are required to communicate via I2C:
- One clock signal (SCL)
- One data signal (SDA)
- A positive supply voltage
- A ground
Requiring only two pins (for the SCL and SDA signals) to communicate with a number of slave devices makes I2C an enticing interfacing option. One of the difficulties in hardware interfacing is effectively allocating a limited number of processor pins to best handle communicating...