Intel® PXA26x Processor Family Developer’s Manual 9-11
Inter-Integrated Circuit Bus Interfac e Un i t
If the I2C unit loses arbitration as the address bits are transferred and it is not addressed by the
address bits, the I2C unit resends the address when the I2C bus becomes free. A resend is possible
because the IDBR and ICR registers are not overwritten when arbitration is lost .
If the I2C unit loses arbitration because another bus master addresses the processor as a slave
device, the I2C unit switches to slave-receive mode and overwrites the original data in the I2C data
buffer register. Software can clear the start and re-ini tiate the master transaction.
Note: Software must prevent the I2C unit from starting a transaction to its own slave address because
such a transaction puts the I2C unit in an indeterminate state.
Arbitration has boundary conditions in case an arbitration process is interrupted by a repeated
START or STOP condition transmitted on the I2C bus. To prevent errors, the I2C u nit acts as a
master if no arbitration takes place in the following circumstances:
Between a repeated START condition and a data bit
Between a data bit and a STOP condition
Between a repeated START condition and a STOP condition
These situations occur if different masters write identical data to the same target slave
simultaneously and arbitration cannot be resolved after the firs t data byte transfer.
Note: Software ensures that arbitration is reso lved q ui ckly. For example, software can ensure that masters
send unique data by requiring that each master transmit its I2C address as the first data byte of any
transaction. When arbitration is resolved, the winn ing mas ter sen ds a r estar t an d begin s a val id data
transfer. The slave discards the master’s address and use the other data.
9.4.5 Master Operations
When software initiates a read or write on the I2C bus, the I2C unit transitions fr om the default
slave-receive mode to master-transmit mode. The 7-bit sla ve address and the R/nW bit follow the
start pulse. After the master receives an acknowledge, the I 2C unit en ters one of t wo master modes:
Master-Transmit – I2C unit writes data
Master-Receive – I2C unit reads data
The CPU writes to the ICR register to initiate a master transaction. Data is read and written from
the I2C unit through the memory-mapped registers. Table 9 -5 describes the I2C unit’s
responsibilities as a master device.