本文關鍵字:
摘要:介紹基于FPGA芯片實現的機載合成孔徑雷達數字信號處理機接口板卡。該接口板卡負責將輸入數據緩存和信息格式轉換,然后打包成處理機需要的數據幀發送到信號處理機,并具有PCI接口功能和在線自檢測功能。著重介紹了系統的硬件結構設計和軟件實現功能,給出了選用的主要芯片的型號。該接口板已應用于某合成孔徑雷達數字信號處理機中,整機使用證明該系統工作穩定,實現了設計中要求的功能。關鍵詞:數據接口 LINK口 現場可編程門陣列 PCI接口
機載合成孔徑雷達(Synthetic Aperture Radar,簡稱SAR)是以“合成孔徑”原理和脈沖壓縮技術為理論基礎,以高速數字處理和精確運動補償為前提條件的高分辨率成像雷達。對于機載合成孔徑雷達成像處理來講,僅有目標的原始回波數據是不夠的,還必須獲得雷達和載機的參數。另外,為了滿足信號處理機實時處理的要求,要求輸入到處理機的各種數據符合處理機成像處理的數據格式。這樣,處理機在獲得數據幀后就可以直接進行成像處理而不必再有格式轉換的開銷。但是 目標的原始回波數據與雷達和載機的參數數據來自兩個不同的設備它們的數據格式和時序都是由各自的設備確定的,因此信號處理機便面臨著與外圍設備接口的問題。
1 系統功能
在本機載合成孔徑雷達系統中,進出接口板卡的數據流包括數據采集設備輸入的原始回波數據、監控設備輸入的雷達和載機的參數數據以及輸出到處理機的成像處理數據。它們有如下特點:①輸入數據流的速度和時序不匹配。數據采集設備和監控設備是兩個異步的系統,它們都有自己的定時控制電路,以自己的速度傳輸數據。②輸入輸出數據流的信息格式不匹配。數據采集設備輸入的原始回波數據和監控設備輸入的雷達和載機的參數數據采用FPDP協議傳輸,接口板卡輸出到處理機的數據采用Link口傳輸協議進行傳輸。
考慮到進出接口板卡數據流的特點和雷達系統對接口板卡的控制要求,接口板卡要具有如下功能:
(1)設置數據的緩沖、存儲邏輯,以適應不同設備之間的速度差異和時序差異;
(2)進行信息格式轉換,將目標的原始回波數據與雷達和載機的參數數據打包,插入相應的幀信息形成處理機要求的數據幀,并控制數據流的走向;
(3)實現PCI接口,能夠產生PCI中斷;
(4)具有在線自檢測功能。
2 系統硬件結構設計
為了簡化系統硬件設計,增加系統的靈活性,采用FPGA芯片實現系統要求的數據格式轉換、打包、分發和邏輯控制功能。數據緩存采用硬件FIFO和軟件雙口RAM。PCI接口采用專用接口芯片實現。硬件FIFO和軟件雙口RAM的寫時鐘分別由各自的FPDP接口提供,其它時鐘由接口板上的晶振提供。系統的硬件結構框圖如圖1所示。
2.1 輸入數據流的緩存方案
為了適應處理機與數據采集設備和監控設備之間的速度差異,解決速度不匹配問題,需要將輸入的數據先進行緩存。數據采集設備送入的原始回波數據每幀的數據量比較大,接口板卡上設計了硬件FIFO作為原始回波數據的緩存器,FIFO的讀寫使能由FPGA編程控制,寫時鐘由FPDP接口提供,讀時鐘由接口板卡上的晶振提供。數據采集設備和監控設備是兩個異步的系統,雷達參數數據流和原始回波數據流之間沒有同步關系,一幀雷達參數數據對應幾幀原始回波數據,因此設計中用雙口RAM作為雷達參數數據的緩存器。另外,每幀雷達參數的數據量比較小,本設計在FPGA內利用參數化的模塊庫(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~0X01000010。PCI9052提供兩個局部中斷源,選用LINTi1。FPGA提供電平觸發中斷信號,因此PCI9052的中斷觸發模式設置為電平觸發。利用PCI9052的局部設備片選信號CS0#作為FPGA的片選信號。CS0#片選信號的起始地址和地址范圍由CS0 Base Address寄存器的設置值0x01000011決定,即起始地址為1000000h,地址范圍為20h。PCI9052寄存器的初始值由串行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所示。
2.4 在線自檢測功能
板卡設計時還應考慮便于日常調試維護及故障檢測定位。板卡在硬件上針對各電源信號和關鍵的狀態信號設計了信號燈,一旦發現有誤,便可給出信號觸發該電路板上的信號燈告警,定位系統故障。另外在電路設計時應留出測試孔,以增加電路的可測性。
3 系統的軟件設計
系統上電后, PCI上電復位,FIFO清零。上位機向相應寄存器寫入初始值,完成寄存器設置。當系統啟動信號有效時,接口板開始接收數據,進行數據打包和分發,直到上位機向接口板卡寫停止命令為止。圖3給出了系統工作流程圖。
3.1 數據的打包和流向控制
雷達參數數據和原始回波數據的數據源是異步的,不能保證兩者確切的對應關系,接口板卡利用對緩存原始回波數據FIFO和緩存雷達參數數據雙口RAM的讀寫控制,調整雷達參數數據和原始回波數據對應關系,將兩種數據源按處理機要求的輸入數據格式組成正確的數據幀。雷達參數數據和原始回波數據打包后的數據幀格式如下:
在程序中,設計了雷達參數發送控制計數器Para_counter和回波數據發送控制計數器Data_counter。系統工作后,每次檢測到原始回波數據流的數據有效信號data_valid的上升沿(標記收到完整的一幀回波數據)時,啟動雷達參數發送控制計數器開始計數,當計數到設定的值(本設計中為25)時停止計數并啟動回波數據發送控制計數器開始計數,計數到設定的值(本設計中為5000)時停止計數。當檢測到原始回波數據流的數據有效信號data_valid的下降沿(標記開始接收新的一幀回波數據)時,兩個計數器都清零。根據計數器的計數值產生Link口選擇信號確定數據的流向。圖4給出了數據流向的示意圖。圖5給出了基于MAXPLUSⅡ10.0的仿真結果,仿真顯示正確地實現了數據打包和流向控制。
圖3 系統工作流程圖
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口傳輸協議。下面給出了關鍵的程序片斷:
ChangeStateModeprocessNibleCountemptyLxACKPresentStateempty
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
圖5 數據轉發仿真時序較
4 應用和結論
目前該接口板已經完成了電路設計、軟件仿真和制板,并應用到某機載合成孔徑雷達數字信號處理機中。接口板卡位于信號處理機的前端,通過CPCI機箱的前面板接口,采用一塊PMC子板實現。系統采用了圖1所示的體系結構,鎖存器選用TI公司的SN74LVT16374,時鐘驅動芯片選用IDT公司的IDT49FCT3805APY,FIFO選用IDT公司的IDT72V36110,PCI接口芯片選用PLX9052,FPGA選用Altera公司的EP1K100FC256-1。經過實驗室階段和外廠試驗,接口板都工作正常,達到了設計要求。