USB描述符概述

在USB总线接口协议中,规定了一些标准的USB描述符,如表所示。

对于USB设备来说,有些USB描述符是必需的,例如:

  • 设备描述符
  • 配置描述符
  • 字符串描述符
  • 接口描述符
  • 端点描述符

其余一些描述符并非必需,只在特定USB设备中使用,例如:设备限定描述符、其他速率配置描述符用于高速USB设备;OTG设备描述符用于USB OTG外设;超高速端点伴侣描述符用于超高速USB设备。

USB描述符其实就是一个数据集合,用来表征USB设备某一方面的功能。USB协议中严格规定了每一种描述符的数据格式。各个USB描述符均由一系列具有固定排列顺序的字段构成。通常来说,bLength为第一个字段,表示该描述符的长度;bDescriptorType为第二个字段,表示该描述符的类型。在描述符的定义中,往往采用特定的前缀字符来表示该字符的类型和长度,包括以下几类:

  • 前缀字符b:表示一个字节(8Bits);
  • 前缀字符w:表示一个字(16Bits);
  • 前缀字符bm:表示按位寻址;
  • 前缀字符bcd:表示采用二进制编码的十进制数;
  • 前缀字符i:表示索引值;
  • 前缀字符id:表示标识码;

// USB描述符是学习USB开发所必须首要掌握的。


相关资源连接:

http://www.usb.org/home

http://www.beyondlogic.org/usbnutshell/usb1.shtml

http://www.usbmadesimple.co.uk/index.html

http://www.ti.com/lit/ug/sprufm8/sprufm8.pdf

http://www.crifan.com/files/doc/docbook/usb_basic/release/htmls/index.html

原文地址:https://www.cnblogs.com/utank/p/4633848.html