Fork me on GitHub

USB 集线器HUB

通过USB集线器,可以很简单的实现主机扩展USB设备的数量。

在USB协议规范中,USB集线器作为了一种特殊的设备在存在,USB规范专门为其定义了一种设备类。

USB集线器的结钩

集线器由6个组件组成:

  • 上行端口:用于连接上层的USB集线器或者根集线器。

  • 下行端口:用于连接下层的USB功能设备或扩展的USB集线器,是该接线器扩展出来的接口。

  • 中继器:负责完成上行端口和下行端口这间的数据传输。

  • 事务翻译器:用于对USB SPILT事务进行处理,主要是将低速和全速事务高速传输中分离出来,提高USB总线的执行效率。

  • 控制器:控制器是USB集线器的核心,用于状态控制和通讯控制。

  • 路由选择器:用于对不同的下行端口数据,分离进行控制。

USB集线器分类

USBIF为USB集线器专门分配了一处分类号0x09,并且并没有设备子类bDeviceSubClass和设备协议号bDeviceProtocl。

bDeviceSubClass和bDeviceProtocl必须为0。

USB集线器的描述符

USB集线器是一类特殊的USB设备,除了支持USB设备描述符外,还得支持一些USB集线器特有的USB标准请求。这些功能主要包括如下:

  • USB集线器设备描述符:USB集线器的设备描述符和USB设备的设备描述符类似,不过该描述符的子段主要定义了USB集线器的功率和分类等非常少的信息。
  • 接口和扩展端点:表示了USB集线器的接口和端点特性
  • USB集线器设备类请求:USB集线器除了支持常用的一些USB标准请求外,还得支持集线器特有的标准请求
posted @ 2024-11-05 11:14  yooooooo  阅读(23)  评论(0编辑  收藏  举报