USB四大传输

10.1 控制传输

控制传输分为三个过程建立过程,(可选)数据过程和状态过程。

建立过程

建立过程使用的是SETUP令牌包,然后是数据包,SETUP只能使用DATA0包。最后才是握手包,设备只能使用ACK回应(除非出错),不能使用NAK或者STALL,事物必须接收建立事物数据。具体过程如图所示。
在这里插入图片描述

数据过程

该过程是一个可选的,即一个控制传输可能没有数据过程。如果有数据过程一个数据过程可能有一个或者多个数据事务。在数据传输的过程中数据传输的过程方向必须是唯一的。要么全是写(OUT),要么全是读(IN)。数据传输过程中第一个数据包必须是DATA1包。在每次正确传输一个数据包后在DATA0和DATA1之间交替。

状态过程

状态过程中的传输方向和数据过程的方向相反,状态过程只使用DATA1包。
在这里插入图片描述

10.2 批量传输

批量输出事务

主机先发出一个OUT令牌包,这个包包含了设备地址和端点号。然后再发送一个DATA包,地址和端点匹配的设备会收下这个包。将主机切换到接收模式。等待设备返回握手包,等待设备解析令牌包,握手包都没有问题之后,使用ACK包或者NYET包来回应主机(高速模式才有NYET握手包,表示本次数据成功接收,没有能力接收下一次传输)。若没有足够缓冲区来保存数据,就返回NAK握手包。通知主机没有缓冲可以用。主机在接下来的时间里重试该批量的输出事务,如若检测到正确的数据,但是端点处于挂起的状态,返回一个STALL握手包。如果设备检测到有错误,不做任何反应,让主机等待超时。

批量输入事务

主机会先发出一个IN令牌包,IN令牌包包含了设备地址和端点号。切换到接收数据状态,等待设备返回数据。如果设备检测到错误,那么不做任何反应,等待超时。如果地址和端点匹配,也没有检测到错误,该设备做出响应,如果设备数据需要返回,把一个数据包放到总线上。如果设备没有数据需要返回,直接使用NAK包响应主机,如果该主机处于挂起状态,返回一个STALL握手包。如果主机接收到设备发送的数据包并且正确解码后,用ACK响应设备。如果主机检测到错误不做任何反应,设备会检测到超时,主机不允许使用NAK包拒绝接收数据包。主机在接收到NAK 握手包,知道设备暂时没有数据返回。主机会在稍后时间里重试该输入事务。
在USB2.0设备中添加了一个PING令牌包,它不会发出数据,直接等待事务的握手包。PING事务只有令牌包和握手包。
在这里插入图片描述在没有数据传输的时候,总线处于空闲状态。当需要传输一个事务的时候,主机发送一个令牌包,既可以是IN令牌包也可以是OUT令牌包或者PING包(USB2.0特有)全速和低速没有。
如果令牌包解析出错,直接进入空闲状态。
在令牌包之后是数据阶段或者握手阶段,批量事务由设备返回数据,返回NAK握手包或者STALL握手包。对于批量事务在令牌包后在发送一个数据包。
PING令牌包检测设备是否有空间接受数据,没有数据阶段只有握手阶段,根据实际情况返回握手包。ACK表示有空间接收,NAK表示没有空间STALL表示挂起。
握手阶段,对于批量传输事务,如果主机接收到正确数据返回ACK包,否则什么都不返回。主机必须能接收数据,不能用NAK回复设备,设备如果能接收到数据返回ACK,如果设备没有空间接收数据包就返回NAK握手包,如若设备挂起就返回STALL握手包;如果设备检测到传输事务,什么都不返回,直接进到空闲状态。
在这里插入图片描述

10.3 中断传输

中断传输是一种频率性的传输,中断端点在描述符中报告他的查询间隔,主机保证在这个时间间隔范围内安排传输一次。
这里的中断是在一定时间里主机安排的一次传输。通常数据量不大但时间要求严格。中断传输也可以用来检测某个状态,当状态满足的时候用批量传输传输数据。
除了端点查询策略不一样之外,中断传输和批量传输的结构基本一样。中断传输没有PING包和NYET包。
在这里插入图片描述

10.4 同步传输

同步传输数据量大,实时性高,正确性要求不高,少量错误是可以容忍的,传输不能停顿。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

传输类型的最大包长

对于控制传输而言低速模式最大包长固定为8字节,高速模式最大为64字节,全速可在8,16,32,64中选择。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述对于中断传输的端点,低速模式的最大包长上限为8字节,全速最大包长为64字节,高速最大包长为1024字节。
在这里插入图片描述在这里插入图片描述在这里插入图片描述对于同步传输全速模式下最大包长上限为1023字节,高速模式下最大包长为1024字节,低速模式不支持同步传输。
在这里插入图片描述在这里插入图片描述对于批量传输,高速模式固定为512字节,全速模式在8,16,32,64字节中选择,不知此低速莫斯。
在这里插入图片描述在这里插入图片描述本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值