从零开始学USB(十三、USB的四种传输类型(2))

本文详细介绍了USB的四种传输类型:批量传输、中断传输、等时传输和控制传输。批量传输用于大量数据、实时性要求不高的场景;中断传输保证查询频率,适用于鼠标、键盘等设备;等时传输针对实时性要求高的音频、视频设备;控制传输则更为复杂,包括建立、可选数据和状态三个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然USB定义了数据在总线上传输的基本单位是包,但是我们还不能随意地使用包来传输数据。必须按照一定的关系把这些不同的包组织成事务(Transaction)才能传输数据

一、USB事务

那么事务是什么呢?事务通常由两三个包组成:令牌包,数据包 和握手包。

  • 令牌包用来启动一个事务,总是由主机发送。
  • 数据包传送数据,可以从主机到设备,也可以从设备到主机,方向由令牌包决定。
  • 握手包的发送者通常为数据接收者,当数据接收正确后,发送握手包。设备也可以用NAK握手来决定数据还未准备好。

USB协议规定了4种传输类型:批量传输、等时传输、中断传输和控制传输。其中批量传输、等时传输和中断传输每传输一次数据都是一个事务;控制传输包括三个过程,建立过程和状态过程分别是一个事务,数据过程则可能包含多个事务。

二、批量传输

批量传输是使用批量事务(Bulk Transactions)来传输数据。一次批量事务有三个阶段:令牌包阶段,数据包阶段和握手包阶段。批量传输分为批量读和批量写。批量读使用批量输入事务,霹雳啊写使用批量输出事务。

批量传输没有规定数据包中数据的意义和结构,具体的数据结构要由设备自己定义。批量传输通常在数据量大、对数据的实时性要求不高的场合,例如USB打印机、扫描仪、大容量存储设备等。

首先介绍批量输出事务。主机发出一个OUT令牌包,这个令牌中包含了设备地址、端点地址。然后再发送一个DATA包,这时地址和端点匹配的设备就会手下这个数据包。然后主机切换到接收模式,等待设备返回握手包。设备解码令牌包、数据包都准确

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的小刺猬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值