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