2025年【USB笔记】 标准请求 清除特性Clear Feature

【USB笔记】 标准请求 清除特性Clear FeatureUSB 笔记 标准请求 清除特性 Clear Feature 格式 bmRequestTyp bRequest wValue wIndex wLength Data 00000000B000 CLEAR FEATURE Feature Selector ZeroInterfac Zero None 功能

大家好,我是讯享网,很高兴认识大家。

USB笔记 标准请求 清除特性 Clear Feature

格式

bmRequestType bRequest wValue wIndex wLength Data
00000000B
00000001B
00000010B
CLEAR_FEATURE Feature Selector Zero
Interface
Endpoint
Zero None

功能

这个请求用于清除或禁用特定的特性(feature)。

bmRequestType

共有三种接收端Recipient:设备(Device),接口(Interface),端点(Endpoint)。

1.设备

bmRequestType 00000000B
  bmRequestType.Recipient 0b00000(Device)
  bmRequestType.Type 0b00(Standard)
  bmRequestType.Direction 0b0(Host-to-Device)

接收端:设备(Device)

类型:标准(Standard)

方向:主机到设备(Host-to-Device)

2.接口

bmRequestType 00000001B
  bmRequestType.Recipient 0b00001(Interface)
  bmRequestType.Type 0b00(Standard)
  bmRequestType.Direction 0b0(Host-to-Device)

接收端:接口(Interface)

类型:标准(Standard)

方向:主机到设备(Host-to-Device)

3.端点

bmRequestType 00000010B
  bmRequestType.Recipient 0b00010(Endpoint)
  bmRequestType.Type 0b00(Standard)
  bmRequestType.Direction 0b0(Host-to-Device)

接收端:端点(Endpoint)

类型:标准(Standard)

方向:主机到设备(Host-to-Device)

bRequest

CLEAR_FEATURE: 0x01

wValue

所要清除的特性(feature)。

wValue字段的特性选择器(Feature selector)值应当与接收端相匹配,既与bmRequestType.Recipient位设置的Recipient相匹配。当接收端是设备时,只能使用设备特性选择器值;当接收端是接口时,只能使用接口特性选择器值;当接收端是端点时,只能使用端点特性选择器值。

特性选择器(feature selector)值与接收端的对应,参照下表。

Feature Selector Recipient Value 含有该Feature的协议
ENDPOINT_HALT Endpoint 0 USB1.0/USB1.1/USB2.0/USB3.0/USB3.1/USB3.2
FUNCTION_SUSPEND Interface 0 USB3.0/USB3.1/USB3.2
DEVICE_REMOTE_WAKEUP Device 1 USB1.0/USB1.1/USB2.0/USB3.1/USB3.2
TEST_MODE Device 2 USB2.0/USB3.1/USB3.2
b_hnp_enable Device 3 USB3.1/USB3.2
a_hnp_support Device 4 USB3.1/USB3.2
a_alt_hnp_support Device 5 USB3.1/USB3.2
WUSB_DEVICE Device 6 USB3.1/USB3.2
U1_ENABLE Device 48 USB3.0/USB3.1/USB3.2
U2_ENABLE Device 49 USB3.0/USB3.1/USB3.2
LTM_ENABLE Device 50 USB3.0/USB3.1/USB3.2
B3_NTF_HOST_REL Device 51 USB3.1/USB3.2
B3_RSP_ENABLE Device 52 USB3.1/USB3.2
LDM_ENABLE Device 53 USB3.1/USB3.2

wIndex

1.设备

当wValue字段的特性选择器(Feature selector)值的接收端是设备时(既使用的是设备特性选择器值),wIndex字段值为0。

2.接口

当wValue字段的特性选择器(Feature selector)值的接收端是接口时(既使用的是接口特性选择器值),wIndex字段值为接口号,格式如下所示。

D7 D6 D5 D4 D3 D2 D1 D0
Interface Number
D15 D14 D13 D12 D11 D10 D9 D8
Reserved (Reset to zero)

Bit 7…5用于表示接口号,其他bits保留为0。

3.端点

当wValue字段的特性选择器(Feature selector)值的接收端是端点时(既使用的是端点特性选择器值),wIndex字段值为端点号,格式如下所示。

D7 D6 D5 D4 D3 D2 D1 D0
Direction Reserved (Reset to zero) Endpoint Number
D15 D14 D13 D12 D11 D10 D9 D8
Reserved (Reset to zero)

Bit 7,方向(Direction)位被设置为0时表示指定端点号的OUT端点,被设置为1时则表示IN端点。对于控制管道,请求中的方向(Direction)位应该设置为0,但设备可以接受方向(Direction)位的任何一个值。


讯享网

Bit 3…0用于表示端点号。

其他bits保留为0。

wLength

wLength字段固定为0x0000。

如果wLength不为零,则无效,不指定设备的行为。

Data

无数据阶段(Data stage)。

说明

ClearFeature()请求如果使用不能清除、不存在的特性(feature),或者使用不存在的接口或端点,将导致设备以请求错误来响应,返回STALL。

对于USB 2.0,这个请求可以清除DEVICE_REMOTE_WAKEUP和ENDPOINT_HALT特性。Test_Mode功能无法通过ClearFeature()请求清除。

对于Enhanced SuperSpeed,这个请求可以清除ENDPOINT_HALT、LTM_ENABLE、U1_ENABLE和U2_ENABLE特性。只有当设备处于配置状态时,设备才会处理U1_ENABLE、U2_ENABLE、 LTM_ENABLE。

Clear Feature(ENDPOINT_HALT)这个请求会将bulk, interrupt, isochronous 的数据切换(data toggle)重置为DATA0 (USB 2.0)、Sequence Numbers重置为零(Enhanced SuperSpeed) 和重置增强型超高速批量端点(Enhanced SuperSpeed bulk endpoints)的突发大小(burst size)。

集线器(Hubs)支持其他特性。

支持的状态

支持地址状态(Address state)和配置状态(Configured state),具体如下:

默认状态(Default state):未定义设备处于默认状态时,接收到该请求时的设备行为。

地址状态(Address state):当设备处于地址状态时,该请求有效;使用默认控制管道以外的接口或端点,将导致设备响应请求错误。

配置状态(Configured state):当设备处于配置状态时,这是一个有效的请求。

示例

Clear Feature

Setup packet

Clear Feature Setup packet


[参考资料]

Universal Serial Bus Specification Revision 1.0

Universal Serial Bus Specification Revision 1.1

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

USB Complete, 5th Edition


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

小讯
上一篇 2025-01-05 14:36
下一篇 2025-02-19 23:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/33944.html