理论教育 串行数据格式解析

串行数据格式解析

时间:2023-06-15 理论教育 版权反馈
【摘要】:图13-6给出了I2C总线的数据传输格式。I2C模块支持1~8位数据值。图13-6 I2C模块数据传输格式1.7位地址格式在7位地址格式下,START信号之后的第一个字节包括7位从地址和1位位。图13-8 I2C模块10位寻址格式如果要选择10位寻址格式,向I2CMDR寄存器的XA位写入1,并确认自由数据格式模式处于关闭状态。在每个数据字节结束后插入一个应答位ACK,数据字节的长度根据I2CMDR寄存器的BC位可以设置为1~8位,不发送地址或数据方向信息。

串行数据格式解析

图13-6给出了I2C总线的数据传输格式。I2C模块支持1~8位数据值。数据线SDA上的每一位与SCL上的一个脉冲对应,且发送过程总是先发送最高有效位(MSB)。传输或接收的数据个数没有限制。图13-6中所用的串行数据格式为7位地址格式。I2C模块支持图13-7~图13-9给出的地址格式。

978-7-111-57271-8-Chapter13-7.jpg

图13-6 I2C模块数据传输格式(7位寻址和8位数据结构

1.7位地址格式

在7位地址格式下(如图13-7所示),START信号之后的第一个字节包括7位从地址和1位978-7-111-57271-8-Chapter13-8.jpg位。978-7-111-57271-8-Chapter13-9.jpg位确定数据传输的方向:

978-7-111-57271-8-Chapter13-10.jpg

图13-7 I2C模块7位寻址格式(I2CMDR.FDF=0,XA=0)

978-7-111-57271-8-Chapter13-11.jpg:主模块写数据到从地址模块。

978-7-111-57271-8-Chapter13-12.jpg:主模块由从模块读取数据。

在每个字节传输完成之后,插入一个应答位ACK专用的额外时钟周期。如果主模块发送完第一个字节后从模块发送一个应答信号,根据978-7-111-57271-8-Chapter13-13.jpg位的状态,在应答信号之后主模块或从模块就会发送n位数据,n的数值可以是1~8之间的数,由寄存器I2CMDR的BC位确定。数据发送完成之后,接收器会插入一个应答位。

如果要选择7位地址格式,向I2CMDR寄存器的扩展地址写入0以使能XA位,并确认自由数据格式模式处于关闭状态(I2CMDR.FDF=0)。

2.10位地址格式

10位地址格式与7位地址格式类似,如图13-8所示,但不同的是主模块发送从地址采用两个分离的字节传输。第一个字节由11110B、10位从地址的两个MSB和978-7-111-57271-8-Chapter13-14.jpg组成,第二个字节是10位从地址的剩余8位地址。从模块在每两字节传输完成之后必须发送一个应答信号。当主模块将第二个字节的地址写到从模块后,主模块可以写数据或者使用START信号重复操作改变数据传输方向。(www.daowen.com)

978-7-111-57271-8-Chapter13-15.jpg

图13-8 I2C模块10位寻址格式(I2CMDR.FDF=0,XA=l)

如果要选择10位寻址格式,向I2CMDR寄存器的XA位写入1,并确认自由数据格式模式处于关闭状态(I2CMDR.FDF=0)。

3.自由数据格式

在自由数据格式下,如图13-9所示,START之后的第一个字节是一个数据字节。在每个数据字节结束后插入一个应答位ACK,数据字节的长度根据I2CMDR寄存器的BC位可以设置为1~8位,不发送地址或数据方向信息。因此,在该方式下发送器和接收器都必须支持自由数据格式,并且在数据传输的过程中,数据传输的方向必须保持不变。

978-7-111-57271-8-Chapter13-16.jpg

图13-9 I2C模块自由数据格式(I2CMDR寄存器的FDF=1)

如果要选择自由数据格式,向I2CMDR寄存器的自由数据格式(FDF)位写1。在数字自循环测试(Loopback)模式下,不支持自由数据格式。

4.重复START操作

在每个数据字节传输结束时,主模块可以驱动另外的START操作。利用这一点,主模块可以与多个从地址通信而不需要通过STOP操作放弃总线控制权。数据字节的长度可以设置为1~8位,由I2CMDR寄存器BC位选择。重复START操作可以使用7位地址格式,10位地址格式和自由数据格式。图13-10给出了一个7位地址格式的重复START操作。

978-7-111-57271-8-Chapter13-17.jpg

图13-10 重复START操作(7位地址格式)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈