蒲寶卿,高慶芳,撒志敏
(隴南師范高等??茖W(xué)校 數(shù)信學(xué)院,甘肅 隴南 742500)
隨著電子通訊和雷達(dá)對(duì)抗等技術(shù)的快速發(fā)展,傳統(tǒng)信號(hào)處理系統(tǒng)中的數(shù)據(jù)采集、數(shù)據(jù)分析與處理、數(shù)據(jù)檢測(cè)和數(shù)據(jù)存儲(chǔ)技術(shù)已經(jīng)不能滿足現(xiàn)階段各個(gè)領(lǐng)域中的需求[1]。FPGA數(shù)據(jù)信號(hào)處理系統(tǒng)面對(duì)數(shù)據(jù)海量增漲化、數(shù)據(jù)傳輸高速傳輸化、數(shù)據(jù)采集高可靠化和數(shù)據(jù)文件管理便捷化等需求,仍有下述問(wèn)題需要解決[2]。
(1)當(dāng)信號(hào)處理系統(tǒng)中的數(shù)據(jù)采集頻率高速變化時(shí),如何實(shí)現(xiàn)高速數(shù)據(jù)信號(hào)的快速遷移;
(2)數(shù)據(jù)信號(hào)的高速遷移,如何設(shè)計(jì)高速數(shù)據(jù)信號(hào)存儲(chǔ)方案;
(3)當(dāng)數(shù)據(jù)信號(hào)采集儲(chǔ)存后,如何實(shí)現(xiàn)便捷的數(shù)據(jù)文件的管理。
為了解決上述問(wèn)題,設(shè)計(jì)了Xilinx FPGA XCZU9EG高速信號(hào)數(shù)據(jù)處理系統(tǒng)。該系統(tǒng)的核心由PS(Processing System)和PL(Programmable Logic)組成[3]。PS控制功能主要實(shí)現(xiàn)采集系統(tǒng)的數(shù)據(jù)控制處理、信號(hào)數(shù)據(jù)分析和信號(hào)數(shù)據(jù)檢索等功能。PL數(shù)據(jù)接口主要是提供Aurora X8的高速數(shù)據(jù)傳輸接口,為系統(tǒng)提供數(shù)據(jù)通道。系統(tǒng)硬件設(shè)計(jì)主要包括了數(shù)據(jù)采集、數(shù)據(jù)遷移和數(shù)據(jù)存儲(chǔ)硬件電路設(shè)計(jì)。
軟件功能主要實(shí)現(xiàn)了GTX(Gigabit Transceiver)數(shù)據(jù)交換、AXI-DMA(Advanced eXtensible Interface-Direct Memory Access)底層驅(qū)動(dòng)和數(shù)據(jù)遷移命令交互,從而實(shí)現(xiàn)數(shù)據(jù)的DDR4(Double Data Rate 4)遷移存儲(chǔ)等。
數(shù)據(jù)處理系統(tǒng)方案的核心采用了多重處理架構(gòu)Xilinx FPGA XCZU9EG平臺(tái),該平臺(tái)的PS(Processing System)控制單元模塊主要由ARM Cortex-M53和ARM Cortex-R5組成,PL(Programmable Logic)模塊主要由24個(gè)高速串行收發(fā)器提供了數(shù)據(jù)接口單元[4]。數(shù)據(jù)處理系統(tǒng)總體框架如圖1所示。
圖1 數(shù)據(jù)處理系統(tǒng)總體設(shè)計(jì)
前級(jí)數(shù)據(jù)采集模塊主要實(shí)現(xiàn)數(shù)據(jù)的快速采集、快速處理和快速轉(zhuǎn)發(fā)功能。DDR4模塊中的內(nèi)存數(shù)據(jù)遷移功能主要由數(shù)據(jù)采集系統(tǒng)PS AXI IP(Intellectual Property)內(nèi)核來(lái)實(shí)現(xiàn)。1 TB SSD(Solid State Drives)存儲(chǔ)單元采用了PCIE和NVME協(xié)議實(shí)現(xiàn)數(shù)據(jù)的上傳與下載存儲(chǔ)。上位機(jī)的主要功能是通過(guò)HeEdit 軟件實(shí)現(xiàn)數(shù)據(jù)采集處理系統(tǒng)的數(shù)據(jù)交互。
高頻數(shù)據(jù)信號(hào)采集系統(tǒng)主要包括了XC7K325T模塊、ADC12J2700模塊和高頻正弦信號(hào)處理功能模塊。
(1)XC7K325T:通過(guò)clock按照固定頻率完成A/D數(shù)據(jù)信號(hào)采集和FIFO數(shù)據(jù)儲(chǔ)存, 具備24路GTX多通道,可以同時(shí)實(shí)現(xiàn)多路信號(hào)傳輸功能。
(2)ADC12J2700:主要完成數(shù)據(jù)信號(hào)的頻譜采樣、信號(hào)濾波、信號(hào)變頻和信號(hào)調(diào)諧等。
(3)高頻正弦信號(hào)(High frequency signal)經(jīng)過(guò)信號(hào)調(diào)制電路(signal modulate circuit)轉(zhuǎn)換成差分信號(hào),同時(shí)通過(guò)差分clock控制ADC12J2700的采樣頻率,實(shí)現(xiàn)多路信號(hào)的轉(zhuǎn)換采集和傳輸功能[5]。數(shù)據(jù)信號(hào)采集硬件系統(tǒng)如圖2所示。
圖2 數(shù)據(jù)信號(hào)采集硬件系統(tǒng)
高頻信號(hào)采集完畢后,XC7K325T提供的高速接口首先完成FIFO的信號(hào)轉(zhuǎn)存功能,然后通過(guò)PL單元的AXI IP內(nèi)核和PS單元的PCIE X4內(nèi)核完成硬件底層驅(qū)動(dòng)和GT Lane接口對(duì)接,及時(shí)通過(guò)Aurora x8接口將高速數(shù)據(jù)資源(High speed data source)遷移至DDR4內(nèi)存模塊中[6]。高頻信號(hào)遷移硬件電路系統(tǒng)設(shè)計(jì)如圖3所示。
圖3 高頻信號(hào)遷移硬件電路系統(tǒng)
AXI-DMA主要通過(guò)AXI-LITE processor端口來(lái)完成PS內(nèi)核配置,AXI-stream端口主要實(shí)現(xiàn)PL模塊的數(shù)據(jù)信號(hào)交互功能。AXI-DMA的數(shù)據(jù)信號(hào)處理模式為直接寄存器儲(chǔ)存模式。
AXI-DMA外部信號(hào)遷移路徑為:AXI Data FIFO→S_AXIS_S2MM→ AXI-DMA→M_AXI_S2MM→DDR4。
AXI-DMA內(nèi)部信號(hào)遷移路徑為:內(nèi)存DDR4→DDR MC→M_AXI_MM2S→AXI-DMA→ M_AXI_MM2S→Data FIFO。
高頻信號(hào)存儲(chǔ)硬件采用的是支持PCIE X4 Gen2.0接口的SSD存儲(chǔ)控制器,數(shù)據(jù)交換協(xié)議采用NVME(N-Volatile Memory express ME)協(xié)議。該存儲(chǔ)控制器的型號(hào)為STAR1000,主要包括了LDPC、多核CPU、RAID、片上SRAM和控制邏輯單元。它可以實(shí)現(xiàn)流水線模式的Flash編程,大大提升了數(shù)據(jù)存儲(chǔ)的速度[7]。高頻信號(hào)存儲(chǔ)器STAR1000電路設(shè)計(jì)如圖4所示。
圖4 高頻信號(hào)存儲(chǔ)硬件系統(tǒng)
IP內(nèi)核開(kāi)啟AXI-DMA的硬件驅(qū)動(dòng)程序裝載、AXI-DMA硬件地址的應(yīng)用層匹配和AXI-DMA數(shù)據(jù)采集通道的初始化工作,然后啟動(dòng)左右線程1和線程2。
線程1主要能夠?qū)崿F(xiàn)數(shù)據(jù)信號(hào)的采集和數(shù)據(jù)遷移功能,當(dāng)FLAG=1時(shí),打開(kāi)Aurora接口通道,REQ=1和FLAG=0時(shí),關(guān)閉Aurora接口通道同時(shí)REQ復(fù)位歸0,數(shù)據(jù)源請(qǐng)求標(biāo)志REQ=1后,啟動(dòng)Aurora接口通道開(kāi)始數(shù)據(jù)遷移工作,并采用PCIE/NVME協(xié)議進(jìn)行數(shù)據(jù)存儲(chǔ)。
線程2的功能主要實(shí)現(xiàn)TCP/IP通信協(xié)議的啟動(dòng)和實(shí)時(shí)解析網(wǎng)絡(luò)數(shù)據(jù)包,千兆網(wǎng)絡(luò)保障通信信道的暢通功能[8]。高頻數(shù)據(jù)采集和遷移軟件流程如圖5所示。
圖5 高頻數(shù)據(jù)遷移與存儲(chǔ)設(shè)計(jì)
高速FIFO 芯片的FLASH 的存儲(chǔ)模式采用“交叉寫”模式,資源通道Source_divided_A進(jìn)行FLASH_1數(shù)據(jù)存儲(chǔ)時(shí),按照每1 KB編幀和每1 KB劃分開(kāi),F(xiàn)ifo_inselect 選擇FIFO_1 與FIFO_3的數(shù)據(jù)進(jìn)入后面的16 KB 標(biāo)準(zhǔn)FIFO,完成FIFO存入(pro_empty=8KB),最后實(shí)現(xiàn)數(shù)據(jù)存入FLASH_1[9]。同理可得,Source_divided_B通道FLASH_2數(shù)據(jù)存儲(chǔ)交叉方式,交叉模式可以提高FLASH存儲(chǔ)速度。FIFO 芯片的FLASH存儲(chǔ)流程設(shè)計(jì)如圖6所示。
圖6 高速FIFO 芯片F(xiàn)LASH存儲(chǔ)流程設(shè)計(jì)
針對(duì)高速信號(hào)數(shù)據(jù)處理系統(tǒng)進(jìn)行了環(huán)境搭建和系統(tǒng)測(cè)試。數(shù)據(jù)信號(hào)經(jīng)過(guò)采集與處理后,進(jìn)行了數(shù)據(jù)信號(hào)的回讀并將回讀結(jié)果通過(guò)HeEdit 軟件進(jìn)行了展示,單行數(shù)據(jù)的字節(jié)數(shù)為1 024。其中每幀數(shù)據(jù)中,RS485接口有效幀標(biāo)識(shí)為“Fx和Ex”。Ge端口的有效幀標(biāo)識(shí)為“FAF6”,圖像幀標(biāo)識(shí)為“DC 92”,PCM行標(biāo)識(shí)為“EB 90”。本文的部分測(cè)試數(shù)據(jù)0000270H-0000300H結(jié)果如圖7(a)所示,0000698H-0000708H結(jié)果如圖7(b)所示。
從圖7(a)和圖7(b)可以看出在系統(tǒng)測(cè)試中,高速信號(hào)數(shù)據(jù)處理系統(tǒng)采集的測(cè)試數(shù)據(jù)整齊有序及格式完整,數(shù)據(jù)規(guī)則符合采集系統(tǒng)需求。幀數(shù)據(jù)誤碼率低、數(shù)據(jù)可讀性高、存儲(chǔ)速率快。經(jīng)過(guò)多次測(cè)試,各類幀數(shù)據(jù)標(biāo)識(shí)幾乎沒(méi)有錯(cuò)誤,誤碼率接近為0,處理速度快,系統(tǒng)符合設(shè)計(jì)初衷。
基于Xilinx FPGA XCZU9EG高速信號(hào)數(shù)據(jù)處理系統(tǒng)主要包括整體框架設(shè)計(jì)、硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)三部分。核心平臺(tái)的PS單元模塊主要完成了數(shù)據(jù)處理功能,PL模塊主要為系統(tǒng)提供數(shù)據(jù)通道。數(shù)據(jù)信號(hào)處理系統(tǒng)硬件系統(tǒng)主要完成了采集、遷移和存儲(chǔ)電路設(shè)計(jì),系統(tǒng)軟件設(shè)計(jì)主要包括了高頻數(shù)據(jù)采集、高頻數(shù)據(jù)遷移和FIFO數(shù)據(jù)信號(hào)存儲(chǔ)等。測(cè)試結(jié)果表明,該高速信號(hào)數(shù)據(jù)處理系統(tǒng)具有數(shù)據(jù)排列整齊有序、誤碼率低、存儲(chǔ)速度快、檢索便捷等優(yōu)點(diǎn),具備較強(qiáng)的推廣性。
遼寧科技學(xué)院學(xué)報(bào)2022年4期