usb传输类型

令牌包用来启动一个事务,总是由主机发送。

数据包传送数据,可以从主机到设备,也可以从设备到主机,方向由令牌包决定。

握手包的发送者通常为数据接收者,当数据接收正确后,发送握手包。设备也可以用NAK握手来决定数据还未准备好。

批量传输:

使用批量事务传输数据。三阶段:令牌包、数据包、握手包。批量传输分为批量读和批量写。应用在数据量大、对数据的实时性要求不高的场合。

批量输入事务
IN OUT 令牌包含设备地址和端点地址。

如果设备解码令牌包时出错,直接进入空闲状态。

PING令牌用来探测设备是否有空间接收数据,它没有数据阶段,只有握手阶段,设备根据实际情况返回握手包。

ACK握手包表示有空间接收设备,NAK表示没空间接收,STALL表示握手包端点挂起。

批量输入:主机发送IN令牌包,主机切换到数据接收状态,等待设备返回数据。如果主机收到设备发送的数据包并解码正确后,使用ACK握手包应答。如果设备没数据返回,则使用NAK响应主机。如果该端点处于挂起,返回STALL握手包。

批量输出:主机发送OUT令牌包,再发一个DATA包,主机切换到接受模式。如果设备解析令牌包和数据包无误,使用ACK握手包或NYET握手包来应答主机。如果没有保存数据,则返回NAK握手包。如果设备检测到数据正确,但端点挂起,则返回STALL握手包给主机。

控制传输:

建立过程、可选的数据过程、状态过程

建立过程使用一个建立事务。

建立事务:输出一个数据包

建立过程使用SETUP令牌包

SETUP只能使用DATA0包

设备只能采用ACK应答

控制传输可以没有数据过程。

控制读传输,数据事务是输入。控制写传输,数据事务是输出。

一旦数据传输方向发生改变,就会认为进入到状态过程,数据过程的第一个包必须是DATA1包,每次在DATA1/DATA0之间交换。

Status阶段是序列的最后一个事务。高速运行的设备的状态阶段还包括PING协议。状态阶段使用 DATA1 PID。如果数据阶段是OUT,则状态阶段是IN。

中断传输:

保证查询速率的传输

中断端点在端点描述符中要报告它的查询时间。主机保证不大于某个时间间隔内安排一次传输。

等时传输:

适合数据量大、对实时性要求高的场合,例如音频设备、视屏设备等。数据错误,不能进行重传。数据是否正确,可以由数据包的CRC校验确认。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值