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

[复制链接]
2087|2
 楼主| zju2014zxw 发表于 2017-3-6 16:28 | 显示全部楼层 |阅读模式
IIC写时序中,写入设备地址后,读写控制位为0,之后跟上字节地址与数据;而读时序,先写入设备地址应答后,读写控制位为0,之后又重新来一个START,才开始真正地读数据,为什么不一开始就读取设备地址然后应答,然后读取数据呢,开始为什么要先写设备地址??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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

粉丝
快速回复 在线客服 返回列表 返回顶部