• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于RocketIO的FPGA互連研究及應(yīng)用

      2015-12-18 11:40:22席鵬飛范曉星
      電子科技 2015年1期
      關(guān)鍵詞:高速數(shù)據(jù)收發(fā)器接收端

      席鵬飛,范曉星,冉 焱

      (西安電子科技大學(xué)電子信息攻防對抗與仿真重點實驗室,陜西西安 710071)

      隨著現(xiàn)代數(shù)字處理技術(shù)和計算機(jī)技術(shù)的不斷發(fā)展,實時處理復(fù)雜系統(tǒng)采集到的大容量數(shù)據(jù)成為可能。一個大型的數(shù)據(jù)采集系統(tǒng),需要采集成百上千個實時數(shù)據(jù),數(shù)據(jù)的高速、實時、可靠傳輸是一個關(guān)鍵技術(shù)[1]。而傳統(tǒng)的并行傳輸技術(shù)已接近理論極限,仍不能滿足要求,因此高速串行傳輸技術(shù)正在成為主流。在實際設(shè)計中,采用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)高速串行接口是一種性價比較高的技術(shù)途徑[2-3]。

      RocketIO是Xilinx公司FPGA芯片內(nèi)部集成的可編程高速串行收發(fā)器。本文主要介紹了Virtex-6 LXT以及Virtex-5 FXT中的RocketIO GTX版本,提出了設(shè)計要點,并實現(xiàn)了FPGA之間的通信并給出了采樣波形圖。

      1 RocketIO收發(fā)器

      RocketIO是Xilinx公司內(nèi)嵌的可配置高速串行收發(fā)器,串行傳輸速度在 600 Mbit·s-1~ 6.6 Gbit·s-1[4]。由于Virtex-5與Virtex-6系列內(nèi)嵌的GTX結(jié)構(gòu)、工作原理基本相同[5-6],故本文以 Virtex-6 GTX 為重點進(jìn)行介紹。

      1.1 RocketIO主要特點

      (1)每個通道收發(fā)器支持從 600 Mbit·s-1~6.6 Gbit·s-1的全雙工傳輸速率。(2)收發(fā)器內(nèi)嵌發(fā)送時鐘生成電路和接收時鐘恢復(fù)電路。(3)支持可編程差分輸出電壓擺幅(110~1 130 mV)和可編程預(yù)加重。(4)收發(fā)器支持直接和交流耦合方式,可兼容多種高速接口標(biāo)準(zhǔn)。(5)片內(nèi)集成可編程差分終端電阻。(6)支持片內(nèi)多種環(huán)回測試模式。(7)支持8B/10B編碼,可編程邊界檢測符(Comma),提供對多種標(biāo)準(zhǔn)協(xié)議的支持。

      1.2 RockerIO主要組成部分

      一個完整的RocketIO收發(fā)器主要包括PMA(物理媒介適配層)和PCS(物理編碼子層)兩個子層,如圖1所示。

      圖1 RocketIO收發(fā)器內(nèi)部結(jié)構(gòu)示意圖

      其中PMA部分主要包括串行器和解串器、發(fā)送和接收緩沖區(qū)、高速時鐘產(chǎn)生器和線路時鐘恢復(fù)單元;PCS部分主要包括8B/10B編解碼、彈性緩沖區(qū)和CRC32校驗。

      (1)8B/10B編解碼。RocketIO收發(fā)器采用標(biāo)準(zhǔn)的8B/10B編碼機(jī)制將8位字符轉(zhuǎn)化為10位字符,保證了良好的直流平衡特性,有利于交流和直流耦合和時鐘恢復(fù)。

      (2)串行器和解串器。在發(fā)送端,收發(fā)器把輸入GTX的參考時鐘作20倍頻,作為發(fā)送線路的參考時鐘,然后將經(jīng)過編碼的并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),從串行差分端發(fā)送出去;在接收端,時鐘恢復(fù)電路從比特流中提取出時鐘相位和頻率,恢復(fù)出接收時鐘,將串行數(shù)據(jù)解碼并轉(zhuǎn)化為并行數(shù)據(jù),送入用戶接口以進(jìn)行其他操作。

      (3)CRC校驗。CRC循環(huán)冗余檢測用于對被接收數(shù)據(jù)的出錯檢測,RocketIO收發(fā)器CRC檢測邏輯支持32位常量 CRC,被用于如 Gigabit Ethernet、Fibre Channel、Infiniband、User-defined 等通信模式[7]。

      2 RocketIO設(shè)計要點

      要達(dá)到RocketIO模塊的最佳性能,需考慮諸多設(shè)計因素,本文針對在設(shè)計過程中遇到的具體問題展開討論。

      2.1 參考時鐘

      為滿足高速數(shù)據(jù)通信的需求,GTX收發(fā)器必須具備高性能和低抖動的參考時鐘。一般GTX收發(fā)器提供了3種參考時鐘的驅(qū)動方式:(1)由外部晶振直接驅(qū)動GTX專用時鐘路由得到。(2)從相鄰Quard的專用時鐘路由獲取;(3)從FPGA內(nèi)部獲取。

      每個Quad擁有兩個專用差分參考時鐘輸入MGTREFCLK0[P/N]、MGTREFCLK1[P/N],它們用于連接到外部時鐘源。要使用這些參考時鐘,必須對原語IBUFDS_GTXE1進(jìn)行實例化。用戶設(shè)計必須將IBUFDS_GTXE1的輸出連接至GTXE1的端口MGTREFCLKTX[0]、MGTREFCLKRX[0]。需要注意的是,即使在設(shè)計中未使用 TX PLL,MGTREFCLKTX[0]仍需要被連接[5],單個外部參考時鐘用法如圖2所示。

      圖2 單個外部參考時鐘用法

      前兩種參考時鐘的驅(qū)動方式的本質(zhì)都是使用GTX專用時鐘路由,而第3種方式是通過FPGA全局時鐘網(wǎng)絡(luò),會引入更大的抖動,因此在實際應(yīng)用中不推薦使用。

      2.2 用戶時鐘

      FPGA的發(fā)送端接口包括TXUSRCLK和TXUSRCLK2兩個時鐘。其中TXUSRCLK2是GTX收發(fā)器發(fā)送端的用戶時鐘,允許用戶直接使用,由GTX的內(nèi)部時鐘TXOUTCLK驅(qū)動。用戶將并行數(shù)據(jù)傳輸?shù)桨l(fā)送接口,在用戶時鐘上升沿被采樣并送入發(fā)送緩沖,經(jīng)過編碼以及串行化后發(fā)送出去。TXUSRCLK是PCS內(nèi)部邏輯時鐘,不允許用戶直接使用,其大小取決于

      由于選擇了8B/10B編碼方式,故16 bit并行數(shù)據(jù)在GTX內(nèi)部傳輸時為20 bit。在雙字節(jié)模式中,需要設(shè)置屬性 GEN_TXUSRCLK=TRUE。此時,TXUSRCLK端口必須降低,邏輯時鐘TXUSRCLK由GTX內(nèi)部提供,并且用戶時鐘TXUSRCLK2大小與TXUSR-CLK相同。根據(jù)線速率3 Gbit·s-1,可以計算出用戶時鐘TXUSRCLK2為150 MHz。其時鐘結(jié)構(gòu)示意圖如圖3所示。

      圖3 TXOUTCLK驅(qū)動TXUSRCLK2(雙字節(jié)模式)

      FPGA的接收端接口情況類似,包括RXUSRCLK和RXUSRCLK2兩個時鐘。其中,RXUSRCLK2是GTX接收端的用戶時鐘,由恢復(fù)時鐘RXRECCLK驅(qū)動。RXUSRCLK的驅(qū)動方式和屬性設(shè)置與發(fā)送端一致。

      2.3 Comma檢測

      GTX收發(fā)器接收端有可編程的Comma檢測機(jī)制,可以實現(xiàn)雙字節(jié)符號的檢測[8]。接收器在輸入數(shù)據(jù)流中搜尋Comma字符,若找到,解串器就調(diào)整序列邊界可以匹配檢測到的Comma字符序列,且掃描是連續(xù)進(jìn)行的,一旦對齊后,后續(xù)的所有數(shù)據(jù)均已對齊。則要求在任意的序列組合里,Comma字符必須唯一。

      常用的控制字符有 K28.1、K28.5,設(shè)計選擇K28.5。發(fā)送數(shù)據(jù)時,應(yīng)先發(fā)送足夠數(shù)量的K字符序列以保證通信鏈路的成功建立和接收端的對齊,實際設(shè)計中發(fā)送至少2 000 K字符即可,然后再發(fā)送數(shù)據(jù)部分。發(fā)送端發(fā)送K字符序列時,賦值TXCHARISK=2'b01,TXDATA=16'h43BC。其中TXCHARISK低位賦值為1表明對應(yīng)數(shù)據(jù)的低字節(jié)為K字符,對應(yīng)比特流中的Comma字符。注意,當(dāng)設(shè)置TXCHARISK=2'b11,TXDATA=16'hBCBC時,在接收端存在可能錯位8位的情況,如圖4所示。

      圖4 Comma檢測出錯情況

      這是因為在發(fā)送的K字符序列中,前一個K字符的低字節(jié)和后一個K字符的高字節(jié)恰好組合為一個新的K字符。如果接收端依據(jù)這個偽K字符進(jìn)行對齊操作,則后續(xù)所有數(shù)據(jù)均會錯位8位。而當(dāng)設(shè)置TXCHARISK=2'b01時,則不會出現(xiàn)這種偽對齊的情況。

      3 系統(tǒng)架構(gòu)

      本文構(gòu)建了一個高速數(shù)據(jù)采集存儲系統(tǒng),F(xiàn)PGA分別選擇Xilinx公司Virtex-6系列的XC6VLX240T和Virtex-5系列的 XC5VFX240T。采用 GTX實現(xiàn)FPGA之間數(shù)據(jù)的傳遞,其中,參考時鐘150 MHz,數(shù)據(jù)位寬 16 bit,傳輸速率 3 Gbit·s-1,系統(tǒng)架構(gòu)如圖 5所示。

      圖5 高速數(shù)據(jù)采集存儲系統(tǒng)架構(gòu)

      高速數(shù)據(jù)采集存儲系統(tǒng)由模數(shù)轉(zhuǎn)換器、FPGA、磁 盤陣列、時鐘芯片等幾個部分構(gòu)成。其中,GTX收發(fā)器被配置成不同的協(xié)議接口以適應(yīng)數(shù)據(jù)傳輸。模數(shù)轉(zhuǎn)換器將采集到的高速數(shù)據(jù)通過GTX送入Virtex-6 FPGA內(nèi)部,經(jīng)過處理后再通過GTX傳遞給Virtex-5 FPGA,然后再通過GTX存入磁盤陣列??梢?,RocketIO收發(fā)器是數(shù)據(jù)傳輸?shù)暮诵摹?/p>

      4 實驗結(jié)果和分析

      本文實現(xiàn)了高速數(shù)據(jù)在FPGA之間的傳輸。為測試方便,采用XC6VLX240T GTX的遠(yuǎn)端PCS環(huán)回模式進(jìn)行測試。Chipscope采樣波形如圖6所示。

      圖6 XC6VLX240T遠(yuǎn)端PCS環(huán)回測試

      由于遠(yuǎn)端PCS環(huán)回模式可以同時測試兩端GTX的通信情況,所以由圖 6可知,XC6VLX240T和XC5VFX240T可以正常通信。

      IBERT即集成式比特誤碼率測試儀,是Xilinx專門用于具有高速串行接口的FPGA芯片的調(diào)試和交互式配置工具[9]。使用IBERT測試GTX通信質(zhì)量情況,配置MGT/IBERT選項,選取測試時間3 600 s,其測試結(jié)果如圖7所示。在測試期間沒有出現(xiàn)誤碼,設(shè)計滿足高速數(shù)據(jù)的可靠傳輸要求。

      圖7 GTX誤碼情況

      5 結(jié)束語

      本文介紹了Xilinx公司Virtex-6系列FPGA集成的RocketIO收發(fā)器的原理和設(shè)計實現(xiàn)??梢钥闯?,利用RocketIO進(jìn)行高速數(shù)據(jù)的串行傳輸,可以在較大程度上簡化物理層和鏈路層之間的數(shù)據(jù)連接,并提高了芯片之間信號傳遞的速度和可靠性,這對于提高高速數(shù)據(jù)采集存儲系統(tǒng)的整體性能是有利的[10]。

      [1]田耕,徐文波.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學(xué)出版社,2012.

      [2]李大鵬,陳長勝,王世奎,等.基于FPGA的高速串行傳輸接口研究與實現(xiàn)[J].航空計算技術(shù),2008,38(2):100-103.

      [3]杜旭,于洋,黃建.基于FPGA的高速串行傳輸接口的設(shè)計與實現(xiàn)[J].計算機(jī)工程與應(yīng)用,2007,43(12):94-96.

      [4]Xilinx Conpration.Virtex-6 family overview[M].USA:Xilinx Conpration,2012.

      [5]Xilinx Conpration.Virtex - 6 FPGA GTX transceivers user guide[M].USA:Xilinx Conpration,2011.

      [6]Xilinx Conpration.Virtex - 5 FPGA GTX transceivers user guide[M].USA:Xilinx Conpration,2011.

      [7]李江濤.RocketIO高速串行傳輸原理與實現(xiàn)[J].雷達(dá)與對抗,2004(3):48-50.

      [8]張守將.基于RocketIO的高速數(shù)據(jù)傳輸系統(tǒng)研究[D].西安:西安電子科技大學(xué),2013.

      [9]徐妍,馬麗珍,張麗.IBERT在 FPGA中的應(yīng)用[J].電子科技,2012,25(7):103 -105.

      [10]王向陽,趙艷杰.Gbit·s-1試驗系統(tǒng)中高速串行接口的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2008(22):4-7.

      猜你喜歡
      高速數(shù)據(jù)收發(fā)器接收端
      清管球收發(fā)器設(shè)計細(xì)節(jié)分析及應(yīng)用
      基于擾動觀察法的光通信接收端優(yōu)化策略
      頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
      一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      基于AD9250的高速數(shù)據(jù)接口設(shè)計
      電子制作(2018年2期)2018-04-18 07:13:24
      Virtex5 FPGA GTP_DUAL硬核兩個收發(fā)器獨立使用的實現(xiàn)
      PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機(jī)軟件設(shè)計
      電子器件(2015年5期)2015-12-29 08:43:12
      基于AD7891的浮空器高速數(shù)據(jù)采集系統(tǒng)設(shè)計
      基于PCI 2501的高速數(shù)據(jù)采集與反饋系統(tǒng)
      临沭县| 库车县| 东明县| 临西县| 彰化市| 麻栗坡县| 蕲春县| 麟游县| 确山县| 虎林市| 广河县| 红河县| 海口市| 武胜县| 万州区| 海口市| 香港| 萨迦县| 南和县| 繁峙县| 永宁县| 博兴县| 五常市| 高尔夫| 察雅县| 自贡市| 池州市| 定结县| 社旗县| 塘沽区| 安义县| 仲巴县| 兴隆县| 秭归县| 碌曲县| 招远市| 永善县| 碌曲县| 新建县| 两当县| 石屏县|