<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高速串行傳輸系統(tǒng)的設(shè)計(jì)

          基于FPGA的高速串行傳輸系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

          引言

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

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

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

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

          點(diǎn)擊放大圖片

          圖1 系統(tǒng)框圖

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

          圖1中各個(gè)模塊的功能如下:Virtex5作為傳輸卡的核心,用來實(shí)現(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之間實(shí)現(xiàn)PCI-Express傳輸協(xié)議,與PC實(shí)現(xiàn)串行數(shù)據(jù)傳輸,同時(shí)與外部擴(kuò)展接口,DDR緩存,光纖傳輸模塊實(shí)現(xiàn)內(nèi)部并行數(shù)據(jù)的交換。QTE自定義接口模塊的作用,就是進(jìn)行外部功能擴(kuò)展。比如,可以擴(kuò)展高速數(shù)據(jù)采集板卡、存儲(chǔ)硬盤卡、圖像采集卡等。時(shí)鐘管理模塊的作用,是給光纖傳輸模塊提供參考時(shí)鐘。時(shí)鐘頻率由FPGA的時(shí)鐘控制模塊控制。根據(jù)光模塊的性能,給出指定的時(shí)鐘。PCI-Express的參考時(shí)鐘,是通過芯片從PC主板上提取的。電源管理模塊的作用,是給整個(gè)系統(tǒng)提供各種不同的電壓。

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

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

          2.1 時(shí)鐘控制模塊

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

          點(diǎn)擊放大圖片

          圖2 模塊電路圖

          ICS8442的性能參數(shù)如下:輸出信號(hào)頻率范圍為31.25~700 MHz;晶振頻率范圍為10~25 MHz;VCO頻率范圍為250~700 MHz;ICS8442是LVDS邏輯電平,具有極低的相位噪聲,這種特性使它非常適合用來為吉比特以太網(wǎng)或同步光纖網(wǎng)提供時(shí)鐘信號(hào)。

          ICS8442的內(nèi)部結(jié)構(gòu)圖3所示。ICS8442內(nèi)部有一個(gè)完整的PLL鎖相環(huán),其VCO的輸出頻率范圍在250~700MHz之間,倍頻系數(shù)是由M決定的,M的取值范圍在10~28之間。VCO的輸出頻率為:

          點(diǎn)擊放大圖片

          ICS8442最終的輸出結(jié)果還要經(jīng)過一個(gè)分頻器N,最終輸出結(jié)果的頻率和晶振輸入頻率的關(guān)系式為:

          點(diǎn)擊放大圖片

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

          點(diǎn)擊放大圖片

          表1 N寄存器對(duì)應(yīng)的取值

          點(diǎn)擊放大圖片

          圖3 ICS8442的內(nèi)部結(jié)構(gòu)

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


          上一頁 1 2 3 下一頁

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();