I2C Terminology

The I2C communication protocol terminology used throughout this document have been adapted from the Phillips I2C Specification and can be found in the table below.

I2C Bus Terminology and Definitions

Term Definition
Host The device that initiates a transfer, generates the clock signal and terminates a transfer
Client The device addressed by the host
Multi-Host A bus containing more than one host device that can initiate communication
Transmitter The device that shifts data out onto the bus
Receiver The device that shifts data in from the bus
Arbitration Procedure that ensures only one host at a time controls the bus
Synchronization Procedure that synchronizes the clock signal between two or more devices on the bus
Idle The state in which no activity occurs on the bus and both bus lines are at a high logic level
Active The state in which one or more devices are communicating on the bus
Matching Address The address byte received by a client that matches the value that is stored in the I2CxADR0/1/2/3 registers
Addressed Client Client device that has received a matching address and is actively being clocked by a host device
Write Request Host transmits an address with the R/W bit clear indicating that it wishes to transmit data to a client device
Read Request Host transmits an address with the R/W bit set indicating that it wishes to receive data from a client device
Clock Stretching The action in which a device holds the SCL line low to stall communication
Bus Collision Occurs when the module samples the SDA line and returns a low state while expecting a high state
Bus Time-out Occurs whenever communication stalls for a period longer than acceptable