iic总线从机仲裁_I2C总线的仲裁问题

I2C

总线的仲裁问题

【问】有网友问关于

I2C

总线的仲裁问题:

The I2C-bus specification

的第

13

页有这样的话:

In other words, arbitration isnt allowed between:

* A repeated START condition and a data bit

* A STOP condition and a data bit

* A repeated START condition and a STOP condition.

Slaves are not involved in the arbitration procedure.

我现在遇到了一个问题,假设说有两台主机

A

B

同时发送数据给

C

,但

A

发送一个字节的数据,

B

发送两个字节的数据。并且他们第一个字节的

数据都相同。即

A

发送的是

start+C

地址

+

字节

1+stop,B

发送的数据是

start+C

地址

+

字节

1+

字节

2+stop.

由于第一个字节相同所以在第一个字节传送

完后仲裁过程没有结束。这就遇到了规范上所讲到的一个停止位和一个数据

位的情况,那幺是不应该发生仲裁的。如果说

B

发送的第二个字节的第一位

1

,那幺线与后

SCL

SDA

线实际上就表示了

stop

信号,如果不仲裁则

B

继续发数据,而此前

C

已经收到了一个停止信号。

C

停止了,那幺

B

所发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值