通用序列匯流排

通用序列匯流排

通用序列匯流排,是連線外部設備的一個串口匯流排標準,在計算機上使用廣泛,但也可以用在機頂盒和遊戲機上,補充標準(On-The-Go)使其能夠用於在便攜設備之間直接交換數據。

通用序列匯流排通用序列匯流排
通用序列匯流排(UniversalSerialBus,USB)是連線外部設備的一個串口匯流排標準,在計算機上使用廣泛,但也可以用在機頂盒遊戲機上,補充標準(On-The-Go)使其能夠用於在便攜設備之間直接交換數據。Intel公司開發的通用串列匯流排架構(USB)的目的主要基於以下三方面考慮:
(一)計算機與電話之間的連線:顯然用計算機來進行計算機通信將是下一代計算機基本的套用。機器和人們的數據互動流動需要一個廣泛而又便宜的連通網路。然而,由於目前產業間的相互獨立發展,尚未建立統一標準,而USB則可以廣泛的連線計算機和電話。
(二)易用性:眾所周知,PC機的改裝是極不靈活的。對用戶友好的圖形化接口和一些軟硬體機制的結合,加上新一代匯流排結構使得計算機的衝突大量減少,且易於改裝。但以終端用戶的眼光來看,PC機的輸入/輸出,如串列/並行連線埠鍵盤滑鼠操縱桿接口等,均還沒有達到即插即用的特性,USB正是在這種情況下問世的。
(三)連線埠擴充:外圍設備的添加總是被相當有限的連線埠數目限制著。缺少一個雙向、價廉、與外設連線的中低速的匯流排,限制了外圍設備(諸如電話/電傳/數據機的適配器、掃瞄器、鍵盤、PDA)的開發。現有的連線只可對極少設備進行最佳化,對於PC機的新的功能部件的添加需定義一個新的接口來滿足上述需要,USB就應運而生。它是快速、雙向、同步、動態連線且價格低廉的串列接口,可以滿足PC機發展的現在和未來的需要。
USB最初是由英特爾與微軟公司倡導發起,其最大的特點是支持熱插拔(Hotplug)和即插即用(Plug&Play)。當設備插入時,主機枚舉(enumerate)此設備並載入所需的驅動程式,因此使用遠比PCI和ISA匯流排方便。USB速度比平行埠並聯匯流排(ParellelBus,例如EPP、LPT)與串聯埠匯流排(serialport,例如RS-232)等傳統電腦用標準匯流排快上許多。原標準中USB1.1的最大傳輸頻寬為12Mbps,USB2.0的最大傳輸頻寬為480Mbps。USB的設計為非對稱式的,它由一個主機(host)控制器和若干通過hub設備以樹形連線的設備組成。一個控制器下最多可以有5級hub,包括Hub在內,最多可以連線127個設備,而一台計算機可以同時有多個控制器。和SPI-SCSI等標準不同,USBHUB不需要終結器。USB可以連線的外設有滑鼠、鍵盤、gamepad、遊戲桿、掃瞄器、數位相機、印表機、硬碟和網路部件。對數位相機這樣的多媒體外設USB已經是預設接口;由於大大簡化了與計算機的連線,USB也逐步取代並口成為印表機的主流連線方式。2004年已經有超過1億台USB設備;到2005年顯示器和高清晰度數字視頻外設是僅有的USB未能染指的外設類別,因為他們需要更高的傳輸速率。
USBImplementersForum(USBIF)負責USB標準制訂,其成員包括蘋果電腦、惠普、NEC、Microsoft和Intel。USBIF於2001年底公布了2.0規範,之前還有0.9、1.0、和1.1,他們都是完全向後兼容的。On-The-GoSupplementtotheUSB2.0Specification的當前版本是1.0a。
現標準中將UBS統一為USB2.0,分為:
High-speed,傳輸速率25Mbps~400Mbps(最大480Mbps)
Full-speed,傳輸速率500Kbps~10Mbps(最大12Mbps)
Low-speed,傳輸速率10Kbps~100Kbps(最大1.5Mbps)
USB支持3種數據信號速率,USB設備應該在其外殼或者有時是自身上正確標明其使用的速率。USB-IF進行設備認證並為通過兼容測試並支付許可費用的設備提供基本速率(低速和全速)和高速的特殊商標許可。Ø1.5Mbit/s(183KByte/s)的低速速率,主要用於人機接口設備(HumanInterfaceDevices,HID)例如鍵盤、滑鼠、遊戲桿。Ø12Mbit/s(1.4MByte/s)的全速速率,在USB2.0之前是曾經是最高速率,後起的更高速率的高速接口應該兼容全速速率。多個全速設備間可以按照先到先得法則劃分頻寬;使用多個等時設備時會超過頻寬上限也並不罕見。所有的USBHub支持全速速率。Ø480Mbit/s(57MByte/s)的高速速率。並非所有的USB2.0設備都是高速的。高速設備插入全速hub時應該與全速兼容。而高速hub具有所謂TransactionTranslator(事務翻譯器)功能,能夠隔離全速、低速設備與高速之間數據流,但是不會影響供電和串聯深度。
標準USB接口:
USB標準採用NRZI方式(翻轉不歸零制)對數據進行編碼。翻轉不歸零制(non-returntozero,inverted),電平保持時傳送邏輯1,電平翻轉時傳送邏輯0。一個USB主機通過hub鏈可以連線多個設備。由於理論上一個物理設備可以承擔多種功能,例如路由器同時也可以是一個SD卡讀卡器,USB的術語中設備(device)指的是功能(functions)。集線器(hub)由於作用特殊,按照正式的觀點並不認為是function。直接連線到主機的hub是根(root)hub。
端點:
設備/功能(和集線器)與管道pipe(邏輯通道)聯繫在一起,管道把主機控制器和被稱為端點endpoint的邏輯實體連線起來。管道和比特流(例如UNIX的pipeline)有著相同的含義,而在USB辭彙中術語端點經常和管道混用,甚至在正式文檔中。(和各自的管道)在每個方向上按照0-15編號,因此一個設備/功能最多有32個活動管道,16個進,16個出。(出(OUT)指離開控制器,而入(IN)指進入主機控制器。)兩個方向的端點0總是留給匯流排管理,占用了32個端點中的2個。在管道中,數據使用不同長度的包傳遞,端點可以傳遞的包長度上限一般是2^n位元組,所以USB包經常包含的數據量依次有8、16、32、64、128、256、512或者1024位元組。一個端點只能單向(進/出)傳輸數據,自然管道也是單向的。每個USB設備至少有兩個端點/管道:它們分別是進出方向的,編號為0,用於控制匯流排上的設備。按照各自的傳輸類型,管道被分為4類:
Ø控制傳輸——一般用於短的、簡單的對設備的命令和狀態反饋,例如用於匯流排控制的0號管道。Ø等時傳輸——按照有保障的速度(可能但不必然是儘快地)傳輸,可能有數據丟失,例如實時的音頻、視頻。Ø中斷傳輸——用於必須保證儘快反應的設備(有限延遲),例如滑鼠、鍵盤。Ø批量傳輸——使用餘下的頻寬大量地(但是沒有對於延遲、連續性、頻寬和速度的保證)傳輸數據,例如普通的檔案傳輸。一旦設備(功能)通過匯流排的hub附加到主機控制器,主機控制器就給它分配一個主機上唯一的7位地址。主機控制器通過投票分配流量,一般是通過輪詢模式,因此沒有明確向主機控制器請求之前,設備不能傳輸數據。
為了訪問端點,必須獲得一個分層的配置。連線到主機的設備有且僅有一個設備描述符(devicedescriptor),而設備描述符有若干配置描述符(configurationdescriptors)。這些配置一般與狀態相對應,例如活躍和節能模式。。每個配置描述符有若干接口描述符(interfacesetting),用於描述設備的一定方面,所以可以被用於不同的用途:如一個相機可能擁有視頻和音頻兩個接口。接口描述符有一個預設接口設定(defaultinterfacesetting)和可能多個替代接口設定(alternateinterfacesettings),它們都擁有如上所述的端點描述符。一個端點能夠在多個接口和替代接口設定之間復用。
 

相關詞條

相關搜尋

熱門詞條

聯絡我們