USB軟件結(jié)構(gòu)
信息來源于:互聯(lián)網(wǎng) 發(fā)布于:2021-08-16
每個(gè)USB只有一個(gè)主機(jī),它包括以下幾層:
1.總線接口
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主控制器,并且它對系統(tǒng)軟件的其他部分是隱蔽的。系統(tǒng)軟件中的最高層通過UHCD的軟件接口與主控制器通信。
USB驅(qū)動(dòng)程序(USBD)它在UHCD驅(qū)動(dòng)器之上,它提供驅(qū)動(dòng)器級的接口,滿足現(xiàn)有設(shè)備驅(qū)動(dòng)器設(shè)計(jì)的要求。USBD以I/O請求包(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è)備間通信的邏輯通道。
2.主機(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)。
3.USB客戶軟件
它是位于軟件結(jié)構(gòu)的最高層,負(fù)責(zé)處理特定USB設(shè)備驅(qū)動(dòng)器??蛻舫绦?qū)用枋鏊兄苯幼饔糜谠O(shè)備的軟件入口。當(dāng)設(shè)備被系統(tǒng)檢測到后,這些客戶程序?qū)⒅苯幼饔糜谕鈬布_@個(gè)共享的特性將USB系統(tǒng)軟件置于客戶和它的設(shè)備之間,這就要根據(jù)USBD在客戶端形成的設(shè)備映像由客戶程序?qū)λM(jìn)行處理。
硬件結(jié)構(gòu)
USB采用四線電纜,其中兩根是用來傳送數(shù)據(jù)的串行通道,另兩根為下游(Downstream)設(shè)備提供電源,對于任何已經(jīng)成功連接且相互識別的外設(shè),將以雙方設(shè)備均能夠支持的最高速率傳輸數(shù)據(jù)。USB總線會(huì)根據(jù)外設(shè)情況在所兼容的傳輸模式中自動(dòng)地由高速向低速動(dòng)態(tài)轉(zhuǎn)換且匹配鎖定在合適的速率。USB是基于令牌的總線。類似于令牌環(huán)網(wǎng)絡(luò)或FDDI基于令牌的總線。USB主控制器廣播令牌,總線上設(shè)備檢測令牌中的地址是否與自身相符,通過接收或發(fā)送數(shù)據(jù)給主機(jī)來響應(yīng)。USB通過支持懸掛/恢復(fù)操作來管理USB總線電源。USB系統(tǒng)采用級聯(lián)星型拓?fù)?,該拓?fù)溆扇齻€(gè)基本部分組成:主機(jī)(Host),集線器(Hub)和功能設(shè)備。
主機(jī),也稱為根,根結(jié)或根Hub,它做在主板上或作為適配卡安裝在計(jì)算機(jī)上,主機(jī)包含有主控制器和根集線器(Root Hub),控制著USB總線上的數(shù)據(jù)和控制信息的流動(dòng),每個(gè)USB系統(tǒng)只能有一個(gè)根集線器,它連接在主控制器上,一臺(tái)計(jì)算機(jī)可能有多個(gè)根集線器。
集線器是USB結(jié)構(gòu)中的特定成分,它提供叫做端口(Port)的點(diǎn)將設(shè)備連接到USB總線上,同時(shí)檢測連接在總線上的設(shè)備,并為這些設(shè)備提供電源管理,負(fù)責(zé)總線的故障檢測和恢復(fù)。集線可為總線提供能源,亦可為自身提供能源(從外部得到電源)。
功能設(shè)備通過端口與總線連接。USB同時(shí)可做Hub使用。