閣下必須知道的USB 3.0( 下):USB 3.0的實踐術

本文作者:admin       點擊: 2010-09-10 00:00
前言:
以當前晶片組尚未做進去之前,利用ASIC、ASSP、或是FPGA與外接PHY的組合法;皆是可行之道。

PHY外接的方法,當然有它的標準連結介面。USB 3.0採用了PIPE 3(Phy Interface for the PCI Express and USB 3.0 Architectures Rev. 3.0);USB 2.0有UTMI(USB 2.0 Transceiver Macrocell Interface)或是ULPI(UTMI+Low Pin Interface)。
 
<<< USB 3.0的實踐之道。>>>

<<< PIPE 3信號線。>>>

信號名稱 位元幅 概要 Data rate
TxData 8/16/32 朝PHY元件的並列信號 500M/250M/125MT/s
RxData 8/16/32 從PHY元件的並列信號 500M/250M/125MT/s
TxDataK 1/2/4 指示TxData是資料信號還是控制信號 500M/250M/125MT/s
RxDataK 1/2/4 指示RxData是資料信號還是控制信號 500M/250M/125MT/s
Command 15 朝PHY的動作命令控制用輸入:(PHY Mode[1:0], Elasticity Buffer Mode,Tx/DetectRx/Loopback,TxElecIdle,TxOneZeros,RxPolality,RxEqTraining,Reset#,PowerDown[1:0],Rx Termination,TxDeemph[1:0],TxSwing) -
Status 7 從PHY的狀態通知用輸出(RxValid,PhyStatus,RxElecIdle,RxStatus[2:0],PowerPresent) -
PCLK 1 同步並列信號的時脈輸出 500M/250M/125MT/s
<<< PIPE 3信號概要。>>>

通常,高速串列介面的基板設計,有其共通的準則:

. 跑線不要直角彎曲;例如135度,角度要緩。

. 保持差動信號線路的對稱性。AC結合電容也要對稱配置。

. AC結合電容下端,移除包含焊墊周圍的電源層與接地層。

. 若是差動對有時滯(Skew)產生的場合;盡可能在傳送端的近測以蛇行配線來吸收。

. 注意串音雜訊;TxÆRx配線與RxÆTx配線,要維持必須的距離,或者是利用配線層,以表面層與裡面層的方式來分離。

. 跑線周圍可以擺置Ground Island;對接地層多穿孔。

. 改變配線層的場合,為了確保歸還電流回路,信號穿孔近旁有接地穿孔。此時,移除信號貫孔周圍的電源層與接地層。

USB 3.0有它的固有注意點;當主機與Hub之間,USB 3.0與USB 2.0同時通信的時候,兩者之間的串音問題要小心。因此,品質好、電氣特性精確的連接線與連接座的選用,相當重要。

USB 3.0信號抖動問題:
測量信號品質的眼狀圖測試,當然是必須。

隨著資料的高速化,『抖動(Jitter)』問題更形嚴苛。所有的高速串列介面,多要留意評估TIE(Time Interval Error)這項抖動參數;這是指時脈回復電路(Clock Recovery),所再生的時脈與實際資料邊緣的偏移。

然而,這個再生時脈卻往往在晶片內部。因此,認證測試的場合,示波器會取入1M-UI(Unit Interval)的資料,然後,利用軟體來模擬時脈回復機能。

 
<<< 串列介面的TIE。>>>

在接收端,時脈回復特性與資料再生電路的抖動余裕度相當重要。通常的做法,都會進行抖動耐性(Jitter Tolerance)測試。Serial ATA、DisplayPort等,也多是列為必須評估的項目之一。

USB 3.0的做法,是用5種類抖動頻率印加了抖動量的資料,輸入到接收端。接收端必需能夠正確接收。

 
<<< 接收端的抖動耐性測試。>>>

USB 3.0上位層的基礎:
USB 2.0僅是單純地信號與雙方共同遵守的通信法則,即可以相互通信。而USB 3.0卻是沿用PCI Express Gen2的精髓,PHY之上有一個連結層。

連結層有一個頗為繁瑣的LTSSM(Link Training & Status State Machine)狀態遷移圖規範,其中,定義了很多的狀態以及之內的子狀態。

連結層,其最主要的功用,長話短說,就是保持連結(Link)。具體的機能如下:
. 控制Link Training,連結的確立。
. 傳送資料封包化,然後送出。
. 接收封包分解,收取資料。
. 標頭封包(Header Packet)的確實送收。
. 低功率狀態(Low Power State)的進出(Entry/Exit)的執行。
. 連結錯誤(Link error)的處理
. 下游埠(DownStream-facing Ports)切斷的檢知。
. Inband Reset的處理。

在電源管理方面,也幾乎是沿用了PCI Express的精華。連結可以有U0、U1、U2、U3等狀態。U0即是正常動作狀態,U1~U3乃是低功率狀態。

而USB 3.0的重置(Reset),可以從「裝置」與「連結」的觀點來思考,主要有兩大類:
—. PowerOn Reset,電源投入之後的重置。
—. Inband Reset(僅在連結層的重置);依據作用進一步又可以分成兩類:
- 熱重置(Hot reset)。
- 溫重置(Warm reset),所要時間較長。
-
USB 3.0與PCI Express一樣,流程控制用命令封包化。連結層有其獨自定義的連結命令LC(Link Command),這是連結層下階的控制;而連結層上層階段的制御還有LMP(Link Management Packet)封包。

因而整體來看USB 3.0,其額外的負擔(Overhead)還真不少呢,主要有:
—. 連結控制字組(Link Control Word):存在於每個標頭封包之中,功能是封包單位的管理。
—. 連結命令LC(Link Command):連結層下階的控制。
—. LMP(Link Management Packet)封包:連結層上階層的控制。

USB 3.0比起PCI Express,算是簡素化不少。
然而,USB 3.0為了繼續沿用傳統的四種傳輸模式:控制傳輸、中斷傳輸、等時傳輸、大容量傳輸。而且,還保留著傳統的連接形態。
它必須造出一套協定來繼承這些既有的資產。因此,連結層之上才會有『協定層』(Protocol layer)的存在。

對於連結層以及協定層,有一個觀念必須先釐清。前者是點對點(Point-to-Point),後者是端對端(End-to-End),這兩者的概念是不同的。請參考底下說明範例圖。
 

以此圖的連接形態來說,有主機、Hub與裝置的連接:
Host ⇔ Hub A
Host ⇔ Device A
Hub A ⇔ Hub B
Hub A ⇔ Device B
Hub B ⇔ Device C
Hub B ⇔ Device D

以上這些雙方之間的接續就是點對點(Point-to-Point)。

Host⇔Device A
Host⇔Device B
Host⇔Device C
Host⇔Device D
主機與裝置之間的資料通信,就是端對端(End-to-End)。

因此,不難得知,連結層終究是控制各各連結的接續;最終的主機到裝置的通信,還是要依賴著協定層。

但是,切勿忘了,USB 3.0底層的傳輸途徑與編碼大法,徹底與USB 2.0完全不同。因此,必須放棄有些傳統的機制。好比說,放棄了輪詢(Polling)的方式,就是一項挑戰。

就封包資料流的方向來說,『裝置Æ主機』的方向,單純的意義就是裝置往上游埠送出。比較值得去探討的地方,是在『主機Æ裝置』的資料流。

 
<<< 裝置Æ主機的資料流示意圖。>>>

過去的USB 1.1/2.0時代,是採用了群播(Broadcasting)的方式;也就是說,從主機傳送的資料,會送往介面上全部的裝置。若是屬於自己位址的資料,才會收進來;若是不屬於自己的資料,則視而不見。
 
<<< 群播(Broadcasting)的方式。>>>

不過,群播的方式,每回傳送時,全部的Hub與裝置均會動作,對於節約電力是沒有效率的方式。比較理想的方式,還是如同寄信郵遞一般,資料傳遞到位址的裝置。換句話說,就如同乙太網路的L2/L3開關切換裝置一般,各個裝置有其唯一的位址,具有路由(Routing)方法的意味。

 
<<< 主機傳送資料到裝置C。>>>

USB 3.0的場合,具體地來說,就是管理路由字串(Route String)。路由字串,係由20位元所組成;由於USB階梯狀連接形態的Hub至多為5階,故,分成5個4個位元來呈現。
 
<<< 路由字串(Route String)的連接範例。>>>

就此範例圖來說,進行最初設定的場合,最上方的兩個Hub(Hub Depth=0)的路由字串是0x0000;然後左上方Hub針對其下游埠,分配0x0001,0x0002,0x0003,..;右上方的Hub也是分配0x0001,0x0002,0x0003,..的路由字串。

而左側樹狀在Hub Depth 1,更新路由字串,左端傳遞0x0002;因此,其下游埠裝置就分別是0x0012,0x0022,0x0032,0x0042。右端Hub是0x0003之故,其下游埠裝置就分別分配0x0013,0x0023,0x0033,0x0043。

連結層,是傳送端與接收端兩方的溝通。而USB又是霸權式的介面,故,協定層上的交易,都是從主機端開始的。

協定層,特別定義了四個種類的封包形式。
. LMP(Link Management Packet)封包:連結管理封包,顧名思義,僅用於連結(link)的制御,而不是發生於主機與端點(Endpoint)之間的控制。

. TP(Transaction Packet)封包:交易封包。主機與端點(Endpoint)之間的交換。用於資料封包的流程控制,與裝置/Hub的配置。請留意,這個封包並不含資料承載。

. DP(Data Packet):資料封包,應用於主機與端點(Endpoint)之間的資料交換。依據規格的定義,DP=DPH+DPP,也就是由兩個封包所構成,分別是DPH(Data Packet Header)與DPP(Data Packet Payload) 。

. ITP(Isochronous Timestamp Packet):主機以組播(Multicast)的方式,送到樹狀結構下的裝置。

資料的傳輸協定,USB 2.0與USB 3.0是迥然不同的。
 
<<< USB 2.0的傳輸方式。>>>
 
<<< SS USB的IN傳輸。>>>
 
<<< SS USB的OUT傳輸。>>>

而令人感到有趣又困擾的地方,該是在於USB 3.0新追加了一種串流(Stream)傳輸模式。它與多個封包的瞬增式交易(Burst Transaction)又有何差異呢?它存在的價值又在哪裡?

USB 3.0之所以會追加Bulk Stream的原因,說來並不困難,就為了來因應USB 3.0而新增訂的新型Mass Storage協定 - UASP(USB Attached SCSI Protocol)。

註:NEC與WD合作開發UASP驅動程式;宣稱提高效能30%。

為了讓每個廠商對於Bulk Stream的協定流程,能夠具有一致上的認知;USB 3.0規格中特別定義了一個SPSM(General Stream Protocol State Machine)狀態圖的構成。也就是說,進行Bulk Stream的IN/OUT端點,都必須遵照著SPSM的流程來進行處理。產品之間的相容性,才能夠確保。

小小結語:

USB 3.0當然也需要認證,才能拿到Logo。善用插拔大會(Plug Festa)不失為一種確認相互運用性的絕佳管道。USB-IF於美國設立了PIL(Platform Interoperability Lab),但僅限於會員使用。細節請到「SuperSpeed USB Platform Integration Lab」的網頁看一看吧。

相容性符合測試(Compliance test),往往也需要一些儀器與治具。若是有協定分析儀與輔助應用軟體,不僅有助於開發與除錯,性能的分析;爾後的產品維修也有所幫助。

 
<<< USB 3.0協定測定分析系統。取自Ellisys。>>>

 
 
<<< 分析軟體畫面。>>>
 
<<< USB 3.0檢驗軟體。>>>
 
<<< USB 3.0測試治具(Fixture)範例。取自Agilent。>>>

若是,要在嵌入式系統納入USB 3.0,除了硬體上的考量(如裝置控制器),驅動軟體堆疊的實踐,乃是成敗關鍵要素。

 
<<< 從驅動軟體的觀點來看USB 3.0。>>>

總之,市場終究希望看到USB 3.0方案在價格上能與USB 2.0旗鼓相當,但這將會需要一段時間。要有耐心等待,開發人員則要更加好幾把勁。畢竟,USB 3.0裝置的開發,所牽扯到軟硬體,都需要主機與裝置硬體廠商與作業系統的豐富軟體支援,才能夠迅速成長。
 
<<< USB的開發需要軟硬體具備。>>>

另外,USB Graphic的市場,也逐漸受到消費者的注意;尤其到了USB 3.0,使用彈性更為優越,值得期待。
 
 
<<< USB Graphic產品。取自IOdata。>>>



想看上集嗎?請點擊此處.


[ 參考資料暨延伸閱讀:]
1. USB Complete 4th Edition,Jan Axelson。陳乃塘翻譯。
2. USB 3.0王者介面再臨,陳乃塘。碁峰出版。
3. 高速傳輸祕技,陳乃塘。
4. Rambus Forum資料。
5. CQ Publishing網站。
6. 日經電子暨Tech-On網站。
7. http://www.usb.org/developers/ssusb/ssusb_pil/,「SuperSpeed USB Platform Integration Lab」。
8.  www.ellisys.com/products/usbex280/,www.ellisys.com/archive/images/usbex280.png。
9. http://www.mcci.com/mcci-v5/pdf/971631b.pdf。
10. CES 2010消費性產品展。


註:豐富圖表皆在印刷版刊出. 

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11