![Intel IXP45X Developer'S Manual Download Page 881](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092881.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
881
I2C Bus Interface Unit—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
21.4.3.3
STOP Condition
The STOP condition (bits 1:0 of the ICR set to 2’b10) terminates a data transfer. In
master-transmit mode, the STOP bit and the Transfer Byte bit in the ICR must be set to
initiate the last byte transfer (see
). In master-receive mode, the processor
must set the Ack/Nack bit, the STOP bit, and the Transfer Byte bit in the ICR to initiate
the last transfer. Software must clear the STOP condition after it is transmitted.
21.5
I
2
C Bus Operation
The I
2
C Bus Interface Unit transfers in 1 byte increments. A data transfer on the I
2
C
bus always follows the sequence:
1. START
2. 7-bit Slave Address
3. R/W# Bit
4. Acknowledge Pulse
5. 8 Bits of Data
6. Ack/Nack Pulse
7. Repeat of Step 5 and 6 for Required Number of Bytes
8. Repeated START (Repeat Step 1) or STOP
21.5.1
Serial Clock Line (SCL) Generation
The I
2
C unit of the IXP45X/IXP46X network processors is required to generate the I
2
C
clock output when in master mode (either receive or transmit). SCL clock generation is
accomplished through the use of the ICCR value, which is programmed at initialization.
shows how the ICCR value is used to determine the SCL transition period:
Figure 193. START and STOP Condition Events
B4258-01
START Condition
STOP Condition
Data Byte
Ack/
Nack
START
Ack/
Nack
Target Slave Address
R/W#
Data Byte
R/W#
Ack/
Nack
STOP
Equation 11. SCL Transition Period
SCL Transition Period = (ICCR Decimal Value + 1) * (processor-supplied clock period) *
(167 - (Fast Mode Enable *125))