| I2C is a synchronous communication protocol and data transmission must be in bytes, a complete I2C signal package must consists of START, ADDRESS, READ/WRITE, DATA, ACK/NACK, and STOP segments. |
![]() |
| I2C Specification user-defined interface: | |
![]() |
|
![]() |
| START | This is the initiation of SCL and SDA ( 1 bit only ) | |
| ADDRESS | This identifies the device address ( 7 bits ) | |
| READ/WRITE | This is a data direction bit. 0 = Write, 1 = Read | |
| ACK/NACK | This is a confirmation bit following every data transmission segment | |
| DATA | The actual signal data transmitted by byte | |
| STOP | This is when SCL = High and SDA = Low ( 1bit only ) |