一種基于FPGA/DSP的靈巧干擾平臺設(shè)計(jì)與實(shí)現(xiàn)
基于FPGA的控制軟件主要完成以下功能:
(1)程序加載
程序加載分為FPGA的程序加載和DSP的程序加載。FPGA的程序加載是指通過PCI總線來給FPGA加載程序。其加載路徑為:上位機(jī)→PCI總線 →FP-GA。DSP的程序加載是指通過HPI來給DSP加載信號處理程序。其加載路徑為:上位機(jī)→PCI總線→FP-GA→HPI口→DSP。
(2)ADC(DDC)數(shù)據(jù)采集與存儲
此過程是指FPGA把ADC(DDC)數(shù)據(jù)采集并保存在外部存儲器(SDRAM或SRAM)中以備FPGA和DSP處理的過程。其數(shù)據(jù)流路徑為:外部數(shù)據(jù)源→ADC→DDC(只進(jìn)行ADC時(shí)DDC省略)→FPGA→SDRAM或SRAM。
(3)數(shù)據(jù)的DMA操作
DMA用于實(shí)現(xiàn)上位機(jī)對外部存儲器(SDRAM或SRAM)的數(shù)據(jù)讀寫功能。DMA讀的數(shù)據(jù)流路徑是:外部存儲器→FPGA→DMA→上位機(jī)→二進(jìn)制文件。DMA發(fā)的數(shù)據(jù)流路徑是:上位機(jī)→DMA→FPGA→SDRAM。
(4)配置DDC和DUC
此過程是把DDC和DUC配置文件通過FPGA配置到AD6636和GC5016中。其配置路徑為:上位機(jī)→PCI總線→FPGA→DDC或DUC。
軟件設(shè)計(jì)采用Verilog硬件描述語言和模塊化設(shè)計(jì),結(jié)構(gòu)如圖4所示。本文引用地址:http://m.butianyuan.cn/article/191972.htm
圖4中,reg_proc模塊是軟件控制的核心部分。通過定義內(nèi)部寄存器接收上位機(jī)的控制字,給各模塊發(fā)出控制信息;pci_infe是FPGA與PCI 總線的接口模塊,實(shí)現(xiàn)平臺與上位機(jī)的信號交互;FPGA通過HPI口對DSP的程序加載,由hpi_infe模塊實(shí)現(xiàn);adc_infe和dac infe實(shí)現(xiàn)數(shù)據(jù)的A/D輸入和D/A輸出功能;ddc_config和duc_config完成對DDC及DUC芯片的配置;ram_ctrl模塊實(shí)現(xiàn) FPGA對存儲器的讀寫功能,包括SRAM和SDRAM的子模塊程序。此外,程序還設(shè)計(jì)了時(shí)鐘管理模塊clk_manage,用于產(chǎn)生全局時(shí)鐘及復(fù)位信號。
3 試驗(yàn)驗(yàn)證
為了驗(yàn)證平臺能否在程序控制下正確工作,本文編寫了工作于DSP的8 192點(diǎn)FFT驗(yàn)證程序,實(shí)現(xiàn)對輸入信號的FFT變換。
試驗(yàn)中設(shè)置DDC為70 MHz混頻,DUC 70 MHz中頻輸出,輸入信號為75 MHz正弦波。在FPGA/DSP程序加載和DDC/DUC配置完成后,首先進(jìn)行ADC數(shù)據(jù)采集,把采集得到的數(shù)據(jù)存儲到SRAM中,DSP與SRAM進(jìn)行數(shù)據(jù)交互并在DSP中完成8 192點(diǎn)的FFT運(yùn)算,計(jì)算結(jié)果保存于SDRAM中,經(jīng)DMA方式讀取到上位機(jī)硬盤形成二進(jìn)制文件。同時(shí)將混頻后的5 MHz單頻信號從SRAM讀出上變頻到70 MHz輸出。試驗(yàn)結(jié)果如圖5、圖6所示。
由圖5可知,DMA輸出的FFT結(jié)果顯示處理的下變頻信號為5 MHz,等于預(yù)期值;圖6顯示5 MHz單頻信號經(jīng)上變頻后輸出為70 MHz中頻模擬信號。試驗(yàn)證明,平臺的軟硬件均能正確工作,實(shí)現(xiàn)了設(shè)計(jì)目的。
4 結(jié) 語
根據(jù)靈巧干擾平臺功能要求,設(shè)計(jì)了基于FPGA/DSP的硬件平臺,采用Verilog HDL及模塊化方法設(shè)計(jì)了硬件平臺的控制軟件。試驗(yàn)結(jié)果表明,靈巧干擾平臺構(gòu)成合理,硬件設(shè)計(jì)、軟件設(shè)計(jì)可靠,滿足了靈巧干擾平臺的功能要求,為靈巧干擾技術(shù)研究提供了硬件平臺支持,該平臺已成功應(yīng)用于工程項(xiàng)目。
評論