![Intel IXP45X Скачать руководство пользователя страница 882](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092882.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—I2C Bus Interface Unit
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
882
Order Number: 306262-004US
The SCL transition period is the amount of time the clock spends in the high or low
state. When wait states are inserted or synchronization with another master is
necessary, the I
2
C unit performs the necessary clock synchronization.
Note:
The ICCR register is reserved on the IXP45X/IXP46X network processors. The I
2
C unit’s
master driver clock, SCL, has the option of running at 100-Kbps or 400-Kbps. This is
set in the I
2
C Control Register (IDBR) (see
Section 21.10.1, “I2C Control Register -
21.5.2
Data and Addressing Management
Data and slave addressing is managed via the I
2
C Data Buffer Register (IDBR) and the
I
2
C Slave Address Register (ISAR). The IDBR (see
“I2C Data Buffer Register - IDBR” on
) contains data or a slave address and R/W# bit. The ISAR contains the
processor’s programmable slave address. Data coming into the I
2
C unit is received into
the IDBR after a full byte is received and acknowledged. To transmit data, the CPU
writes to the IDBR, and the I
2
C unit passes this onto the serial bus when the Transfer
Byte bit in the ICR is set. See
“I2C Control Register - ICR” on page 897
When the I
2
C unit is in master- or slave- transmit mode:
1. Software writes data to the IDBR over the internal bus.
This initiates a master transaction or sends the next data byte after the ISR[IDBR
Transmit Empty] bit is set.
2. The I
2
C unit transmits the data from the IDBR when the ICR[Transfer Byte] is set.
3. When enabled, an IDBR Transmit Empty interrupt is signalled when a byte is
transferred on the I
2
C bus and the acknowledge cycle is complete.
4. When the I
2
C bus is ready to transfer the next byte before the CPU has written the
IDBR and a STOP condition is not in place, the I
2
C unit inserts wait states until the
CPU writes a new value into the IDBR and sets the ICR[Transfer Byte] bit.
When the I
2
C unit is in master- or slave-receive mode:
1. The processor reads IDBR data over the internal bus after the IDBR Receive Full
interrupt is signalled.
2. The I
2
C unit transfers data from the shift register to the IDBR after the Ack cycle
completes.
3. The I
2
C unit inserts wait states until the IDBR is read.
For acknowledge pulse information in receiver mode, see
.
4. After the CPU reads the IDBR, the I
2
C unit writes the ICR[AckNak] Control bit and
the ICR[Transfer Byte] bit, allowing the next byte transfer to proceed.
21.5.2.1
Addressing a Slave Device
As a master device, the I
2
C unit must compose and send the first byte of a transaction.
This byte consists of the slave address for the intended device and a R/W# bit for
transaction definition. The slave address and the R/W# bit are written to the IDBR (see