打印
[FPGA]

IIC协议中读时序为什么会有两个START

[复制链接]
1589|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IIC写时序中,写入设备地址后,读写控制位为0,之后跟上字节地址与数据;而读时序,先写入设备地址应答后,读写控制位为0,之后又重新来一个START,才开始真正地读数据,为什么不一开始就读取设备地址然后应答,然后读取数据呢,开始为什么要先写设备地址??

IIC器件单字节读时序.png (129.35 KB )

IIC器件单字节读时序.png

相关帖子

沙发
aozima| | 2017-3-6 18:17 | 只看该作者
start之后的地址中包含了R/W这个方向。
先是 start+W 写入数据,作为器件内部的地址(由器件自己定义)
再是 start+R 读取数据。

使用特权

评论回复
板凳
waiter| | 2017-5-30 14:23 | 只看该作者
你这个时序图,第一个那个注意没有,叫“Dummy Write”,其实你看前后两个 写的东西是不同的。这个“dummy write”中,有Word Address n这个东西,后面就没有了。其实这是在给器件提供地址,告诉器件后面将要从哪个地址开始读。 其实你一上来,也可以跳过“Dummy Write”,而直接从后面那个写“device address”开始的,但是这样就是表示从器件内部的“当前地址”开始读。 如果你已经知道当前地址是多少,而当前地址就是你要读的起始地址,那就没任何问题的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝