【USB笔记】 USB 2.1 简介

USB笔记 USB 2.1简介

什么是USB 2.1设备?是支持USB 2.1协议的设备吗?

实际上没有USB 2.1协议,但是有USB 2.1设备。

在USB设备的设备描述符(Device Descriptor)中,看到bcdUSB字段显示版本号为USB 2.1的,有以下两种情况:

1.支持BOS描述符的LowSpeed、FullSpeed 或 HighSpeed设备。

2.支持一个或多个USB 2.0速度的SuperSpeed或SuperSpeedPlus设备,如果以USB 2.0速度运行时,需要在bcdUSB字段设置为0x0210(2.10),表示是一个USB 2.1设备。

如果拿一个USB3.0的U盘,将其接入主机的USB2.0接口,或者使用一条USB2.0的延长线接入电脑,就会发现U盘是被识别成USB 2.1设备,而不是USB 2.0设备。



相关协议中的描述

在LPM中要求,标准usb2.0设备描述符中bcdUSB字段的值用于指示设备支持读取BOS描述符(即GetDescriptor(BOS))的请求。支持BOS描述符的设备的bcdUSB值必须大于等于0201H。
LPM-dadalaohua

USB3.0/3.1/3.2协议中要求,以USB 2.0速度运行时,设备除了使用BOS描述符中报告设备支持的其他速度外,还应使用USB 2.0规范中定义的标准机制报告其支持的其他USB 2.0速度。 设备描述符(Device Descriptor)的bcdUSB字段中值至少为0x0210(2.10),并支持GetDescriptor(BOS描述符)请求。

USB3.2-dadalaohua

USB 2.1 来源简介

在《USB 2.0 ECN: Link Power Management (LPM)》中,LPM的USB 2.0 ECN为USB 2设备加入了新的描述符——BOS描述符,但是主机端的是没办法向旧的设备请求新的描述符的,所以需要一种方法来识别设备是否能支持主机请求BOS描述符。在这个ECN中的解决方案就是要求支持ECN的设备bcdUSB值必须大于等于0x0201(2.01)。

在制定USB 3.0协议时,为了让USB 3.0设备在HighSpeed模式运行时强制使用USB2 LPM,同时还能向主机表明它可以以SuperSpeed的速度运行,就需要使用到BOS描述符,所以bcdUSB字段就不能设置为0x0200。本来是打算与LPM ECN的要求保持一致时,但是制定时在规范中错误地把写成了0x0210,而不是0x0201,所以usb3.0规范中要求设备以USB 2.0速度运行时所要求的bcdUSB字段中值是0x0210(2.10)。


参考资料

USB 2.0 ECN: Link Power Management (LPM) 3. Framework: USB Device Capabilities – USB 2.0 Extension

Universal Serial Bus 3.0 Specification 9.2.6.6 Speed Dependent Descriptors

Universal Serial Bus 3.1 Specification 9.2.6.6 Speed Dependent Descriptors

Universal Serial Bus 3.2 Specification 9.2.6.6 Speed Dependent Descriptors

Universal Serial Bus 3.1 Specification 9.6.1 Device

Universal Serial Bus 3.2 Specification 9.6.1 Device

Microsoft OS 2.0 Descriptors Specification

USB Complete, 5th Edition

where is the USB 2.1 specification?


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值