當通用序列匯流排(Universal Serial Bus)規格於1996年1月發表時,代表業界成功研發出一套低成本串連管道,連結中低速頻寬的週邊元件與個人電腦,但是仍缺乏支援高速寬頻的應用能力。
發展緣起
2000年4月,新一代USB 2.0版本的技術規格推出,將訊號傳輸速度提升整整四十倍,由原先USB 1.0的最高12MHz速度至現今USB 2.0的高速480MHz。又擴增了更先進的功能,如新型的傳輸裝置以提高頻寬使用率與增加傳輸裝置及主機控制器之間的附加功能。
全新的USB 2.0規格的發展目標是維持與具備USB的人性化介面與向下相容的功能,對於消費者而言,所有的接頭、軟體、纜線以及其它外接式產品的規格都能維持原有的系統與使用方式,更增加許多人性化介面的設計,讓掌上型裝置能輕易地利用USB介面連至網路系統。USB組織致力於發展各種測試技術,協助相關業者製造出大量與USB相容與使用簡易的裝置,並透過許多嚴格的測試方法,大幅提升產品與USB 2.0 規格之間的相容性與效能表現。
全新的主機控制器
在USB 2.0問市之後,英特爾(Intel)公司發展並免費開放一套高速控制器標準規格技術:增強型主機控制器介面規格(Enhanced Host Controller Interface,EHCI),而目前業界應該不會再製訂其它高速主機控制器(Host)介面的規格技術。
EHCI 規格的主機控制器僅以480 MHz 的速度輸送資料,所以在主機控制器與全速或低速裝置之間,必須搭配舊型控制器或高速連結埠(hub)才能發揮功能(圖一)。搭配嵌入型集線器的優點是需要搭配使用的元件數量較少,缺點是必須佔用其中一個連結埠線路,連線線路的連結數量也會受到傳播延遲的限制,因此所使用的軟體能自動辨識主機控制器中高速連結埠的搭配數量,而高速連結埠的連結總數必須再增加一個以符合原先要求的效能表現。
寬頻的提升(Return of the Bandwidth)
針對實際上可供使用的頻寬來說,資料的傳輸頻寬速度由原先的1 Mbytes/sec左右提高至50 Mbytes/sec,這樣一個大幅度的頻寬增加主要歸功於USB 2.0規格運用了微訊框(micro-frame)、可容納更多資訊的傳輸封包、更頻繁的傳輸次數、分割式傳輸處理(split transaction)、以及一些新的執照(token)等嶄新技術。USB 2.0裝置的架構同時增加了兩項全新的描述元(descriptor),即裝置認可(Device Qualifier)與其他的速度配置(Speed Configuration),可用來明確標示出資料傳輸裝置在其它運作速度下的功能表現。
原先的USB規格擁有1-millisecond訊框(Frame),系統利用這段訊框來排定傳輸資料的次序,全新的USB 2.0則將每1 millisecond 訊框分割成8個各有125 microseconds的微訊框,這些微訊框並沒有採用新的傳輸權證,而是將SOF token傳送八次。若必要時,高速裝置可計算出SOF token的重複使用次數,並計算出微訊框的數量,透過縮短微訊框的週期時間,便可減少高速裝置對於緩衝記憶體的需求。
典型的USB低速傳輸處理過程是透過主機發送一組前置同步訊號(Preamble),隨後連結配合1.5 MHz的低速傳輸訊號後,完成整段資料傳輸過程。前置的全速裝置訊號藉由忽略低速傳輸訊號,以及連結埠的開啟中繼器(Repeaters)動作,一同將訊號傳送至下游的低速裝置。雖然這套傳輸機制能透過搭配連結埠,為低速裝置提供一套使用簡易且價格低廉的運作模式,但它卻會浪費大量的頻寬,尤其是在控制訊號的傳輸過程,所以USB 2.0的傳輸介面並未採用這種傳輸模式。
為了降低回溯相容(Backwards Compatibility)的影響,USB 2.0採用了一組通訊協定的延伸技術與針對連結埠研發的全新硬體元件:傳輸轉譯器(Transaction Translator)。傳輸轉譯器的緩衝記憶體,可以利用全速與低速傳輸裝置進行存取,直接與連結埠進行連結傳輸。在主機與連結埠之間的資料傳送速率最高可達480MHz,但因高速連結埠能將低速傳輸的資料儲存於緩衝區,系統不須另外消耗額外的資源來處理較低速的資料傳輸。
低速與高速裝置之間的傳輸會分割成兩個部份,包含傳輸過程中剛開始的初始分割傳輸(Start Split Transaction),以及完成分割傳輸(Complete Split transaction),兩者交錯置入其它高速資料傳輸過程並結合成一個完整的分割傳輸過程。主機控制器在全速或是低速裝置進行連結時,會啟動初始分割傳輸,並將訊息傳送到傳輸轉譯器中的高速連結埠,傳輸轉譯器會以適當的速度向裝置傳送訊號,並將所得結果儲存於緩衝區中。在與其它的高速裝置發送傳輸訊號的一段時間後,主機控制器會發送出完成分割傳輸的訊號,傳輸轉譯器便會回傳傳輸結果的訊息給主機控制器。(圖二)
傳輸轉譯器可以支援兩種不同的選項,如所有的連結埠共用一組傳輸轉譯器(one transaction translator per hub),並透過一個標準的主機控制器支援所有的連結埠,或是每個連結埠各自使用一組專屬的傳輸轉譯器(one per port),所配置的標準型主機控制器則能支援每一個連結埠。由消費者的角度來看,傳輸轉譯器所支援的第二種模式能支援使用者能夠同時使用多組標準型的USB週邊裝置,而這些裝置以往都必須佔用大量的傳輸頻寬。如在所有的連結埠共用一組傳輸轉譯器的模式下,使用者一次僅能進行一組全速攝影機的傳輸連結;但是在每個連結埠各自使用一組專屬的傳輸轉譯器的模式下,使用者可同時進行多組全速攝影機的傳輸連結。
USB的瓶頸
在傳統的USB 傳輸過程中,傳送巨量傳輸未成功(Naking bulk)與控制OUT端點(control OUT endpoint)的訊號往往會佔用大量的頻寬,為了降低高速巨量與控制OUT端點訊號所產生的頻寬損耗,USB 2.0規格採用了PING傳輸執照(PING token)。當系統發送出整批或是對控制端點發出OUT傳輸訊息或是NAK訊息時,主機控制器會向高速非固定端點詢問是否有足夠的記憶體,以PING傳輸方式接收可容納wMaxPacketSize 大小的資料負載(data payload),端點則以ACK收悉訊號回應是否有足夠的緩衝記憶體來接受資料負載,若是沒有辦法,則會傳回NAK訊號以示拒絕接收。
高速的非週期性OUT端點也可接收一組NYET的訊號回應,通知主機控制器可以接受資料負載,但是端點並沒有足夠的緩衝記憶體去接受其它的資料負載,之後主機會持續使用PING傳輸方式進行資料傳送,直到端點表示有足夠的緩衝記憶體支援下一筆OUT傳輸。
另一種可提供主機資訊並能提昇頻寬效率的管理方式,是透過端點描述符號的bInterval 間隔值(bInterval value)。bInterval 值的計算公式為2N-1,通常不會以實際數字表示。對於高速或全速的同步傳輸端點而言,bInterval 值必須介於1至16之間,並可支援較緩慢的同步傳輸速率。對於中斷端點而言,在高速、全速、以及低速端點等環境下,bInterval 值必須分別介於1至16、1至255、以及10至255的範圍內。對於高速巨量與控制OUT端點而言,這項計算值代表每一次透過NAK所產生的微訊框數字,若端點沒有進行通訊傳輸,就不會產生NAK訊號。這項統計資訊能協助主機控制器適當地安排作業流程順序,並將頻寬損耗降至最低。
針對高速裝置的需求,USB 2.0 規格傳輸介面已簡化了所能承載的資料封包容量之大小選擇。巨量端點僅有512位元組大小,控制端點則僅有64位元組。高速中斷(High speed interrupt)與同步端點(isochronous endpoint)所能承載的最高容量封包容量介於1至1025位元組之間,然而這些容量仍須視固定週期端點(periodic endpoint)是否為 『高速頻寬』的端點以及其它條件的限制。(圖四)
高速頻寬端點為固定週期端點,在單一微訊框中能同時傳送最多三組的資料傳輸,提供在單一固定週期端點中、支援元件速度可略超過23 Mbytes/sec的高容量資料傳輸機制。(表一)
為了在一個微訊框同時支援三組資料傳輸以進行高速同步傳輸,USB 2.0新規格採用DATA2 與MDATA兩種規格全新的資料PID。高速中斷端點能在DATA0 與DATA1 PID之間進行緊密連結(toggle)(圖四),對於高速同步IN傳輸,資料PID與DATAx代表傳輸要求的數量以及微訊框的數值(x)(圖五)
至於高速同步OUT傳輸,最後資料PID(DATAx)代表在發生第x個微訊框之前所進行的一筆傳輸。先前的資料傳輸以MDATA PID方式進行資料傳輸。(圖六)
USB 2.0成形
USB 2.0規格已更新端點描述元中的bmAttributes 部分,並以USB audio 規格的同步與使用率位元(usage bit)取代,這些位元符號僅會在同步端點部分出現。而它在應用與配合其他規格時,也做了部份調整。
與掌上型裝置的連結
隨著全新一代的USB 2.0介面傳輸規格的公佈,相關單位目前並未再制訂新的連接頭規格。原先由USB 1.0 與1.1規格所定義的接線規格均與USB v2.0定義的高速訊號規格完全相容,但相關單位公佈了一份ECN #1(engineering change notice #1),其中定義了類似Sony iLink的mini-B規格尺寸大小的連結規格,可讓業者輕易地將USB與各種如數位相機、MP3 player與PDA等掌上型電子裝置進行整合與資料傳輸連結。
電子規格的變動
在主機與新型的高速控制器之間的連結則重新定義,以支援現今高達480MHz的傳輸效能表現。舊型拓璞與全新的高速拓璞,新的標準採用90( 的差分阻抗(differential characteristic impedance)搭配差分電流模式訊號(differential current mode signaling),並採用相同的NZRI編碼機制(NZRI encoding),但對SYNC訊號(SYNC signaling)、EOP訊號(EOP signaling)與閒置狀況(idle state)等略作更改,但也必須搭配其他相關規範,以便嚴格控制游離電容(stray capacitance)、點對點抖動(peak to peak jitter)與上升/下落時間(rise/fall time)等,使得訊號的傳輸速度能夠更加快速。(圖七)
高速週邊裝置與主機控制器進行連結時,系統會將它視為一組配置有拉升電阻(pull up resistor)的標準型全速裝置。在匯流排進行重新設定(Bus Reset)時,週邊裝置會藉由訊號交換協定(handshake method),將傳輸電流傳回主機的方式以指示主機,這個週邊裝置為USB 2.0介面規格並具備高速傳輸能力。(圖八)
在完成訊號交換協定之後,週邊裝置將會將拉升電阻打開(Detach),所有的元件會開始進行高速傳輸通訊,當USB 2.0規格的週邊裝置與舊型主機相連結時,這套模式便具備回溯相容能力,也就是當訊號交換協定失敗時,週邊元件會自動開始模擬並轉為全速裝置模式運行,此時使用者會感覺到運作效能的降低,但實際上仍能順利地進行指派工作。由於USB 2.0 是採用現有的訊號機制,若連線環境中未安裝終端電阻(Termination),系統就會透過雙倍的電壓偵測出USB裝置的移除。
匯流排說明
由於主從管理(master-slave)與點對點(peer-to-peer)的規格架構之間有基礎上的差異,我們不能斷定將會有其中一種規格會完全取代另一種規格。以發展趨勢來說,我們可看到以PC架構為主的週邊裝置明顯地轉以USB傳輸介面為主,同時PC的週邊裝置製造商已經完全理解USB匯流排控制器的技術與架構,並熟悉應用與控制的方法,再加上USB不須支付權利金,讓業者減少了必須負擔授權費用、進而大幅降低製造成本與研發出價格低廉的週邊裝置。但是在問到『何謂匯流排控制器』時,大部分的答案都是IEEE-1394規格,這是現今我們必須克服並教育大眾的地方,畢竟我們無法想像消費性電子產業會針對家用多媒體娛樂系統發展出單一的匯流排控制器裝置,或許未來我們將有一套具有高彈性特色的On-The-Go 規格來解決這一方面的相關爭議問題。
《圖七 標準型USB v1.1與2.0規格匯流排連結過程》 |
|
USB 2.0 相容性
USB 建置者論壇(USB-IF)目前正針對現有的舊型USB規格發展USB 2.0的延伸相容計畫,Intel則針對EHCI控制器研發專屬的相容方案,以增加舊型USB所缺乏的功能。有許多使用者對於USB的問題主要來自於容易損壞的舊型控制器,但是這些計畫的成果將提供使用者更優越的USB 2.0應用經驗。
業者可輕易地利用USB 2.0裝置的測試模組進行相容性測試,包含阻抗(impedance)、訊號強度(signal level)、負載效應(loading effect)、眼狀圖(eye diagram)、抖動、SetFeature 請求的訊號上升/下降時間,或是連結埠中的SetPortFeature等功能。
結語
USB 2.0 代表發展全新一代的PC週邊裝置傳輸的重大研究發展,大幅提升的傳輸頻寬將讓桌上型電腦能輕易地與各種先進的週邊裝置進行連結,不需要加裝如介面卡等由廠商所提供的附加介面與安裝特製軟體才能進行傳輸連結。新的硬體與通訊協定機制協助週邊裝置製造廠商提升產品製造數量與訊號的傳輸速度,各種消費性裝置已經於今年陸續問市,現在正是您進入USB 2.0全新規格傳輸介面世界,並享受全新高速傳輸速度的最佳時機。
(作者任職於柏士半導體Interface Product Division(IPD)部門)