1. 概述
USB2.0利用傳輸時序的縮短(微幀125us)以及相關(guān)的傳輸技術(shù),將整個傳輸速度從原來的12Mbps提高到480Mbps,提高了40倍的帶寬,為開發(fā)高寬帶USB接口產(chǎn)品提供條件。USB2.0支持USB1.1的全速(Full Speed)和低速(Low Speed)工作環(huán)境,其電氣特性在其他文獻(xiàn)中有描述[6],這里主要介紹USB2.0高速設(shè)備的電氣特性以及相關(guān)的UTMI接口規(guī)范。UTMI全稱為 USB2.0 Transceiver Macrocell Interface,此協(xié)議是針對USB2.0的信號特點(diǎn)進(jìn)行定義的,分為8位或16位數(shù)據(jù)接口。目的是為了減少開發(fā)商的工作量,縮短產(chǎn)品的設(shè)計周期,降低風(fēng)險。此接口模塊主要是處理物理底層的USB協(xié)議及信號,可與SIE整合設(shè)計成一專用ASIC芯片,也可獨(dú)立作為PHY的收發(fā)器芯片,下以8位接口為例介紹PHY的工作原理及設(shè)計特點(diǎn)。
2. UTMI主要功能及原理
首先,為保證兼容性,PHY應(yīng)該支持全速和高速工作模式。為此高速集線器(Root Hub或Hub)
需要能夠檢測設(shè)備是高速端口還是全速端口,以作相應(yīng)的速度模式進(jìn)行工作。因此,信號接口須實(shí)現(xiàn)以下功能:
l 不同速率接口之間的動態(tài)傳輸
l 高速設(shè)備檢測(HighSpeed Detection Handshake)
l 高速設(shè)備斷開檢測(HS_Disconnect)
l 能傳輸高速/全速差分信號(要求阻抗匹配)
l 發(fā)送和檢測高速包開始信號(SYNC)
l 發(fā)送和檢測高速包結(jié)束信號(EOP)
l NRZI編碼和位填充(Bit Stuff / Bit Unstuff)
l 支持掛起和復(fù)位的操作
圖1 USB2.0 PHY 功能模塊描述框圖
圖1描述了UTMI各個功能模塊,其工作原理如下:PHY從其他轉(zhuǎn)態(tài)(如上電、重啟或掛起)轉(zhuǎn)換成工作狀態(tài)后,首先進(jìn)行高速設(shè)備的連接檢測(HS Detection Handshake)(后面再詳細(xì)敘述),檢測完畢后切換成相應(yīng)的工作模式,然后等待主機(jī)和設(shè)備進(jìn)行傳輸數(shù)據(jù)流。當(dāng)接收器在USB數(shù)據(jù)線D+和D-檢測到由主機(jī)發(fā)送到設(shè)備的信號時,首先對信號進(jìn)行時鐘恢復(fù),得到正確同步信號后再送進(jìn)緩沖區(qū),通過NRZI解碼及位反填充后,把串行信號轉(zhuǎn)換成并行信號,最后送到設(shè)備SIE進(jìn)行處理。反之,當(dāng)設(shè)備端的SIE需要發(fā)送數(shù)據(jù)包時,UTMI將按照相反的順序把已編譯好的NRZI串行數(shù)據(jù)流通過發(fā)送器傳輸給主機(jī)。為了降低功耗,UTMI支持掛起功能,其工作狀態(tài)如圖2所示。
圖2 UTMI工作狀態(tài)轉(zhuǎn)換的流程圖
3. 各功能模塊分析
3.1 Clock Multiplier
本模塊產(chǎn)生UTM的本地內(nèi)部時鐘,同時提供一個外部時鐘CLK輸出給SIE,協(xié)議要求時鐘頻率的誤差范圍小于10%(±6MHz),時鐘輸出CLK的精確度達(dá)到±500ppm(30.0KHz),并要求在1.4ms內(nèi)達(dá)到穩(wěn)定時鐘頻率。
對于8位數(shù)據(jù)接口,此時的外部時鐘CLK輸出為60MHz。在高速環(huán)境下,一個外部時鐘CLK周期即為高速設(shè)備傳輸一個字節(jié)數(shù)據(jù)所需的時間,即( )ms/per Byte;而在全速環(huán)境下,5個外部時鐘CLK周期為全速環(huán)境下傳輸一位數(shù)據(jù)所需的時間,即( )ms/per Bit,因此,通常情況下,傳輸全速一個字節(jié)數(shù)據(jù)的時間為40個外部CLK周期,如果存在位填充,則需要45個周期時間。
2.2 發(fā)送及接收器
本文重點(diǎn)介紹高速傳輸?shù)奶攸c(diǎn)。在高速環(huán)境下USB的傳輸速率為480Mbps,選用這個數(shù)值,一方面是可以使用現(xiàn)存的電纜和連接器,另一方面通過對半導(dǎo)體技術(shù)的廣泛研究與測試,這個速度不僅在生產(chǎn)工藝上沒有問題,也與USB 1.1的完全兼容。為了減少噪聲和電源抖動對傳輸?shù)挠绊,提高傳輸速度,選擇差分電流模驅(qū)動方式。
USB2.0的一個最大挑戰(zhàn)就是要設(shè)計出低的輸出阻抗的高性能收發(fā)器[7]。在480Mbps傳輸時,如果路徑?jīng)]有按照性能要求的阻抗結(jié)束,就會產(chǎn)生反射。為此,在傳輸高速信號時,要給電纜匹配一個90Ω的電阻,以消除信號反射,同時電流源在驅(qū)動這個低的輸出阻抗時也可增加抗噪聲性能。當(dāng)高速驅(qū)動器在工作的時候,總線處于空閑狀態(tài),兩個數(shù)據(jù)線都處于低電平狀態(tài),此時集線器的全速驅(qū)動器和設(shè)備的全速驅(qū)動器在功能上等效成每個都是45Ω電阻(如圖3的圓圈所示),合成90Ω的差分電阻產(chǎn)生一個0系數(shù)的反射。協(xié)議規(guī)定全速驅(qū)動器的輸出阻抗在45Ω±10%,以符合高速收發(fā)器的需要。
高速數(shù)據(jù)傳輸和低速/全速數(shù)據(jù)傳輸一樣,數(shù)據(jù)流以差分不歸零碼進(jìn)行編碼,在電纜上成差分信號進(jìn)行傳輸。發(fā)送的高速信號是由高速電流驅(qū)動器完成的。驅(qū)動器根據(jù)高速環(huán)境中相應(yīng)的J或K信號,向D+和D-數(shù)據(jù)線分別傳送電流大小為17.78mA電流,通過一個22.5Ω的負(fù)載(兩個45Ω的負(fù)載并聯(lián)接地),在 D+和D-信號線產(chǎn)生一個近似于±400mv的電壓,達(dá)到高速差分傳輸?shù)男Ч?br>
圖3 高速差分信號收發(fā)器的基本組件
2.2 HS DLL和FS DLL
本模塊包含延時鎖相環(huán),可以是DLL,也可以是PLL。其主要功能是對高速或全速傳輸?shù)臄?shù)據(jù)流進(jìn)行提取及時鐘恢復(fù),達(dá)到同步和正確提取數(shù)據(jù)的目的。可以斷定,這個模塊是UTMI中的核心模塊,它的性能的好壞將決定了UTMI接收數(shù)據(jù)的正確性。需要進(jìn)一步了解可以參考文獻(xiàn)[8]。
.3.3 MUX / DEMUX
選擇全速還是高速傳輸?shù)臄?shù)據(jù)流。
3.4 NRZI編碼/解碼
與USB1.1原理相同,以提高信號的抗噪聲能力。如圖4所示,NRZI為差分不歸零制編碼,這種編碼與常規(guī)的不歸零制(NRZ)編碼的區(qū)別在于每個 "0"碼處都有跳變、每個"1"碼處沒有跳變。在NRZI編碼中的,信號通過相鄰碼元極性的跳變來解碼,而不是簡單的以絕對電平為準(zhǔn),由此可獲得更高的抗干擾能力。
圖4 NRZI編碼方式
3.5 Bit Stuff / Bit Unstuff
對于NRZI編碼方式會遇到一個嚴(yán)重的問題,就是若一長串連續(xù)的"1"將會導(dǎo)致無電平跳變,逐漸的累積,從而引起機(jī)收起最終丟失同步信號,使得讀取的時序發(fā)生嚴(yán)重的錯誤。因此,在NRZI編碼之間,還需執(zhí)行所謂的位填充(Bit-stuffing)的工作。在連續(xù)的傳輸6個"1"位,強(qiáng)制在NRZI編碼的數(shù)據(jù)流中加入跳變。這就確保接收器至少可以在每7個位的時間間隔,檢測到一次跳變,使接收器和傳送的數(shù)據(jù)保持同步。圖5說明了位填充的工作方式。





