新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于SOPC的雷達采集和圖像顯示系統

        基于SOPC的雷達采集和圖像顯示系統

        作者: 時間:2016-12-06 來源:網絡 收藏

          1前言

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

          雷達數據采集及圖像顯示是雷達的一個基本應用,普遍應用于軍事、氣象預測、環境監測、船舶導航等領域。雷達數據具有實時性、高速性的特點。一般說來,對雷達信號采樣的時鐘頻率在100MHz以上,雷達數據采集和處理單元的數據吞吐量要求在Gbits/s以上。因此,要實現一個雷達數據采集和圖像顯示系統,對處理器的處理速度要求很高。傳統的雷達數據采集和圖像顯示系統采用的是微處理器+FPGA(或DSP)方案,利用微處理器實現操作系統、雷達GUI和顯示器控制,利用FPGA(或DSP)實現高速雷達數據采集和處理,這種方案的缺點是要想實現雷達圖像在800*600以上分辨率的大屏幕顯示比較困難,要么有較高的處理器速度,要么有獨立顯卡的支持,這樣增加了系統復雜度和成本。

          SOPC 是一種特殊的片上系統,建立在可編程邏輯技術的基礎上,盡可能將一個大而完整的電子系統實現在一塊FPGA硅片上,具有硬件可裁剪、可擴充、可升級,軟件在系統可編程的特點,使得設計的系統在規模、功能、體積、性能、上市周期、開發成本等方面有著了很大的優勢。基于SOPC技術的軟核處理器主頻雖然不是很高,目前Xilinx公司的microblaze處理器最高主頻為210MHz、240DMIPS的運算能力,Altera公司的NIOS II處理器最高主頻為340MHz、290DMIPS的運算能力,但是由于其極強的靈活性,可以通過軟硬件協同設計,在處理器速度不高的情況下,解決需要高速度處理器才能完成的問題。

          本文基于SOPC技術,提出一種在主頻較低的軟核處理器上實現雷達數據采集和圖像大屏幕顯示的方法。

          2總體方案設計

          本設計采用microblaze軟核處理器作為開發平臺,SOPC系統框圖如圖1所示。

          本設計通過以下辦法,解決在主頻較低的SOPC軟核處理器上實現雷達數據采集、處理和大屏幕圖像顯示的問題。

          首先,使用FPGA硬件邏輯設計實現雷達數據采集、處理和顯示控制器。雷達數據采集、處理模塊負責對雷達上單元、ADC芯片的控制和對雷達數據的處理。顯示控制器模塊完成顯存數據的管理和顯示器的驅動。

          其次,使用DMA傳輸。DMA負責將雷達數據采集、處理后數據通過DMA通道送到內存中。

          最后,根據SOPC硬件可配置、可裁剪的特性,將雷達數據采集和處理模塊、顯示控制模塊和DMA模塊作為microblaze處理器的設備掛載到外設局部總線上[4]。

          由于雷達數采集、處理模塊和顯示控制模塊的內部邏輯都由FPGA硬件邏輯完成,微處理器不需直接對雷達上單元、ADC進行控制,不需進行復雜的雷達數據處理,不用對顯存數據進行管理,不用控制產生高速的信號驅動顯示器,從而大大減輕了處理器的負擔,加上DMA傳輸的使用,處理器只需要處理DMA傳輸的請求和傳輸完成中斷,從而使處理器從繁重的數據傳輸中解脫了出來。通過以上辦法,處理器的負擔已經變得很輕,使得較低的處理器速度即可處理系統的任務。而且顯示控制由FPGA硬件實現還有個優點是,使得顯示器分辨率的大小對處理器的負擔影響很小,從而在處理器較低的情況下,同樣可以支持大屏幕的圖像顯示。

          3系統硬件設計

          SOPC系統的硬件設計包含兩層含義,一個是SOPC所依賴的硬件平臺,另一個是在FPGA內部搭建的SOPC軟件所依賴的硬件環境。

          本設計中,SOPC所依賴的硬件平臺如圖2所示:

          FPGA內部搭建的SOPC硬件平臺如圖3所示:

          其中,雷達數據采集和處理、顯示控制器、DMA模塊是為實現本設計而特別定制的模塊。下面著重介紹以上3個模塊。

          3.1 雷達數據采集及處理模塊設計

          雷達數據采集及處理模塊主要由總線接口控制、控制臺、雷達上單元控制、ADC控制、雷達數據處理5部分組成,其內部框圖如圖4中虛線部分所示:

          總線接口控制模塊負責與處理器總線進行交互,它必須遵循處理器總線通信協議,包括傳輸請求、應答、數據傳輸、中斷請求。這部分協議由平臺產生,用戶只需進行相關的配置。

          控制臺負責ADC控制模塊、雷達上單元控制模塊、雷達數據處理模塊的控制。具體包括:將相關用戶控制信息交給ADC控制模塊,對ADC的工作狀態進行控制;讀取雷達上單元控制模塊的信息,將它交給總線控制接口模塊,并從總線接口控制模塊獲得雷達上單元相關的控制信息,送到雷達上單元控制模塊;將雷達數據處理相關的信息交給雷達數據處理模塊,作為雷達數據處理的參數。

          雷達上單元控制模塊負責對雷達上單元的控制,包括雷達上單元的初始化、自檢,設置雷達脈沖頻率、脈沖寬度、轉速等,并實時地向控制臺提供雷達上單元的工作狀態信息。

          雷達數據處理模塊的內部處理流程如圖5所示。雷達數據處理模塊從控制臺獲取數據處理的相關參數,對雷達上單元的數據進行以下處理:對雷達的方位角脈沖信號進行提取,計算出雷達當前的方位角;對采樣后的雷達回波信號進行內插/抽取、濾波、增益控制、極坐標到直角坐標變換處理。

          3.2 顯示控制器設計

          顯示控制器相當于一塊獨立顯卡,其內部如圖6中所示,主要由5個模塊組成,分別為處理器總線接口控制模塊、指令譯碼模塊、顯示接口控制模塊、數據緩存模塊和顯存控制模塊。

          指令譯碼模塊主要負責:從總線接口控制模塊獲得處理器指令和數據,并對指令進行譯碼,將譯碼結果和數據送給顯示接口控制模塊和顯存控制模塊;將顯示接口控制模塊和顯存控制模塊的工作狀態信息送給總線接口控制模塊。

          顯示接口控制模塊受指令譯碼及控制模塊控制,與顯存控制模塊進行協調,從數據緩存區獲取數據,控制產生顯示器接口時序,驅動顯示器描繪圖像。

          數據緩存模塊實現對顯存數據的預取。在每個行同步時隙,顯示接口控制模塊向顯存控制模塊發出預取顯存數據的請求,顯存控制模塊將相應地址上的顯存數據讀出,放到數據緩存區。由于顯示接口控制的時鐘和顯存控制的時鐘通常不一樣,設置這個數據緩存區,保證顯示接口控制模塊能夠及時獲得顯存的數據。

          顯存控制模塊負責顯存數據的管理,根據指令譯碼結果,對顯存中的數據進行清除、讀寫、更新等操作,并配合接口控制模塊,將顯存數據讀出,寫入顯存數據緩存區。

          3.3 DMA傳輸設計

          一般說來,DMA傳輸相關的寄存器包括傳輸的源地址、目的地址、工作模式、數據長度、DMA中斷模式。本設計使用Xilinx的中央DMA控制器(XPS Central DMA Controller) [5],它是一個單通道的支持外設到外設、外設到內存、內存到外設、內存到內存的DMA,其內部結構框圖如圖7所示。使用該DMA控制器,需要配置以下寄存器:

          軟件復位寄存器(RST):用于對DMA控制進行軟件復位;

          DMA控制寄存器(DMACR):設置DMA的工作模式;

          源地址(SA):DMA傳輸的源地址;

          目的地址(DA):DMA傳輸的目的地址;

          長度(LENGTH):DMA傳輸的數據長度;

          中斷使能寄存器(IER):設置是否使能DMA傳輸錯誤或傳輸完成時產生中斷。

          本設計中,將DMA的工作模式設定為數據源地址固定,目的地址遞增,源地址為雷達數據采集及處理模塊的數據發送寄存器的地址,目的地址設置為內存的地址,長度設置為坐標變換后一條雷達掃描線上的點數1024Bytes,DMA傳輸完成中斷使能。 

          4系統軟件設計

          軟件設計主要分為三部分,linux內核的移植,模塊驅動的開發,雷達GUI軟件的開發和移植。

          將linux系統移植到自己定制的SOPC硬件平臺上包括以下幾個步驟[5][6]:

          設計SOPC硬件平臺。使用XPS開發環境,設計自己的SOPC系統硬件平臺,并導出軟件開發依賴的硬件平臺信息文件;

          生成設備樹內核編譯所需的設備樹信息文件(后綴名為.dts)。使用SDK開發環境,結合Xilinx的設備樹(Device-tree)腳本和XPS生成的硬件平臺信息,生成板級支持包和設備樹信息文件;

          編譯內核。將設備樹信息文件拷貝到linux內核源代碼/arch/microblaze/boot/dts目錄下,根據硬件平臺信息配置并編譯內核,生成內核鏡像文件;

          運行內核。將內核鏡像文件下載到配置的硬件平臺上,實現linux系統的移植。

          內核移植完成之后,進行雷達數據采集和處理模塊、顯示控制器模塊驅動的開發。Linux下設備驅動的開發包括以下步驟:

          (1)設備驅動程序的注冊和注銷;

          (2)定義file--operations結構,設計所要實現的文件操作, 實現系統調用和驅動程序的關聯;

          (3)實現所需的文件操作調用,如open,read,write等;

          (4)如果使用中斷,使用request--irq向內核注冊;

          (5)編譯該驅動程序到內核中,或使用insmod命令加載模塊。

          最后是進行雷達GUI軟件的開發和移植。利用QT開發環境設計雷達用戶界面,并移植到SOPC系統中linux操作系統下。

          5系統調試和測試

          本設計中,利用FPGA硬件邏輯模擬產生雷達回波信號和方位角信號,ADC的采樣速率為100MHz,采樣位寬為8bits,microblaze軟核處理器主頻為100MHz。雷達數據采集及處理模塊對模擬的雷達信號進行采集和相關處理后,由DMA通道存儲到內存當中,雷達GUI軟件實現雷達圖像的繪制。



        關鍵詞: SOPC雷達采

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桦南县| 兴山县| 平远县| 临城县| 敦化市| 黄梅县| 东海县| 桂阳县| 恭城| 四子王旗| 莱州市| 泌阳县| 遵义县| 米泉市| 新竹市| 介休市| 翁牛特旗| 延吉市| 太谷县| 绥江县| 增城市| 通州市| 禄劝| 钟山县| 绥滨县| 张家口市| 曲麻莱县| 岳阳县| 故城县| 潜江市| 正定县| 塔城市| 长沙县| 读书| 汨罗市| 年辖:市辖区| 福贡县| 和政县| 昌都县| 榆林市| 尼玛县|