新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA/DSP的靈巧干擾平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

一種基于FPGA/DSP的靈巧干擾平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

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

  該平臺(tái)采用CPCI結(jié)構(gòu),主要由A/D,D/A轉(zhuǎn)換及DDC,DUC模塊、信號(hào)處理模塊、CPCI總線接口、高速數(shù)字傳輸、存儲(chǔ)器、PCI橋模塊、CPLD模塊等幾部分組成。主要特性如下:

  (1)單通道14 b分辨率,150 MSPS采樣率的高速帶寬ADC AD9254。

  (2)寬帶數(shù)字正交下變頻DDC芯片AD6636,支持抽取與濾波。

  (3)單通道14 b分辨率,300 MSPS采樣率的高速寬帶DAC AD9755。

  (4)寬帶數(shù)字正交上下變頻DUC芯片GC5016,支持抽取與濾波。

  (5)處理器之間(包括兩片TMS320C6713 芯片與一片Xilinx Virtex 4 芯片)實(shí)現(xiàn)了多種靈活的高速實(shí)時(shí)數(shù)據(jù)傳輸與交換通道。

  (6)CPCI總線兼容PCI 2.2 64位/66 MHz,支持Master(DMA)/Target burst模式。

  協(xié)同完成信號(hào)處理功能,這里重點(diǎn)說明其協(xié)同原理(見圖3)。

EMIF總線

  FPGA與DSP主要通過共享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)總線決定,因此可以通過重新編程加以修改。對(duì)于C671 3來說,EMIF總線為32位,時(shí)鐘最高為100 MHz,因此總線的數(shù)據(jù)吞吐率最高為400 MB/s。為了提高總線效率,設(shè)計(jì)中FPGA與DSP都可以獨(dú)立訪問:EMIF總線上的存儲(chǔ)空間,但不能同時(shí)訪問。FPGA作為EMIF總線設(shè)備之一,與 SDRAM,SB-SRAM共享數(shù)據(jù)與地址總線。同時(shí),F(xiàn)PGA也是EMIF總線主設(shè)備之一,與DSP共同管理EMIF總線。也就是說,F(xiàn)PGA也可以主動(dòng)發(fā)起訪問SDRAM,SBSRAM。因此,F(xiàn)PGA與DSP共享EMIF總線上所有的存儲(chǔ)空間。在默認(rèn)狀態(tài)下,由DSP管理EMIF總線。FPGA通過使能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ù)交換的另一種方式是通過HPI(主機(jī)口)。TM$320C6713的HPI 是一個(gè)16 b寬的并行端口。FPGA作為HPI主設(shè)備與DSP的HPI相連,掌管著該端口的主控權(quán),通過HPI直接訪問TMS320(26713的存儲(chǔ)空間和外圍設(shè)備。

  2.2 平臺(tái)軟件設(shè)計(jì)

  本設(shè)計(jì)中,F(xiàn)PGA不僅需要與DSP協(xié)同工作,完成對(duì)偵察信號(hào)的處理,同時(shí)負(fù)責(zé)對(duì)整個(gè)平臺(tái)的控制。信號(hào)處理板上與FPGA通訊的接口有:AD/DDC接口、DA/DUC接口、DSP接口、RAM(SRAM/SDRAM)接口及CPCI接口。 FPGA要實(shí)現(xiàn)與這些接口的通訊,并協(xié)調(diào)各接口之間的工作時(shí)序,調(diào)度各接口之間的數(shù)據(jù)流向。

  基于FPGA的控制軟件主要完成以下功能:

  (1)程序加載

  程序加載分為FPGA的程序加載和DSP的程序加載。FPGA的程序加載是指通過PCI總線來給FPGA加載程序。其加載路徑為:上位機(jī)→PCI總線 →FP-GA。DSP的程序加載是指通過HPI來給DSP加載信號(hào)處理程序。其加載路徑為:上位機(jī)→PCI總線→FP-GA→HPI口→DSP。

  (2)ADC(DDC)數(shù)據(jù)采集與存儲(chǔ)

  此過程是指FPGA把ADC(DDC)數(shù)據(jù)采集并保存在外部存儲(chǔ)器(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ī)對(duì)外部存儲(chǔ)器(SDRAM或SRAM)的數(shù)據(jù)讀寫功能。DMA讀的數(shù)據(jù)流路徑是:外部存儲(chǔ)器→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所示。

平臺(tái)軟件結(jié)構(gòu)框圖

  圖4中,reg_proc模塊是軟件控制的核心部分。通過定義內(nèi)部寄存器接收上位機(jī)的控制字,給各模塊發(fā)出控制信息;pci_infe是FPGA與PCI 總線的接口模塊,實(shí)現(xiàn)平臺(tái)與上位機(jī)的信號(hào)交互;FPGA通過HPI口對(duì)DSP的程序加載,由hpi_infe模塊實(shí)現(xiàn);adc_infe和DAC infe實(shí)現(xiàn)數(shù)據(jù)的A/D輸入和D/A輸出功能;ddc_config和duc_config完成對(duì)DDC及DUC芯片的配置;ram_ctrl模塊實(shí)現(xiàn) FPGA對(duì)存儲(chǔ)器的讀寫功能,包括SRAM和SDRAM的子模塊程序。此外,程序還設(shè)計(jì)了時(shí)鐘管理模塊clk_manage,用于產(chǎn)生全局時(shí)鐘及復(fù)位信號(hào)。



關(guān)鍵詞: FPGA DSP 干擾平臺(tái)

評(píng)論


相關(guān)推薦

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

關(guān)閉