|
USB是英文Universal SerialBus的簡稱,中文名稱是“通用串行總線”。調(diào)查一下中關(guān)村的硬件市場,可以列舉出一大堆 USB 設(shè)備:USB移動硬盤、USB數(shù)碼相機、USBMP3播放器、USB數(shù)碼相機、USB鍵盤、鼠標(biāo)、游戲手柄……仿佛所有的計算機硬件都沾上了USB的邊。USB支持即插即用(PlugandPlay),即允許外設(shè)在主機和其他外設(shè)工作時進行連接、配置、使用和刪除。應(yīng)用USB總線規(guī)范,可以清除PC上過多的I/O接口,而僅以一個串行接口取代,使得PC與外部設(shè)備之間的連接變得更加容易。關(guān)鍵詞:
(1) 握手應(yīng)答包(AcknowledgePacket,簡寫為ACK)。用于USB主機與設(shè)備之間數(shù)據(jù)傳輸時,指示應(yīng)答的握手 信號。
(2)緩沖區(qū)(Buffer)。計算機或者是嵌入式系統(tǒng)中,用于暫時存儲不能及時或大量傳送的數(shù)據(jù)的內(nèi)存單元。
(3) 批量傳輸(BulkTransfer)。USB的4種傳輸類型之一。用于對時間沒有特殊要求,但總量很大的數(shù)據(jù)的 傳輸。
(4) 總線枚舉(BusEnumeration)。USB主機對于USB設(shè)備的檢測和配置。
(5) 控制傳輸(ControlTransfer)。USB的4種傳輸類型之一。主要用于主機與設(shè)備之間配置、命令及狀態(tài)等 數(shù)據(jù)的傳輸。
(6)設(shè)備(Device)。這是一個非常重要的概念,是指能夠?qū)崿F(xiàn)某種USB功能的邏輯或物理實體。USB協(xié)議將設(shè) 備分為3個層次:
從最低的層次來講,設(shè)備指的就是單個的元件,比如一個Flash存儲設(shè)備;
從更高一層次來講,設(shè)備是能夠?qū)崿F(xiàn)某種特定功能的硬件的集合體,比如USB的接口設(shè)備;
最高層次上的USB設(shè)備,是指其所能夠?qū)崿F(xiàn)的功能。在文中沒有特殊提到時,設(shè)備指的就是一個USB集線 器或者是一種USB的功能。比如優(yōu)盤就是一個USB設(shè)備,因為它能實現(xiàn)USB的MassStorage的功能。
(7)端點(Endpoint,簡寫為EP)。又一個重要的概念。從物理機制來說,端點可以是嵌入式系統(tǒng)或PC上的一 個數(shù)據(jù)緩沖區(qū),用來存放和發(fā)送 USB的各種數(shù)據(jù);從邏輯上來說,端點可以視為數(shù)據(jù)的收發(fā)器,可以按 照定義的傳輸方式來交換數(shù)據(jù)。每個端點都有惟一確定的地址,即端點號。每個端點根據(jù)相關(guān)硬件芯片 的不同設(shè)置成不同的傳輸特性,比如輸入/輸出端點、配置端點及批量傳輸端點等。
(8)域(Field)。USB協(xié)議中規(guī)定的組成包的單元。
(9)幀(Frame)。這是一個時間概念,指的是從一個SOF令牌開始到下一個SOF發(fā)送之間的時間,其中包含了 一系列的數(shù)據(jù)傳送。
(10)功能(Function)。通過USB實現(xiàn)的某種作用或任務(wù)。比如USB的數(shù)碼相機等,它同時也是一個USB的設(shè) 備,起到了傳輸照片數(shù)據(jù)等的功能。
(11)人機交互設(shè)備(HumanInterface Device,簡寫為HID)。USB協(xié)議規(guī)定的設(shè)備類之一。常見的USB鼠標(biāo)、 鍵盤等設(shè)備均屬于HID。Windows等操作系統(tǒng)對于HID有很好的支持,提供了完整的驅(qū)動程序。HID的PC 級開發(fā)因此僅需針對應(yīng)用級用戶程序。
(12)主機(Host)。是整個USB體系的核心。它包括主機接口控制器硬件和驅(qū)動程序2個層次。
(13)集線器(Hub)。提供USB設(shè)備到主機的連接點。能夠為相應(yīng)的 USB 設(shè)備提供電源,并在一定程度上檢測 和管理連接的USB設(shè)備。
(14)同步傳輸(IsochronousTransfer)。4種USB傳輸類型之一。適用于對時間有嚴(yán)格要求的數(shù)據(jù)的傳輸,比 如音頻數(shù)據(jù)的傳輸。USB總線能夠保證為同步傳輸提供固定的帶寬,并有可能因此占用批量傳輸?shù)鹊膸?nbsp; 寬,而優(yōu)先滿足同步傳輸?shù)男枰?br />
(15)最低有效位(LeastSignificant Bit,簡寫為 LSB)。
(16)微控制器(MicroController Unit ,簡寫為MCU)。國內(nèi)俗稱單片機。
(17)最高有效位(MostSignificant Bit ,簡寫為MSB)。
(18)移動式USB(USB On TheGo,簡寫為OTG)。基于 USB協(xié)議2.0的補充版本,用于解決USB點對點通信的瓶 頸。OTG既具有USB主機的功能,又具有 USB設(shè)備的功能,并且能夠自由地在這兩種角色中進行切換。
(19)包(Packet)。USB協(xié)議中規(guī)定的有一定格式的數(shù)據(jù)組合。典型的一個包中,包含了該包的信息、傳輸?shù)臄?shù) 據(jù)和校驗糾錯信息等3部分。可以說,包是USB數(shù)據(jù)傳輸?shù)淖罨締挝弧?br />
(20)個人計算機(PersonalComputer,簡寫為PC)。
(21)包標(biāo)志域(PacketIdentified Field,簡寫為PID)。用于表明包的類型和格式的域。
(22)即插即用(Play andPlug,簡寫為PnP)。基于PC的一項技術(shù),用于管理I/O地址、內(nèi)存地址和IRQ等在內(nèi) 的主機資源,使得外部設(shè)備能夠使用的PC中沒有沖突的某項資源。
(23)端口(Port)。USB設(shè)備的接入點,一般由集線器或USB主機的根集線器提供。
(24)事務(wù)(Transaction)。USB中基于一個端點的數(shù)據(jù)發(fā)送與接收的行為。注意與Transfer的區(qū)別。
(25)傳輸(Transfer)。USB的各種數(shù)據(jù)發(fā)送的總的格式。包括4種傳輸類型。傳輸由1筆或多筆事務(wù)組成。
(26)嵌入式USB主機(EmbeddedUSB Host)。隨著對USB點對點方案的發(fā)展,出現(xiàn)“嵌入式 USB主機”的解決 方案的需求,這也是一個新的提法和名稱。指的是在嵌入式系統(tǒng)中實現(xiàn)USB主機的功能,從功能上來 說,它應(yīng)該完全具備和PC上一樣的所有USB主機的功能,但是,從實現(xiàn)的角度來講,由于PC有很大的不 同,因此,凡是書中敘述有關(guān)如此內(nèi)容的時候,均會嚴(yán)格標(biāo)注“嵌入式USB主機”。
USB的拓?fù)浣Y(jié)構(gòu)如下圖所示:
USB的拓?fù)潴w系由3種元素組成:主機、Hub和設(shè)備。在PC平臺上的USB中,PC就是主機和根Hub,用戶可以將設(shè)備和下級Hub與之連接。而這些附加的Hub又可以連接更下一級的Hub和設(shè)備,從而構(gòu)成了星形結(jié)構(gòu)。在USB協(xié)議1.1中,一個USB的拓?fù)渚W(wǎng)絡(luò)最多可以支持4個Hub層(包括最后一級設(shè)備后共5層)以及127個外設(shè)。而在最新的USB協(xié)議2.0中,對于Hub層的支持已經(jīng)達(dá)到了6層(包括最后一級設(shè)備后共7層)。
下圖演示了一個完整的USB系統(tǒng)的軟硬件組成以及它們之間的聯(lián)系:
USB系統(tǒng)的軟硬件資源可以分為3個層次,即功能層、設(shè)備層和接口層。接口層涉及的是具體的物理層,其主要實現(xiàn)物理信號和數(shù)據(jù)包的交互,也就是在主機端的USB主控制器和設(shè)備端的USB總線接口之間傳輸實際的數(shù)據(jù)流。設(shè)備層主要提供USB基本的協(xié)議棧,執(zhí)行通用的USB的各種操作和請求命令,從邏輯上講,就是USB系統(tǒng)軟件與USB邏輯設(shè)備之間的數(shù)據(jù)交換。最后,功能層提供每個USB設(shè)備所需的特定的功能,主機端的這個功能由用戶軟件和設(shè)備類驅(qū)動程序提供,而設(shè)備端就由功能單元來實現(xiàn),它們之間的這種聯(lián)系看作是邏輯上的數(shù)據(jù)流。
最后,以下表來總結(jié)一下USB系統(tǒng)的所有軟硬件資源,并重新加以歸類。
|
|