
HT80C51 User Manual
Peripheral Modules – I2C Interface (SIO1)
Handshake Solutions
© Philips Electronics N.V. 2005
Page 71 of 132
Data Transfer After Loss of Arbitration
Arbitration may be lost in the Master Transmitter and Master Receiver modes (see [Figure 17]). Loss
of arbitration is indicated by the following states in S1STA: 38H, 68H, 78H, and B0H (see [Figure 21]
and [Figure 22]).
If the STA flag in S1CON is set by the routines which service these states, then, if the bus is free again,
a START condition (state 08H) is transmitted without intervention by the CPU, and a retry of the total
serial transfer can commence.
Forced Access to the I2C 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 tempo-
rary short-circuit between SDA and SCL.
If an uncontrolled source generates a superfluous START or masks a STOP condition, then the I2C
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 I2C bus is possible. This is achieved by setting the STO
flag while the STA flag is still set. No STOP condition is transmitted. The SIO1 hardware behaves as if
a STOP condition was received and is able to transmit a START condition. The ST0 flag is cleared by
hardware (see [Figure 26]).
S
SLA
W
A
DATA
18H
RECEPTION OF THE OWN SLAVE
ADDRESS AND ONE OR MORE
DATA BYTES ALL ARE
ACKNOWLEDGED
BOTH MASTERS CONTINUE
WITH SLA TRANSMISSION
A
S
08H
28 H
OTHER MASTER SENDS REPEATED
START CONDITION EARLIER
[Figure 25] Simultaneous Repeated START Conditions from 2 Masters