基於FPGA和ARM9的低空預警雷達訊號處理點跡通網路處理論文

才智咖 人氣:1.25W

摘要:設計了一種使用FPGA和ARM計算機配合的嵌入式雷達訊號處理點跡系統。詳細說明了系統軟硬體結構和系統軟體設計。實踐證明該系統能很好地完成雷達控制、點跡處理、通訊等功能。

基於FPGA和ARM9的低空預警雷達訊號處理點跡通網路處理論文

關鍵詞:FPGA;ARM、QT、點跡處理、通訊

雷達的基本組成由天饋線、發射、接收、訊號處理、波控、終端等分系統構成。訊號處理處於前端和後端連線的核心子系統在整個雷達系統具有非常重要的作用。主要完成目標的檢測功能,包括:發射波束控制、脈衝壓縮、MTD/MTI濾波、恆虛警處理、雜波圖、滑窗檢測、點跡處理等。

隨著現代雷達數字處理能力的大幅提升,雷達訊號處理需要處理的輸出量日益提高,且大量資料對資訊的傳輸實時性也有很高的要求。除此之外訊號處理還要連線控制其他分系統包括時序、控制訊號等等。現代雷達訊號處理一般採取高速並行處理的FPGA、DSP系統和實時性很高的嵌入式計算機組成。低空預警雷達是針對國內民防領域和國際市場的需求,研製的一種戰場偵察雷達。該雷達主要對半徑100公里以內的低空直升機和慢速飛行器進行監視、定位,並提供目標的距離、方位和高度資訊。針對系統規模較小、成本較低特點,低空預警雷達的訊號處理設計了一種FPGA+ARM9架構處理平臺。在正常工作模式下,雷達前端傳送的和差波束資料通過線纜進入FPGA,在FPGA內完成脈衝壓縮、FIR濾波、雜波圖、恆虛警、滑窗檢測,並將檢測結果送入DSP,將得到的點跡資料送給ARM。ARM系統執行嵌入式Linux系統,完成串列埠連線外部裝置,網路接收波控和終端系統命令,驅動FPGA實現對雷達系統的控制,並完成相應資料的通訊傳輸。

1系統硬體平臺介紹

1.1整體架構設計

對於低空預警雷達,訊號處理需要處理一定量的訊號和資料。基於對系統成本,成熟度,開發週期,及訊號處理系統的需求考慮,訊號處理分系統在可滿足處理能力的情況下,通過採用模組化高可靠性外掛,高速DSP處理晶片,超大規模可程式邏輯韌體,高效能ARM嵌入式計算機等技術,可使系統裝置量大大降低,並有效的提高了系統可靠性,降低了失效率,減少了維修時間。系統設計為由一塊訊號處理板完成訊號處理的全部功能,訊號處理板的硬體架構如圖1所示。

FPGA模組採用ALTERA公司的Stratix IV 型FP4SE360模組,其處理能力等價邏輯單元353600LE,嵌入式儲存器達到18Mbit,含1040個18X18乘法器,是具有大量處理能力的較高階FPGA器件,外部儲存器採用了4片221x36bits SSRAM 可以滿足系統儲存使用。DSP使用ADI公司的TS201,主頻達500Mhz。ARM採用的是盛博科技的SAM-3471計算機。整個訊號處理的系統流程圖如圖2。

1 .2 ARM系統介紹

上圖所示是SAM-3471計算機模組,它採用的是ARM9CPU執行頻率208/416Mhz。配有4片 32MB SDRAM記憶體。具有3個UARTs口、2路232串列埠、1路100M網口等外部通訊介面。板上預留了音訊、LCD、觸控式螢幕等介面可供除錯使用。ARM板以匯流排形式連線FPGA,通過驅動與FPGA通訊。

2 軟體系統設計

ARM計算機上執行的.是嵌入式Linux實時作業系統軟體。ARM軟體完成的功能是系統上電後,Linux系統啟動後完成驅動FPGA,對FPGA暫存器資料進行初始化。通過網路與終端分系統、波控分系統通訊。接收各種操作命令控制FPGA完成功能的實現。同時將點跡、方位、系統狀態資訊發給終端系統顯示。採集波束校正資料平傳送給波控與終端顯示。通過串列埠接收GPS授時和定北資料,獲得基準時間後為整個系統對時等。軟體的流程圖如圖3。

系統軟體採用虛擬機器VMware下虛擬Ubuntu10.10作業系統,在QtCreator下開發和編譯程式。將編譯好的程式通過FTP方式拷入ARM嵌入式系統中,通過啟動指令碼呼叫的方式除錯開發和執行。

2.1嵌入式linux和開發工具QT

ARM作業系統採用的是基於2.6核心的嵌入式Linux作業系統,程式採用QT/Embedded開發。QT是Trontech公司開發的一個多平臺的C++圖形使用者介面應用程式框架。它具有以下特點:

支援多種作業系統,程式可在不同系統下開發,並進行方便的移植。

QT使用了物件導向技術元件設計。模組化的程度非常高,可重用性較好。

QT提供了豐富的API函式和大量的技術文件方便使用者開發自己的應用程式。

QT/Embedded以原始Qt為基礎,並做了許多出色的調整以適用於嵌入式環境。

2.3 主任務和資料處理的實現

主任務和資料處理主要完成雷達方位的獲取,雷達點跡的獲取,並將獲的相應資料傳送到雷達終端中。資料處理主要是包括系統工作方式、雷達頻點、轉速、雷達工作狀態等各種雷達監視和控制功能的實現。程式中建立主任務類CMainProcess,初始化時 呼叫語句QCoreApplication a(argc, argv)啟用QT中訊號/槽的機制。在主處理類的建構函式中建立QTimer定時器物件PlotTimer,並設定槽函式PlotTimeoutSlot連線(connect)到此物件上,語句PlotTimer->start啟用定時器。槽函式主要完成對FPGA的讀寫,獲得方位、點跡資料,解析處理後傳送出去。在設定好的時間週期內系統會自動呼叫此槽函式。實現點跡、方位的不停讀取和處理。

資料處理是通過建立一個QObject的派生類CDataProcess及其成員函式實現的。在主函式初始化中定義CDataProcess類物件。該類的成員函式完成的功能有:呼叫FPGA完成雷達系統的的控制、完成終端命令資料的處理、GPS定位資料格式的解析處理和傳送、雷達天線伺服的控制等等。程式其他的物件對資料的處理均是呼叫該類的函式實現的。

2.4 串列埠通訊的實現

系統使用了一個串列埠,用於接收GPS時間資料,給整個雷達對時。建立一個QThread的派生類QtSerialThread完成整個串列埠的操作。對於函式tcgetattr、tcsetattr完成串列埠裝置的操作  。程式初始化時通過串列埠設定引數、串列埠資料快取操作、開啟串列埠裝置檔案、配置串列埠的工作引數的方式初始化串列埠。編寫串列埠傳送和接收函式。串列埠接收函式用於按照協議接收GPS資料。並將此接收的資料作為引數產生一個訊號和資料處理的相應處理槽函式connect連線起來。建立串列埠處理執行緒,使用QThread的start()函式執行執行緒。在執行緒執行函式run()中迴圈接收和處理串列埠資料。

2.5 網路通訊的實現

系統使用UDP的方式進行網路通訊。網路通訊主要實現網路的建立,並與其他的分系統進行資料互動。主要是通過建立一個UDP處理類UDPReciveUtil,建立一個類TsServerProcess和建立一個QThread的派生類ThreadOfTsData類和完成整個網路功能的實現。程式啟動後產生類ThreadOfTsData的物件產生網路執行緒。在執行緒初始化時使用類UDPReciveUtil產生UDP Socket並進行ip地址和埠號的繫結。執行緒執行時使用QT的QUdpSocket成員函式hasPendingDatagrams和readDatagram得到網路資料。將資料通過類TsServerProcess進行網路資料協議的解析和相應處理,傳送等。

2.6 程式的編譯和載入

將產生的可執行程式,用FTP方式拷到目標機中,同時將QT庫檔案.4、.4拷入。在profile檔案裡新增程式執行語句,使系統程式開機後自動執行。

3 總結

本文設計了一種通過FPGA和ARM系統實現雷達通訊系統的方式,通過程式設計工具QT使通訊系統具備網路、串列埠等多執行緒處理方式。藉助FPGA實現了雷達點跡、方位、系統監控等多種功能。由於採用ARM平臺和Linux系統。雷達通訊系統具有實時性高、開發便捷,處理功能強大的優點。目前該系統已在低空警戒雷達訊號處理實際使用,取得了較好的效果。

參考文獻:

[1] 丁鷺飛,耿富錄.雷達原理[M].西安:西安電子科技大學出版社,2001.

[2] 魏洪星,胡亮,曲學樓.嵌入式系統設計與例項開發實驗教材II [M].北京:清華大學出版社, 2005.

[3] 韋東山.嵌入式 Linux 應用開發完全手冊[M].北京:人民郵電出版社,2009.

[4] 李善平,劉文峰,王煥龍,等x與嵌入式系統[M].北京:清華大學出版社,2003.

[5] 何子述,夏威.現代數字訊號處理及其應用[M].北京:清華大學出版社,2009.