25.2.2.1 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.

TERMDescription
TransmitterThe device that shifts data out onto the bus.
ReceiverThe device that shifts data in from the bus.
MasterThe device that initiates a transfer, generates clock signals and terminates a transfer.
SlaveThe device addressed by the master.
Multi-masterA bus with more than one device that can initiate data transfers.
ArbitrationProcedure to ensure that only one master at a time controls the bus. Winning arbitration ensures that the message is not corrupted.
SynchronizationProcedure to synchronize the clocks of two or more devices on the bus.
IdleNo master is controlling the bus, and both SDA and SCL lines are high.
ActiveAny time one or more master devices are controlling the bus.
Addressed SlaveSlave device that has received a matching address and is actively being clocked by a master.
Matching AddressAddress byte that is clocked into a slave that matches the value stored in SSPxADD.
Write RequestSlave receives a matching address with R/W bit clear, and is ready to clock in data.
Read RequestMaster sends an address byte with the R/W bit set, indicating that it wishes to clock data out of the Slave. This data is the next and all following bytes until a Restart or Stop.
Clock StretchingWhen a device on the bus hold SCL low to stall communication.
Bus CollisionAny time the SDA line is sampled low by the module while it is outputting and expected high state.