通过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标准请求外,还得支持集线器特有的标准请求。