![Intel IXP45X Скачать руководство пользователя страница 877](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092877.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
877
I2C Bus Interface Unit—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
As an example of I
2
C bus operation, consider the case of the IXP45X/IXP46X network
processors acting as a master on the bus (see
). The processor, as a master,
addresses an EEPROM as a slave to receive data. The processor is a master-transmitter
and the EEPROM is a slave-receiver. When the processor reads data, it is a master-
receiver and the EEPROM is a slave-transmitter. In both cases, the master generates
the clock, initiates the transaction, and terminates it.
The I
2
C bus allows for a multi-master system, which means more than one device can
initiate data transfers at the same time. To support this feature, the I
2
C bus arbitration
relies on the wired-AND connection of all I
2
C interfaces to the I
2
C bus. Two masters can
drive the bus simultaneously provided they are driving identical data. The first master
to drive SDA high while another master drives SDA low loses the arbitration. The SCL
line consists of a synchronized combination of clocks generated by the masters using
the wired-AND connection to the SCL line.
The I
2
C bus serial operation uses an open-drain wired-AND bus structure, which allows
multiple devices to drive the bus lines and to communicate status about events such as
arbitration, wait states, error conditions and so on. For example, when a master drives
the clock (SCL) line during a data transfer, it transfers a bit on every instance that the
clock is high. When the slave is unable to accept or drive data at the rate that the
master is requesting, the slave can hold the clock line low between the high states to
insert a wait interval. The master’s clock can only be altered by a slow slave peripheral
keeping the clock line low or by another master during arbitration.
I
2
C transactions are either initiated by the IXP45X/IXP46X network processors as a
master or are received by the IXP45X/IXP46X network processors as a slave. Both
conditions may result in the processor doing reads, writes, or both to the I
2
C bus.
21.4.1
Operational Blocks
The I
2
C Bus Interface Unit is a slave peripheral device that is connected to the
peripheral bus. The interrupt mechanism for the IXP45X/IXP46X network processors
can be used for notifying the CPU that there is activity on the I
2
C bus. Polling can be
Slave
The device addressed by a master.
Multi-master
More than one master can attempt to control the bus at the same time without corrupting
the message.
Arbitration
Procedure to ensure that, when more than one master simultaneously tries to control the
bus, only one is allowed. This procedure ensures that messages are not corrupted.
Table 276.
I
2
C Bus Definitions (Sheet 2 of 2)
I
2
C Device
Definition
Figure 191. I
2
C Bus Configuration Example
B4255-02
SCL
SDA
Intel
®
IXP46X
Network Processor
EEPROM
Gate
Array
Micro-
Controller