您现在的位置是:主页 > USB3.2超高速协议规范 >
USB3.2超高速 BOS描述符
发布时间:2022-11-25 05:12:23所属栏目:USB3.2超高速协议规范 已帮助人编辑作者:【USB接口百科】
USB3.2规范新增加了一个灵活且可扩展的框架,用于描述设备级功能特性。
BOS(Binary Device Object Store)是与配置描述符类似的一个根描述符。使用该描述符,可以访问一系列相关描述符的基本描述符。
和配置描述符一样,主机通过读取BOS描述符的wTotalLength字段中获取该BOS描述符的总大小,然后根据总大小读取设备功能的整个BOS描述符集。所以BOS描述符的获取是分两次获取的,第一次只取BOS描述符的头部(包括wTotalLength字段),然后再根据wTotalLength字段再次获取BOS描述符的全部内容。
和其它描述符一样,主机通过使用 GET_DESCRIPTOR 请求读取该描述符。读取BOS描述符使用的描述符类型为15(BOS描述符)。
更多的USB描述符类型可详见:http://www.usbzh.com/article/detail-434.html
BOS描述符的结构如下:
| 字节偏移 | 字段 | 长度 | 描述 | 
|---|---|---|---|
| 0 | bLength | 1 | 描述符的大小,固长为5 | 
| 1 | bDescriptorType | 1 | BOS描述符类型,固定为15 | 
| 2 | wTotalLength | 2 | BOS描述符的总大小,以字节为单位 | 
| 4 | bNumDeviceCaps | 1 | BOS描述符中独立设备功能特性描述符的数量 | 
BOS描述符定义:
typedef struct _BOS_DESCRIPTOR
{
    BYTE bLength;           //设字节数大小,为0x5 
    BYTE bDescriptorType;   //描述符类型,固定为15
    WORD  wTotalLength        //总大小  
    BYTE bNumDeviceCaps     //设备功能特性描述符的数量
}BOS_DESCRIPTOR,*PBOS_DESCRIPTOR;
USB2.0 BOS描述符示例    0X05,        // bLength LEN_BOS
    0x0F,       // bDescriptorType DESC_BOS
    0x0C & 0x00FF,  // wTotalLength
    (0x0C & 0xFF00) >> 8,
    0x01,           // bNumDeviceCaps
    /* Device Capability */
    0X07,     // bLength LEN_BOSCAP
    0x10,// bDescriptorType DESC_CAPABILITY
    0x02,  // bDevCapabilityType //CAP_USB20_EXT
    0x02, 0x00, 0x00, 0x00  // bmAttributes
独立设备功能特性描述符
各独立设备功能特性描述符的通用结构如下表:
| 字节偏移 | 字段 | 长度 | 描述 | 
|---|---|---|---|
| 0 | bLength | 1 | 描述符的大小 | 
| 1 | bDescriptorType | 1 | 描述符的类型,固定为DEVICE CAPABILITY 类型. | 
| 2 | bDevCapabilityType | 1 | 描述符的DEVICE CAPABILITY 子类型,见下表 | 
| 3 | Capability-Dependent | Var | 各功能特性的格式. | 
| 功能特性代码 | 值 | 说明 | 
|---|---|---|
| Wireless_USB | 01H | |
| USB 2.0 EXTENSION | 02H | 参见 USB2.0扩展特性描述符 | 
| SUPERSPEED_USB | 03H | 参见 超高速USB设备特性描述符 | 
| CONTAINER_ID | 03H | 参见 容器ID描述符 | 
| PLATFORM | 05H | 平台描述符 | 
| POWER_DELIVERY_CAPABILITY | 06H | |
| BATTERY_INFO_CAPABILITY | 07H | |
| PD_CONSUMER_PORT_CAPABILITY | 08H | |
| PD_PROVIDER_PORT_CAPABILITY | 09H | |
| SUPERSPEED_PLUS | 0AH | 增加型超高速USB设备特性描述符 | 
| PRECISION_TIME_MEASUREMENT | 0BH | 精密时间测量描述符 | 
| Wireless_USB_Ext | 0CH | |
| BILLBOARD | 0DH | |
| AUTHENTICATION | 0EH | |
| BILLBOARD_EX | 0FH | |
| CONFIGURATION SUMMARY | 10H | 配置概要描述符 | 
| Reserved | 00H,11H – FFH | 
以上就是USB接口百科为您提供USB3.2超高速 BOS描述符的解读,本文章链接: http://www.usb-hub.cn/usb32gf/42250.html 欢迎分享转载,更多婚礼相关资讯请前往USB3.2超高速协议规范
相关文章
猜你喜欢
          USB超高速3.0/3.2在电磁、引脚定义及物理接口TYPE-C上的变化
USB 3.0,其USB速率模式称为“Super Speed”,是通用序列总线(Universal Serial Bus,...
          USB超高速3.0协议与USB2.0协议的差异
超高速在框架层级是向后兼容 USB 2.0 的。然而, USB 2.0 和超高速协议还是有一...
          USB超高速(SuperSpeed)体系结构
USB超高速(SuperSpeed)体系结构在协议层分为物理层,数据链路层,协议层。...
          USB3.2超高速兼容USB2.0数据收发的双总线架构
超高速USB体系和以前的USB版本的功能一致,都是通过USB线缆将USB主机USB外设相...
USB接口百科推荐
          USB3.2超高速的设备总线枚举
          USB3.2超高速兼容USB2.0数据收发的双总线架构
          USB3.2超高速 BOS描述符
          USB3.2超高速链路通道极性反转
          USB超高速规范物理层概述
          USB超高速 增强型超高速USB设备特性描述符
          USB超高速 配置概要描述符
          USB3.2超高速GEN2数据扰频
          USB3.2中数据通路lan的概念
          USB超高速(SuperSpeed)体系结构
          USB超高速 GEN1设备状态
          USB3.2超高速 USB2.0扩展特性描述符
          USB超高速设备描述符的bMaxPacketSize0为0x09
          USB3.2时钟补偿-弹性缓冲器和SKP有序集
          USB3.2超高速描述符分类
