
UM10375
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2011. All rights reserved.
User manual
Rev. 3 — 14 June 2011
240 of 368
NXP Semiconductors
UM10375
Chapter 13: LPC13xx I2C-bus controller
13.11.6.2 Data transfer after loss of arbitration
Arbitration may be lost in the master transmitter and master receiver modes (see
). Loss of arbitration is indicated by the following states in I2STAT; 0x38, 0x68,
and
).
If the STA flag in I2CON is set by the routines which service these states, then, if the bus
is free again, a START condition (state 0x08) is transmitted without intervention by the
CPU, and a retry of the total serial transfer can commence.
13.11.6.3 Forced access to the I
2
C-bus
In some applications, it may be possible for an uncontrolled source to cause a bus
hang-up. In such situations, the problem may be caused by interference, temporary
interruption of the bus or a temporary short-circuit between SDA and SCL.
If an uncontrolled source generates a superfluous START or masks a STOP condition,
then the I
2
C-bus stays busy indefinitely. If the STA flag is set and bus access is not
obtained within a reasonable amount of time, then a forced access to the I
2
C-bus is
possible. This is achieved by setting the STO flag while the STA flag is still set. No STOP
condition is transmitted. The I
2
C hardware behaves as if a STOP condition was received
and is able to transmit a START condition. The STO flag is cleared by hardware (see
).
Fig 38. Simultaneous Repeated START conditions from two masters
SLA
A
W
SLA
S
18H
08H
A
DATA
28H
08H
OTHER MASTER
CONTINUES
other Master sends
repeated START earlier
S
retry
S
P
Fig 39. Forced access to a busy I
2
C-bus
SDA line
SCL line
STA flag
STO flag
time limit
start
condition