新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > FPGA的機載合成孔徑雷達數字信號處理機接口板卡的設計與實現

        FPGA的機載合成孔徑雷達數字信號處理機接口板卡的設計與實現

        作者: 時間:2016-10-29 來源:網絡 收藏

        雷達(Synthetic Aperture Radar,簡稱SAR)是以“”原理和脈沖壓縮技術為理論基礎,以高速數字處理和精確運動補償為前提條件的高分辨率成像雷達對于雷達成像處理來講,僅有目標的原始回波數據是不夠的,還必須獲得雷達和載機的參數另外,為了滿足信號處理機實時處理的要求,要求輸入到處理機的各種數據符合處理機成像處理的數據格式這樣,處理機在獲得數據幀后就可以直接進行成像處理而不必再有格式轉換的開銷但是 目標的原始回波數據與雷達和載機的參數數據來自兩個不同的設備它們的數據格式和時序都是由各自的設備確定的,因此信號處理機便面臨著與外圍設備接口的問題

        本文引用地址:http://www.104case.com/article/201610/308614.htm

        1 系統功能

        在本合成孔徑雷達系統中,進出接口板卡的數據流包括數據采集設備輸入的原始回波數據監控設備輸入的雷達和載機的參數數據以及輸出到處理機的成像處理數據它們有如下特點:①輸入數據流的速度和時序不匹配數據采集設備和監控設備是兩個異步的系統,它們都有自己的定時控制電路,以自己的速度傳輸數據②輸入輸出數據流的信息格式不匹配數據采集設備輸入的原始回波數據和監控設備輸入的雷達和載機的參數數據采用FPDP協議傳輸,接口板卡輸出到處理機的數據采用Link口傳輸協議進行傳輸

        考慮到進出接口板卡數據流的特點和雷達系統對接口板卡的控制要求,接口板卡要具有如下功能:

        (1)設置數據的緩沖存儲邏輯,以適應不同設備之間的速度差異和時序差異;

        (2)進行信息格式轉換,將目標的原始回波數據與雷達和載機的參數數據打包,插入相應的幀信息形成處理機要求的數據幀,并控制數據流的走向;

        (3)實現PCI接口,能夠產生PCI中斷;

        (4)具有在線自檢測功能

        2 系統硬件結構設計

        為了簡化系統硬件設計,增加系統的靈活性,采用芯片實現系統要求的數據格式轉換打包分發和邏輯控制功能數據緩存采用硬件FIFO和軟件雙口RAMPCI接口采用專用接口芯片實現硬件FIFO和軟件雙口RAM的寫時鐘分別由各自的FPDP接口提供,其它時鐘由接口板上的晶振提供系統的硬件結構框圖如圖1所示

        image001.gif

        2.1 輸入數據流的緩存方案

        為了適應處理機與數據采集設備和監控設備之間的速度差異,解決速度不匹配問題,需要將輸入的數據先進行緩存數據采集設備送入的原始回波數據每幀的數據量比較大,接口板卡上設計了硬件FIFO作為原始回波數據的緩存器,FIFO的讀寫使能由編程控制,寫時鐘由FPDP接口提供,讀時鐘由接口板卡上的晶振提供數據采集設備和監控設備是兩個異步的系統,雷達參數數據流和原始回波數據流之間沒有同步關系,一幀雷達參數數據對應幾幀原始回波數據,因此設計中用雙口RAM作為雷達參數數據的緩存器另外,每幀雷達參數的數據量比較小,本設計在內利用參數化的模塊庫(Library of Parameterized Modules,簡稱LPM)中的lpm_ram_dp編程實現雙口RAM,簡化了硬件設計

        2.2 PCI接口設計

        實現PCI接口的方案一般有兩種:采用可編程邏輯器件和采用專用總線接口器件采用可編程邏輯器件實現PCI接口的最大好處是比較靈活,缺點是設計難度較高,開發周期較長采用專用接口器件實現雖然沒有采用可編程邏輯器件實現那么靈活,但能夠有效地降低接口設計的難度,縮短開發時間本系統采用專用接口器件PCI9052實現接口板卡的PCI接口

        接口板卡的硬件資源為映射到FPGA內部寄存器的I/O映射空間和一個中斷源PCI9052提供5個局部地址空間,選用Space0作為接口板的地址空間,分配16個8位地址同時設置相應的初始化,PCI配置寄存器中的PCIBAR2設置為0XFFFFFFF0,向系統請求分配內存的數量為16設置局部地址空間的范圍為0X01000000~0X01000010PCI9052提供兩個局部中斷源,選用LINTi1FPGA提供電平觸發中斷信號,因此PCI9052的中斷觸發模式設置為電平觸發利用PCI9052的局部設備片選信號CS0#作為FPGA的片選信號CS0#片選信號的起始地址和地址范圍由CS0 Base Address寄存器的設置值0x01000011決定,即起始地址為1000000h,地址范圍為20hPCI9052寄存器的初始值由串行EEPROM提供,在PCI9052加電后讀取EEPROM必須采用支持連讀功能的芯片,本設計中采用FairChild Semiconductor公司的93CS46N

        2.3 FPGA的配置設計

        本設計為FPGA提供了兩種配置方式:主動串行配置和被動串行配置

        主動串行配置由EPC2向FPGA器件輸入串行位流的配置數據在該配置方式下,一直由FPGA控制著配置過程在加電過程中,FPGA檢測到nCONFIG由低到高的跳變時,就開始準備配置FPGA將CONF_DONE拉低,驅動EPC2的nCS為低,而nSTATUS引腳釋放并由上拉電阻拉至高電平使能EPC2此后,EPC2就用其內部振蕩器的時鐘將數據串行地從EPC2DATA輸送到FPGADATA0當配置完成后,FPGA釋放CONF_DONE,將EPC2與系統隔離

        被動串行配置由編程硬件通過ByteBlaster配置ByteBlaster產生一個由低到高的跳變送到nCONFIG引腳,然后由編程硬件將配置數據送到DATA0引腳,該數據鎖存至CONF_DONE變為高電平為止當CONF_DONE變成高電平時,用DCLK的10個周期初始化FPGA,器件的初始化由下載電纜自動執行

        為了兩種配置方式共存,設計中用撥碼開關將EPC2與FPGA和ByteBlaster的下載電纜插座隔離當用被動串行方式配置時,撥碼開關斷開,由上位機通過ByteBlaster下載電纜加載FPGA當用主動串行方式配置時,撥碼開關接通,由EPC2加載FPGA電路圖如圖2所示

        image002.gif

        2.4 在線自檢測功能

        板卡設計時還應考慮便于日常調試維護及故障檢測定位板卡在硬件上針對各電源信號和關鍵的狀態信號設計了信號燈,一旦發現有誤,便可給出信號觸發該電路板上的信號燈告警,定位系統故障另外在電路設計時應留出測試孔,以增加電路的可測性

        3 系統的軟件設計

        系統上電后, PCI上電復位,FIFO清零上位機向相應寄存器寫入初始值,完成寄存器設置當系統啟動信號有效時,接口板開始接收數據,進行數據打包和分發,直到上位機向接口板卡寫停止命令為止圖3給出了系統工作流程圖

        image004.jpg

        3.1 數據的打包和流向控制

        雷達參數數據和原始回波數據的數據源是異步的,不能保證兩者確切的對應關系,接口板卡利用對緩存原始回波數據FIFO和緩存雷達參數數據雙口RAM的讀寫控制,調整雷達參數數據和原始回波數據對應關系,將兩種數據源按處理機要求的輸入數據格式組成正確的數據幀雷達參數數據和原始回波數據打包后的數據幀格式如下:

        在程序中,設計了雷達參數發送控制計數器Para_counter和回波數據發送控制計數器Data_counter系統工作后,每次檢測到原始回波數據流的數據有效信號data_valid的上升沿(標記收到完整的一幀回波數據)時,啟動雷達參數發送控制計數器開始計數,當計數到設定的值(本設計中為25)時停止計數并啟動回波數據發送控制計數器開始計數,計數到設定的值(本設計中為5000)時停止計數當檢測到原始回波數據流的數據有效信號data_valid的下降沿(標記開始接收新的一幀回波數據)時,兩個計數器都清零根據計數器的計數值產生Link口選擇信號確定數據的流向圖4給出了數據流向的示意圖圖5給出了基于MAXPLUSⅡ10.0的仿真結果,仿真顯示正確地實現了數據打包和流向控制

        image005.gif

        image007.jpg

        3.2 Link口傳輸協議的實現

        Link口的數據傳輸是在同步時鐘線(LxCLK)與應答線(LxACK)相互握手的情況下同步傳輸的一個傳輸字為32bit,Link口以4bit為單位進行傳輸在LxCLK上升沿,發送端會發送一個新的4bit數據,在LxCLK的下降沿,接收方鎖存數據線上的數據8個4bit數據發送完畢后,如果接收方準備好接收下一個字,則將LxACK置1發送方在每次發送新字的第一個4bit時對LxACK采樣,如果LxACK為0,表明接收方沒有準備好,則發送方保持LxCLK為高電平,且數據線上保持當前的4bit數據,直到接收方將LxACK置1,發送方才將 LxCLK下拉,并繼續發送新的數據當發送方緩存為空時,表明沒有數據需要發送,則LxCLK保持為低電平接口板利用VHDL語言實現了Link口傳輸協議下面給出了關鍵的程序片斷:

        ChangeStateMode process NibleCount empty LxACK PresentState empty
        begin
        case PresentState is
        when SendACK =>
        if LxACK='1' and empty='0' then
        NextState=Send
        else NextState=SendACK
        end if
        when Send =>
        if NibleCount/= 3 or NibleCount=3 and empty='0'and LxAck='1' then
        NextState=Send
        else NextState=SendACK
        end if
        end case
        end process changestatemode

        4 應用和結論

        目前該接口板已經完成了電路設計軟件仿真和制板,并應用到某機載合成孔徑信號處理機中接口板卡位于信號處理機的前端,通過CPCI機箱的前面板接口,采用一塊PMC子板實現系統采用了圖1所示的體系結構,鎖存器選用TI公司的SN74LVT16374,時鐘驅動芯片選用IDT公司的IDT49FCT3805APY,FIFO選用IDT公司的IDT72V36110,PCI接口芯片選用PLX9052,FPGA選用Altera公司的EP1K100FC256-1經過實驗室階段和外廠試驗,接口板都工作正常,達到了設計要求



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东光县| 凤冈县| 鲁山县| 象州县| 桃江县| 韶山市| 岗巴县| 新余市| 新竹县| 广水市| 阿拉尔市| 永昌县| 朝阳区| 石楼县| 张家港市| 津市市| 茂名市| 定陶县| 许昌市| 茶陵县| 隆回县| 绍兴市| 陵川县| 文化| 澄城县| 巴青县| 合肥市| 芮城县| 宜宾市| 义乌市| 雷山县| 铜山县| 开江县| 乐东| 德化县| 光山县| 察雅县| 昌黎县| 海城市| 五河县| 西平县|