【USB笔记】设备功能描述符Device Capability Descriptor

USB笔记 设备功能描述符(Device Capability Descriptor)

设备功能描述符(Device Capability Descriptor)是用于存储特定某项技术或设备功能信息的描述符,和BOS描述符(BOS Descriptor)一起由Wireless Universal Serial Bus Specification Revision 1.0规范引入,之后在USB 2.0 ECN: Link Power Management (LPM) 、USB3.x Specification、Microsoft OS 2.0 Descriptors Specification 等协议规范都加入了定义。

单个的特定技术或者通用的设备层级的功能通过设备功能描述符(Device Capability Descriptor)来上报。设备功能描述符(Device Capability Descriptor)总是作为GetDescriptor(BOS)请求返回的BOS信息的一部分返回。主机端不能单独读取单个的设备功能描述符(Device Capability Descriptor),无法使用GetDescriptor()或SetDescriptor()请求直接读取或设置单独的设备功能,只能通过GetDescriptor()请求获取BOS描述符(BOS Descriptor)并通过wTotalLength字段得到长度来读取整个描述符集。

设备功能描述符(Device Capability Descriptor)具有通用头(generic header),带有子类型字段(bDevCapabilityType),这个字段定义了描述符其余部分的布局(layout)。

Device Capability Descriptor

OffsetFieldSizeValueDescription
0bLength1Number以字节为单位的描述符大小
1bDescriptorType1Constant设备功能描述符类型
2bDevCapabilityType1Number设备功能类型
3Capability-DependentVarVariable特定功能的格式

bLength以字节为单位的描述符大小。

bDescriptorType设备功能描述符类型,为DEVICE CAPABILITY(0x10)。

bDevCapabilityType 设备功能类型。

Capability CodeValueDescriptionSpecification
Wireless_USB01H定义一组特定于无线USB的设备级功能Wireless Universal Serial Bus Specification
USB 2.0 EXTENSION02HUSB2.0拓展描述符Universal Serial Bus 3.x Specification
SUPERSPEED_USB03H定义一组特定于超高速USB的设备级功能Universal Serial Bus 3.x Specification
CONTAINER_ID04H定义用于在所有操作模式下标识实例的实例唯一IDUniversal Serial Bus 3.x Specification
PLATFORM05H定义特定于特定平台/操作系统的设备功能Microsoft OS 2.0 Descriptors Specification
Universal Serial Bus 3.x Specification
POWER_DELIVERY_CAPABILITY06H定义此设备的各种PD功能Universal Serial Bus Power Delivery Specification
BATTERY_INFO_CAPABILITY07H提供设备支持的每个电池的信息Universal Serial Bus Power Delivery Specification
PD_CONSUMER_PORT_CAPABILITY08H描述功耗特性和功能Universal Serial Bus Power Delivery Specification
PD_PROVIDER_PORT_CAPABILITY09H描述电源提供特性和功能Universal Serial Bus Power Delivery Specification
SUPERSPEED_PLUS0AH定义一组特定于SuperSpeed Plus USB设备级的功能Universal Serial Bus 3.x Specification
PRECISION_TIME_MEASUREMENT0BH精密时间测量(PTM)功能描述符Universal Serial Bus 3.x Specification
Wireless_USB_Ext0CH定义一组特定于无线USB 1.1的设备级功能
BILLBOARD0DHBillboard capability懒得找了
AUTHENTICATION0EHAuthentication Capability Descriptor懒得找了
BILLBOARD_EX0FHBillboard Ex capability懒得找了
CONFIGURATION SUMMARY10H汇总设备实现的功能的配置信息Universal Serial Bus 3.x Specification
Reserved00H, 11-FFH保留供将来使用
注意:最新的设备功能类型代码(Device Capability Type Codes)将在usb.org上列出。

Capability-Dependent 取决于bDevCapabilityType。

获取设备功能描述符

主机通过发送Get Descriptor请求,取得BOS描述符及其子描述符。设备功能描述符(Device Capability Descriptor)总是作为BOS描述符的一部分返回。

Get DescriptorValue
bmRequestType0x80
  bmRequestType.Recipient0b00000(Device)
  bmRequestType.Type0b00(Standard)
  bmRequestType.Direction0b1(Device-to-Host)
bRequest0x06(Get Descriptor)
wValue0x0f00(BOS#0)
wIndex0x0000
wLength0x???

下面举例说明一个获取设备功能描述符(Device Capability Descriptor)的过程。使用USB分析仪抓包,软件Total Phase Data Center。

获取一个设备的设备功能描述符(Device Capability Descriptor),该设备的设备功能描述符(Device Capability Descriptor)如下所示,这是一个USB 2.0 Extension Descriptor:
Device Capability Descriptor

使用USB分析仪抓包可以看到,获取BOS描述符(BOS Descriptor),而设备功能描述符(Device Capability Descriptor)就包含在其中:
1

设备功能描述符(Device Capability Descriptor)的获取过程如下:
2

再展开看到详细的过程:
3

接下来详细看整个获取过程的各个字段含义:
4

一开始的setup包过程:
5

setup data:
6

IN包过程
7

OUT包过程:
8

完成整个设备功能描述符(Device Capability Descriptor)的获取。


附录

Wireless USB 1.x Device Capability Descriptor

OffsetFieldSizeValueDescription
0bLength1NumberSize of this descriptor.
1bDescriptorType1ConstantDescriptor type: DEVICE CAPABILITY Type.
2bDevCapabilityType1NumberValid values are listed in Table 7-24.
3Capability-DependentVarVariableCapability-specific format.

Wireless USB 1.0 Device Capability Type Codes

Capability CodeValueDescription
Wireless_USB01HDefines the set of Wireless USB-specific device level capabilities.
Reserved00H, 02-FFHReserved for future use.

Wireless USB 1.1 Device Capability Type Codes

Capability CodeValueDescription
Wireless_USB01HDefines the set of Wireless USB-specific device level capabilities.
Wireless_USB_Ext02HDefines the set of Wireless USB 1.1-specific device level
capabilities.
Reserved00H, 03-FFHReserved for future use.

USB 3.x Device Capability Descriptor

OffsetFieldSizeValueDescription
0bLength1NumberSize of this descriptor.
1bDescriptorType1ConstantDescriptor type: DEVICE CAPABILITY Type.
2bDevCapabilityType1NumberValid values are listed in Table 9-14.
3Capability-DependentVarVariableCapability-specific format.

USB 3.0 Device Capability Type Codes

Capability CodeValueDescription
Wireless_USB01HDefines the set of Wireless USB-specific device level capabilities
USB 2.0 EXTENSION02HUSB 2.0 Extension Descriptor
SUPERSPEED_USB03HDefines the set of SuperSpeed USB specific device level capabilities
CONTAINER_ID04HDefines the instance unique ID used to identify the instance across all operating modes
Reserved00H, 05-FFHReserved for future use

USB 3.1 Device Capability Type Codes

Capability CodeValueDescription
Wireless_USB01HDefines the set of Wireless USB-specific device level capabilities
USB 2.0 EXTENSION02HUSB 2.0 Extension Descriptor
SUPERSPEED_USB03HDefines the set of SuperSpeed USB specific device level capabilities
CONTAINER_ID04HDefines the instance unique ID used to identify the instance across all operating modes
PLATFORM05HDefines a device capability specific to a particular platform/operating system
POWER_DELIVERY_CAPABILITY06HDefines the various PD Capabilities of this device
BATTERY_INFO_CAPABILITY07HProvides information on each battery supported by the device
PD_CONSUMER_PORT_CAPABILITY08HThe consumer characteristics of a port on the device
PD_PROVIDER_PORT_CAPABILITY09HThe provider characteristics of a port on the device
SUPERSPEED_PLUS0AHDefines the set of SuperSpeed Plus USB specific device level capabilities
PRECISION_TIME_MEASUREMENT0BHPrecision Time Measurement (PTM) Capability Descriptor
Wireless_USB_Ext0CHDefines the set of Wireless USB 1.1-specific device level capabilities
Reserved00H, 0D-FFHReserved for future use

USB 3.2 Device Capability Type Codes

Capability CodeValueDescription
Wireless_USB01HDefines the set of Wireless USB-specific device level capabilities
USB 2.0 EXTENSION02HUSB 2.0 Extension Descriptor
SUPERSPEED_USB03HDefines the set of SuperSpeed USB specific device level capabilities
CONTAINER_ID04HDefines the instance unique ID used to identify the instance across all operating modes
PLATFORM05HDefines a device capability specific to a particular platform/operating system
POWER_DELIVERY_CAPABILITY06HDefines the various PD Capabilities of this device
BATTERY_INFO_CAPABILITY07HProvides information on each battery supported by the device
PD_CONSUMER_PORT_CAPABILITY08HThe consumer characteristics of a port on the device
PD_PROVIDER_PORT_CAPABILITY09HThe provider characteristics of a port on the device
SUPERSPEED_PLUS0AHDefines the set of SuperSpeed Plus USB specific device level capabilities
PRECISION_TIME_MEASUREMENT0BHPrecision Time Measurement (PTM) Capability Descriptor
Wireless_USB_Ext0CHDefines the set of Wireless USB 1.1-specific device level capabilities
BILLBOARD0DHBillboard capability
AUTHENTICATION0EHAuthentication Capability Descriptor
BILLBOARD_EX0FHBillboard Ex capability
CONFIGURATION SUMMARY10HSummarizes configuration information for a function implemented by the device
Reserved00H, 11-FFHReserved for future use
Note: The most up-to-date Device Capability Type Codes will be listed on usb.org.

[参考资料]

Universal Serial Bus Specification Revision 2.0

Universal Serial Bus 3.0 Specification

Universal Serial Bus 3.1 Specification

Universal Serial Bus 3.2 Specification

Wireless Universal Serial Bus Specification Revision 1.0

Wireless Universal Serial Bus Specification Revision 1.1

USB 2.0 ECN: Link Power Management (LPM)

Universal Serial Bus Power Delivery Specification Revision 2.0, V1.2

Universal Serial Bus Power Delivery Specification Revision 2.0, V1.3

Universal Serial Bus Power Delivery Specification Revision 3.0, Version 2.0 + ECNs

Microsoft OS 2.0 Descriptors Specification

USB Complete, 5th Edition

USB开发大全


本文链接:https://blog.csdn.net/u012028275/article/details/109955356

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Acknowledgement of USB 3.0 Technical Contribution 1 Introduction 1.1 Motivation.................................................................................................................1-1 1.2 Objective of the Specification...................................................................................1-2 1.3 Scope of the Document............................................................................................1-2 1.4 USB Product Compliance.........................................................................................1-2 1.5 Document Organization............................................................................................1-3 1.6 Design Goals............................................................................................................1-3 1.7 Related Documents..................................................................................................1-3 2 Terms and Abbreviations 3 SuperSpeed USB Architectural Overview 3.1 USB 3.0 Overview....................................................................................................3-1 3.1.1 SuperSpeed Architecture Overview........................................................3-2 3.1.1.1 Physical Layer.................................................................3-2 3.1.1.2 Link Layer........................................................................3-3 3.1.1.3 Protocol Layer.................................................................3-3 3.1.1.4 Hubs................................................................................3-4 3.1.1.5 Power Management........................................................3-5 3.2 USB 3.0 System.......................................................................................................3-5 3.2.1 Comparing SuperSpeed USB to USB 2.0 ..............................................3-5 3.2.2 System Level Topology ..........................................................................3-7 3.2.2.1 Hosts...............................................................................3-7 3.2.2.2 Hubs................................................................................3-8 3.2.2.3 Devices ...........................................................................3-8 3.2.3 Bus Protocol ...........................................................................................3-9 3.2.4 Robustness...........................................................................................3-10 3.2.4.1 Error Detection..............................................................3-10 3.2.4.2 Error Handling...............................................................3-10 3.3 USB Specification Chapter Overview.....................................................................3-11 3.3.1 Mechanical............................................................................................3-12 3.3.2 Physical Layer ......................................................................................3-14 3.3.3 Link Layer .............................................................................................3-15 3.3.4 Protocol Layer.......................................................................................3-15 3.3.5 Framework Layer..................................................................................3-16 3.3.6 Hubs .....................................................................................................3-16 3.3.6.1 Hub Architecture ...........................................................3-17 3.3.6.2 Hub Repeater/Forwarder Architecture ..........................3-18 3.3.6.3 Hubs and Transfers to Power Managed Links ..............3-18 3.3.7 Performance and Power Efficiency.......................................................3-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值