The I2C bus
A common way to connect the peripherals that do not require a very high communication speed to an embedded system is using a protocol known as I2C.
Note
Inter-Integrated Circuit (I2C) is a protocol originally developed by Philips Semiconductors (now NXP). I2C is also known as IIC.
I2C is a simple serial protocol that uses two signal wires. In the simplest configuration used by many setups, there is one master and one or more slave devices. For the BeagleBone, the master will be the BeagleBone and the slave devices will be peripherals. Each slave device (we will shorten to just device) is uniquely identified by a 7-bit address.
Note
Later versions of the I2C protocol support an extended address that allows more devices on a single bus.
The serial bus, as originally defined, runs at 100 kHz; however, later revisions allowed 400 kHz and faster variations enabled all the devices on the bus to operate at the higher speed. So, a worst case speed figure is 100 kBits per second shared between...