USB 傳輸介面是目前在桌上型電腦、筆記型電腦、印表機、數位儲存裝置、輸入/輸出設備、數位相機、MP3播放器及其他各種周邊裝置中,最為廣泛的連結方式。由於USB使用簡易、傳輸速度快、連結方便、隨插即用、更不需另外插電,所以USB 1.1已經成為現今PC的基本傳輸介面,而另一方面,USB 2.0正蓄勢待發。根據市調機構Cahners In-Stat 的預測,到2004年將有7.5億台PC安裝USB介面,使得透過USB進行傳輸的周邊設備將超過10億台。所以對USB介面周邊裝置的研發工程人員來說,如何從種類繁多的USB元件中選擇最適合自身需求的元件,已經成為愈來愈重要的課題。
USB傳輸速度
匯流排的傳輸速度是判斷連結傳輸效能的一個重要指標,並決定該種連結介面的應用領域。USB的出現正是解決了在PC領域中,使用者不知該選擇何種傳輸方式的最佳解決方案,更建立了一套相當容易使用的周邊設備連結方式。
兩種傳輸模式
在USB 1.1介面時便定義出兩種傳輸模式,即傳輸速度1.5Mbps的低速模式(Low Speed)與12Mbps的全速模式(Full Speed),而USB 建置者論壇(USB Implementers Forum,USB-IF)於2000年4月公佈的USB 2.0傳輸介面中又定義了傳輸速度達到480Mbps的高速模式(High Speed)。與其他傳統的多數連結方式相比,USB具有傳輸速度快、連結簡易等優點,除了新型的周邊設備會採用USB介面外,一些早期採用其他連結方式的周邊設備,也逐漸改用USB傳輸介面。(表一)為USB與其他連結方式傳輸速度的比較。
表一 USB與其他連結方式的速度比較
連結方式 |
傳輸速度 |
USB Low Speed |
1.5 Mbps |
USB Full Speed |
12 Mbps |
USB High Speed |
480 Mbps |
Serial Port |
230 Kbps |
IEEE 488 |
8 Mbps |
Parallel Port |
800K - 2Mbps |
SCSI |
1 - 40 Mbps |
ISA |
2 Mbps |
IEEE 1394 |
400 Mbps |
USB的三種傳輸速度模式分別適合於不同的應用領域,如低速模式的鍵盤、滑鼠與搖桿和全速模式的語音傳送及高速模式的即時影音傳送與高品質掃描器等,但是其他不同的資料傳輸也可透過USB介面進行高速連結。但必須注意的是USB 的速度是用Mega Bits per Second (Mbps)來計算,同時也須注意資料傳輸量因為包含了傳輸協定以及消耗掉的頻寬,實際的資料傳輸量無法達到最高連結傳輸速度。以全速USB為例,最高傳輸速度為12Mbps,即1.5Mbyte/s,但理論上的最大資料傳輸量僅有9.2Mbps。所以在選擇時,必須先對外設的資料傳輸量進行基本估算,再根據自身需求選擇適合的USB元件。
USB元件的分類
許多廠商相繼推出USB晶片,如此多樣化的選擇常使研發人員無所適從。事實上,元件的性能、價格及研發過程所需投入的時間與人力成本,均是選擇周邊裝置元件必須考慮的主要因素。USB元件具備的功能主要包括傳輸速度、端點(End Point)數目、微控制器的功能設定與I/O數目等。USB裝置研發的過程主要集中在硬體開發上,但仍需要撰寫在PC上的驅動程式。若元件廠商能提供高性能的系統研發工具及選擇豐富的程式碼範例,將更能有效地幫助工程人員大幅縮短研發時程。
對於USB元件的分類方法大致有:按照功能分成主控制器元件、集線器元件和周邊元件;按照速度分成低速(Low speed)與全速(Full speed)的USB 1.1元件,及高速(High Speed)的USB 2.0元件,另外還有針對專用功能的USB元件。(圖一)為USB元件的基本分類。
接下來我們將透過(圖一)的分類來依序介紹USB元件。
主控制器(Host Controller)
USB匯流排是一種主/從結構的通訊方式,所有操作都首先由主機端發出命令。USB主控制器包含匯流排收發器及主控制器介面(OHCI、UHCI或EHCI),並完成由驅動程式傳遞過來I/O Request Packet(IRP)執行指令,更內建了主集線器(Root Hub)的功能,並透過USB主控制器來控制主機與USB裝置間的資料傳輸。
USB 1.1主控制器的支援功能通常已被內建在PC的周邊晶片組中,然而內嵌式系統中廣泛的USB應用也使獨立的USB主控制器佔有很大的市場。很多廠商都針對這種應用開發出USB 1.1的主控制器晶片,如Philips的ISP1161和Cypress的SL11H/SL811HS,它們可將主控制器和周邊元件建置在一起,提供微處理器介面的資料匯流排和控制線路,可直接與DSP、微控制器等處理器連結,通過軟體可以使元件於主控制器模式或周邊元件模式下運行。
舉例而言,使用內建這種元件的數位相機在與PC 連結時,可以從裝置端(相機)將影像傳送給PC;在與印表機連結時,可作為主機端(相機)將影像傳送到印表機進行輸出。這種功能就如同IEEE 1394的點對點(Peer to Peer)操作功能。不過,USB建置者論壇目前正在發展一種稱為USB OTG(On-The-Go)的加強功能,以USB 2.0規格為範本,使未來的USB裝置將同時具有主/從雙重功能。
未來發展
由於時脈頻率很高,USB 2.0對信號失真及抗電磁干擾等方面都有更嚴格的要求,這使得USB 2.0元件在設計時更加困難。目前USB 2.0主控制器尚未內建在在PC晶片組中,但Intel已經計劃在今年初推出內建支援USB 2.0的晶片組,今年USB 2.0將逐漸成為市場主流。PC的OEM製造廠商初期還會同時提供一些尚未內建USB 2.0主控制器或者以USB 2.0單晶片設計的主機板,使得獨立的USB 2.0主控制器仍擁有一定的市場。目前市面上已經有許多USB 2.0介面卡,多數採用NEC的uPD720100A或Philips的ISP1561等USB 2.0主控制器,提供的PCI介面使PC可透過PCI匯流排與控制器連結。USB 2.0規格中要求USB 2.0主控制器或連結埠必需與USB 1.1裝置完全相容,所以可在480Mbps / 12Mbps / 1.5Mbps等三種不同速度模式下運作。
USB集線器(USB Hub)
USB是一種層狀星型拓撲結構,最多可同時外接127個裝置,但這需要利用集線器以擴展連接數目。集線器為USB裝置和主機間提供了傳輸介面,並提供USB使用者親善的介面,減少系統複雜性。集線器同時負責電源管理、裝置接入和中斷測試、高速/低速運作裝置支援、匯流排錯誤檢測和恢復等工作,一般由中繼器和控制器兩個部分所組成。
集線器元件的主要供應廠商有NEC、Cypress、Philips及Atmel等。USB 1.1集線器元件一般有兩種分類:
獨立集線器元件
這類集線器元件由硬體完成基本的集線器功能,客戶不需開發硬體,因此降低了開發風險和縮短研發周期。內建有一個上行埠和數目不等的下行埠,適用於筆記型電腦,如Cypress公司的CY7C65100、Philips公司的ISP1122A與Atmel公司的AT43301,便屬於這個類型。
複合集線器元件
這類集線器元件內部除了集線器介面和中繼器外,還包含微控制器及個數不等的GPIO針腳,可以與外部的電信訊號進行通訊,例如電源管理或鍵盤掃描等;硬體支援2個以上USB位址,一個是Hub的位址,其他是外接周邊裝置的位址。對於系統而言,這些外接周邊裝置是連結在集線器上的裝置。集線器和外接周邊的功能由微控制器來完成,因此需要硬體開發。Atmel的AT43USB321和Cypress的Cy7C65X13 / Cy7c66x13均屬於這類元件,適合用於整合裝置的應用,如附集線器功能的USB鍵盤。
USB 2.0集線器元件也與USB 1.1 集線器相容,其下行埠可以連接USB 1.1或USB 2.0裝置,上行埠一般情況下是在高速模式運行,但若連接USB 1.1介面時,USB 2.0集線器元件僅能在全速模式運行。NEC在2000年3月推出了第一款USB 2.0集線器元件uPD720110,之後Cypress、 Philips也推出了相互對應的USB 2.0集線器元件。
外接周邊元件(Peripheral Device)
在USB協定中將USB外接周邊元件分成三個層次:底層為USB介面層(USB Bus Interface Layer),負責主機與裝置之間資料封包的傳輸。中間層為USB裝置層(USB Device Layer),負責匯流排介面和各裝置元件端點之間的資料傳遞 。
頂層為功能層(Function Layer),提供USB裝置應用介面。
(圖二)所描述一般的USB外接周邊元件,USB匯流排收發器為底層,串列介面引擎為中間層,USB微控制器及外接功能是頂層的功能層。
應用方式
一個USB外接介面可同時在不同層次進行運作,運作方式也有多種變化組合,可由單個或多個元件構成,包括了USB收發器元件、SIE元件、USB微控制器與專屬USB介面元件。應用的方式有:使用一個USB串列介面引擎(SIE)透過簡單的介面及控制方法與一個外部的微控制器相互連結成為USB外接介面;利用一個附USB介面的微控制器來設計一個周邊裝置;在高性能的應用中,可將 USB介面內建在專用元件內。使用這些元件研發的USB介面在成本、研發周期、開發難度等均不相同。一般而言,採用USB微控制器及SIE元件開發的USB介面難度較低,開發周期也較短,所以是較常見的USB外接介面方式。
USB收發器
USB收發器晶片主要是針對可攜式通訊裝置,如數位相機、PDA等,並負責實體匯流排的資料傳送與接收,其餘的工作必須藉由硬體完成,所以研發人員必須對USB協定非常清楚,故研發工作量大、難度較高,研發周期也較長,相關產品有Philips生產的ISP1105/ISP1106等。
SIE元件
獨立的SIE介面晶片中包含了匯流排介面層及裝置層的功能,僅負責處理USB通訊工作,並提供簡單的介面(如串列埠或並列埠)供外部的微處理器連結。透過這個介面外部的微處理器可以在傳輸層上設置資料封包,並由SIE來規格化資料封包,於實體層上進行傳送,所以USB介面至少需要兩個元件。採用這種介面方式價格較低廉,系統性能則主要由微處理器決定,但微處理器與SIE元件之間的傳輸速度大都比USB的最大傳輸速度慢;另外研發人員在編寫微處理器的硬體時也必須十分瞭解USB協定,因許多實體層的傳輸都必須在微處理器的硬體中進行處理。這類元件較適合應用於外接系統中已經有微處理器的情況,如印表機、掃描器、可攜式儲存裝置、數位相機等,如Philips的ISP1181是一種平行介面的全速USB SIE;Cypress的SL811HS/T是一種雙速雙模式的USB SIE,在主控模式(master)下,更可支援內嵌式裝置作為USB主要設備與外接裝置間進行低速或全速模式的傳輸,在slave模式下,SL811HS/T元件便成為一個USB外接控制器;NEC的uPD720120為USB 2.0的SIE元件,提供16位元寬度的外部匯流排介面。
USB微控制器
將SIE內建到微控制器中是另一種常見的USB外接介面方式,大多是為USB應用而設計,並多數應用在微控制器可當作系統主處理器的系統中。這類元件中,SIE提供一些可供連結的暫存器或FIFO,微控制器只需與它們進行連結便可控制SIE,因此硬體設計相對比較簡易。
元件內部除有SIE外,還有微控制器及其它一些普通微控制器都有的功能,如計時器、計數器、UART、Embedded RAM與通用I/O、A/D、D/A等,透過這些功能可以建立一個應用系統。
各個半導體廠商所採用的微控制器核心不盡相同,有的採用8051控制器,有的則採用RISC或其他CPU,如Intel的8x930系列和Cypress的EZ-USB系列都採用增強型的8051;Motolora提供的多種USB微控制器使用M68HC05或M68HC08的CPU;Microchip的USB微控制器則大多使用PICmicro;Cypress的CY7C63xxx系列使用的是M8。不同內部核心的USB微控制器元件對於硬體研發週期的影響很大,大部分的工程師對8051的指令集比較熟悉,所以採用8051的USB微控制器便可有效地縮短硬體開發時間。
USB微控制器的性能決定了USB外接介面的基本性能。有些USB微控制器只提供低速模式和有限的幾個端點,有些則提供全速或高速模式與充足的端點及其他資源。微控制器內部核心的運行速度、內部核心與週邊電路之間的I/O傳輸速度等因素,也可能影響USB介面的運作速度。Cypress、Philips、Atmel、Microchip、ST、Motorola、Netchip等廠商均提供USB微控制器,要詳細列出各種USB控制器並不容易,但可按元件的速度模式分成低速、全速、高速三種類型。
低速USB微控制器
低速USB微控制器支援1.5Mbps的連線速度,提供有限的幾個端點(Endpoint),主要應用於滑鼠、鍵盤、搖桿等人機介面裝置(HID),也可應用於條碼器與溫度計等產品,資料流量可能小於11 kbyte/s,如:ST的ST7263X系列、ST7262X系列與Cypress的CY7C63XXX系列等。
全速USB微控制器
全速USB微控制器主要應用於可攜式儲存裝置、XDSL、數位相機、掃描器與印表機等資料傳輸量較大的裝置中,資料傳輸速度可以達到9Mbps以上,比低速的USB裝置快很多。此時,微控制器的性能對USB裝置的傳輸速度影響很大,低性能的控制器無法及時處理緩衝區中的資料,或者不能快速通過I/O與外部進行資料交換,導致系統傳輸速度降低。
有些USB微控制器在I/O上增加了一些快速資料傳輸的方法,如FIFO、通用可編程介面、DMA通道等,或在元件內部提供足夠的資料緩衝區,可提高元件性能,但同時也增加元件成本。
幾乎所有生產USB元件的廠商都有全速USB微控制器產品,實際的資料傳輸速度從不到1Mbps到將近9Mbps,故選擇元件時需要注意元件的傳輸速度是否可到達裝置的要求速度。如Cypress的產品系列,低性能的全速USB微控制器是以M8作為內部核心的CY7C64013/CY7C64113,最大的資料流程量僅70-80Kbyte/s;中等性能的EZ-USB系列USB微控制器,內部核心為增強型8051,除了CPU運行速度較8051快以外,它還增加一種『快速傳輸模式』,可將外部資料直接傳送到內部的USB FIFO上,最快傳輸速度可達到5-6Mbit/s;EZ-USB FX系列則是高性能的全速USB微控制器,同樣是為增強型8051核心,但在I/O上增加了通用可編程介面(GPIF),可使控制器與高速的週邊元件(如DSP,ASIC)緊密連結,最快傳輸速度可達到8Mbit/s以上。
USB 2.0微控制器
USB 1.1已經順利取代了許多原先採用串列或並列介面連結的週邊市場,但應用於一些高速的裝置上時仍有困難。因此,隨著資料傳輸速度為USB 1.1 40倍的USB 2.0外接周邊元件的問世,USB也可以應用於大容量的可攜式儲存裝置、數位多媒體裝置、高質量掃描器與印表機、高速網路連結裝置等資料流量大、要求即時回應的高階設備,USB 2.0元件即將成為市場的主流。Cypress的EZ-USB FX2是業界第一個USB 2.0微控制器,結構與EZ-USB FX相似。
專用USB介面元件
有些廠商針對一些特殊應用設計了專用的USB介面元件,它們比通用的介面元件具有價格及性能的優勢。如Cypress的SL11RIDE及ISD300為一種轉換USB介面到ATAPI/IDE介面的元件,主要應用於可攜式儲存裝置;Atmel的AT76C711是一種從USB連結方式到串列連結方式的轉換元件,可將USB資料轉換成UART、IrDA等介面的資料;TI的TAS1020A則是針對等時傳輸設備(如USB喇叭或USB麥克風)而設計。還有些專用元件則將USB介面內建在其內部作為多種可選用的介面之一。
結語
USB裝置的優點已廣受肯定而且也已非常普及,隨著USB 2.0技術的成熟與向下相容性,USB 1.1 傳輸頻寬不足的問題已經完全解決,加上Windows XP作業系統的支援,讓消費者更容易使用這項全新傳輸規格技術。USB 2.0將會應用於高階產品,鍵盤、滑鼠等對傳輸速度要求低的裝置仍將繼續採用USB 1.1介面,所以USB將繼續保持在PC與周邊裝置主要連結介面的領先優勢。(作者任職於Cypress)