i2cbus.com

  • Increase font size
  • Default font size
  • Decrease font size

The Protocol

I2C uses two wires for communication (SDA and SCL). In HS mode these lines are known as SDAH and SCLH.  All the devices are connected to these lines in parallel (Multidrop). Every slave device has a unique address witch which masters can select any one of them uniquely for communication.

I2C is a multimaster bus with up to 8 masters can be present on a single bus at any time. Master devices do not need an address unless it implements slave functionality (in a multimaster environment) but still it needs a master code (only in a multimaster environment).

A transaction between master and slave happens in different phases.

                START    (Master à Slave)

                ADDRESS   (Master à Slave)

                R/W Bit (Master à Slave)

                ACK (Slave à Master)

                DATA (Master ßà Slave)

                STOP (Master ßà Slave)

The DATA and ACK phases can repeat any number of times to transfer more data to/from the addressed slave.