標(biāo)題: USB拓?fù)浣Y(jié)構(gòu)和USB系統(tǒng)軟硬件組成 [打印本頁(yè)]

作者: 51黑黑黑    時(shí)間: 2016-2-12 19:23
標(biāo)題: USB拓?fù)浣Y(jié)構(gòu)和USB系統(tǒng)軟硬件組成
   USB是英文Universal SerialBus的簡(jiǎn)稱,中文名稱是“通用串行總線”。調(diào)查一下中關(guān)村的硬件市場(chǎng),可以列舉出一大堆 USB 設(shè)備:USB移動(dòng)硬盤、USB數(shù)碼相機(jī)、USBMP3播放器、USB數(shù)碼相機(jī)、USB鍵盤、鼠標(biāo)、游戲手柄……仿佛所有的計(jì)算機(jī)硬件都沾上了USB的邊。USB支持即插即用(PlugandPlay),即允許外設(shè)在主機(jī)和其他外設(shè)工作時(shí)進(jìn)行連接、配置、使用和刪除。應(yīng)用USB總線規(guī)范,可以清除PC上過多的I/O接口,而僅以一個(gè)串行接口取代,使得PC與外部設(shè)備之間的連接變得更加容易。關(guān)鍵詞:
    (1) 握手應(yīng)答包(AcknowledgePacket,簡(jiǎn)寫為ACK)。用于USB主機(jī)與設(shè)備之間數(shù)據(jù)傳輸時(shí),指示應(yīng)答的握手        信號(hào)。
    (2)緩沖區(qū)(Buffer)。計(jì)算機(jī)或者是嵌入式系統(tǒng)中,用于暫時(shí)存儲(chǔ)不能及時(shí)或大量傳送的數(shù)據(jù)的內(nèi)存單元。
    (3) 批量傳輸(BulkTransfer)。USB的4種傳輸類型之一。用于對(duì)時(shí)間沒有特殊要求,但總量很大的數(shù)據(jù)的        傳輸。
    (4) 總線枚舉(BusEnumeration)。USB主機(jī)對(duì)于USB設(shè)備的檢測(cè)和配置。
    (5) 控制傳輸(ControlTransfer)。USB的4種傳輸類型之一。主要用于主機(jī)與設(shè)備之間配置、命令及狀態(tài)等       數(shù)據(jù)的傳輸。
    (6)設(shè)備(Device)。這是一個(gè)非常重要的概念,是指能夠?qū)崿F(xiàn)某種USB功能的邏輯或物理實(shí)體。USB協(xié)議將設(shè)       備分為3個(gè)層次:
       從最低的層次來(lái)講,設(shè)備指的就是單個(gè)的元件,比如一個(gè)Flash存儲(chǔ)設(shè)備;
       從更高一層次來(lái)講,設(shè)備是能夠?qū)崿F(xiàn)某種特定功能的硬件的集合體,比如USB的接口設(shè)備;
       最高層次上的USB設(shè)備,是指其所能夠?qū)崿F(xiàn)的功能。在文中沒有特殊提到時(shí),設(shè)備指的就是一個(gè)USB集線       器或者是一種USB的功能。比如優(yōu)盤就是一個(gè)USB設(shè)備,因?yàn)樗軐?shí)現(xiàn)USB的MassStorage的功能。
    (7)端點(diǎn)(Endpoint,簡(jiǎn)寫為EP)。又一個(gè)重要的概念。從物理機(jī)制來(lái)說,端點(diǎn)可以是嵌入式系統(tǒng)或PC上的一       個(gè)數(shù)據(jù)緩沖區(qū),用來(lái)存放和發(fā)送 USB的各種數(shù)據(jù);從邏輯上來(lái)說,端點(diǎn)可以視為數(shù)據(jù)的收發(fā)器,可以按       照定義的傳輸方式來(lái)交換數(shù)據(jù)。每個(gè)端點(diǎn)都有惟一確定的地址,即端點(diǎn)號(hào)。每個(gè)端點(diǎn)根據(jù)相關(guān)硬件芯片       的不同設(shè)置成不同的傳輸特性,比如輸入/輸出端點(diǎn)、配置端點(diǎn)及批量傳輸端點(diǎn)等。
    (8)域(Field)。USB協(xié)議中規(guī)定的組成包的單元。
    (9)幀(Frame)。這是一個(gè)時(shí)間概念,指的是從一個(gè)SOF令牌開始到下一個(gè)SOF發(fā)送之間的時(shí)間,其中包含了       一系列的數(shù)據(jù)傳送。
   (10)功能(Function)。通過USB實(shí)現(xiàn)的某種作用或任務(wù)。比如USB的數(shù)碼相機(jī)等,它同時(shí)也是一個(gè)USB的設(shè)         備,起到了傳輸照片數(shù)據(jù)等的功能。
    (11)人機(jī)交互設(shè)備(HumanInterface Device,簡(jiǎn)寫為HID)。USB協(xié)議規(guī)定的設(shè)備類之一。常見的USB鼠標(biāo)、       鍵盤等設(shè)備均屬于HID。Windows等操作系統(tǒng)對(duì)于HID有很好的支持,提供了完整的驅(qū)動(dòng)程序。HID的PC         級(jí)開發(fā)因此僅需針對(duì)應(yīng)用級(jí)用戶程序。
   (12)主機(jī)(Host)。是整個(gè)USB體系的核心。它包括主機(jī)接口控制器硬件和驅(qū)動(dòng)程序2個(gè)層次。

   (13)集線器(Hub)。提供USB設(shè)備到主機(jī)的連接點(diǎn)。能夠?yàn)橄鄳?yīng)的 USB 設(shè)備提供電源,并在一定程度上檢測(cè)       和管理連接的USB設(shè)備。
    (14)同步傳輸(IsochronousTransfer)。4種USB傳輸類型之一。適用于對(duì)時(shí)間有嚴(yán)格要求的數(shù)據(jù)的傳輸,比       如音頻數(shù)據(jù)的傳輸。USB總線能夠保證為同步傳輸提供固定的帶寬,并有可能因此占用批量傳輸?shù)鹊膸?nbsp;      寬,而優(yōu)先滿足同步傳輸?shù)男枰?br />     (15)最低有效位(LeastSignificant Bit,簡(jiǎn)寫為 LSB)。
    (16)微控制器(MicroController Unit ,簡(jiǎn)寫為MCU)。國(guó)內(nèi)俗稱單片機(jī)。
    (17)最高有效位(MostSignificant Bit ,簡(jiǎn)寫為MSB)。
    (18)移動(dòng)式USB(USB On TheGo,簡(jiǎn)寫為OTG); USB協(xié)議2.0的補(bǔ)充版本,用于解決USB點(diǎn)對(duì)點(diǎn)通信的瓶         頸。OTG既具有USB主機(jī)的功能,又具有 USB設(shè)備的功能,并且能夠自由地在這兩種角色中進(jìn)行切換。
   (19)包(Packet)。USB協(xié)議中規(guī)定的有一定格式的數(shù)據(jù)組合。典型的一個(gè)包中,包含了該包的信息、傳輸?shù)臄?shù)       據(jù)和校驗(yàn)糾錯(cuò)信息等3部分。可以說,包是USB數(shù)據(jù)傳輸?shù)淖罨締挝弧?br />     (20)個(gè)人計(jì)算機(jī)(PersonalComputer,簡(jiǎn)寫為PC)。
    (21)包標(biāo)志域(PacketIdentified Field,簡(jiǎn)寫為PID)。用于表明包的類型和格式的域。
    (22)即插即用(Play andPlug,簡(jiǎn)寫為PnP);赑C的一項(xiàng)技術(shù),用于管理I/O地址、內(nèi)存地址和IRQ等在內(nèi)       的主機(jī)資源,使得外部設(shè)備能夠使用的PC中沒有沖突的某項(xiàng)資源。
   (23)端口(Port)。USB設(shè)備的接入點(diǎn),一般由集線器或USB主機(jī)的根集線器提供。
   (24)事務(wù)(Transaction)。USB中基于一個(gè)端點(diǎn)的數(shù)據(jù)發(fā)送與接收的行為。注意與Transfer的區(qū)別。
   (25)傳輸(Transfer)。USB的各種數(shù)據(jù)發(fā)送的總的格式。包括4種傳輸類型。傳輸由1筆或多筆事務(wù)組成。
    (26)嵌入式USB主機(jī)(EmbeddedUSB Host)。隨著對(duì)USB點(diǎn)對(duì)點(diǎn)方案的發(fā)展,出現(xiàn)“嵌入式 USB主機(jī)”的解決       方案的需求,這也是一個(gè)新的提法和名稱。指的是在嵌入式系統(tǒng)中實(shí)現(xiàn)USB主機(jī)的功能,從功能上來(lái)         說,它應(yīng)該完全具備和PC上一樣的所有USB主機(jī)的功能,但是,從實(shí)現(xiàn)的角度來(lái)講,由于PC有很大的不       同,因此,凡是書中敘述有關(guān)如此內(nèi)容的時(shí)候,均會(huì)嚴(yán)格標(biāo)注“嵌入式USB主機(jī)”。




USB的拓?fù)浣Y(jié)構(gòu)如下圖所示:

  USB的拓?fù)潴w系由3種元素組成:主機(jī)、Hub和設(shè)備。在PC平臺(tái)上的USB中,PC就是主機(jī)和根Hub,用戶可以將設(shè)備和下級(jí)Hub與之連接。而這些附加的Hub又可以連接更下一級(jí)的Hub和設(shè)備,從而構(gòu)成了星形結(jié)構(gòu)。在USB協(xié)議1.1中,一個(gè)USB的拓?fù)渚W(wǎng)絡(luò)最多可以支持4個(gè)Hub層(包括最后一級(jí)設(shè)備后共5層)以及127個(gè)外設(shè)。而在最新的USB協(xié)議2.0中,對(duì)于Hub層的支持已經(jīng)達(dá)到了6層(包括最后一級(jí)設(shè)備后共7層)。
  
下圖演示了一個(gè)完整的USB系統(tǒng)的軟硬件組成以及它們之間的聯(lián)系:



  USB系統(tǒng)的軟硬件資源可以分為3個(gè)層次,即功能層、設(shè)備層和接口層。接口層涉及的是具體的物理層,其主要實(shí)現(xiàn)物理信號(hào)和數(shù)據(jù)包的交互,也就是在主機(jī)端的USB主控制器和設(shè)備端的USB總線接口之間傳輸實(shí)際的數(shù)據(jù)流。設(shè)備層主要提供USB基本的協(xié)議棧,執(zhí)行通用的USB的各種操作和請(qǐng)求命令,從邏輯上講,就是USB系統(tǒng)軟件與USB邏輯設(shè)備之間的數(shù)據(jù)交換。最后,功能層提供每個(gè)USB設(shè)備所需的特定的功能,主機(jī)端的這個(gè)功能由用戶軟件和設(shè)備類驅(qū)動(dòng)程序提供,而設(shè)備端就由功能單元來(lái)實(shí)現(xiàn),它們之間的這種聯(lián)系看作是邏輯上的數(shù)據(jù)流。

最后,以下表來(lái)總結(jié)一下USB系統(tǒng)的所有軟硬件資源,并重新加以歸類。











歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1