|如何識別USB低速和USB全速設備

|如何識別USB低速和USB全速設備

文章圖片

|如何識別USB低速和USB全速設備

從一個電路說起:

Eg:DP+被拉高具體是什么用途 , 由USB Controler決定 , 本電路圖中DP+被拉高禁用USB設備.
1.USB
USB:UniversalSerial Bus , 中文譯為“通用串行總線” , USB設備最顯著的優點是具有熱插拔功能、傳輸速率快 。 USB是主從結構的系統 , 具有主機和設備這兩個角色 , 即Host和Device 。 此外 , 還有兩類特殊的USB設備 , 分別是USB集線器設備(USB Hub)和USB OTG設備 。
USB協議版本有:USB1.0、USB1.、USB2.0、USB3.0 。
USB1.0和USB1.1只有低速模式(Low-SpeedMode)和全速模式(Full-Speed Mode) , 理論上最大傳輸速率分別為1.5Mbps和12Mbps 。
USB2.0引入了傳輸速度更快的高速模式(High-Speed Mode) , 理論上最大傳輸速率為480Mbps 。
USB3.0在速度的提升上 , 實現了重大飛躍 , 最大傳輸速率理論值高達5Gbps 。 需要注意的是 , 這些都是理論值 , 實際開發過程中 , 不可能達到這些理論值 。
在實際開發過程中 , 不同的傳輸類型有不同的傳輸速率 , 每一次的數據交互 , 都是一個相當復雜的過程 , 有令牌包的解析、數據包的傳輸、握手包的發送等等 , 這些都是額外的消耗 , 因此 , 傳輸速度是不可能達到理論值 。 USB有四種傳輸類型 , 分別是控制傳輸、中斷傳輸、塊傳輸、等時傳輸 。
2.USB的電氣特性
USB使用差分傳輸模式 , 有兩條數據線 , 分別是:
1)USB數據正信號線 , USB Data Positive , 即USBDP線 , 簡寫為D+  2)USB數據負信號線 , USB Data Minus , 即USBDM線 , 簡寫為D-

剩下的就是電源線(5V-Vbus)和地線(GND) 。 對于USB OTG設備 , 會多出一根ID線 。
3.USB主機端硬件控制器類型
分別有:OHCI  UHCI  EHCI XHCI 。 USB協議版本:1.0/ 1.1/ 2.0/ 3.0與協議規定標準接口的對應OHCI、UHCI都是USB1.1的接口標準;而EHCI是對應USB2.0的接口標準;最新的xHCI是USB3.0的接口標準 。
3.1 OHCI
OHCI:Open Host Controller Interface , 是USB1.1的標準 , 不僅僅是針對USB , 還支持其他的接口 , 比如支持Apple的火線(Firewire , IEEE 1394)接口 。 與UHCI相比 , OHCI的硬件復雜 , 硬件做的事情更多 , 所以實現對應的軟件驅動的任務 , 就相對較簡單 。 主要用于非x86的USB , 如擴展卡、嵌入式開發板的USB主控 。
3.2 UHCI
UHCI:Universal Host ControllerInterface , 是Intel主導的對USB1.0、1.1的接口標準 , 與OHCI不兼容 。 UHCI的軟件驅動的任務重 , 需要做得比較復雜 , 但可以使用較便宜、較簡單的硬件的USB控制器 。 Intel和VIA使用UHCI , 而其余的硬件提供商使用OHCI 。
3.3 EHCI
EHCI:Enhanced Host Controller Interface , 是Intel主導的USB2.0的接口標準 。 EHCI僅提供USB2.0的高速功能 , 而依靠UHCI或OHCI來提供對全速(full-speed)或低速(low-speed)設備的支持 。
3.4 xHCI
xHCI:eXtensible Host ControllerInterface , 是最新USB3.0的接口標準 , 它在速度、節能、虛擬化等方面都比前面3中有了較大的提高 。 xHCI支持所有種類速度的USB設備(USB 3.0的 SuperSpeed; USB 2.0 Low-、Full-、andHigh-speed; USB 1.1 Low- and Full-speed) 。 xHCI的目的是為了替換前面3種類型(UHCI/OHCI/EHCI) 。
4.識別設備的速度模式
對于設備(Device)而言 , 按照速度來劃分 , 工作在低速模式下的設備稱之為低速設備;工作在全速模式下的設備稱之為全速設備;同理 , 工作在高速模式下的設備稱之為高速設備 。 對于主機(Host)而言 , 只有全速主機和高速主機兩種 。

相關經驗推薦