OHCI

2002 年 8 月 23 日

“ohci-hcd” 驱动程序是一个 USB 主机控制器驱动程序 (HCD),它源自 2.4 内核系列的 “usb-ohci” 驱动程序。“usb-ohci” 代码主要由 Roman Weissgaerber <weissg@vienna.at> 编写,但也得到了许多其他人的贡献(阅读其版权/许可头)。

它支持 “开放主机控制器接口”(OHCI),该接口标准化了用于与 USB 1.1 主机控制器通信的硬件寄存器协议。与英特尔早期的 “通用主机控制器接口”(UHCI) 相比,它将更多的智能推入硬件。来自英特尔和威盛以外的供应商的 USB 1.1 控制器通常使用 OHCI。

自 2.4 内核以来的更改包括

  • 提高了鲁棒性;修复了错误;并减少了开销

  • 支持更新和简化的 usbcore API

  • 中断传输可以更大,并且可以排队

  • 通过使用上层的 “hcd” 框架减少了代码量

  • 支持 OHCI 的一些非 PCI 实现

  • ... 更多

“ohci-hcd” 驱动程序处理所有 USB 1.1 传输类型。所有类型的传输都可以排队。在 “usb-ohci” 中也是如此,除了中断传输。以前,使用一帧的时间可能会因为 IRQ 处理的开销而导致数据丢失。当中断传输排队时,可以通过确保硬件始终有传输可处理,同时操作系统忙于相关的 IRQ 处理,来最大限度地减少这些风险。