Definition of I2C Terminology

There is language and terminology in the description of I2C communication that have definitions specific to I2C. That word usage is defined below and may be used in the rest of this document without explanation. This table was adapted from the Philips/NXP I2C Specification.

Table 1. I2C Terminology
Term Description
Transmitter The device that shifts data out onto the bus
Receiver The device that shifts data in from the bus
Host The device that initiates a transfer, generates clock signals, and terminates a transfer
Client The device addressed by the host
Multi-Host A bus with more than one device that can initiate data transfers
Arbitration Procedure to ensure that only one host at a time controls the bus. Winning arbitration ensures that the message is not corrupted.
Synchronization Procedure to synchronize the clocks of two or more devices on the bus
Idle No host is controlling the bus, and both SDA and SCL lines are high
Active Any time one or more host devices are controlling the bus
Addressed Client Client device that has received a matching address and is actively being clocked by a host
Matching Address Address byte that is clocked into a client that matches the value stored in SSPxADD
Write Request Client receives a matching address with the R/W bit clear, and is ready to clock in data
Read Request Host sends an address byte with the R/W bit set, indicating that it wishes to clock data out of the client. This data is the next and all following bytes until a Restart or Stop.
Clock Stretching When a device on the bus hold SCL low to stall communication
Bus Collision Any time the SDA line is sampled low by the module while it is outputting and expected High state