9-12 Intel® PXA26x Processor Family Developer’s Manual

Inter-Integrated Circuit Bus Interface Unit
Table 9-5. Master Transactions (Sheet 1 of 2)
I2C Master
Action Mode of
Operation Definition
Generate clock
output Master-transmit
Master-receive
Master drives the SCL line.
ICR[SCLE] bit must be set.
ICR[IUE] bit must be set.
Write target
slave address
to IDBR
Master-transmit
Master-receive
CPU writes to IDBR bits 7-1 before a START condition enabled.
First seven bits sent on bus after START.
See Section9.3.3, “Start and Stop Bus States”.
Write R/nW Bit
to IDBR Master-transmit
Master-receive
CPU writes to least significant IDBR bit with target slave address.
If low, master remains a master-transmitter. If high, master transitions to
a master-receiver.
See Section9.4.2, “Data and Addressing Management”.
Signal START
Condition Master-transmit
Master-receive
See “Generate clock output” above.
Performed after target slave address and R/nW bit are in IDBR.
Software sets ICR[START] bit.
Software sets ICR[TB] bit to initiate start condition.
See Section9.3.3, “Start and Stop Bus States”.
Initiate first
data byte
transfer
Master-transmit
Master-receive
CPU writes byte to IDBR
I2C unit transmits byte when ICR[TB] bit is set.
I2C unit clears ICR[TB] bit and sets ISR[ITE] bit when transfer is
complete.
Arbitrate for
I2C Bus Master-transmit
Master-receive
If two or more masters signal a start within the same clock period,
arbitration must occur.
I2C unit arbitrates for as long as needed. Arbitration takes place during
slave address and R/nW bit or data transmission and continues until all
but one master loses the bus. No data lost.
If I2C unit loses arbitration, it sets ISR[ALD] bit after byte transfer is
completed and transitions to slave-receive mode.
If I2C unit loses arbitration as it attempts to send target address byte, I2C
unit attempts to resend it when the bus becomes free.
System designer must ensure boundary conditions described in
Section9.4, “Inter-Integrated Circuit Bus Operation” do not occur.
Write one data
byte to the
IDBR
Master-transmit
only
I2C master operation data transmit mode.
Occurs when the ISR[ITE] bit is set and the ICR[TB] bit is clear. If the
IDBR Transmit Empty Interrupt is enabled, it is signalled to the
processor.
CPU writes one data byte to the IDBR, sets the appropriate START/
STOP bit combination, and sets the ICR[TB] bit to send the data. Eight
bits are taken from the shift register and written to the serial bus. The
eight bits are followed by a STOP, if requested.
Wait for
Acknowledge
from slave-
receiver
Master-transmit
only
As a master-transmitter, the I2C unit generates the clock for the
acknowledge pulse. The I2C unit releases the SDA line to allow slave-
receiver ACK transmission.
See Section9.4.3, “Inter-Integrated Circuit Acknowledge”.