半句多 发表于 2024-3-9 11:37:22

学习使用USB -----控制传输

本帖最后由 半句多 于 2024-3-9 11:37 编辑

一、控制传输

1、控制传输三种

[*]控制写(control write)
[*]控制读(control read)
[*]无数据传输(No-data)
2、控制传输通常由三个阶段组成:

[*]Setup阶段:传输建立,发送控制请求。
[*]Data阶段:数据发送阶段,可选,根据需要进行数据传输。
[*]Status阶段:确认整个控制传输过程结束

3、SETUP阶段
控制传输中的SETUP阶段,setup事务主机固定发出8字节请求,格式如下:


在USB的Setup事务中,每个字节都承载着重要的信息,下面是每个字节的具体含义:
[*]bmRequestType(1字节):控制请求类型。
[*]Bit 7:方向,0表示主机到设备,1表示设备到主机。
[*]Bit 6-5:类型(Type),0表示标准请求(Standard),1表示类请求(Class),2表示厂商特定请求(Vendor),3保留
[*]Bit 4-0:接收者(Recipient),用于指定请求的接收对象,0=设备(Device)1=接口(Interface)2=端点(Endpoint)3=其他 4-31=保留。

[*]bRequest(1字节):控制请求代码,用于指明要执行的具体请求或命令。




页: [1]
查看完整版本: 学习使用USB -----控制传输