0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Vir-tex-4 FX系列FPGA芯片實現(xiàn)高速通信

電子設計 ? 來源:電子產(chǎn)品世界 ? 作者:電子產(chǎn)品世界 ? 2021-06-21 10:43 ? 次閱讀

目前,多數(shù)計算機、嵌入式處理設備和通信設備都采用并行總線,但隨著芯片性能不斷提升和系統(tǒng)越來越復雜,數(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)絡與通信領(lǐng)域不斷增強的數(shù)字統(tǒng)一趨勢,對系統(tǒ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é)議,可以幫助設計人員方便、靈活、可靠地實現(xiàn)高速通信。

1 設計要素

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ù)設置來決定。表1是該實驗中關(guān)于時鐘參數(shù)的設置。

1.2 復 位

MGT模塊中的復位分為發(fā)送部分的復位和接收部分的復位。發(fā)送部分的復位主要包括TXPMARESET和TXPCSRESET;接收部分的復位主要包括RXPMARE-SET和RXPCSRESET。TXPMARESET復位用于復位PMA和重新初始化PMA功能。其引腳電平為高時,復位PLL控制邏輯和內(nèi)部的PMA分頻器,同時也使發(fā)送器PLL LOCK信號為低并且迫使TX PLL進行校驗。TXP-MARESET引腳電平為高至少要持續(xù)3個USRCLK時鐘周期。

當TXPCSRESET引腳電平為高時,TX PCS模塊被復位。TX PCS模塊包括:TX Fabric接口,8B/10B編碼器,10GBASE-R編碼器,TX緩沖器,64B/66B擾碼器和10GBASE-R自適應同步器。 TXPCSRESET復位與TXPMARESET復位是相互獨立,互不影響的。

TXPCSRESET復位的要求如下:

①在TXPCSRESET復位時,TXUSRCLK和PCS的TXCLK時鐘必須已經(jīng)保持穩(wěn)定,以便初始化發(fā)送緩沖器。

②TXPCSRESET引腳電平為高,至少要持續(xù)3個TXUSRCLK或TXUSRCLK2時鐘周期。

③在TXPCSRESET復位結(jié)束后,TX PCS模塊至少需要5個時鐘周期(以TXUSRCLK或TXUSRCLK2中最長的時鐘周期為準)來完成各個子模塊的復位。

圖1是發(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)化后的字符可以保證有足夠的跳變用于時鐘恢復。 8B/10B編碼具有“0”和“1”出現(xiàn)的概率相等,直流基線漂移小,低頻分量小,功率譜帶寬較窄,抖動小,以及能夠檢測輸入數(shù)據(jù)中的錯誤等許多優(yōu)點。

8B/10B編碼可以分為256個數(shù)據(jù)字符和12個控制字符。數(shù)據(jù)字符,標為D,用于傳輸數(shù)據(jù);控制字符,標為K,用于傳輸控制序列。12個控制字符用于對齊、控制,以及將帶寬劃分為子通道。

2.2 comma字符檢測和對齊

Virtex-4 RRocketIO有可編程的逗號檢測,以便于實現(xiàn)10位字符的各種通信協(xié)議和檢測,通過對MCOMMA_10B_VALUE、 DEC_MCOMMA_DETECT、PCOMMA_10B_VALUE、DEC_PCOMMA_DETECT和COMMA_10B_MASK這些參數(shù)的設置,可以實現(xiàn)任意的8位或10位符號檢測。

接收器在輸入數(shù)據(jù)流中掃描搜尋comma字符。如果找到,解串器就調(diào)整序列邊界以匹配檢測到的comma字符序列,且掃描是連續(xù)進行的。一旦對齊確定,所有后續(xù)comma字符的對齊均已確定。在任意的序列組合里,comma字符序列必須是唯一的。常用的K字符是12個K字符中的一個或多個。由于 K28.1、K28.5、K28.7這些字符的頭7位都是1100000,這種比特序列模式只可以在這些控制字符中出現(xiàn),因此,這些控制字符是非常理想的對齊序列。

2.3 時鐘修正

在時鐘/數(shù)據(jù)恢復電路的作用下,從接收的串行數(shù)據(jù)流中解出時鐘的頻率和相位,一般將它的20分頻時鐘作為恢復時鐘。在恢復時鐘作用下從串行數(shù)據(jù)經(jīng)過解串器產(chǎn)生并行數(shù)據(jù)作為8B/10B譯碼的輸入,譯碼后的數(shù)據(jù)進入16×52位的接收緩沖器。輸入緩沖器的輸人數(shù)據(jù)速率是由PCS RXCLK的頻率決定的,而從緩沖器讀取端輸出的數(shù)據(jù)速率是由RXUSRCLK的頻率決定的。由于兩個時鐘會有差異,所以需要進行時鐘修正。

時鐘修正的基本原理是:在發(fā)送端,當數(shù)據(jù)發(fā)送了一定的字節(jié)或數(shù)個數(shù)據(jù)包后,通過插入和發(fā)送一些特定的字節(jié)修正字符;在接收端,當接收到這些字符后會自動地丟棄或者重復來補償時鐘的差異。時鐘修正的核心工作是在比特流中搜尋特定的字符序列。

3 MGT的測試與驗證

本實驗是在XilinX公司的ML405評估板上進行的,使用2個MGT。其中,MGT1用來發(fā)送數(shù)據(jù)(通過mgt1_tx_n和mgt1_tx_p這對差分線),MGT0用于接收數(shù)據(jù)(通過mgt0_tx_n和mgt0_tx_p這對差分線)。使用串行ATA電纜(長約100 cm)將它們連接起來形成一個大環(huán)路,進行數(shù)據(jù)讀回測試。MGT驗證實驗的硬件框圖如圖2所示。

其中,gtll_init_tx模塊產(chǎn)生tx—pmareset、tx_pcsreset復位信號以及frame—gen模塊的復位信號;frame—gen模塊產(chǎn)生帶有comma字符的數(shù)據(jù)流,每次發(fā)送的數(shù)據(jù)位寬為32位;gtll_init_rx模塊產(chǎn)生rx_pmareset、 rx_pcsreset復位信號以及frame_check模塊的復位信號;frame_check模塊用來將發(fā)送的數(shù)據(jù)與實際接收到的來自于MGT0的并行輸出端口的數(shù)據(jù)進行比較,如果檢測到不一致,則frame_check模塊的ERR_COUNT計數(shù)器就加1,通過讀取該計數(shù)器的值和記錄MGT工作的時間就可以計算出該系統(tǒng)中MGT的錯誤率。

假設MGT的錯誤率為δ,MGT的數(shù)據(jù)傳輸率為μ,MGT傳輸數(shù)據(jù)的有效時間為τ,ERR_COUNT計數(shù)器的計數(shù)值為E,則有:

實驗中測得,E=319,τ=3 600s,μ=3 Gb/s。將上述數(shù)值代入式(1),求得δ=2.957×10-11。通過取不同的時間τ,每個τ對應做多次實驗,可以得到δ的范圍為 [2.752×10-11,3.168×10-11]。通過該實驗可以發(fā)現(xiàn)具MGT的可靠性比較高,可以滿足我們的工程需求,具有很高的實際使用價值。

結(jié) 語

目前,系統(tǒng)對數(shù)據(jù)傳輸率的要求越來越高,高速串行互連技術(shù)由于將時鐘與數(shù)據(jù)合并進行傳輸,從而解決了高速并行數(shù)據(jù)傳輸過程中時鐘和數(shù)據(jù)的抖動問題,提高了數(shù)據(jù)傳輸速率,降低了設計復雜性和成本,減少了引腳數(shù)量和PC板面積。Xilinx公司的Virtex-4 FX系列FPGA器件中所提供的用于實現(xiàn)高速串行互連的RocketIO IP核,具有使用方便、配置靈活、集成度高等優(yōu)點,將它用于解決高速串行數(shù)據(jù)傳輸問題,既簡化了設計,又提高了系統(tǒng)的集成度和可靠性,有很好的應用前景。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417167
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298562
收藏 人收藏

    評論

    相關(guān)推薦

    采用多功能器件實現(xiàn)新型數(shù)字信號中和器的應用電路設計

    ADTL2_18組成。射頻采集模塊主要由ADC08D1500及相關(guān)外圍電路組成。高速時鐘產(chǎn)生模塊由ADI公司的時鐘產(chǎn)生芯片AD9517-4組成。數(shù)據(jù)處理及控制模塊由XILINX VIR-TEX
    發(fā)表于 08-17 14:44 ?1302次閱讀
    采用多功能器件<b class='flag-5'>實現(xiàn)</b>新型數(shù)字信號中和器的應用電路設計

    如何使用FPGAFX3實現(xiàn)數(shù)據(jù)的傳輸?

    ,最終程序編譯通過了,但是出現(xiàn)了4個時序約束問題,實際BULK OUT可以傳出數(shù)據(jù),但是BULK IN接收數(shù)據(jù)失敗。 請問是否是我所使用的方式有誤?所提供的verilog文件是否有更詳細的使用說明? 或者說,該如何使用FPGAF
    發(fā)表于 02-28 07:44

    基于FPGA的超高速FFT硬件實現(xiàn)

    基于FPGA的超高速FFT硬件實現(xiàn)介紹了頻域抽取基二快速傅里葉運算的基本原理;討論了基于FPGA4 096點的大點數(shù)超
    發(fā)表于 06-14 00:19

    FPGA實現(xiàn)高速FFT處理器的設計

    FPGA實現(xiàn)高速FFT處理器的設計介紹了采用Xilinx公司的Virtex - II系列FPGA設計高速
    發(fā)表于 08-12 11:49

    關(guān)于FX2下載FPGA程序,以及實現(xiàn)FPGA與PC通信的問題

    FX2是不是類似于一個仿真器,內(nèi)部的固件程序在下載FPGA程序時模擬JTAG協(xié)議將程序下進去嗎,這時是不是工作在主模式下;還有上位機通過FX2與FPGA
    發(fā)表于 05-09 14:14

    FPGA與DSP的高速通信接口設計與實現(xiàn)

    數(shù)據(jù)的實時通信至關(guān)重要。TigerSHARC系列DSP芯片與外部進行數(shù)據(jù)通信主要有兩種方式:總線方式和鏈路口方式。鏈路口方式更適合于FPGA
    發(fā)表于 12-04 10:39

    FPGA與DSP的高速通信接口設計與實現(xiàn)

    數(shù)據(jù)的實時通信至關(guān)重要。TigerSHARC系列DSP芯片與外部進行數(shù)據(jù)通信主要有兩種方式:總線方式和鏈路口方式。鏈路口方式更適合于FPGA
    發(fā)表于 06-19 05:00

    FPGA和DSP高速通信接口設計方案

    的應用越來越廣泛。ADI公司的TigerSHARC系列DSP芯片浮點處理性能優(yōu)越,DSP的DSP+FPGA處理系統(tǒng)正廣泛應用于復雜的信號處理領(lǐng)域。同時在這類實時處理系統(tǒng)中,FPGA與D
    發(fā)表于 06-21 05:00

    基于Verilog的FPGA與USB 2.0高速接口設計

    引 言在高速的數(shù)據(jù)采集或傳輸中,目前使用較多的都是采用USB 2.0接口控制器和FPGA或DSP實現(xiàn)的,本設計在USB 2.0接口芯片CY7C68013的Slave FIFO模式下,利
    發(fā)表于 06-24 07:00

    基于FPGA DSP架構(gòu)的高速通信接口設計與實現(xiàn)

    本文采用 altera 公司cyclone 系列芯片ep1c12 實現(xiàn)了與ts101/ts201 兩種芯片的鏈路口的雙工通信,并給出了具體的
    發(fā)表于 12-03 16:32 ?18次下載

    基于FPGA實現(xiàn)高速串行交換模塊實現(xiàn)方法研究

    采用Xlinx公司的Virtex5系列FPGA設計了一個用于多種高速串行協(xié)議的數(shù)據(jù)交換模塊,并解決了該模塊實現(xiàn)中的關(guān)鍵問題.該交換模塊實現(xiàn)
    發(fā)表于 09-30 16:31 ?39次下載

    基于FPGA高速時鐘數(shù)據(jù)恢復電路的實現(xiàn)

    基于FPGA高速時鐘數(shù)據(jù)恢復電路的實現(xiàn) 時鐘數(shù)據(jù)恢復電路是高速收發(fā)器的核心模塊,而高速收發(fā)器是通信
    發(fā)表于 10-25 10:29 ?3930次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>高速</b>時鐘數(shù)據(jù)恢復電路的<b class='flag-5'>實現(xiàn)</b>

    基于FPGA的USB3.0協(xié)議高速通信架構(gòu)

    FX.3芯片作為USB的外設控制器,以FPGA作為整個硬件系統(tǒng)的主控芯片,通過對FPCA硬件系統(tǒng)進行設計,對設備固件進行設計與調(diào)優(yōu),該架構(gòu)支持USB203.0接口自適應,能夠
    發(fā)表于 06-01 10:05 ?22次下載

    FPGA和USB3.0通信-FX3硬件設計簡談

    FPGA和USB3.0通信-FX3硬件設計簡談本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下稱 FX3),該
    發(fā)表于 12-01 20:06 ?24次下載
    <b class='flag-5'>FPGA</b>和USB3.0<b class='flag-5'>通信</b>-<b class='flag-5'>FX</b>3硬件設計簡談

    FX3S/FX3G/FX3GC/FX3U/FX3UC系列用戶手冊之MODBUS串行通信

    FX3S/FX3G/FX3GC/FX3U/FX3UC系列用戶手冊 - MODBUS串行
    發(fā)表于 08-24 16:02 ?10次下載
    <b class='flag-5'>FX</b>3S/<b class='flag-5'>FX</b>3G/<b class='flag-5'>FX</b>3GC/<b class='flag-5'>FX</b>3U/<b class='flag-5'>FX</b>3UC<b class='flag-5'>系列</b>用戶手冊之MODBUS串行<b class='flag-5'>通信</b>篇