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

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

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

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-12 08:04 ? 次閱讀

引言

隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,數(shù)據(jù)交換、數(shù)據(jù)傳輸流量越來越大。尤其像雷達(dá),氣象、航天等領(lǐng)域,不僅數(shù)據(jù)運算率巨大,計算處理復(fù)雜,而且需要實時高速遠(yuǎn)程傳輸,需要長期穩(wěn)定有效的信號加以支持,以便能夠獲得更加精準(zhǔn)的數(shù)據(jù)收發(fā)信息,更好的為工程項目服務(wù)。傳統(tǒng)的并行傳輸方式由于走線多、信號間串?dāng)_大等缺陷,無法突破自身的速度瓶頸。而串行傳輸擁有更高的傳輸速率但只需要少量的信號線,降低了板開發(fā)成本和復(fù)雜度,滿足高頻率遠(yuǎn)距離的數(shù)據(jù)通信需求,被廣泛應(yīng)用到各種高速數(shù)據(jù)通信系統(tǒng)設(shè)計中。

目前,高速串行接口取代并行拓?fù)浣Y(jié)構(gòu)已經(jīng)是大勢所趨。當(dāng)今很多公用互連標(biāo)準(zhǔn)(如USB,PCI-Express)都是基于串行連接來實現(xiàn)高速傳輸?shù)?。相比于并行總線,串行連接的物理緊密度和鏈路韌性具有很多優(yōu)勢。因此,很多傳輸領(lǐng)域都轉(zhuǎn)向了串行傳輸,如筆記本電腦顯示互連、高速背板互連和存儲器內(nèi)部互連。該系統(tǒng)涉及到的技術(shù)主要包括:光纖傳輸、PCIE(PCI-Express)傳輸和DDR緩存技術(shù),以及這幾種技術(shù)在FPGA中融合為一個完整的串行傳輸鏈路,并實現(xiàn)了在兩臺服務(wù)器之間的高速數(shù)據(jù)傳輸測試,這對于實際工程應(yīng)用具有重要的現(xiàn)實意義。

1 系統(tǒng)結(jié)構(gòu)

高速串行傳輸系統(tǒng)作為數(shù)據(jù)采集、傳輸、存儲中的一部分,對傳輸性能指標(biāo)有著嚴(yán)格的要求。該系統(tǒng)要完成光信號到PCI-Express接口信號的相互轉(zhuǎn)換,并在轉(zhuǎn)換過程中完成數(shù)據(jù)的高速傳輸。信號一般可達(dá)4.25Gb/s,處理如此高的數(shù)據(jù)對硬件設(shè)計提出了很大的挑戰(zhàn)。其中所包含的硬件有:高速光電轉(zhuǎn)換電路,F(xiàn)PGA數(shù)據(jù)處理電路、DDRⅡ數(shù)據(jù)緩存電路、時鐘管理電路、PCIE傳輸模塊電路、電源模塊電路、自定義擴展接口電路。系統(tǒng)框圖如圖1所示。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

技術(shù)要求主要有以下幾點:首先,傳輸卡中的4個光纖通道,每通道要達(dá)到2 Gb/s以上。其次,PCIE傳輸速率不小于6 Gb/s,支持DMA傳輸。再有,光纖和PCI-E傳輸誤碼率要小于1×10-10,連續(xù)傳輸相對穩(wěn)定。

圖1中各個模塊的功能如下:Virtex5作為傳輸卡的核心,用來實現(xiàn)數(shù)據(jù)從光纖接口到PCIE接口的高速轉(zhuǎn)換。光纖傳輸模塊的作用是將內(nèi)部數(shù)據(jù)經(jīng)過編碼后,通過光纜傳輸給接收系統(tǒng),以及接收外來光數(shù)據(jù),并將光數(shù)據(jù)傳送給FPGA處理電路DDR緩存模塊的作用,就是將傳輸過程中的高速數(shù)據(jù),進(jìn)行緩存,以保持?jǐn)?shù)據(jù)的完整性。PCI-Express傳輸模塊的作用,就是與PC之間實現(xiàn)PCI-Express傳輸協(xié)議,與PC實現(xiàn)串行數(shù)據(jù)傳輸,同時與外部擴展接口,DDR緩存,光纖傳輸模塊實現(xiàn)內(nèi)部并行數(shù)據(jù)的交換。QTE自定義接口模塊的作用,就是進(jìn)行外部功能擴展。比如,可以擴展高速數(shù)據(jù)采集板卡、存儲硬盤卡、圖像采集卡等。時鐘管理模塊的作用,是給光纖傳輸模塊提供參考時鐘。時鐘頻率由FPGA的時鐘控制模塊控制。根據(jù)光模塊的性能,給出指定的時鐘。PCI-Express的參考時鐘,是通過芯片從PC主板上提取的。電源管理模塊的作用,是給整個系統(tǒng)提供各種不同的電壓。

2 系統(tǒng)模塊設(shè)計與實現(xiàn)

為了實現(xiàn)所要求的系統(tǒng)配置,更好地發(fā)揮各模塊自身及相互之間的作用,必須對模塊間進(jìn)行系統(tǒng)的協(xié)議分析。該系統(tǒng)的數(shù)據(jù)傳輸是雙向的,既可以傳輸數(shù)據(jù),也可以接收數(shù)據(jù)。它主要由電源管理模塊,時鐘管理模塊,PCI-Express傳輸模塊,DDR緩存模塊,光纖傳輸模塊和外部擴展接口組成。其中,時鐘控制模塊和AURORA發(fā)送模塊、Aurora接收模塊是整個設(shè)計的重點。

2.1 時鐘控制模塊 時鐘控制模塊主要用來控制FPGA外圍的時鐘芯片ICS8442來產(chǎn)生所需要的高信噪比、低抖動的差分時鐘。其模塊電路如圖2所示:輸出其中的信號用來完成對ICS8442的編程,使其能夠產(chǎn)生所需要的時鐘信號。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

ICS8442的性能參數(shù)如下:輸出信號頻率范圍為31.25~700 MHz;晶振頻率范圍為10~25 MHz;VCO頻率范圍為250~700 MHz;ICS8442是LVDS邏輯電平,具有極低的相位噪聲,這種特性使它非常適合用來為吉比特以太網(wǎng)或同步光纖網(wǎng)提供時鐘信號。 ICS8442的內(nèi)部結(jié)構(gòu)圖3所示。ICS8442內(nèi)部有一個完整的PLL鎖相環(huán),其VCO的輸出頻率范圍在250~700MHz之間,倍頻系數(shù)是由M決定的,M的取值范圍在10~28之間。VCO的輸出頻率為:

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

其中:N是一個2位的寄存器,其對應(yīng)的取值如表1所示。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

對ICS8442時鐘芯片的操作主要是對寄存器M,N的寫操作。ICS8442支持并行寫操作和串行寫操作,根據(jù)硬件電路的設(shè)計,程序采用串行的寫操作時序。當(dāng)ICS8442的nP_LOAD置為高電平和S_LOAD置為低電平時,芯片實現(xiàn)串行操作。

當(dāng)S_LOAD置為低且nP_LOAD置為高之后,數(shù)據(jù)在S_CLOCK的上升沿處寄存在緩沖器中,在S_LOAD的下降沿處將數(shù)據(jù)鎖存到寄存器M,N中。

由于AURORA光纖通信的輸出時鐘頻率設(shè)定的是125 MHz,結(jié)合硬件電路的設(shè)計,硬件晶振的頻率為20 MHz,因此選擇M值為000011001(25),N的值為10(4),故時鐘芯片的時鐘輸出頻率為:

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

時鐘控制模塊的實測時鐘信號如圖5所示。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

圖5是用Chipscope在線邏輯分析儀得到的波形,由于Chipscope在線邏輯分析儀的觸發(fā)時鐘是100 MHz,因此在抓取125 MHz的時鐘信號時,在圖上顯示的時鐘信號占空比不定,若將時鐘芯片產(chǎn)生的時鐘頻率降低,則此現(xiàn)象消失。

2.2 AURORA發(fā)送模塊

在生成AURORA IP CORE時,同時生成了一個基于AURORA協(xié)議的例示程序。因此,要實現(xiàn)基于AURORA協(xié)議的光纖通信,在發(fā)送端只需要在frame_gen_i模塊將要發(fā)送的數(shù)據(jù)打包,然后通過AURORA模塊發(fā)送出去。因此該模塊著重介紹如何將上一級傳送過來的數(shù)據(jù)進(jìn)行打包壓縮,形成適合AURORA協(xié)議的數(shù)據(jù)幀,通過AURORA協(xié)議發(fā)送到接收端。圖6為frame_gen_i模塊的RTL級模型圖。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

考慮到上一級傳輸數(shù)據(jù)速率可能會與AURORA傳輸?shù)臅r鐘頻率不同,因此在發(fā)送端建立一個FIFO來做緩沖器。并且AURORA協(xié)議的發(fā)送時序圖如圖7所示。可以看出,TX_SOF_N為數(shù)據(jù)包幀的開始標(biāo)志,TX_EOF_N為數(shù)據(jù)包幀的結(jié)束.標(biāo)志,TX_REM[0:r(n)]記錄最后的傳輸數(shù)據(jù)的線程,TX_SRC_RDY_N為低代表數(shù)據(jù)有效,TX_DST_RDY_N為低代表準(zhǔn)備好接受數(shù)據(jù),TX_D[0:(8n-1)]是此模塊的輸出數(shù)據(jù)。以上信息是AURORA協(xié)議的發(fā)送時序,在使用FIFO做緩沖時也應(yīng)該遵循這樣的協(xié)議。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

發(fā)送端的FIFO模塊分別包括FIFO的復(fù)位信號、FIFO空、FIFO滿、以及讀/寫時鐘、使能和數(shù)據(jù)信號線。因此應(yīng)該根據(jù)FIFO的標(biāo)志位empty和full來產(chǎn)生AURORA的發(fā)送時序,參考模型如圖8所示:當(dāng)RESET信號到來之時,首先將S0置為高電平,將S1置為低電平,同時根據(jù)FULL和EM-PTY的狀態(tài)確定接下來的S0和S1的狀態(tài),進(jìn)而根據(jù)以上邏輯關(guān)系得到TX_SOF_N,TX_EOF_N,TX_SRC_RDY_N等邏輯信號,并且根據(jù)數(shù)據(jù)X_DST_RDY_N和TX_SRC_RDY_N生成FIFO的讀使能。由以上邏輯可以看出,只有在FULL為1,EMPTY為0時,F(xiàn)IFO的讀使能才能被打開。TX_SOF_N為數(shù)據(jù)包的幀頭標(biāo)志,TX_EOF_N為數(shù)據(jù)包的幀尾標(biāo)志,TX_STC_RDY_N為低時代表數(shù)據(jù)有效,TX_DST_RDY_N為輸入信號,根據(jù)此輸入信號確定FIFO的讀寫時序。

對FIFO時序操作需要根據(jù)上述電路圖所產(chǎn)生。在上述電路圖中,有一個D觸發(fā)器,其RESET信號是復(fù)位信號,復(fù)位既是將觸發(fā)器輸出端口清零,即將S0置1,將S1置0。在之前的程序中誤將這里寫反,即RESET信號到來之后,將S0置0,S1置1。這樣導(dǎo)致的結(jié)果是在最開始輸入的一段數(shù)據(jù)丟失,之后的結(jié)果輸出正常。經(jīng)過仿真分析之后檢查出問題并已改正。

2.3 AURORA接收模塊

同樣在AURORA協(xié)議模塊中,要實現(xiàn)對數(shù)據(jù)的接收,只需在frame_check模塊中對接收的代碼加以修改,增加自己所需要的內(nèi)容,完成對數(shù)據(jù)的解碼提取,剔除冗余信息,并完成數(shù)據(jù)的緩存。[page]

接收模塊frame_check的RTL級模型圖如圖9所示:其中,RX_D為接收端接收的緩存于FIFO的數(shù)據(jù),REsET為復(fù)位信號,RX_EOF_N為數(shù)據(jù)包幀尾的標(biāo)志,RX_SOF_N為數(shù)據(jù)包幀頭的標(biāo)志,TX_SRC_RDY_N為低時代表數(shù)據(jù)有效,USER_CLK為系統(tǒng)時鐘。fifo_out為數(shù)據(jù)緩存的輸出,ERROR _COUNT為系統(tǒng)檢錯輸出結(jié)果。因此在接收端接收模塊的時序圖如圖10所示。根據(jù)該時序圖可以確定接收時序,同樣,在AURORA協(xié)議末端,由于與下一級系統(tǒng)的速率可能不匹配,因此需要在接收末端加上一個FIFO做緩存,同樣其電路圖如圖11所示:根據(jù)RX_SRC_RDY_N生成FIFO的寫使能信號,該發(fā)送模塊設(shè)計完畢。

基于Virtex-5技術(shù)實現(xiàn)AURORA協(xié)議的串行傳輸系統(tǒng)的設(shè)計

3 測試分析

3.1 功能測試

在基本功能測試中,主要測試光纖模塊傳輸是否正確。由于光纖模塊共有A,B,C,D四個通道,對每個通道都要進(jìn)行讀/寫測試。將通道A作為數(shù)據(jù)發(fā)送端,通道B作為數(shù)據(jù)接收端,應(yīng)用光纖將A,B兩端進(jìn)行聯(lián)通,然后將應(yīng)用程序數(shù)據(jù)寫入A通道FIFO中,當(dāng)FPGA接收到到數(shù)據(jù)后,將A通道數(shù)據(jù)通過光纖傳輸?shù)酵ǖ繠接收緩存中,然后通道B將數(shù)據(jù)發(fā)送到上位機,從而形成一個環(huán)路。比較發(fā)送和接受端的數(shù)據(jù),可以驗證數(shù)據(jù)傳輸?shù)恼_性。同理可以將此方法應(yīng)用于四個通道中的任意兩個作為發(fā)送端和接收端,從而驗證并測試傳輸功能。

3.2 性能測試

性能主要對其傳輸速度和傳輸誤碼率進(jìn)行測試。就傳輸速度而言,主要由FPGA控制,在其內(nèi)部設(shè)置了兩個初始值為0的計數(shù)器,在PCI-Express開始傳輸數(shù)據(jù)時,F(xiàn)PGA開始計數(shù)讀/寫數(shù)據(jù)包和發(fā)送數(shù)據(jù)包的個數(shù),然后每隔一段時間將計數(shù)值寫入兩個計數(shù)寄存器中,并將原有值替換,為了精確速率,可以縮短計數(shù)時間,并多次測試取平均值,就可得到傳輸瞬時速度。經(jīng)測試:PCI-Express接口的傳輸速度在600MB/ s,光纖傳輸在850 MB/s,滿足設(shè)計要求。對于誤碼率的測試,主要使用誤碼分析軟件對其誤碼性能進(jìn)行測量,設(shè)計由上位機和PCI-Express接口,光纖通道組成數(shù)據(jù)傳輸環(huán)路,通過不同的指令和要求驗證傳輸正確性,當(dāng)數(shù)據(jù)包大小在4 Kb,8 Kb,16 Kb,32 Kb,測試數(shù)據(jù)長度分別為1 000 Kb,1 000 000 Kb,100000 000 Kb時,錯誤率都為0 b,誤碼率滿足設(shè)計要求。

4 結(jié)語

該設(shè)計系統(tǒng)以Virtex-5為核心構(gòu)建的平臺,對AURORA協(xié)議下串行傳輸系統(tǒng)進(jìn)行了設(shè)計與實現(xiàn)。通過對核心問題的解決,將計算機與外部擴展很好的結(jié)合,達(dá)到信號傳輸?shù)母咚?、穩(wěn)定的目的。實驗證明,板卡設(shè)計的整體思路和核心方法的解決是完備的,并使得板卡的傳輸速率和穩(wěn)定性的到了較大的提高。

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 雷達(dá)
    +關(guān)注

    關(guān)注

    49

    文章

    2815

    瀏覽量

    116676
  • 電源模塊
    +關(guān)注

    關(guān)注

    32

    文章

    1633

    瀏覽量

    92311
收藏 人收藏

    評論

    相關(guān)推薦

    RocketIO高速串行接口

    RocketIO高速串行接口本人在北京工作6年以上,從事FPGA外圍接口設(shè)計,熟練使用Virtex-5/Virtex-6 FPGA,非常熟悉RocketIO GTP/GTX協(xié)議,
    發(fā)表于 03-01 18:46

    基于Virtex-5 LXT助力串行背板接口設(shè)計

    以太網(wǎng)的10GbE回程卡之間實現(xiàn)完全連接。每片板卡都利用1個Virtex-5LXT器件和4個嵌入式串行收發(fā)器來實現(xiàn)4個獨立的網(wǎng)狀結(jié)構(gòu)物理層通道。這4個鏈路層基于
    發(fā)表于 04-12 07:00

    基于Virtex-5 LXT的串行背板接口設(shè)計

    的10GbE回程卡之間實現(xiàn)完全連接。每片板卡都利用1個Virtex-5LXT器件和4個嵌入式串行收發(fā)器來實現(xiàn)4個獨立的網(wǎng)狀結(jié)構(gòu)物理層通道。這4個鏈路層基于
    發(fā)表于 04-16 07:00

    基于Virtex-5 LXT的串行背板接口設(shè)計

    的背板子系統(tǒng)所代替。 諸如XAUI和千兆位以太網(wǎng)(GbE)等有助于簡化設(shè)計、實現(xiàn)互操作性的標(biāo)準(zhǔn)串行協(xié)議的問世,進(jìn)一步推動了串行
    發(fā)表于 04-16 07:00

    UG190 Virtex-5 用戶指南

    UG190 Virtex-5 用戶指南
    發(fā)表于 07-28 15:46 ?65次下載

    Xilinx Virtex-5 FXT FPGA開發(fā)方案

    Xilinx公司的Virtex-5 FXT FPGA器件在業(yè)界率先集成了嵌入式PowerPC 440處理器模塊、高速RocketIO GTX收發(fā)器和專用XtremeDSP 處理能力。作為65nm Virtex-5系列的第四款平臺,Vir
    發(fā)表于 11-24 11:17 ?32次下載

    Virtex-5 Embedded Tri-Mode Eth

    Virtex-5 Embedded Tri-Mode Ethernet Core應(yīng)用手冊 This application note describes a system using
    發(fā)表于 05-13 13:51 ?44次下載

    Opal Kelly推出基于Virtex-5的USB集成模塊

    Opal Kelly推出基于Virtex-5的USB集成模塊 ?總部位于俄勒岡州波特蘭的 Opal Kelly 公司專門從事基于 FPGA 的 USB 模塊開發(fā),現(xiàn)推出了基于賽靈思 Virtex?-5 FPGA 的 USB 集
    發(fā)表于 02-08 10:11 ?1098次閱讀

    基于Virtex-5 FPGA的音視頻監(jiān)視系統(tǒng)設(shè)計

    引言 本文探討在Virtex-5 FPGA中實現(xiàn)設(shè)計的一些難題,然后用一個項目作為示范來詳解充分利用其功能集的
    發(fā)表于 11-12 09:44 ?887次閱讀
    基于<b class='flag-5'>Virtex-5</b> FPGA的音視頻監(jiān)視<b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于Virtex-5串行傳輸系統(tǒng)實現(xiàn)

    為了解決下一代無線通信基站中多天線(MIMO)信號處理所帶來的巨大數(shù)據(jù)吞吐量要求,本文基于Virtex-5 FPGA的GTP單元給出了一種在高級電信計算架構(gòu)(ATCA)機箱內(nèi)實現(xiàn)單對差分線進(jìn)行3.125Gbps串
    發(fā)表于 08-25 10:37 ?1419次閱讀
    基于<b class='flag-5'>Virtex-5</b>的<b class='flag-5'>串行</b><b class='flag-5'>傳輸</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>實現(xiàn)</b>

    基于Virtex-5的3.125G串行傳輸系統(tǒng)的設(shè)計

    本文基于Virtex-5 FPGA的GTP單元給出了一種在高級電信計算架構(gòu)(ATCA)機箱內(nèi)實現(xiàn)單對差分線進(jìn)行3.125Gbps串行傳輸的設(shè)計方案。
    發(fā)表于 09-16 09:52 ?1824次閱讀
    基于<b class='flag-5'>Virtex-5</b>的3.125G<b class='flag-5'>串行</b><b class='flag-5'>傳輸</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計

    xilinx virtex-5 技術(shù)參數(shù)

    xilinx virtex-5 技術(shù)參數(shù) 供芯片選型之用
    發(fā)表于 11-30 17:44 ?1次下載

    基于Virtex-6 的Aurora 8B/10B,PCIe2.0,SRIO 2.0三種串行通信協(xié)議分析

    針對較為常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三種協(xié)議進(jìn)行了測試及對比分析。首先搭建了基于Virtex-6 FPGA的高速串行
    發(fā)表于 11-18 01:00 ?1.2w次閱讀
    基于<b class='flag-5'>Virtex</b>-6 的<b class='flag-5'>Aurora</b> 8B/10B,PCIe2.0,SRIO 2.0三種<b class='flag-5'>串行</b>通信<b class='flag-5'>協(xié)議</b>分析

    基于Virtex-5 RocketI0TM GTP收發(fā)器實現(xiàn)串行高速接口的開發(fā)應(yīng)用

    Virtex-5 RocketIOTM GTP收發(fā)器的串行高速系統(tǒng)接口開發(fā)過程中位寬轉(zhuǎn)換的幾個技術(shù)問題提出了解決方案,并以SATA2.0開發(fā)為例,通過Xilinx
    的頭像 發(fā)表于 06-24 16:10 ?2793次閱讀
    基于<b class='flag-5'>Virtex-5</b> RocketI0TM GTP收發(fā)器<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>串行</b>高速接口的開發(fā)應(yīng)用

    基于直流和開關(guān)特性的Virtex-5 FPGA產(chǎn)品介紹

    基于直流和開關(guān)特性的Virtex-5 FPGA產(chǎn)品介紹
    發(fā)表于 07-12 14:11 ?18次下載