I2C Slave detect Repeated Start

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

I2C Slave detect Repeated Start

3,566 次查看
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?

标签 (1)
标记 (1)
0 项奖励
回复
7 回复数

3,546 次查看
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 项奖励
回复

3,540 次查看
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 项奖励
回复

3,508 次查看
r8070z
NXP Employee
NXP Employee

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

0 项奖励
回复

3,503 次查看
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.

3,222 次查看
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 项奖励
回复

3,554 次查看
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 项奖励
回复

3,562 次查看
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 项奖励
回复