USB 集线器HUB
2020-10-05
本文链接为:http://www.usbzh.com/article/detail-25.html ,欢迎转载,转载请附上本文链接。
通过USB集线器,可以很简单的实现主机扩展USB设备的数量。
在USB协议规范中,USB集线器作为了一种特殊的设备在存在,USB规范专门为其定义了一种设备类。
基本定位
- USB 集线器:将1 个上行口扩展为多个下行口,工作在物理层,仅做信号转发,非交换机/路由器。
- USB3 集线器 = 盒内集成USB2 集线器 + 超高速集线器;链路中任一环节为 USB2 时,仅以 USB2 模式工作。
USB2 集线器关键特性
- 仅2 个端点:默认控制端点、状态变化中断端点。
- 核心职责:下行端口状态管理(连接、供电、复位、速度、过流等)。
- 配置流程:获取配置描述符 → 设置配置 → 获取集线器描述符 → 初始化端口数等参数。
USB集线器的结钩
集线器由6个组件组成:
- 上行端口:用于连接上层的USB集线器或者根集线器。
- 下行端口:用于连接下层的USB功能设备或扩展的USB集线器,是该接线器扩展出来的接口。
- 中继器:负责完成上行端口和下行端口这间的数据传输。
- 事务翻译器:用于SPILT事务进行处理,主要是将低速和全速的事务从高速传输中分离出来,提高USB总线的执行效率。
- 控制器:控制器是USB集线器的核心,用于状态控制和通讯控制。
- 路由选择器:用于对不同的下行端口数据通讯,分离进行控制。
USB集线器应最少支持1个事务翻译器即单TT,也可以支持多个,通过bDeviceProtocol来确定。
一个事务翻译器支持的是12Mbps,如果一个事务翻译器对应多个下行端口,则需要路由控制器来实现分发。注意这里的分发指的是实现的是高速split拆分出的低全速分发到下游端口,而高速部分的路由分发由中断器实现。

USB集线器带宽
当一个集线器的上行端口连接到运行于全速/低速的电气环境时,该集线器的高速功能将被禁用。这意味着集线器只能工作在全速/低速模式下,事务转换器和高速中继器不会工作。在这种电气环境下,集线器中继器必须作为全速/低速中继器运行,路由逻辑将端口连接到集线器中继器。
当集线器的上行端口连接到运行于高速的电气环境时,全速/低速集线器中继器不工作。在这种电气环境下,如果在下行端口上连接了高速设备,路由逻辑会将该端口连接到集线器中继器,并且集线器中继器必须作为高速中继器运行。此时,如果在下行端口上连接了全速/低速设备,路由逻辑必须将该端口连接到事务转换器。
USB集线器分类
USBIF为USB集线器专门分配了一处分类号0x09,并且并没有设备子类bDeviceSubClass和设备协议号bDeviceProtocl。
bDeviceSubClass和bDeviceProtocl必须为0。
USB集线器的描述符
USB集线器是一类特殊的USB设备,除了支持USB设备描述符外,还得支持一些USB集线器特有的USB标准请求。这些功能主要包括如下:
- USB集线器设备描述符:USB集线器的设备描述符和USB设备的设备描述符类似,不过该描述符的子段主要定义了USB集线器的功率和分类等非常少的信息。
- 接口和扩展端点:表示了USB集线器的接口和端点特性
- USB集线器设备类请求:USB集线器除了支持常用的一些USB标准请求外,还得支持集线器特有的标准请求。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936 USB技术交流3:1031974172
USB2.0集线器HUB





