OHCI

2002 年 8 月 23 日

“ohci-hcd”驅動程式是一個 USB 主機控制器驅動程式 (HCD),它源自 2.4 核心系列的“usb-ohci”驅動程式。“usb-ohci”程式碼主要由 Roman Weissgaerber <weissg@vienna.at> 編寫,但也有許多其他人的貢獻(請閱讀其版權/許可標頭)。

它支援“開放主機控制器介面”(OHCI),該介面標準化了用於與 USB 1.1 主機控制器通訊的硬體暫存器協議。與英特爾早期的“通用主機控制器介面”(UHCI) 相比,它將更多的智慧推入硬體。來自英特爾和 VIA 以外的供應商的 USB 1.1 控制器通常使用 OHCI。

自 2.4 核心以來的更改包括

  • 改進的穩健性;錯誤修復;以及更少的開銷

  • 支援更新和簡化的 usbcore API

  • 中斷傳輸可以更大,並且可以排隊

  • 更少的程式碼,透過使用上層“hcd”框架

  • 支援 OHCI 的一些非 PCI 實現

  • ... 更多

“ohci-hcd”驅動程式處理所有 USB 1.1 傳輸型別。所有型別的傳輸都可以排隊。這在“usb-ohci”中也是如此,除了中斷傳輸。以前,使用一個幀的週期可能會因 IRQ 處理中的開銷而導致資料丟失。當中斷傳輸排隊時,透過確保硬體始終具有可處理的傳輸,同時作業系統正在處理相關的 IRQ 處理,可以最大限度地降低這些風險。