beautypg.com

4 i2csta=78h, 9 some special cases, 2 data transfer after loss of arbitration – NXP Semiconductors PCA9665 User Manual

Page 58: 3 forced access to the i2c-bus, Section 8.9.3 “forced, Access to the i, C-bus, Section 8.8.4, Pca9665

background image

PCA9665_2

© NXP B.V. 2006. All rights reserved.

Product data sheet

Rev. 02 — 7 December 2006

58 of 91

NXP Semiconductors

PCA9665

Fm+ parallel bus to I

2

C-bus controller

8.8.4 I2CSTA = 78h

This status code indicates that the SCL line is stuck LOW.

8.9 Some special cases

The PCA9665 has facilities to handle the following special cases that may occur during a
serial transfer.

8.9.1 Simultaneous repeated START conditions from two masters

A repeated START condition may be generated in the Master Transmitter or Master
Receiver modes. A special case occurs if another master simultaneously generates a
repeated START condition (see

Figure 15

). Until this occurs, arbitration is not lost by

either master since they were both transmitting the same data.

If the PCA9665 detects a repeated START condition on the I

2

C-bus before generating a

repeated START condition itself, it will use the repeated START as its own and continue
with the sending of the slave address.

8.9.2 Data transfer after loss of arbitration

Arbitration may be lost in the Master Transmitter and Master Receiver modes. Loss of
arbitration is indicated by the following states in I2CSTA; 38h, 68h, and B0h (see

Figure 7

,

Figure 11

,

Figure 8

, and

Figure 12

).

Remark: In order to exit state 38h, a Time-out, Reset, or external STOP are required.

If the STA flag in I2CCON 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.

8.9.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. If the I

2

C-bus stays idle for a time period equal to the time-out period, then the

PCA9665 concludes that no other master is using the bus and sends a START condition.

Fig 15. Simultaneous repeated START conditions from 2 masters

S

SLA

W

A

DATA

A

18h

28h

002aab028

other master sends
repeated START condition earlier

08h

S

both masters continue
with SLA transmission