本發(fā)明涉及一種基于FPGA和PCIe的高速數(shù)據(jù)交換構(gòu)架,屬于通信技術(shù)領(lǐng)域,亦屬于計(jì)算機(jī)技術(shù)領(lǐng)域和雷達(dá)技術(shù)領(lǐng)域。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷進(jìn)步,雷達(dá)系統(tǒng)、通信系統(tǒng)、遙感系統(tǒng)、圖像采集系統(tǒng)及高速數(shù)據(jù)采集系統(tǒng)等對(duì)數(shù)據(jù)傳輸速率要求日益提高,需要采用高速的傳輸總線及高效的數(shù)據(jù)交換構(gòu)架進(jìn)行數(shù)據(jù)傳輸。
PCI-Express(PCIe)是一種廣泛應(yīng)用的高速高帶寬傳輸總線,尤其適用于高速數(shù)據(jù)傳輸及交換。對(duì)于簡(jiǎn)單系統(tǒng)及低速數(shù)據(jù)傳輸,利用PCIe進(jìn)行數(shù)據(jù)傳輸?shù)募夹g(shù)方案多采用專用集成芯片(ASSP)或簡(jiǎn)單構(gòu)架的FPGA來實(shí)現(xiàn)。但是,現(xiàn)有的解決方案無法滿足復(fù)雜數(shù)據(jù)交換系統(tǒng)的需求,且具有速度慢和靈活性差的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
為克服現(xiàn)有數(shù)據(jù)交換解決方案速度慢和靈活性差的缺點(diǎn),針對(duì)復(fù)雜數(shù)據(jù)交換系統(tǒng)的高速數(shù)據(jù)傳輸,本發(fā)明提出了一種基于FPGA和PCIe的高速數(shù)據(jù)交換構(gòu)架。
本發(fā)明技術(shù)方案如下:
一種基于FPGA和PCIe的高速數(shù)據(jù)交換構(gòu)架,包括計(jì)算機(jī)平臺(tái)和基于FPGA芯片的數(shù)據(jù)交換模塊;
所述數(shù)據(jù)交換模塊設(shè)置有通過PCIe總線與計(jì)算機(jī)平臺(tái)相連接的PCIe硬核和與PCIe硬核相連接的雙通道DMA核,所述雙通道DMA核中設(shè)置有DMA通道一和DMA通道二;
所述DMA通道一連接有輸入處理模塊,所述DMA通道二連接有輸出處理模塊。
作為本發(fā)明的進(jìn)一步改進(jìn):所述輸入處理模塊包括與DMA通道一相連接的輸入AXI4總線、還包括若干光接收模塊;各光接收模塊分別通過FPGA的高速串行IO連接有一輸入FIFO緩沖區(qū),各輸入FIFO緩沖區(qū)分別通過一FIFO轉(zhuǎn)AXI4接口模塊與輸入AXI4總線相連接。
作為本發(fā)明的進(jìn)一步改進(jìn):所述輸入FIFO緩沖區(qū)的輸入位寬為16bit,輸出位寬為128bit。
作為本發(fā)明的進(jìn)一步改進(jìn):所述輸出處理模塊設(shè)置有與DMA通道二相連接的N個(gè)輸出FIFO一級(jí)緩沖區(qū),所述DMA通道二中的數(shù)據(jù)根據(jù)DMA接口地址被分為與N個(gè)輸出FIFO一級(jí)緩沖區(qū)一一相對(duì)應(yīng)的N路輸出數(shù)據(jù),N路輸出數(shù)據(jù)被分別輸送到所對(duì)應(yīng)的輸出FIFO一級(jí)緩沖區(qū)中;
所述輸出處理模塊還設(shè)置有M個(gè)輸出AXI4一級(jí)總線,M小于N,所述N個(gè)輸出FIFO一級(jí)緩沖區(qū)的輸出被分為M組、各組分別與一輸出AXI4一級(jí)總線相對(duì)應(yīng)并連接;
各輸出AXI4一級(jí)總線分別連接有一虛擬FIFO模塊,所述虛擬FIFO模塊連接有一用于緩存數(shù)據(jù)的DDR芯片,各虛擬FIFO模塊還分別連接有一輸出AXI4二級(jí)總線,所述輸出AXI4二級(jí)總線連接有若干輸出FIFO二級(jí)緩沖區(qū),所述輸出AXI4二級(jí)總線所連接的各輸出FIFO二級(jí)緩沖區(qū)與該輸出AXI4二級(jí)總線所在支路所連接的各輸出FIFO一級(jí)緩沖區(qū)一一對(duì)應(yīng),從而將DMA通道二輸出的N路輸出數(shù)據(jù)經(jīng)過M個(gè)虛擬FIFO模塊分別輸送到N個(gè)輸出FIFO二級(jí)緩沖區(qū)中;
各輸出FIFO二級(jí)緩沖區(qū)分別連接有一用于完成包頭檢測(cè)和剔除多余信息的預(yù)處理模塊;
所述輸出處理模塊還設(shè)置有數(shù)據(jù)同步模塊,各預(yù)處理模塊均與所述數(shù)據(jù)同步模塊相連接,經(jīng)過同步的各路輸出數(shù)據(jù)分別通過一FPGA的高速串行IO和一光發(fā)送模塊輸出;或者,各預(yù)處理模塊的輸出數(shù)據(jù)不經(jīng)過同步、分別依次通過一高速串行IO和一光發(fā)送模塊輸出。
作為本發(fā)明的進(jìn)一步改進(jìn):所述輸出FIFO二級(jí)緩沖區(qū)的輸入位寬為64bit,輸出位寬為256bit。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn):(1)本構(gòu)架采用了多AXI4總線、多路數(shù)據(jù)并行處理、大位寬、多級(jí)緩存、多路虛擬FIFO以及多DDR芯片等技術(shù)手段,保證了數(shù)據(jù)的并行高速傳輸;(2)本發(fā)明采用計(jì)算機(jī)系統(tǒng)與外部多路高速輸入處理模塊及多路高速輸出處理模塊共同實(shí)現(xiàn)數(shù)據(jù)交換,能夠滿足復(fù)雜數(shù)據(jù)交換系統(tǒng)的需求;(3)本構(gòu)架采用雙通道DMA結(jié)構(gòu),能夠避免單DMA通道的阻塞效應(yīng),并使輸入和輸出相互獨(dú)立,互不影響;(4)高速輸出數(shù)據(jù)可以是同步輸出,也可以是非同步輸出;(5)數(shù)據(jù)交換模塊基于FPGA芯片,具有靈活性強(qiáng)、功能多樣的優(yōu)點(diǎn)。
附圖說明
圖1為本發(fā)明的總體構(gòu)架示意圖。
圖2為DMA通道一及輸入處理模塊部分的構(gòu)架示意圖。
圖3為DMA通道二及輸出處理模塊部分的構(gòu)架示意圖。
具體實(shí)施方式
下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案:
如圖1,一種基于FPGA和PCIe的高速數(shù)據(jù)交換構(gòu)架,包括計(jì)算機(jī)平臺(tái)(包括通用計(jì)算機(jī)和專用計(jì)算機(jī))和基于FPGA芯片的數(shù)據(jù)交換模塊;
所述數(shù)據(jù)交換模塊設(shè)置有通過PCIe總線與計(jì)算機(jī)平臺(tái)相連接的PCIe硬核(即PCIe X8 IP core)和與PCIe硬核相連接的雙通道DMA核,所述雙通道DMA核中設(shè)置有DMA通道一和DMA通道二;PCIe總線通過FPGA內(nèi)的高速串行IO連接到PCIe硬核;
所述DMA通道一連接有輸入處理模塊,所述DMA通道二連接有輸出處理模塊。
如圖2,本實(shí)施例中提供了一種4路輸入的輸入處理模塊,所述輸入處理模塊包括與DMA通道一相連接的輸入AXI4總線、還包括4個(gè)光接收模塊;各光接收模塊分別通過FPGA的高速串行IO連接有一輸入FIFO緩沖區(qū),各輸入FIFO緩沖區(qū)分別通過一FIFO轉(zhuǎn)AXI4接口模塊與輸入AXI4總線相連接。
所述輸入FIFO緩沖區(qū)的輸入位寬為16bit,輸出位寬為128bit;
外部輸入數(shù)據(jù)通過光纖、光接收模塊以及FPGA的高速串行IO處理后送入輸入FIFO緩沖區(qū),計(jì)算機(jī)平臺(tái)通過PCIe總線、DMA通道一和輸入AXI4總線讀取輸入FIFO緩沖區(qū)中的數(shù)據(jù)。
如圖3,本實(shí)施例中提供了一種6路輸出的輸出處理模塊,所述輸出處理模塊設(shè)置有與DMA通道二相連接的6個(gè)輸出FIFO一級(jí)緩沖區(qū),所述DMA通道二中的數(shù)據(jù)根據(jù)DMA接口地址被分為與6個(gè)輸出FIFO一級(jí)緩沖區(qū)一一相對(duì)應(yīng)的6路輸出數(shù)據(jù),6路輸出數(shù)據(jù)被分別輸送到所對(duì)應(yīng)的輸出FIFO一級(jí)緩沖區(qū)中;
所述輸出處理模塊還設(shè)置有2個(gè)輸出AXI4一級(jí)總線,所述6個(gè)輸出FIFO一級(jí)緩沖區(qū)3個(gè)成一組、各組分別與一輸出AXI4一級(jí)總線相對(duì)應(yīng)并連接;
各輸出AXI4一級(jí)總線分別連接有一虛擬FIFO模塊VFIFO_X3,所述虛擬FIFO模塊連接有一用于緩存海量數(shù)據(jù)的DDR3芯片,各虛擬FIFO模塊還分別連接有一輸出AXI4二級(jí)總線,各輸出AXI4二級(jí)總線分別連接有3個(gè)輸出FIFO二級(jí)緩沖區(qū),所述輸出AXI4二級(jí)總線所連接的各輸出FIFO二級(jí)緩沖區(qū)與該輸出AXI4二級(jí)總線所在支路所連接的各輸出FIFO一級(jí)緩沖區(qū)一一對(duì)應(yīng),從而將DMA通道二輸出的6路輸出數(shù)據(jù)經(jīng)過2個(gè)虛擬FIFO模塊分別輸送到6個(gè)輸出FIFO二級(jí)緩沖區(qū)中;所述輸出FIFO二級(jí)緩沖區(qū)的輸入位寬為64bit,輸出位寬為256bit;
所述輸出AXI4一級(jí)總線和輸出AXI4二級(jí)總線均具有AXI4-Stream功能;
各輸出FIFO二級(jí)緩沖區(qū)分別連接有一用于完成包頭檢測(cè)和剔除多余信息的預(yù)處理模塊;
所述輸出處理模塊還設(shè)置有數(shù)據(jù)同步模塊,各預(yù)處理模塊均與所述數(shù)據(jù)同步模塊相連接,經(jīng)過同步的各路輸出數(shù)據(jù)分別通過一FPGA的高速串行IO和一光發(fā)送模塊輸出;或者,各預(yù)處理模塊的輸出數(shù)據(jù)不經(jīng)過同步、分別依次通過一高速串行IO和一光發(fā)送模塊輸出。
本構(gòu)架采用雙通道DMA結(jié)構(gòu),能夠避免單DMA通道的阻塞效應(yīng),并使輸入和輸出相互獨(dú)立,互不影響;同時(shí)還采用了多AXI總線、多路數(shù)據(jù)并行傳輸、大位寬、多級(jí)緩存、多路虛擬FIFO以及多DDR芯片等技術(shù)手段,保證數(shù)據(jù)的并行高速傳輸。經(jīng)過實(shí)驗(yàn)驗(yàn)證,使用本構(gòu)架進(jìn)行數(shù)據(jù)傳輸、采用PCIe2.0總線、配置為X8形式(8個(gè)并行數(shù)據(jù)通道)時(shí),輸入數(shù)據(jù)交換速率可達(dá)2.5GBps,輸出數(shù)據(jù)交換速率可達(dá)2.3GBps。