Intel® PXA26x Processor Family Developer’s Manual 9-5
Inter-Integrated Circuit Bus Interfac e Un i t
Figure 9-2 shows the relationship between the SDA and SCL lines for START and STOP
conditions.
9.3.3.1 START Condition
The START condition (ICR[START]=1, ICR[STOP]=0) initiates a master transaction or repeated
START . Before it sets the START ICR bit, so ftware must load the target slave address and the R/
nW bit in the IDBR ( see Section 9.9.2, “I2C Data Buffer Register- IDBR”). The START and the
IDBR contents are transmitted on the I2C bus after the ICR[TB] bit is set. The I2C bus stays in
master-transmit mode for write requests and enters master-recei ve mo de for read requests. For a
repeated start, a change in read or write, or a change in the target slave address, the IDBR contains
the updated target slave address and the R/nW bit. A repeated start enables a mast er to make
multiple transfers to different slaves without surr e ndering the bus.
The START condition is not cleared by the I2C unit. If the I2C loses arbitration while initiating a
START, it may re- attempt the START when the bus is freed. See Secti o n9.4.4, “Arbitration” for
details on how the I2C unit functions in thos e circumstances.
Table 9-4. START and STOP Bit Definitions
STOP
bit STAR
T bit Condition Notes
0 0 No START or STOP I2C unit sends a no START or STOP condition. Used when
multiple data bytes need to be transferred.
01
START Condition and
Repeated START
I2C unit sends a START condition and transmit the 8-bit IDBR’s
contents. The IDBR must contain the 7-bit address and the R/nW
bit before a START is initiated.
For a repeated start, the IDBR contains the target slave address
and the R/nW bit. This allows a master to make multiple transfers
to different slaves without giving up the bus.
The interface stays in master-transmit mode for writes and
transitions to master-receive mode for reads.
1 X STOP Condition
In master-transmit mode, the I2C unit transmits the 8-bit IDBR and
sends a STOP condition on the I2C bus.
In master-receive mode, the ICR[ACKNAK] must be changed to a
negative ACK (see Section9.4.3, “Inter-Integrated Circuit
Acknowledge”). The I2C unit transmits the NAK bit, receives the
data byte in the IDBR, and sends a STOP condition on the I2C
bus.
Figure 9-2. Start and Stop Conditions
SDA
SCL
Start Condition
~
~~
~~
~
Stop Condition