主机操作-8路继电器模块原理图
16.6主机操作主机模式下的USB模块的通用操作模型是在增强主机控制器接口(EHCI)规范中定义的。EHCI规范描述了支持USB 2.0版本的主机控制器的寄存器级接口。这一规范详细描述了系统软件与主机控制器硬件之间的软硬件接口。而关于USB模块初始化的细节,将在以下章节中详细阐述。不过,EHCI规范的完整详细描述在档的范围之外。想要深入了解EHCI规范,可以参考EHCI spec for USB和INTEL USB EHCI DATA SHEET。
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)。
如果你对寄存器操作例程感兴趣,可以参考寄存器操作例程。是不是觉得这些操作很复杂?其实,只要多看几次相关规范,像usb ehci接口规范和usb ehci spec,一切都变得简单明了。
下载地址
用户评论