7.4 根集线器(Root Hub)寄存器分区

  • 早期网络设备翻译​​:
    以太网(Ethernet)中的 ​​”Hub”​​ 最早译为“集线器”,因其功能与 USB Hub 高度相似(多端口信号中继),这一译名被直接沿用至 USB 领域。
  • 行业标准一致性​​:
    IEEE、USB-IF 等组织的官方中文文档均采用“集线器”,如:
    ​​USB 根集线器(Root Hub)​​
    ​​USB 扩展集线器(External Hub)​​

功能概述

本分区所有寄存器专用于 USB 根集线器(Root Hub)。根集线器是主机控制器(HC)的组成部分,但在功能上独立存在。主机控制器驱动(HCD)通过寄存器接口模拟 USB 设备驱动(USBD) 对根集线器的访问,并维护以下软件实现的 USB 集线器特性(硬件无需支持):

  1. 描述符管理
    • 设备 描述符(Device Descriptor)
    • 配置 描述符(Configuration Descriptor)
    • 接口 描述符(Interface Descriptor)
    • 端点 描述符(Endpoint Descriptor)
    • 部分 类描述符(Class Descriptor) 的静态字段
  2. 地址解码
    • 根集线器的设备地址由 HCD 维护和解码。
  3. 简单操作
    • 其他更适合软件(而非硬件)处理的轻量级操作。

寄存器设计原则

根集线器寄存器的 位域组织操作方式 与系统中常见的 USB 集线器保持一致,包含以下 4 类寄存器(均以 双字(Dword) 为单位读写):

寄存器名称 功能 写入时机
HcRhDescriptorA 描述根集线器的基本特性(如端口数量、电源模式)。 初始化时配置,且 不受 HC USB 状态影响(始终可写)。
HcRhDescriptorB 扩展描述符(如端口电流限制、设备类型)。 同上。
HcRhStatus 根集线器全局状态(如过流保护、本地电源状态)。 仅在 USBOPERATIONAL 状态(正常运行)下可写。
HcRhPortStatus[1:NDP] 每个端口的独立状态(如连接状态、使能/禁用、复位控制)。NDP = 端口数量。 同上。

关键术语说明

  • 根集线器(Root Hub):主机控制器内置的 USB 顶层集线器,负责连接下游设备。
  • 双字(Dword):32 位数据块,OHCI 寄存器的标准访问单位。
  • USBOPERATIONAL 状态:主机控制器处于正常运行模式(HcControl.HCFS=10b)。

注意事项

  1. 初始化依赖性
    • HcRhDescriptorA/B 必须在 HC 初始化阶段 配置,以匹配硬件设计(如端口数量)。
  2. 状态机约束
    • 修改 HcRhStatus 或端口状态寄存器时,需确保 HC 处于 USBOPERATIONAL 状态,否则写入无效。
  3. 保留位处理
    • 所有寄存器修改需遵循 Read-Modify-Write 规则,保留未使用的位。