I2C Slave detect Repeated Start

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I2C Slave detect Repeated Start

1,833 Views
gauthamkrishnan_r
Contributor II

If a Master I2C device is communicating with a Slave I2C device and generates a Repeated Start condition and starts communicating with second Slave I2C device, how will the first Slave device detect the Repeated Start condition? Will it be able to detect the Repeated Start at all, or will it keep waiting until the Master addresses it again?

Labels (1)
Tags (1)
0 Kudos
7 Replies

1,813 Views
r8070z
NXP Employee
NXP Employee

It means that a START condition and repeated START condition treated in the same way and the slave address will be checked.

0 Kudos

1,807 Views
gauthamkrishnan_r
Contributor II

Agree, but what will be the effect of the Repeated Start on the first slave device once the Master starts communicating with second slave device? The communication with first slave device is not cleanly terminated.

0 Kudos

1,775 Views
r8070z
NXP Employee
NXP Employee

What do you mean as communication with first slave device is clearly terminated? How it should be done?

0 Kudos

1,770 Views
gauthamkrishnan_r
Contributor II

I mean a 'clean termination' is done by a Stop condition, but in the absence of a Stop condition to the first slave device (when master initiates a Repeated Start followed by slave address of another slave device), the first slave device will not be able to recognize that master's communication with it has ended.

1,489 Views
danielholala
Senior Contributor II

I clearly understand the situation you are describing.

I'd hope that the first slave device would ignore the transaction with the second slave device (that's what I2C addresses are for, right) and thus keep its internal state machine (unaffected by the transaction with the second slave). But I don't know for sure whether I2C supports these kind of "piecewise" transactions.

Therefore I wonder why there's no reply from NXP. I'd be happy to have an official view on this situation.

 

0 Kudos

1,821 Views
gauthamkrishnan_r
Contributor II

Does it mean my slave device will not be able to recognize that the Master has started communicating to another slave device using a Repeated Start?

0 Kudos

1,829 Views
r8070z
NXP Employee
NXP Employee

The I2C specs says:

I2C-bus compatible devices must reset their bus logic on receipt of a START or repeated START condition such that they all anticipate the sending of a slave address, even if these START conditions are not positioned according to the proper format.

0 Kudos