RocketIO收發(fā)器實現(xiàn)高速通信
引 言
本文引用地址:http://www.ex-cimer.com/article/157825.htm目前,多數(shù)計算機、嵌入式處理設(shè)備和通信設(shè)備都采用并行總線,但隨著芯片性能不斷提升和系統(tǒng)越來越復(fù)雜,數(shù)據(jù)傳輸帶寬已成為提高系統(tǒng)性能的瓶頸。雖然增大并行總線寬度可以提高芯片與芯片之間、背板與背板之間的數(shù)據(jù)吞吐量,但是數(shù)據(jù)線的增多和傳輸速率的加快會使PCB布線的難度提高,并且增加了信號延時和時鐘相位偏移。高速串行互連技術(shù)成為提高數(shù)據(jù)傳輸帶寬的有效解決途徑。
新的串行總線技術(shù)不斷涌現(xiàn),如新推出的串行總線標準有PCI-express、RapidI()、10Gigabit Ethernet Attachment Unit Interface(XAUI)、HyperTransport、Infini-Band、SATA等。新標準的快速發(fā)展及網(wǎng)絡(luò)與通信領(lǐng)域不斷增強的數(shù)字統(tǒng)一趨勢,對系統(tǒng)設(shè)計人員橋接這些標準和適應(yīng)不斷演化的標準提出了新的挑戰(zhàn),需要具有新一代系統(tǒng)集成和靈活性的可編程解決方案。Xilinx公司的Vir-tex-4 FX系列FPGA芯片內(nèi)置了RocketIO收發(fā)器,能夠提供622 Mb/s~6.5 Gb/s的數(shù)據(jù)傳輸速率,并且支持多種高速串行通信協(xié)議,可以幫助設(shè)計人員方便、靈活、可靠地實現(xiàn)高速通信。
1 設(shè)計要素
1.1 時 鐘
在Virtex-4 FX系列FPGA中每個RocketIO Multi-Gigabit Transceiver(MGT)有多個時鐘輸入。其中,參考時鐘有3種,根據(jù)不同的傳輸速率選擇不同的參考時鐘。GREFCLK適用于單個MGT組且數(shù)據(jù)傳輸率低于1 Gb/s的情況。REFCLK1和REFCLK2一般用于數(shù)據(jù)傳輸率高于1 Gb/s、低于6.5 Gb/s的情況。
時鐘精度和時鐘抖動是評價時鐘質(zhì)量的兩個重要指標。MGT模塊要求高精度的參考時鐘,MGT要求的時鐘精度為±350×10-6,MGT可容忍的輸入?yún)⒖紩r鐘抖動公差最大為40 ps,所以從DCM中出來的時鐘(大于±100ps)不能夠作為MGT的參考時鐘輸入。MGT的時鐘一般采用以下方案解決:從片外輸入的差分時鐘必須經(jīng)過RocketIO模塊指定的差分時鐘引腳接入,然后經(jīng)過Rock-etIO模塊中的時鐘管理模塊GTllCLK_MGT轉(zhuǎn)化成單端時鐘,送到REFCLK1或REFCLK2作為MGT的參考時鐘。
MGT模塊的輸出時鐘TXOUTCLK1、TXOUT-CLK2、RXRECCLK1、RXRECCLK2可以作為4個用戶使用的時鐘TXUSRCLK、TXUSRCLK2、RXUSRCLK、RX-USRCLK2的時鐘源;也可以作為DCM模塊的輸入,從而生成用戶所需的特定頻率的時鐘,提供給系統(tǒng)其他模塊使用。參考時鐘的頻率由串行傳輸速率和時鐘參數(shù)設(shè)置來決定。表1是該實驗中關(guān)于時鐘參數(shù)的設(shè)置。
1.2 復(fù) 位
MGT模塊中的復(fù)位分為發(fā)送部分的復(fù)位和接收部分的復(fù)位。發(fā)送部分的復(fù)位主要包括TXPMARESET和TXPCSRESET;接收部分的復(fù)位主要包括RXPMARE-SET和RXPCSRESET。TXPMARESET復(fù)位用于復(fù)位PMA和重新初始化PMA功能。其引腳電平為高時,復(fù)位PLL控制邏輯和內(nèi)部的PMA分頻器,同時也使發(fā)送器PLL LOCK信號為低并且迫使TX PLL進行校驗。TXP-MARESET引腳電平為高至少要持續(xù)3個USRCLK時鐘周期。
當(dāng)TXPCSRESET引腳電平為高時,TX PCS模塊被復(fù)位。TX PCS模塊包括:TX Fabric接口,8B/10B編碼器,10GBASE-R編碼器,TX緩沖器,64B/66B擾碼器和10GBASE-R自適應(yīng)同步器。TXPCSRESET復(fù)位與TXPMARESET復(fù)位是相互獨立,互不影響的。
TXPCSRESET復(fù)位的要求如下:
①在TXPCSRESET復(fù)位時,TXUSRCLK和PCS的TXCLK時鐘必須已經(jīng)保持穩(wěn)定,以便初始化發(fā)送緩沖器。
②TXPCSRESET引腳電平為高,至少要持續(xù)3個TXUSRCLK或TXUSRCLK2時鐘周期。
③在TXPCSRESET復(fù)位結(jié)束后,TX PCS模塊至少需要5個時鐘周期(以TXUSRCLK或TXUSRCLK2中最長的時鐘周期為準)來完成各個子模塊的復(fù)位。
圖1是發(fā)送部分的復(fù)位時序圖。接收部分的復(fù)位時序圖和復(fù)位要求與接收部分類似,請參見Xilinx公司技術(shù)文檔ug076.pdf。
2 MGT的模塊及原理介紹
發(fā)送的并行數(shù)據(jù)經(jīng)過8B/10B編碼后,寫入發(fā)送端FIFO,然后轉(zhuǎn)換成串行差分數(shù)據(jù)發(fā)送出去。接收端接收到的串行差分信號首先經(jīng)過接收端緩沖,然后經(jīng)過串并轉(zhuǎn)化器轉(zhuǎn)換成并行數(shù)據(jù),再經(jīng)過8B/10B解碼,寫入彈性緩沖,最后并行輸出。
2.1 8B/10B編解碼器
8B/10B編碼機制是由IBM公司開發(fā)的,已經(jīng)被廣泛采用。它是一種數(shù)值查找類型的編碼機制,可將8位的字符轉(zhuǎn)化為10位字符。轉(zhuǎn)化后的字符可以保證有足夠的跳變用于時鐘恢復(fù)。8B/10B編碼具有“0”和“1”出現(xiàn)的概率相等,直流基線漂移小,低頻分量小,功率譜帶寬較窄,抖動小,以及能夠檢測輸入數(shù)據(jù)中的錯誤等許多優(yōu)點。
評論