![Intel IXP45X Скачать руководство пользователя страница 887](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092887.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
887
I2C Bus Interface Unit—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Table 279.
Master Transactions (Sheet 1 of 2)
I
2
C Master
Action
Mode of
Operation
Definition
Generate clock
output
Master-transmit
Master-receive
• The master always drives the SCL line.
• The ICCR register is written.
• The SCL Enable bit must be set.
• The Unit Enable bit must be set.
Write target
slave address to
IDBR
Master-transmit
Master-receive
• The CPU writes to IDBR bits 7-1 before a START condition is
enabled.
• First 7 bits sent on bus after START.
• See
“Start and Stop Bus States” on page 879
.
Write R/W# Bit
to IDBR
Master-transmit
Master-receive
• The CPU writes to the least significant IDBR bit with the target slave
address.
• If low, the master remains a master-transmitter. If high, the master
transitions to a master-receiver.
• See
“Data and Addressing Management” on page 882
.
Signal START
Condition
Master-transmit
Master-receive
• See “Generate clock output” above.
• Performed after the target slave address and the R/W# bit are in the
IDBR.
• CPU sets the START bit.
• CPU sets the Transfer Byte bit which initiates the start condition.
• See
“Start and Stop Bus States” on page 879
.
Initiate first
data byte
transfer
Master-transmit
Master-receive
• CPU writes byte to IDBR
• I
2
C Bus Interface Unit transmits the byte when the Transfer Byte bit
is set.
• I
2
C Bus Interface Unit clears the Transfer Byte bit and sets the IDBR
Transmit Empty bit when the transfer is complete.
Arbitrate for I
2
C
Bus
Master-transmit
Master-receive
• If two or more masters signal a start within the same clock period,
arbitration must occur.
• The I
2
C Bus Interface Unit will arbitrate for as long as necessary.
Arbitration takes place during slave address, R/W# bit, and data
transmission and continues until all but one master loses the bus.
No data is lost during arbitration.
• If the I
2
C Bus Interface Unit loses arbitration, it will set the
Arbitration Loss Detect ISR bit after byte transfer is complete and
transition to slave-receive (default) mode.
• If I
2
C Bus Interface Unit loses arbitration while attempting to send
the target address byte, the I
2
C Bus Interface Unit will attempt to
resend it when the bus becomes free.
• The system designer must ensure the boundary conditions described
“I2C Bus Operation” on page 881
do not occur.
Write one data
byte to the
IDBR
Master-transmit
only
• Data transmit mode of I
2
C master operation.
• Occurs when the IDBR Transmit Empty ISR bit is set and the
Transfer Byte bit is clear. If enabled, the IDBR Transmit Empty
Interrupt is signalled to the IXP45X/IXP46X network processors.
•
CPU
will write 1 data byte to the IDBR, set the appropriate START/
STOP bit combination, and then set the Transfer Byte bit to send the
data. Eight bits are written on the serial bus followed by a STOP if
requested.
Wait for
Acknowledge
from slave-
receiver
Master-transmit
only
• As a master-transmitter, the I
2
C Bus Interface Unit will generate the
clock for the acknowledge pulse. The I
2
C Bus Interface Unit is
responsible for releasing the SDA line to allow slave-receiver Ack
transmission.
• See