10位寻址和7 位寻址兼容,而且可以结合使用。
10位寻址采用了保留的1111XXX 作为起始条件(S)或重复起始条件(Sr )后第一个字节的头7 位。
10 位寻址不会影响已有的7 位寻址,有7 位和10 位地址的器件可以连接到相同的I2C 总线。它们都能用于标准模式(F/S)和高速模式(Hs)系统。
保留地址位1111XXX 有8 个组合,但是只有4 个组合11110XX 用于10 位寻址,剩下的4个组合11111XX 保留给后续增强的I2C 总线。
10 位从机地址是由在起始条件(S) 或重复起始条件(Sr )后的头两个字节组成。
第一个字节的头7 位是11110XX 的组合,其中最后两位(XX) 是10 位地址的两个最高位(MSB)。
第一个字节的第8 位是R/W 位,决定了传输的方向,第一个字节的最低位是“0”表示主机将写信息到选中的从机,“1 ”表示主机将向从机读信息。
如果R/W 位是“0 ”,则第二个字节是10 位从机地址剩下的8 位;如果R/W 位是“1” 则下一个字节是从机发送给主机的数据。
I2C器件寻址
由于I2C上接有多个器件, 就存在器件寻址问题
I2C总线上传送的数据信号是广义的, 既包括地址信号, 又包括真正的数据信号
主机发出开始信号后, 发送一个从机地址(7位), 第八位是数据方向位(R:1/W:0)
数据传输一般由主机产生结束信号,
但是当主机仍希望通信, 可以发出重复起始条件(Sr)和寻址另一个从机, 而不是产生一个停止条件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)