東莞USB插座與您分享USB的軟件結(jié)構(gòu):
每個USB只有一個主機(jī),它包括以下幾層:
(1)USB總線接口
USB總線接口處理電氣層與協(xié)議層的互連。從互連的角度來看,相似的總線接口由設(shè)備及主機(jī)同時給出,例如串行接口機(jī)(SIE)。USB總線接口由主控制器實(shí)現(xiàn)。
(2)USB系統(tǒng)
USB系統(tǒng)用主控制器管理主機(jī)與USB設(shè)備間的數(shù)據(jù)傳輸。它與主控制器間的接口依賴于主控制器的硬件定義。同時,USB系統(tǒng)也負(fù)責(zé)管理USB資源,例如帶寬和總線能量,這使客戶訪問USB成為可能。USB系統(tǒng)還有三個基本組件:
主控制器驅(qū)動程序(HCD)這可把不同主控制器設(shè)備映射到USB系統(tǒng)中。HCD與USB之間的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系統(tǒng)定義,通用主控制器驅(qū)動器(UHCD)處于軟結(jié)構(gòu)的最底層,由它來管理和控制主控制器。UHCD實(shí)現(xiàn)了與USB主控制器通信和控制USB主控制器,并且它對系統(tǒng)軟件的其他部分是隱蔽的。系統(tǒng)軟件中的最高層通過UHCD的軟件接口與主控制器通信。
USB驅(qū)動程序(USBD)它在UHCD驅(qū)動器之上,它提供驅(qū)動器級的接口,滿足現(xiàn)有設(shè)備驅(qū)動器設(shè)計(jì)的要求。USBD以I/O請求包(IRPs)的形式提供數(shù)據(jù)傳輸架構(gòu),它由通過特定管道(Pipe)傳輸數(shù)據(jù)的需求組成。此外,USBD使客戶端出現(xiàn)設(shè)備的一個抽象,以便于抽象和管理。作為抽象的一部分,USBD擁有缺省的管道。通過它可以訪問所有的USB設(shè)備以進(jìn)行標(biāo)準(zhǔn)的USB控制。該缺省管道描述了一條USBD和USB設(shè)備間通信的邏輯通道。
主機(jī)軟件在某些操作系統(tǒng)中,沒有提供USB系統(tǒng)軟件。這些軟件本來是用于向設(shè)備驅(qū)動程序提供配置信息和裝載結(jié)構(gòu)的。在這些操作系統(tǒng)中,設(shè)備驅(qū)動程序?qū)?yīng)用提供的接口而不是直接訪問USBDI(USB驅(qū)動程序接口)結(jié)構(gòu)。
(3)USB客戶軟件
它是位于軟件結(jié)構(gòu)的最高層,負(fù)責(zé)處理特定USB設(shè)備驅(qū)動器??蛻舫绦?qū)用枋鏊兄苯幼饔糜谠O(shè)備的軟件入口。當(dāng)設(shè)備被系統(tǒng)檢測到后,這些客戶程序?qū)⒅苯幼饔糜谕鈬布_@個共享的特性將USB系統(tǒng)軟件置于客戶和它的設(shè)備之間,這就要根據(jù)USBD在客戶端形成的設(shè)備映像由客戶程序?qū)λM(jìn)行處理。
主機(jī)各層有以下功能:
檢測連接和移去的USB設(shè)備。
管理主機(jī)和USB設(shè)備間的數(shù)據(jù)流。
連接USB狀態(tài)和活動統(tǒng)計(jì)。
控制主控制器和USB設(shè)備間的電氣接口,包括限量能量供應(yīng)。
HCD提供了主控制器的抽象和通過USB傳輸?shù)臄?shù)據(jù)的主控制器視角的一個抽象。USBD提供了USB設(shè)備的抽象和USBD客戶與USB功能間數(shù)據(jù)傳輸?shù)囊粋€抽象。USB系統(tǒng)促進(jìn)客戶和功能間的數(shù)據(jù)傳輸,并作為USB設(shè)備的規(guī)范接口的一個控制點(diǎn)。USB系統(tǒng)提供緩沖區(qū)管理能力并允許數(shù)據(jù)傳輸同步于客戶和功能的需求。
掃一掃手機(jī)APP