16.6 主机操作主机模式下的 USB 模块的通用操作模型是在增强主机控制器接口(EHCI)规范中定义的。EHCI 规范描述了支持 USB 2.0 版本的主机控制器的寄存器级接口。这一规范详细描述了系统软件与主机控制器硬件之间的软硬件接口。如果你需要了解 EHCI 规范的完整详细描述,请参阅usb ehci接口规范、EHCI spec for USB和USB EHCI1.0。
16.6.1 主机控制器初始化在初始上电或 HCReset(硬件或通过 USBCMD 寄存器中 HCReset 位)之后,所有操作寄存器都将具有缺省值,如表 25 所示。在硬件复位之后,只有没有包含在辅助电源井中的操作寄存器才会具有缺省值。
表16-69 操作寄存器空间的缺省值
操作寄存器缺省值(复位后)
-
USBCMD 0x0008_0000(如果异步调度驻停功能置位,则为 0x0008_0B00)
-
USBSTS 0x0000_1000
-
USBINTR 0x0000_0000
-
FRINDEX 0x0000_0000
-
CTRLDSSEGMENT 0x0000_0000
-
PERIODICLISTBASE 未定义
-
ASYNCLISTADDR 未定义
-
CONFIGFLAG 0x0000_0000
-
PORTSC 0x0000_2000(w/PPC 置位);0x0000_3000(w/PPC 清除)
为了初始化主机控制器,软件应该执行以下步骤:
- 可选,置位 USBMODE 寄存器中的流禁止(Streaming Disable)。更多详细的操作步骤和说明,你可以参考INTEL USB EHCI DATA SHEET和USB2.0EHCI controller specification。
暂无评论