一種基于FPGA/DSP的靈巧干擾平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
該平臺(tái)采用CPCI結(jié)構(gòu),主要由A/D,D/A轉(zhuǎn)換及DDC,DUC模塊、DSP信號(hào)處理模塊、CPCI總線接口、FPGA高速數(shù)字傳輸、存儲(chǔ)器、PCI橋模塊、CPLD模塊等幾部分組成。主要特性如下:
(1)單通道14 b分辨率,150 MSPS采樣率的高速帶寬ADC AD9254。
(2)寬帶數(shù)字正交下變頻DDC芯片AD6636,支持抽取與濾波。
(3)單通道14 b分辨率,300 MSPS采樣率的高速寬帶
(4)寬帶數(shù)字正交上下變頻DUC芯片GC5016,支持抽取與濾波。
(5)處理器之間(包括兩片TMS320C6713 DSP芯片與一片Xilinx Virtex 4 FPGA芯片)實(shí)現(xiàn)了多種靈活的高速實(shí)時(shí)數(shù)據(jù)傳輸與交換通道。
(6)CPCI總線兼容PCI 2.2 64位/66 MHz,支持Master(DMA)/Target burst模式。
FPGA和DSP協(xié)同完成信號(hào)處理功能,這里重點(diǎn)說(shuō)明其協(xié)同原理(見(jiàn)圖3)。
FPGA與DSP主要通過(guò)共享EMIF總線上的存儲(chǔ)空間進(jìn)行數(shù)據(jù)交換。存儲(chǔ)器包括:共128 MB的SDRAM,512 KB的SBSRAM,8 MB的非易失FLASH,它將大大提高數(shù)字信號(hào)的傳輸與處理速度。DSP外部總線EMIF各種存儲(chǔ)器及設(shè)備資源分配如下:CE0(SDRAM),CE1 (FLASH),CE2(SRAM),CE3(FPGA)。資源分配由FPGA和DSP依靠申請(qǐng)總線決定,因此可以通過(guò)重新編程加以修改。對(duì)于C671 3來(lái)說(shuō),EMIF總線為32位,時(shí)鐘最高為100 MHz,因此總線的數(shù)據(jù)吞吐率最高為400 MB/s。為了提高總線效率,設(shè)計(jì)中FPGA與DSP都可以獨(dú)立訪問(wèn):EMIF總線上的存儲(chǔ)空間,但不能同時(shí)訪問(wèn)。FPGA作為EMIF總線設(shè)備之一,與 SDRAM,SB-SRAM共享數(shù)據(jù)與地址總線。同時(shí),F(xiàn)PGA也是EMIF總線主設(shè)備之一,與DSP共同管理EMIF總線。也就是說(shuō),F(xiàn)PGA也可以主動(dòng)發(fā)起訪問(wèn)SDRAM,SBSRAM。因此,F(xiàn)PGA與DSP共享EMIF總線上所有的存儲(chǔ)空間。在默認(rèn)狀態(tài)下,由DSP管理EMIF總線。FPGA通過(guò)使能HOLD控制線向DSP申請(qǐng)總線,DSP在處理完當(dāng)前任務(wù)后,響應(yīng)請(qǐng)求,以HOLDA控制線使能作為回應(yīng),并將自己所有EMIF管腳置為高阻。這時(shí), FP-GA就可以接管EMIF總線,進(jìn)行相應(yīng)的操作。FPGA與DSP進(jìn)行數(shù)據(jù)交換的另一種方式是通過(guò)HPI(主機(jī)口)。TM$320C6713的HPI 是一個(gè)16 b寬的并行端口。FPGA作為HPI主設(shè)備與DSP的HPI相連,掌管著該端口的主控權(quán),通過(guò)HPI直接訪問(wèn)TMS320(26713的存儲(chǔ)空間和外圍設(shè)備。
2.2 平臺(tái)軟件設(shè)計(jì)
本設(shè)計(jì)中,F(xiàn)PGA不僅需要與
基于FPGA的控制軟件主要完成以下功能:
(1)程序加載
程序加載分為FPGA的程序加載和DSP的程序加載。FPGA的程序加載是指通過(guò)PCI總線來(lái)給FPGA加載程序。其加載路徑為:上位機(jī)→PCI總線 →FP-GA。DSP的程序加載是指通過(guò)HPI來(lái)給DSP加載信號(hào)處理程序。其加載路徑為:上位機(jī)→PCI總線→FP-GA→HPI口→DSP。
(2)
此過(guò)程是指FPGA把ADC(DDC)數(shù)據(jù)采集并保存在外部存儲(chǔ)器(SDRAM或SRAM)中以備FPGA和DSP處理的過(guò)程。其數(shù)據(jù)流路徑為:外部數(shù)據(jù)源→ADC→DDC(只進(jìn)行ADC時(shí)DDC省略)→FPGA→SDRAM或SRAM。
(3)數(shù)據(jù)的DMA操作
DMA用于實(shí)現(xiàn)上位機(jī)對(duì)外部存儲(chǔ)器(SDRAM或SRAM)的數(shù)據(jù)讀寫(xiě)功能。DMA讀的數(shù)據(jù)流路徑是:外部存儲(chǔ)器→FPGA→DMA→上位機(jī)→二進(jìn)制文件。DMA發(fā)的數(shù)據(jù)流路徑是:上位機(jī)→DMA→FPGA→SDRAM。
(4)配置DDC和DUC
此過(guò)程是把DDC和DUC配置文件通過(guò)FPGA配置到AD6636和GC5016中。其配置路徑為:上位機(jī)→PCI總線→FPGA→DDC或DUC。
軟件設(shè)計(jì)采用Verilog硬件描述語(yǔ)言和模塊化設(shè)計(jì),結(jié)構(gòu)如圖4所示。
圖4中,reg_proc模塊是軟件控制的核心部分。通過(guò)定義內(nèi)部寄存器接收上位機(jī)的控制字,給各模塊發(fā)出控制信息;pci_infe是FPGA與PCI 總線的接口模塊,實(shí)現(xiàn)平臺(tái)與上位機(jī)的信號(hào)交互;FPGA通過(guò)HPI口對(duì)DSP的程序加載,由hpi_infe模塊實(shí)現(xiàn);adc_infe和
評(píng)論