HcControl 寄存器详解(OHCI 规范)
1. 功能概述
HcControl 是 USB OHCI 主机控制器(HC)的核心控制寄存器,用于配置主机控制器的全局操作模式,包括 USB 总线状态控制、传输调度使能、电源管理等关键功能。
2. 寄存器字段定义
《Open Host Controller Interface Specification for USB》Rev 1.0a
HcControl 是一个 32 位(Dword) 寄存器,主要字段如下:
| 位域 | 名称 | 功能描述 |
|---|---|---|
| 31:11 | 保留位 | 必须保持写入时的原始值(Read-Modify-Write)。 |
| 10 | RWE (Remote Wakeup Enable) |
远程唤醒使能: • 1:允许设备触发远程唤醒。 |
| 9 | RWC (Remote Wakeup Connected) |
远程唤醒连接状态(只读): • 1:检测到远程唤醒信号。 |
| 8 | IR (Interrupt Routing) |
中断路由控制: • 0:标准主机中断(如 PCI INTx#)• 1:系统管理中断(SMI) |
| 7:6 | HCFS (Host Controller Functional State) |
主机控制器状态机: • 00b:USBRESET(总线复位)• 01b:USBRESUME(总线恢复)• 10b:USBOPERATIONAL(正常运行)• 11b:USBSUSPEND(总线挂起) |
| 5 | BLE (Bulk List Enable) |
批量传输列表使能: • 1:启用批量传输调度。 |
| 4 | CLE (Control List Enable) |
控制传输列表使能: • 1:启用控制传输调度。 |
| 3 | IE (IsochronousEnable) |
|
| 2 | PLE (Periodic List Enable) |
周期性传输列表使能: • 1:启用中断/等时传输调度。 |
| 1:0 | CBSR (Control/Bulk Service Ratio) |
控制传输与批量传输的调度比例(通常保留默认值)。 |
3. 核心功能
USB 总线状态控制(HCFS)
- 通过
HCFS字段控制 USB 总线的电气状态(复位、挂起、恢复等),直接影响设备枚举和电源管理。
- 通过
传输调度使能
PLE、CLE、BLE分别控制三类传输的调度开关:- 周期性传输(中断/等时)
- 控制传输(设备枚举、配置)
- 批量传输(大容量数据传输)
中断与唤醒管理
IR选择中断路由路径(SMI 或标准中断),RWE允许设备唤醒挂起的主机。
中文译名建议
在技术文档中,HcControl 可译为:
主机控制器控制寄存器
或简化为:
控制寄存器
总结
HcControl 是 OHCI 主机控制器的全局控制中枢,驱动开发者通过配置其字段实现 USB 协议栈的基础控制。
正确设置该寄存器是确保 USB 主机功能正常工作的关键步骤。
某些芯片厂商(如 Broadcom、NXP)可能修改寄存器定义以适应特定硬件需求。
