I2C

Page Contents

References

  • https://www.nxp.com/docs/en/application-note/AN10216.pdf
  • https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Intro

I2C was developed by Philips Semiconductors (now NXP). It has the following features:

  • 2 line serial bus - SDA (data) & SCL (clock),
  • Multi master / slave bus,
  • 8-bit bidirectional @ 100kb/s (standard), 400kb/s (fast), 1Mb/s (fast+), 3.4 Mb/s (high-speed), 5Mb/s (ultra fast)
  • Its simple to implement, well known, univerially accepted, plug & play, cost effective,
  • Normally very short distance (usually on PCBs).

Protocol

Start / Stop Condition

Usually data on SDA must be stable when SCL is HIGH except for the START and STOP conditions.

For the START condition, SCL is HIGH, SDA goes HIGH to LOW.

For the STOP confition, SCL is HIGH, SDA goes LOW to HIGH.

I2C start and stop conditions