UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
User manual
Rev. 1.3 — 6 July 2012
1144 of 1269
NXP Semiconductors
UM10503
Chapter 43: LPC43xx I2C-bus interface
43.10.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 STAT; 0x38, 0x68,
and
).
If the STA flag in CON 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.
43.10.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 171. 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 172. Forced access to a busy I
2
C-bus
SDA line
SCL line
STA flag
STO flag
time limit
start
condition