USB OHCI规范:OpenHCI Open Host Controller Interface详解

需积分: 33 47 下载量 190 浏览量 更新于2024-09-09 2 收藏 1.08MB DOC 举报
"OpenHCI Open Host Controller Interface Specification for USB (OHCI Rev1.0) 是一个USB主机控制器标准,主要用于编写USB OHCI驱动程序。该规范由Compaq、Microsoft和National Semiconductor等公司在1996年发布,版本1.0a。在实现此规格时,需要同意并接受其中的专利许可协议条款。" OpenHCI(Open Host Controller Interface)是Universal Serial Bus(USB)的一种控制接口标准,它定义了如何与USB主机控制器通信,特别是那些遵循OHCI(Open Host Controller Interface)规范的控制器。OHCI旨在提供一个通用的平台,使硬件制造商能够开发与多种操作系统兼容的USB控制器驱动程序,减少了驱动程序开发的复杂性。 在USB OHCI规范中,核心内容包括以下几个方面: 1. **架构概述**:OHCI标准规定了USB主机控制器的体系结构,包括其硬件组件和软件接口。控制器通常包含一个或多个端口,用于连接USB设备,并处理数据传输。 2. **控制管道**:OHCI定义了控制传输的管理方式,这是USB通信的基础,用于设备配置、枚举和状态查询。 3. **批量传输**:OHCI规范涵盖了批量传输的处理,这种传输类型用于大量数据的无优先级传输,如打印机和硬盘驱动器的数据交换。 4. **中断传输**:中断传输允许设备在需要时快速发送小量数据,如键盘和鼠标输入。OHCI标准详细描述了如何调度这些传输,确保低延迟。 5. **同步传输**:同步传输提供实时数据流,适用于音频和视频设备。OHCI规定了如何精确地同步这些传输,以避免数据丢失或错误。 6. **描述符**:OHCI使用描述符来描述USB设备的配置、端点和其他特性。这些描述符是驱动程序理解和配置设备的关键。 7. **处理机框架**:OHCI控制器使用一种称为处理机框架的机制来管理USB事务。这个框架由硬件和软件协作执行,处理来自USB设备的请求和主机到设备的传输。 8. **中断处理**:OHCI控制器通过中断向CPU报告事件,如设备连接、断开连接、数据传输完成等。中断处理机制必须高效,以避免占用过多的CPU资源。 9. **电源管理**:OHCI规范包括电源管理功能,允许系统节省能源,例如在无活动时关闭USB端口的电源。 实施OHCI规范的开发者需要了解并遵循文档中的详细指南,包括如何正确创建和管理 urb(USB 请求块),以及如何处理硬件错误和异常情况。此外,他们还需要遵守专利许可协议,确保其软件实现不侵犯任何专利权。 OpenHCI Open Host Controller Interface Specification for USB (OHCI Rev1.0) 是USB生态系统中的一个重要组成部分,为开发人员提供了一套标准化的方法,以便于他们创建能够在不同操作系统上运行的USB控制器驱动程序,促进了USB技术的广泛采用和互操作性。