USB體系結(jié)構(gòu)概述
??? 本章主要內(nèi)容是關(guān)于USB的概述和一些關(guān)鍵的概念。USB是一種電纜總線,支持在主機(jī)和各式各樣的即插即用的外設(shè)之間進(jìn)行數(shù)據(jù)傳輸。由主機(jī)預(yù)定的標(biāo)準(zhǔn)的協(xié)議使各種設(shè)備分享USB帶寬,當(dāng)其它設(shè)備和主機(jī)在運(yùn)行時(shí),總線允許添加、設(shè)置、使用以及拆除外設(shè)。
??? 后續(xù)章節(jié)將著重描述USB的細(xì)節(jié)。
USB系統(tǒng)的描述
??? 一個(gè)USB系統(tǒng)主要被定義為三個(gè)部分:
??? ?USB的互連;
??? ?USB的設(shè)備;
??? ?USB的主機(jī)。
????? USB的互連是指USB設(shè)備與主機(jī)之間進(jìn)行連接和通信的操作,主要包括以下幾方面:
??? ?總線的拓?fù)浣Y(jié)構(gòu):USB設(shè)備與主機(jī)之間的各種連接方式;
??? ?內(nèi)部層次關(guān)系:根據(jù)性能疊置,USB的任務(wù)被分配到系統(tǒng)的每一個(gè)層次;
??? ?數(shù)據(jù)流模式:描述了數(shù)據(jù)在系統(tǒng)中通過USB從產(chǎn)生方到使用方的流動(dòng)方式;
??? ?USB的調(diào)度:USB提供了一個(gè)共享的連接。對(duì)可以使用的連接進(jìn)行了調(diào)度以支持同步數(shù)據(jù)傳輸,并且避免的優(yōu)先級(jí)判別的開銷。
??? USB的設(shè)備及主機(jī)的細(xì)節(jié)將講述于后。
總線布局技術(shù)
??? USB連接了USB設(shè)備和USB主機(jī),USB的物理連接是有層次性的星型結(jié)構(gòu)。每個(gè)網(wǎng)絡(luò)集線器是在星型的中心,每條線段是點(diǎn)點(diǎn)連接。從主機(jī)到集線器或其功能部件,或從集線器到集線器或其功能部件,從圖3-1中可看出USB的拓?fù)浣Y(jié)構(gòu)。
3.1.1.1? USB的主機(jī)
??? 在任何USB系統(tǒng)中,只有一個(gè)主機(jī)。USB和主機(jī)系統(tǒng)的接口稱作主機(jī)控制器,主機(jī)控
圖3-1 總線的拓?fù)浣Y(jié)構(gòu)
制器可由硬件、固件和軟件綜合實(shí)現(xiàn)。根集線器是由主機(jī)系統(tǒng)整合的,用以提供更多的連接點(diǎn)。關(guān)于主機(jī)更多的內(nèi)容可參見4.9節(jié)和第9章。
4.1.1.2? USB的設(shè)備
??? USB的設(shè)備如下所示:
??? ?網(wǎng)絡(luò)集線器,向USB提供了更多的連接點(diǎn);
??? ?功能器件:為系統(tǒng)提供具體功能,如ISDN的連接,數(shù)字的游戲桿或揚(yáng)聲器。
??? USB設(shè)備提供的USB標(biāo)準(zhǔn)接口的主要依據(jù):
??? ?對(duì)USB協(xié)議的運(yùn)用;
??? ?對(duì)標(biāo)準(zhǔn)USB操作的反饋,如設(shè)置和復(fù)位;
??? ?標(biāo)準(zhǔn)性能的描述性信息;
??? 關(guān)于USB設(shè)備的更多信息請(qǐng)參見3.8節(jié)和第8章。
物理接口
USB的物理接口的電氣特性在第六章,機(jī)械特性在第五章詳細(xì)介紹。
?
3.2.1電氣特性
USB傳送信號(hào)和電源是通過一種四線的電纜,圖3-2中的兩根線是用于發(fā)送信號(hào)。
?? 存在兩種數(shù)據(jù)傳輸率:
圖3-2 USB 的電纜
??USB的高速信號(hào)的比特率定為12Mbps;
??? ?低速信號(hào)傳送的模式定為1.5Mbps;
??? 低速模式需要更少的EMI保護(hù)。兩種模式可在用同一USB總線傳輸?shù)那闆r下自動(dòng)地動(dòng)態(tài)切換。因?yàn)檫^多的低速模式的使用將降低總線的利用率,所以該模式只支持有限個(gè)低帶寬的設(shè)備(如鼠標(biāo))。時(shí)鐘被調(diào)制后與差分?jǐn)?shù)據(jù)一同被傳送出去,時(shí)鐘信號(hào)被轉(zhuǎn)換成NRZI碼,并填充了比特以保證轉(zhuǎn)換的連續(xù)性,每一數(shù)據(jù)包中附有同步信號(hào)以使得收方可還原出原時(shí)鐘信號(hào)。
??? 電纜中包括VBUS?、GND二條線,向設(shè)備提供電源 。VBUS?使用+5V電源。USB對(duì)電纜長(zhǎng)度的要求很寬,最長(zhǎng)可為幾米。通過選擇合適的導(dǎo)線長(zhǎng)度以匹配指定的IR drop和其它一些特性,如設(shè)備能源預(yù)算和電纜適應(yīng)度。為了保證足夠的輸入電壓和終端阻抗。重要的終端設(shè)備應(yīng)位于電纜的尾部。在每個(gè)端口都可檢測(cè)終端是否連接或分離,并區(qū)分出高速,或低速設(shè)備。
3.2.2? 機(jī)械特性
??? 電纜和連接器的機(jī)械特性將在第5章詳述。所有設(shè)備都有一個(gè)上行的連接。上行連接器和下行連接器是不可簡(jiǎn)單的互換,這樣就避免了集線器間的非法的循環(huán)往復(fù)的連接,電纜中有四根導(dǎo)線:一對(duì)互相纏繞的標(biāo)準(zhǔn)規(guī)格線,一對(duì)符合標(biāo)準(zhǔn)的電源線,連接器有四個(gè)方向,具有屏蔽層,以避免外界干擾,并有易拆裝的特性。
電源
??? 主要包括兩方面:
??? ?電源分配:即USB的設(shè)備如何通過USB分配得到由主計(jì)算機(jī)提供的能源;
??? ?電源管理:即通過電源管理系統(tǒng),USB的系統(tǒng)軟件和設(shè)備如何與主機(jī)協(xié)調(diào)工作。
電源分配
??? 每個(gè)USB單元通過電纜只能提供有限的能源。主機(jī)對(duì)那種直接相連的USB設(shè)備提供電源供其使用。并且每個(gè)USB設(shè)備都可能有自己的電源。那些完全依靠電纜提供能源的設(shè)備稱作“總線供能”設(shè)備。相反,那些可選擇能源來源的設(shè)備稱作“自供電”設(shè)備。而且,集線器也可由與之相連的USB設(shè)備提供電源。受一定布局限制的帶有“總線供能”集線器的體系結(jié)構(gòu)將在第十章討論。在圖4-4(位于3.8)中,鍵盤,輸入筆和鼠標(biāo)均為“總線供能”設(shè)備。
3.3.2? 電源管理
??? USB主機(jī)與USB系統(tǒng)有相互獨(dú)立的電源管理系統(tǒng)。USB的系統(tǒng)軟件可以與主機(jī)的能源管理系統(tǒng)結(jié)合共同處理各種電源子件如掛起、喚醒,并且有特色的是,USB設(shè)備應(yīng)用特有的電源管理特性,可讓系統(tǒng)軟件和控制其電源管理。
??? USB的電源分配和電源管理特性使之可以被設(shè)計(jì)在電源傳感系統(tǒng)中,如采用電池的筆記本電腦。
USB總線協(xié)議
??? USB總線屬一種輪訊方式的總線,主機(jī)控制端口初始化所有的數(shù)據(jù)傳輸。
??? 每一總線執(zhí)行動(dòng)作最多傳送三個(gè)數(shù)據(jù)包。按照傳輸前制定好的原則,在每次傳送開始時(shí),主機(jī)控制器發(fā)送一個(gè)描述傳輸運(yùn)作的種類、方向,USB設(shè)備地址和終端號(hào)的USB數(shù)據(jù)包,這個(gè)數(shù)據(jù)包通常稱為標(biāo)志包(token packet)。USB設(shè)備從解碼后的數(shù)據(jù)包的適當(dāng)位置取出屬于自己的數(shù)據(jù)。數(shù)據(jù)傳輸方向不是從主機(jī)到設(shè)備就是從設(shè)備到主機(jī)。在傳輸開始時(shí),由標(biāo)志包來標(biāo)志數(shù)據(jù)的傳輸方向,然后發(fā)送端開始發(fā)送包含信息的數(shù)據(jù)包或表明沒有數(shù)據(jù)傳送。接收端也要相應(yīng)發(fā)送一個(gè)握手的數(shù)據(jù)包表明是否傳送成功。發(fā)送端和接收端之間的USB數(shù)據(jù)傳輸,在主機(jī)和設(shè)備的端口之間,可視為一個(gè)通道。存在兩種類型的通道:流和消息。流的數(shù)據(jù)不像消息的數(shù)據(jù),它沒有USB所定義的結(jié)構(gòu),而且通道與數(shù)據(jù)帶寬、傳送服務(wù)類型,端口特性(如方向和緩沖區(qū)大?。┯嘘P(guān)。多數(shù)通道在USB設(shè)備設(shè)置完成后即存在。USB中有一個(gè)特殊的通道——缺省控制通道,它屬于消息通道,當(dāng)設(shè)備一啟動(dòng)即存在,從而為設(shè)備的設(shè)置、查詢狀況和輸入控制信息提供一個(gè)入口。
??? 事務(wù)預(yù)處理允許對(duì)一些數(shù)據(jù)流的通道進(jìn)行控制,從而在硬件級(jí)上防止了對(duì)緩沖區(qū)的高估或低估,通過發(fā)送不確認(rèn)握手信號(hào)從而阻塞了數(shù)據(jù)的傳輸速度。當(dāng)不確認(rèn)信號(hào)發(fā)過后,若總線有空閑,數(shù)據(jù)傳輸將再做一次。這種流控制機(jī)制允許靈活的任務(wù)安排,可使不同性質(zhì)的流通道同時(shí)正常工作,這樣多種流通??稍诓煌g隔進(jìn)行工作,傳送不同大小的數(shù)據(jù)包。
健壯性
??? USB健壯性的特征在于:
??? ?使用差分的驅(qū)動(dòng)接收和防護(hù),以保證信號(hào)完整性;
??? ?在數(shù)據(jù)和控制信息上加了循環(huán)冗余碼(CRC);
??? ?對(duì)裝卸的檢測(cè)和系統(tǒng)級(jí)資源的設(shè)置;
??? ?對(duì)丟失或損壞的數(shù)據(jù)包暫停傳輸、利用協(xié)議自我恢復(fù);
??? ?對(duì)流數(shù)據(jù)進(jìn)行控制,以保證同步信號(hào)和硬件緩沖管理的安全;
??? ?數(shù)據(jù)和控制通道的建立,使功能部件的相互不利的影響?yīng)毩㈤_,消除了負(fù)作用。
3.5.1? 錯(cuò)誤檢測(cè)
??? USB傳輸介質(zhì)產(chǎn)生的錯(cuò)誤率是與自然界的異?,F(xiàn)象的概率相吻合,是瞬時(shí)一現(xiàn)的,因此就要在每個(gè)數(shù)據(jù)包中加入檢測(cè)位來發(fā)現(xiàn)這些瞬時(shí)的錯(cuò)誤,并且提供了一系列硬件和軟件設(shè)施來保證數(shù)據(jù)的正確性。
??? 協(xié)議中對(duì)每個(gè)包中的控制和數(shù)據(jù)位都提供了循環(huán)冗余碼校驗(yàn),若出現(xiàn)了循環(huán)冗余碼的錯(cuò)誤則被認(rèn)為是該數(shù)據(jù)包已被損壞,循環(huán)冗余碼可對(duì)一位或兩位的錯(cuò)誤進(jìn)行100%的修復(fù)。
3.5.2? 錯(cuò)誤處理
??? 協(xié)議在硬件或軟件級(jí)上提供對(duì)錯(cuò)誤的處理。硬件的錯(cuò)誤處理包括匯報(bào)并重新進(jìn)行上一次失敗的傳輸、傳輸中若遇到錯(cuò)誤,USB主機(jī)控制器將重新進(jìn)行傳輸,最多可再進(jìn)行三次。若錯(cuò)誤依然存在,則對(duì)客戶端軟件報(bào)告錯(cuò)誤,客戶端軟件可用一種特定的方法進(jìn)行處理。
系統(tǒng)設(shè)置
??? USB設(shè)備可以隨時(shí)的安裝和折卸,因此,系統(tǒng)軟件在物理的總線布局上必須支持這種動(dòng)態(tài)變化。
3.6.1? USB設(shè)備的安裝
??? 所有的USB設(shè)備都是通過端口接在USB上,網(wǎng)絡(luò)集線器知道這些指定的USB設(shè)備,集線器有一個(gè)狀態(tài)指示器指明在其某個(gè)端口上,USB設(shè)備是否被安裝或拆除了,主機(jī)將所有的集線器排成隊(duì)列以取回其狀態(tài)指示。在USB設(shè)備安裝后,主機(jī)通過設(shè)備控制通道激活該端口并以預(yù)設(shè)的地址值給USB設(shè)備。
??? 主機(jī)對(duì)每個(gè)設(shè)備指定唯一的USB地址。并檢測(cè)這種新裝的USB設(shè)備是集線器還是功能部件。主機(jī)為USB設(shè)備建立了控制通道,使用指定的USB的地址和零號(hào)端口。
??? 如果安裝的USB設(shè)備是集線器,并且USB設(shè)備連在其端口上,那上述過程對(duì)每個(gè)USB設(shè)備的安裝都要做一遍。
??? 如果安裝的設(shè)備是功能部件,那么主機(jī)中關(guān)于該設(shè)備的軟件將因設(shè)備的連接而被引發(fā)。
3.6.2? USB設(shè)備的拆卸
??? 當(dāng)USB設(shè)備從集線器的端口拆除后,集線器關(guān)閉該端口,并且向主機(jī)報(bào)告該設(shè)備已不存在。USB的系統(tǒng)軟件將準(zhǔn)確進(jìn)行處理,如果去除的USB設(shè)備上集線器,USB的系統(tǒng)軟件將對(duì)集線器反連在其上的所有設(shè)備進(jìn)行處理。
3.6.3? 總線標(biāo)號(hào)
??? 總線標(biāo)號(hào)就是對(duì)連接在總線上的設(shè)備指定唯一的地址的一種動(dòng)作,因?yàn)閁SB允許USB設(shè)備在任何時(shí)刻從USB上安裝或拆卸,所以總線標(biāo)號(hào)是USB的系統(tǒng)軟件始終要作的動(dòng)作,而且總線標(biāo)號(hào)還包括對(duì)拆除設(shè)備的檢測(cè)和處理。
數(shù)據(jù)流種類
??? 數(shù)據(jù)和控制信號(hào)在主機(jī)和USB設(shè)備間的交換存在兩種通道:?jiǎn)蜗蚝碗p向。USB的數(shù)據(jù)傳送是在主機(jī)軟件和一個(gè)USB設(shè)備的指定端口之間。這種主機(jī)軟件和USB設(shè)備的端口間的聯(lián)系稱作通道??偟膩碚f,各通道之間的數(shù)據(jù)流動(dòng)是相互獨(dú)立的。一個(gè)指定的USB設(shè)備可有許多通道。例如,一個(gè)USB設(shè)備存在一個(gè)端口,可建立一個(gè)向其它USB設(shè)備的端口,發(fā)送數(shù)據(jù)的通道,它可建立一個(gè)從其它USB設(shè)備的端口接收數(shù)據(jù)的通道。
USB的結(jié)構(gòu)包含四種基本的數(shù)據(jù)傳輸類型:
?控制數(shù)據(jù)傳送:在設(shè)備連接時(shí)用來對(duì)設(shè)備進(jìn)行設(shè)置,還可對(duì)指定設(shè)備進(jìn)行控制,如通道控制;
??? ?批量數(shù)據(jù)傳送:大批量產(chǎn)生并使用的數(shù)據(jù),在傳輸約束下,具有很廣的動(dòng)態(tài)范圍;
??? ?中斷數(shù)據(jù)的傳送:用來描述或匹配人的感覺或?qū)μ卣鞣磻?yīng)的回饋。
??? ?同步數(shù)據(jù)的傳送:由預(yù)先確定的傳送延遲來填滿預(yù)定的USB帶寬。
??? 對(duì)于任何對(duì)定的設(shè)備進(jìn)行設(shè)置時(shí)一種通道只能支持上述一種方式的數(shù)據(jù)傳輸,數(shù)據(jù)流模式的更多細(xì)節(jié)在第四章中詳述。
3.7.1? 控制數(shù)據(jù)傳送
??? 當(dāng)USB設(shè)備初次安裝時(shí),USB系統(tǒng)軟件使用控制數(shù)據(jù)對(duì)設(shè)備進(jìn)行設(shè)置,設(shè)備驅(qū)動(dòng)程序通過特定的方式使用控制數(shù)據(jù)來傳送,數(shù)據(jù)傳送是無損性的。
3.7.2? 批量數(shù)據(jù)傳送
??? 批量數(shù)據(jù)是由大量的數(shù)據(jù)組成,如使用打印機(jī)和掃描儀時(shí),批量數(shù)據(jù)是連續(xù)的。在硬件級(jí)上可使用錯(cuò)誤檢測(cè)可以保證可靠的數(shù)據(jù)傳輸,并在硬件級(jí)上引入了數(shù)據(jù)的多次傳送。此外根據(jù)其它一些總線動(dòng)作,被大量數(shù)據(jù)占用的帶寬可以相應(yīng)的進(jìn)行改變。
3.7.3? 中斷數(shù)據(jù)傳輸
??? 中斷數(shù)據(jù)是少量的,且其數(shù)據(jù)延遲時(shí)間也是有限范圍的。這種數(shù)據(jù)可由設(shè)備在任何時(shí)刻發(fā)送,并且以不慢于設(shè)備指定的速度在USB上傳送。
??? 中斷數(shù)據(jù)一般由事件通告,特征及座標(biāo)號(hào)組成,只有一個(gè)或幾個(gè)字節(jié)。匹配定點(diǎn)設(shè)備的座標(biāo)即為一例,雖然精確指定的傳輸率不必要,但USB必須對(duì)交互數(shù)據(jù)提供一個(gè)反應(yīng)時(shí)間的最低界限。
3.7.4? 同步傳輸
??? 同步數(shù)據(jù)的建立、傳送和使用時(shí)是連續(xù)且實(shí)時(shí)的,同步數(shù)據(jù)是以穩(wěn)定的速率發(fā)送和接收實(shí)時(shí)的信息,同步數(shù)據(jù)要使接收者與發(fā)送者保持相同的時(shí)間安排,除了傳輸速率,同步數(shù)據(jù)對(duì)傳送延遲非常敏感。所以同步通道的帶寬的確定,必須滿足對(duì)相關(guān)功能部件的取樣特性。不可避免的信號(hào)延遲與每個(gè)端口的可用緩沖區(qū)數(shù)有關(guān)。
??? 一個(gè)典型的同步數(shù)據(jù)的例子是語音,如果數(shù)據(jù)流的傳送率不能保持,數(shù)據(jù)流是否丟失將取決于緩沖區(qū)的大小和損壞的程度。即使數(shù)據(jù)在USB硬件上以合適的速率傳送,軟件造成的傳送延遲將對(duì)那些如電話會(huì)議等實(shí)時(shí)系統(tǒng)的應(yīng)用造成損害。
??? 實(shí)時(shí)的傳送同步數(shù)據(jù)肯定會(huì)發(fā)生潛在瞬時(shí)的數(shù)據(jù)流丟失現(xiàn)象,換句話說,即使許多硬件機(jī)制,如重傳的引入也不能避免錯(cuò)誤的產(chǎn)生。實(shí)際應(yīng)用中,USB的數(shù)據(jù)出錯(cuò)率小到幾乎可以忽略不計(jì)。從USB的帶寬中,給USB同步數(shù)據(jù)流分配了專有的一部分以滿足所想得到的傳速率,USB還為同步數(shù)據(jù)的傳送設(shè)計(jì)了最少延遲時(shí)間。
3.7.5? 指定USB帶寬
??? USB的帶寬分配給各個(gè)通道,當(dāng)一個(gè)通道建立后,USB就分配給它一定的帶寬,USB設(shè)備需要提供一些數(shù)據(jù)緩沖區(qū)。若USB提供了更多帶寬,則需更多的緩沖區(qū)。USB的體系要保證緩沖引導(dǎo)的硬件的延遲限定在幾毫秒內(nèi)。
USB的帶寬容量可以容納多種不同的數(shù)據(jù)流,因此保證USB上可以連接大量設(shè)備,如可以容納從1B+D直到T1速率范圍的電信設(shè)備。同時(shí)USB支持在同一時(shí)刻不同設(shè)備具有不同比特率,并具有一個(gè)動(dòng)態(tài)變動(dòng)的范圍。
??? USB規(guī)范對(duì)總線的每類轉(zhuǎn)輸規(guī)定的具體的原則。
USB設(shè)備
??? USB設(shè)備分為諸如集線器、分配器或文本設(shè)備等種類。集線器類指的是一種提供USB連接點(diǎn)的設(shè)備(詳見第十章),USB設(shè)備需要提供自檢和屬性設(shè)置的信息,USB設(shè)備必須在任何時(shí)刻執(zhí)行與所定義的USB設(shè)備的狀態(tài)相一致的動(dòng)態(tài)。
3.8.1? 設(shè)備特性
??? 當(dāng)設(shè)備被連接、編號(hào)后,該設(shè)備就擁有一個(gè)唯一的USB地址。設(shè)備就是通過該USB地址被操作的,每一個(gè)USB設(shè)備通過一個(gè)或多個(gè)通道與主機(jī)通訊。所有USB設(shè)備必須在零號(hào)端口上有一指定的通道,每個(gè)USB設(shè)備的USB控制通道將與之相連。通過此控制通道,所有的USB設(shè)備都列入一個(gè)共同的準(zhǔn)入機(jī)制,以獲得控制操作的信息。
??? 在零號(hào)端口上,控制通道中的信息應(yīng)完整的描述USB設(shè)備、此類信息主要有以下幾類:
??? ?標(biāo)準(zhǔn)信息:這類信息是對(duì)所有USB設(shè)備的共同性的定義,包括一些如廠商識(shí)別、設(shè)備種類、電源管理等的項(xiàng)目。設(shè)備設(shè)置、接口及終端的描述在此給出。關(guān)于這些具體的描述信息在第九章給出;
??? ?類別信息:此類信息給出了不同USB的設(shè)備類的定義,主要反映其不同點(diǎn)。
??? ?USB廠商信息:USB設(shè)備的廠商可自由的提供各種有關(guān)信息,其格式不受該規(guī)范制約。此外,每個(gè)USB設(shè)備均提供USB的控制和狀態(tài)信息。
3.8.2? 設(shè)備描述
??? 主要分為兩種設(shè)備類:集線器和功能部件。只有集線器可以提供更多的USB的連接點(diǎn),功能部件為主機(jī)提供了具體的功能。
3.8.2.1? 集線器
在即插即用的USB的結(jié)構(gòu)體系中,集線器是一種重要設(shè)備。圖3-3所示是
圖3 –3? 典型集線器
一種典型的集線器。從用戶的觀點(diǎn)出發(fā),集線器極大簡(jiǎn)化了USB的互連復(fù)雜性,而且以很低的價(jià)格和高易用性提供了設(shè)備的健壯性。
?
?? 集線器串接在集中器上,可讓不同性質(zhì)的設(shè)備連接在USB上,連接點(diǎn)稱作端口。每個(gè)集線器將一個(gè)連接點(diǎn)轉(zhuǎn)化成許多的連接點(diǎn)。并且該體系結(jié)構(gòu)支持多個(gè)集線器的連接。
??? 每個(gè)集線器的上游端口向主機(jī)方向進(jìn)行連接。每個(gè)集線器的下游端口允許連接另外的集線器或功能部件,集線器可檢測(cè)每個(gè)下游端口的設(shè)備的安裝或拆卸,并可對(duì)下游端口的設(shè)備分配能源,每個(gè)下游端口都具有獨(dú)立的能力,不論高速或低速設(shè)備均可連接。集線器可將低速和高速端口的信號(hào)分開。
??? 一個(gè)集線器包括兩部分:集線控制器(Controller)和集線放大器(Repeater)。集線放大器是一種在上游端口和下游端口之間的協(xié)議控制開關(guān)。而且硬件上支持復(fù)位、掛起、喚醒的信號(hào)。集線控制器提供了接口寄存器用于與主機(jī)之間的通信、集線器允許主機(jī)對(duì)其特定狀態(tài)和控制命令進(jìn)行設(shè)置,并監(jiān)視和控制其端口。
功能部件
??? 功能部件是一種通過總線進(jìn)行發(fā)送接收數(shù)據(jù)和控制信息的USB設(shè)備,通過一根電纜連接在集線器的某個(gè)端口上,功能設(shè)備一般是一種相互無關(guān)的外設(shè)。然而一個(gè)物理單元中可以有多個(gè)功能部件和一個(gè)內(nèi)置集線器,并利用一根USB電纜,這通常被稱為復(fù)合設(shè)備,即一個(gè)集線器連向主機(jī),并有一個(gè)或多個(gè)不可拆卸的USB設(shè)備連在其上。
??? 每個(gè)功能設(shè)備都包含設(shè)置信息,來描述該設(shè)備的性能和所需資源。主機(jī)要在功能部件
圖4 –4? 臺(tái)式機(jī)環(huán)境下的 集線器
使用前對(duì)其進(jìn)行設(shè)置。設(shè)置信息包括USB帶寬分配,選擇設(shè)備的設(shè)置信息等。
??? 下機(jī)列舉了一些功能部件:
??? ?定位設(shè)備:如鼠標(biāo)或光筆;
??? ?輸入設(shè)備:如鍵盤;
??? ?電信適配器:如ISDN。
USB主機(jī):硬件和軟件
??? USB的主機(jī)通過主機(jī)控制器與USB設(shè)備進(jìn)行交互。主機(jī)功能如下:
??? ?檢測(cè)USB設(shè)備的安裝和拆卸
??? ?管理在主機(jī)和USB設(shè)備之間的控制流;
??? ?管理在主機(jī)和USB設(shè)備之間的數(shù)據(jù)流;
??? ?收集狀態(tài)和動(dòng)作信息;
??? ?提供能量給連接的USB設(shè)備。
??? 主機(jī)上USB的系統(tǒng)軟件管理USB設(shè)備和主機(jī)上該設(shè)備軟件之間的相互交互,USB系統(tǒng)軟件與設(shè)備軟件間有三種相互作用方式:
??? ?設(shè)備編號(hào)和設(shè)置;
??? ?同步數(shù)據(jù)傳輸;
??? ?異步數(shù)據(jù)傳輸;
??? ?電源管理
??? ?設(shè)備和總線管理信息。
??? 只要可能,USB系統(tǒng)軟件就會(huì)使用目前的主機(jī)軟件接口來管理上述幾種方式。
體系結(jié)構(gòu)的擴(kuò)充
??? USB的體系結(jié)構(gòu)包含主機(jī)控制驅(qū)動(dòng)器和USB驅(qū)動(dòng)器之間的接口的擴(kuò)展,使多個(gè)主機(jī)控制器和主機(jī)控制驅(qū)動(dòng)器的使用成為可能。
評(píng)論
查看更多