文档详情

USB命令(请求)及标准描述符等相关归纳介绍.pdf

发布:2019-02-27约2.7万字共12页下载文档
文本预览下载声明
当USB 设备第一次连接到主机上时,要接收主机的枚举和配置,目的就是让主机知道该设备具有什么功能、是哪一类的USB 设备、需要占 用多少USB 的资源、使用了哪些传输方式以及传输的数据量多大等等。只有主机完全确认了这些信息后,设备才能真正开始工作。这些信息是 通过存储在设备中的USB 描述符来体现的。 USB 设备的属性包括很多内容,为了便于管理,USB 协议1.1 将这些信息做了分类,定义了很多种描述符,其中标准的描述符包括: 设备描 述符、配置描述符、接口描述符、端点描述符、字符串描述符。 这些描述符之间具有一定的关系,设备描述符是最高级的描述符,而端点描述符是最低级的描述符。每一个设备只有一个设备描述符,但 设备描述符可以包含多个配置描述符;而一个配置描述符又可包含多个接口描述符;一个接口使用了几个端点,就有几个端点描述符。字符串 描述符是可选的。 所有的命令虽然有不同的数据和使用目的,有的USB 命令结构是一样的。控制传输的“初始设置步骤”中包含了1 个8 字节的DATA0 数据包, 这8 字节的数据包是主机用来发送控制阶段中的请求命令的,而这些请求命令是主机配置USB 设备的关键。这里就来详细分析这8 字节请求命 令的结构和内容: 表1、USB命令的结构 偏移量 域 长度 (字节) 值 描述 请求特征: D7:传输方向:0=主机至设备; 1=设备至主机 0 bmRequestType 1 位图 D6..5:种类:0=标准; 1=类; 2=厂商; 3=保留 D4..0:接受者:0=设备; 1=接口; 2=端点; 3=其他 4..31 保留 1 bRequest 1 值 命令类型编码值 (见表3) 2 wValue 2 值 根据不同的命令,含义也不同 4 wIndex 2 索引或偏移 根据不同的命令,含义也不同,主要用于传送索引或偏移 6 wLength 2 如有数据传送阶段,此为数据字节数。 表2、USB 的11种标准命令 bmRequestType bRequest wValue wIndex wLength Data 特性选择符 零 零 无 CLEAR_FEATURE 接口号 端点号 GET_CONFIGURATION 零 零 一 配置值 GET_DESCRIPTOR 描述表种类(高字节,见表4)和索引 (低字节) 零或语言标志 描述表长 描述表 GET_INTERFACE
显示全部
相似文档