USB軟件結構
USB,是英文Universal Serial Bus(通用串行總線)的縮寫,而其中文簡稱為“通串線”,是一個外部總線標準,用于規(guī)范電腦與外部設備的連接和通訊。是應用在PC領域的接口技術。USB接口支持設備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出的。
通用串行總線(英語:Universal Serial Bus,縮寫:USB)是連接計算機系統(tǒng)與外部設備的一種串口總線標準,也是一種輸入輸出接口的技術規(guī)范,被廣泛地應用于個人電腦和移動設備等信息通訊產品,并擴展至攝影器材、數字電視(機頂盒)、游戲機等其它相關領域。最新一代是USB 3.1,傳輸速度為10Gbit/s,三段式電壓5V/12V/20V,最大供電100W ,新型Type C插型不再分正反。
軟件結構
每個USB只有一個主機,它包括以下幾層:
總線接口
USB總線接口處理電氣層與協(xié)議層的互連。從互連的角度來看,相似的總線接口由設備及主機同時給出,例如串行接口機(SIE)。USB總線接口由主控制器實現(xiàn)。
USB系統(tǒng)用主控制器管理主機與USB設備間的數據傳輸。它與主控制器間的接口依賴于主控制器的硬件定義。同時,USB系統(tǒng)也負責管理USB資源,例如帶寬和總線能量,這使客戶訪問USB成為可能。USB系統(tǒng)還有三個基本組件:
主控制器驅動程序(HCD)這可把不同主控制器設備映射到USB系統(tǒng)中。HCD與USB之間的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系統(tǒng)定義,通用主控制器驅動器(UHCD)處于軟結構的最底層,由它來管理和控制主控制器。UHCD實現(xiàn)了與USB主控制器通信和控制USB主控制器,并且它對系統(tǒng)軟件的其他部分是隱蔽的。系統(tǒng)軟件中的最高層通過UHCD的軟件接口與主控制器通信。
USB驅動程序(USBD)它在UHCD驅動器之上,它提供驅動器級的接口,滿足現(xiàn)有設備驅動器設計的要求。USBD以I/O請求包(IRPs)的形式提供數據傳輸架構,它由通過特定管道(Pipe)傳輸數據的需求組成。此外,USBD使客戶端出現(xiàn)設備的一個抽象,以便于抽象和管理。作為抽象的一部分,USBD擁有缺省的管道。通過它可以訪問所有的USB設備以進行標準的USB控制。該缺省管道描述了一條USBD和USB設備間通信的邏輯通道。
主機軟件 在某些操作系統(tǒng)中,沒有提供USB系統(tǒng)軟件。這些軟件本來是用于向設備驅動程序提供配置信息和裝載結構的。在這些操作系統(tǒng)中,設備驅動程序將應用提供的接口而不是直接訪問USBDI(USB驅動程序接口)結構。
USB客戶軟件
它是位于軟件結構的最高層,負責處理特定USB設備驅動器。客戶程序層描述所有直接作用于設備的軟件入口。當設備被系統(tǒng)檢測到后,這些客戶程序將直接作用于外圍硬件。這個共享的特性將USB系統(tǒng)軟件置于客戶和它的設備之間,這就要根據USBD在客戶端形成的設備映像由客戶程序對它進行處理。
主機各層有以下功能:
檢測連接和移去的USB設備。
管理主機和USB設備間的數據流。
連接USB狀態(tài)和活動統(tǒng)計。
控制主控制器和USB設備間的電氣接口,包括限量能量供應。
HCD提供了主控制器的抽象和通過USB傳輸的數據的主控制器視角的一個抽象。USBD提供了USB設備的抽象和USBD客戶與USB功能間數據傳輸的一個抽象。USB系統(tǒng)促進客戶和功能間的數據傳輸,并作為USB設備的規(guī)范接口的一個控制點。USB系統(tǒng)提供緩沖區(qū)管理能力并允許數據傳輸同步于客戶和功能的需求。