複製鏈接
請複製以下鏈接發送給好友

EHCI

鎖定
EHCI(Enhanced Host Controller Interface)增強型主機控制器接口規範描述了一個通用串行總線(USB)2.0版的主機控制器的寄存器級接口。該規範包括系統軟件和主機控制器硬件之間的硬件/軟件接口的描述。本規範的目的是為硬件組件設計,系統集成商和設備驅動程序(軟件)開發。
中文名
增強型主機控制器接口
外文名
Enhanced Host Controller Interface
簡    稱
EHCI
簡    介
需要從英特爾授權

EHCIEHCI簡介

增強型主機控制器接口
增強主機控制器接口規範的實施,需要從英特爾授權。增強型主機控制器USB接口規範的採用已經簽署,以增強主機控制器接口規範USB採用協議的被許可使用和實施本規範。這採納者協議提供了一個互惠的方式,免版税許可從英特爾和其他採用者和他們的產品,增強型主機控制器與USB接口規範標準提供一定的知識產權的採用。
EHCI規範1.0修訂牌照允許實施兩個分立和集成兼容EHCI主控制器的。被授權的規範修訂版1.0的水平(0.95和0.96)之前的所有版本兼容的,離散的EHCI主控制器只允許實施。
該規範的最新版本是1.0版本。這次修訂是從0.96社論更新。1.0版本可以從下面的鏈接下載。完整的修訂版1.0下載包括兩個文件:規範和修訂0.96和1.0之間的變化的總結。目前所有的發展應該是瞄準了這一規範的修訂。 [1] 
EHCI1.1增編
定義基於EHCI規範,最顯着的USB主機控制器實現的幾種可選的能源效率擴展的EHCI1.1增編的目的是:
·連接電源管理- 軟件發現並使用USB 2.0連接電源管理(LPM),下一代主機控制器和設備提供支持的能力。
·每端口更改事件- 問題解決了系統軟件目前需要讀取和解析所有啓用後,每個端口變化事件的根端口(中斷),以簡化軟件的處理山泥傾瀉轉換端口狀態寄存器(PORTSC)
·較短的週期幀列表- 系統軟件能夠傳遞和使用更短的週期幀列表(32幀),以更好地促進硬件預取
·硬件預取- 允許主機控制器硬件安全預取從異步和定期的時間表超越了在以前的EHCI實現定義,以提高系統內存的訪問行為信息

EHCI詳細介紹

要理解"EHCI"及其同類是什麼,首先要知道每塊支持插入 USB 設備的主板或 PCI 卡都需要有 USB 主控制器芯片組。這個特別的芯片組與插入系統的 USB 設備進行相互操作,並負責處理允許 USB 設備與系統其它部分通信所必需的所有低層次細節。
Linux USB 驅動程序有三種不同的 USB 主控制器選項是因為在主板和 PCI 卡上有三種不同類型的 USB 芯片。"EHCI"驅動程序設計成為實現新的高速 USB 2.0 協議的芯片提供支持。"OHCI"驅動程序用來為非 PC 系統上的(以及帶有 SiS 和 ALi 芯片組的 PC 主板上的)USB 芯片提供支持。"UHCI"驅動程序用來為大多數其它 PC 主板(包括 Intel 和 Via)上的 USB 實現提供支持。只需選擇與希望啓用的 USB 支持的類型對應的"?HCI"驅動程序即可。如有疑惑,為保險起見,可以啓用"EHCI"、"UHCI" (兩者中任選一種,它們之間沒有明顯的區別)和"OHCI"。(趙明注:根據文檔,EHCI已經包含了UHCI和OHCI,但目前就我個人的測試,單獨加EHCI是不行的,通常我的做法是根據主板類型加載UHCI或OHCI後,再加載EHCI這樣才可以支持USB2.0設備)。 (ehci 只支持高速(hs)模式,uhci/ohci 都只支持全速或低速(fs/ls)設備,所以echi必選,uhci ohci一個就可以了,這樣高速、全速、低速設備才會都能枚舉到)
啓用了"USB support"和適當的"?HCI"USB 主控制器驅動程序後,使 USB 啓動並運行只需再進行幾個步驟。應該啓用"Preliminary USB device filesystem",然後確保啓用所有特定於將與 Linux 一起使用的實際 USB 外圍設備的驅動程序。例如,為了啓用對 USB 遊戲控制器的支持,我啓用了"USB Human Interface Device (full HID) support"。我還啓用了主"Input core support" 節下的"Input core support"和"Joystick support"。
瞭解EHCI之前,需首先了解HCI (Host Controller Interface) . 即主機控制接口。
HCI 是寄存器層級的界面接口,它允許一個主控制器(Host Controller 如 主板南橋southbridge of Motherboard)來實現與外設如(USB、火線以及藍牙)之間的通訊。
當外設與PC相連接後,系統先進行初始化,HCI 開始線程(threads)讀寫,建立與外設的連接。接下來,HCI會重置然後讀外設的緩存大小,建立與外設的通訊。
EHCI (Enhanced Host Controller Interface)是HCI增強的(Enhanced)版本。
參考資料