UTMI及USB 2.0 PHY高速傳輸特性分析

1. 概述
USB2.0利用傳輸時序的縮短(微幀125us)以及相關的傳輸技術,將整個傳輸速度從原來的12Mbps提高到480Mbps,提高了40倍的帶寬,爲開發高寬帶USB接口產品提供條件。USB2.0支持USB1.1的全速(Full Speed)和低速(Low Speed)工作環境,其電氣特性在其他文獻中有描述[6],這裏主要介紹USB2.0高速設備的電氣特性以及相關的UTMI接口規範。UTMI全稱爲  USB2.0 Transceiver Macrocell Interface,此協議是針對USB2.0的信號特點進行定義的,分爲8位或16位數據接口。目的是爲了減少開發商的工作量,縮短產品的設計週期,降低風險。此接口模塊主要是處理物理底層的USB協議及信號,可與SIE整合設計成一專用 ASIC芯片,也可獨立作爲PHY的收發器芯片,下以8位接口爲例介紹PHY的工作原理及設計特點。
2. UTMI主要功能及原理
首先,爲保證兼容性,PHY應該支持全速和高速工作模式。爲此高速集線器(Root Hub或Hub)
需要能夠檢測設備是高速端口還是全速端口,以作相應的速度模式進行工作。因此,信號接口須實現以下功能:
l 不同速率接口之間的動態傳輸
l 高速設備檢測(HighSpeed Detection Handshake)
l 高速設備斷開檢測(HS_Disconnect)
l 能傳輸高速/全速差分信號(要求阻抗匹配)
l 發送和檢測高速包開始信號(SYNC)
l 發送和檢測高速包結束信號(EOP)
l NRZI編碼和位填充(Bit Stuff / Bit Unstuff)
l 支持掛起和復位的操作
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
          圖1 USB2.0 PHY 功能模塊描述框圖
 
圖1描述了UTMI各個功能模塊,其工作原理如下:PHY從其他轉態(如上電、重啓或掛起)轉換成工作狀態後,首先進行高速設備的連接檢測(HS Detection Handshake)(後面再詳細敘述),檢測完畢後切換成相應的工作模式,然後等待主機和設備進行傳輸數據流。當接收器在 USB數據線D+和D-檢測到由主機發送到設備的信號時,首先對信號進行時鐘恢復,得到正確同步信號後再送進緩衝區,通過NRZI解碼及位反填充後,把串行信號轉換成並行信號,最後送到設備SIE進行處理。反之,當設備端的SIE需要發送數據包時,UTMI將按照相反的順序把已編譯好的NRZI串行數據流通過發送器傳輸給主機。爲了降低功耗,UTMI支持掛起功能,其工作狀態如圖2所示。
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
   圖2 UTMI工作狀態轉換的流程圖
 
3. 各功能模塊分析
3.1 Clock Multiplier
本模塊產生UTM的本地內部時鐘,同時提供一個外部時鐘CLK輸出給SIE,協議要求時鐘頻率的誤差範圍小於10%(±6MHz),時鐘輸出CLK的精確度達到±500ppm(30.0KHz),並要求在1.4ms內達到穩定時鐘頻率。
對於8位數據接口,此時的外部時鐘CLK輸出爲60MHz。在高速環境下,一個外部時鐘CLK週期即爲高速設備傳輸一個字節數據所需的時間,即( ) ms/per Byte;而在全速環境下,5個外部時鐘CLK週期爲全速環境下傳輸一位數據所需的時間,即( )ms/per Bit,因此,通常情況下,傳輸全速一個字節數據的時間爲40個外部CLK週期,如果存在位填充,則需要45個週期時間。

2.2 發送及接收器
本文重點介紹高速傳輸的特點。在高速環境下USB的傳輸速率爲480Mbps,選用這個數值,一方面是可以使用現存的電纜和連接器,另一方面通過對半導體技術的廣泛研究與測試,這個速度不僅在生產工藝上沒有問題,也與USB 1.1的完全兼容。爲了減少噪聲和電源抖動對傳輸的影響,提高傳輸速度,選擇差分電流模驅動方式。
USB2.0的一個最大挑戰就是要設計出低的輸出阻抗的高性能收發器[7]。在480Mbps傳輸時,如果路徑沒有按照性能要求的阻抗結束,就會產生反射。爲此,在傳輸高速信號時,要給電纜匹配一個90Ω的電阻,以消除信號反射,同時電流源在驅動這個低的輸出阻抗時也可增加抗噪聲性能。當高速驅動器在工作的時候,總線處於空閒狀態,兩個數據線都處於低電平狀態,此時集線器的全速驅動器和設備的全速驅動器在功能上等效成每個都是45Ω電阻(如圖3的圓圈所示),合成90Ω的差分電阻產生一個0係數的反射。協議規定全速驅動器的輸出阻抗在45Ω±10%,以符合高速收發器的需要。
高速數據傳輸和低速/全速數據傳輸一樣,數據流以差分不歸零碼進行編碼,在電纜上成差分信號進行傳輸。發送的高速信號是由高速電流驅動器完成的。驅動器根據高速環境中相應的J或K信號,向D+和D-數據線分別傳送電流大小爲17.78mA電流,通過一個22.5Ω的負載(兩個45Ω的負載並聯接地),在  D+和D-信號線產生一個近似於±400mv的電壓,達到高速差分傳輸的效果。
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
        圖3 高速差分信號收發器的基本組件
 
2.2 HS DLL和FS DLL
本模塊包含延時鎖相環,可以是DLL,也可以是PLL。其主要功能是對高速或全速傳輸的數據流進行提取及時鐘恢復,達到同步和正確提取數據的目的。可以斷定,這個模塊是UTMI中的核心模塊,它的性能的好壞將決定了UTMI接收數據的正確性。需要進一步瞭解可以參考文獻[8]。

.3.3 MUX / DEMUX
選擇全速還是高速傳輸的數據流。

3.4 NRZI編碼/解碼
與USB1.1原理相同,以提高信號的抗噪聲能力。如圖4所示,NRZI爲差分不歸零制編碼,這種編碼與常規的不歸零制(NRZ)編碼的區別在於每個  "0"碼處都有跳變、每個"1"碼處沒有跳變。在NRZI編碼中的,信號通過相鄰碼元極性的跳變來解碼,而不是簡單的以絕對電平爲準,由此可獲得更高的抗干擾能力。
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
               圖4 NRZI編碼方式
 
3.5 Bit Stuff / Bit Unstuff
對於NRZI編碼方式會遇到一個嚴重的問題,就是若一長串連續的"1"將會導致無電平跳變,逐漸的累積,從而引起機收起最終丟失同步信號,使得讀取的時序發生嚴重的錯誤。因此,在NRZI編碼之間,還需執行所謂的位填充(Bit-stuffing)的工作。在連續的傳輸6個"1"位,強制在NRZI編碼的數據流中加入跳變。這就確保接收器至少可以在每7個位的時間間隔,檢測到一次跳變,使接收器和傳送的數據保持同步。圖5說明了位填充的工作方式。
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
         圖5 位填充的工作方式
 
位填充操作從同步數據段(如圖7 所示) 開始,始終貫穿於整個傳送過程並嚴格遵守位填充規則,後面還可以看到高速包的結束EOF也是利用位填充規則來提示數據包結束的。

3.6 串行/並行轉換
通過Rx Shift/Hold的寄存器或Tx Shift/Hold寄存器分別將接收的數據或要發送的數據進行相應的串行/並行轉換。

3.7 基本控制單元
基本控制單元是爲了控制UTMI的工作狀態及檢測接收數據是否有效。這裏主要介紹發射包絡探測器(Squelch)。
在低電壓信號環境下,爲了避免探測電纜上引起的噪聲信號作爲要傳輸的信號,就需要運用發射包絡探測器(Squelch)來檢測總線上的信號是否有效。總線空閒時,高速差分接收器處於靜噪狀態,當檢測到包開始信號後,高速差分接收器被激活,此時當差分信號電平小於100mV時,探測器指示總線上的信號無效;只有當信號電平大於150mV時,探測器纔會指示接收的高速差分信有效。但這種方法也可能會帶來同步上的延時,即在檢測到包絡和啓動接收器之間最多可能會出現4位的延時,但這個延時並不帶來同步的問題[3]。
4. 其他功能分析
4.1高速設備的連接檢測(HS Detection Handshake)
前面原理提到,設備在連接、掛起恢復或復位後,都要進行高速設備的連接檢測(HS Detection Handshake)。高速設備的連接檢測剛開始是在全速信號環境下進行的。通過高速設備和高速集線器之間傳輸一個握手信號來指示設備是否爲高速設備。
如果握手信號傳輸失敗,則默認爲全速設備。
設備連接到集線器Hub或主機時,全速和高速設備在D+線上有一個1.5KΩ的上拉電阻,由於下拉電阻爲15KΩ,D+會加到近似90%的直流電平,當集線器探測到D+的高電平,就認爲連接到全速設備。此時,軟件就會通過復位命令發送一個RESET信號到集線器,讓集線器驅動一個SE0信號(D+和D-都爲低電平)超過10ms。高速設備檢測到RESET信號後發送一個Chirp K信號給集線器(1~7ms的時間)。集線器的高速接收器若在設備發出 Chirp K序列後2.5微秒內檢測到,則響應傳送一個交替的Chirp K和Chirp J信號序列。設備檢測到這6個線性調頻脈衝Chirp序列(3個交替的KJ信號對),
集線器將連接端口置入高速啓用狀態,並從D+斷開上拉電阻,啓用高速設備終端,設置高速設備默認狀態。
若設備在RESET之後沒有發出Chirp K信號或者設備沒有檢測到集線器響應的交替KJ信號序列,則高速設備就繼續以全速模式進行操作。圖6的事件時序圖說明高速設備連接的過程。
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
     圖6 HS_Detection_Handshake事件時序圖
 
其中T0時刻表示HS Handshake開始。在T1時刻,設備發送Chirp K信號並在T2時刻結束;下行端口在T3時刻發送KJ交替脈衝序列,若設備在T6時刻接收到下行端口的Chirp信號後,則設備在T7時刻斷開D+的上拉電阻,並設置成HS終端及HS缺省狀態,等待高速連接檢測結束。T8是指總線中止下行端口發送Chirp KJ信號的時刻;T9時刻則表示最早結束總線高速連接檢測時刻,或者表示斷開D+上拉電阻後,設置HS終端進入HS的缺省工作狀態最晚時間。

4.2 高速設備斷開檢測(HS_Disconnect)
由於高速設備的連接沒有上升電壓,所以集線器要用不同的方法來檢測設備的移除。高速設備在總線空閒時,D+和D-數據線保持低電平,當設備斷開時,線上不會檢測到明顯的變化,但是此時設備的差分終端電阻消失,而高速包還繼續從原來設備連接的端口進行傳輸。當這個包到達沒有負載的路徑端點時,一個很大的反射會回到集線器接口,使得集線器連接端口的差分電壓加倍,當集線器檢測到這個雙倍電壓就可指示設備已經被移除。協議定義,HS_Disconnect一般是在擴展高速信息包結束符後(extended End of High-speed Packet, HSEOP)USB探測集線器的差分電平,若大於等於625mV則表示設備已經解除連接。 4.3 高速包開始和同步序列(SYNC)
因爲設備與主機不是分享同一時鐘,接收設備無法正確知道傳送設備何時會傳送一個新的信息包。爲此,要讓傳送和接收同步,每一個信息包都需要一個SYNC作爲包開始,達到讓接收設備的脈衝與傳送的數據同步的目的。在高速環境中,SYNC是32位:15個交替重複的KJ信號對,最後是兩個K信號。圖7表示高速同步序列和包開始符。
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
         圖7 高速模式的SYNC信息包
 
4.4 高速包結束符(EOP)
高速包結束符檢測原理如圖8所示,每個包都以EOP序列結束。除了高速幀開始信息包中的高速信息包結束符(extended End of High- speed Packet, HSEOP)是40位外,其他高速信息包結束都是8位。這8位結束符是一個沒有位填充的01111111b NRZI的編碼。如果前一位是J,高速信息包結束符是KKKKKKKK。反之,如果前一位是K,則高速信息包結束符是JJJJJJJJ。不管那種情況,傳輸的7個位序列都會引起位填充錯誤,也就是接收器檢測到一個有意的填充錯誤序列,就知道包結束,即使這不是一個EOP,而是出現了一個真正的位填充錯誤也不例外。 
 
UTMI及USB <wbr>2.0 <wbr>PHY高速傳輸特性分析
          圖8 高速傳輸的包結束符檢測
 
4.5 復位和掛起
設備的復位和掛起信號都是發送一個大於3ms的總線空閒信號,同時在兩種狀態下高速設備都轉換到全速信號環境,因此高速設備必須能夠區分這不同兩個的事件。當高速設備斷開高速電阻並重新連接1.5K 的上拉電阻進入全速模式後,在100ms至875ms之內,總線探測D+和D-數據線的狀態來判定總線進入復位還是掛起狀態。如果D+和D-都是低電平,即Single-ended 0,則總線在進行復位;如果是D+爲高(上拉)、D-爲低(下拉),則總線在發送全速空閒信號,指示設備進入掛起狀態。
5.結論
本文分析了USB2.0接口高速傳輸的環境特點及在此模式下8位PHY的工作原理。爲確保USB2.0在高速和全速環境下正常工作,對UTMI協議也進行了剖析。文章還對USB傳輸的差分NRZI編碼及如何增強抗噪聲能力和確保數據的正確性做了較詳盡的分析。本論文對UTMI及USB2.0接口設計有較好的參考價值。


喝水不忘挖井人:http://blog.sina.com.cn/s/blog_55220bcf01000949.html
發佈了44 篇原創文章 · 獲贊 23 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章