孫玉梅,張彥飛,王美春,王選誠
(煙臺南山學院東海校區(qū)電氣與電子工程系,山東煙臺265713)
基于FPGA的雷達信號高速實時采集和顯示系統(tǒng)設(shè)計*
孫玉梅*,張彥飛,王美春,王選誠
(煙臺南山學院東海校區(qū)電氣與電子工程系,山東煙臺265713)
雷達回波采集的目的是為雷達數(shù)據(jù)處理和目標檢測、定位、跟蹤做必要的準備。本系統(tǒng)采用帶有RAID適配卡的工控機作雷達視頻回波采集的主控設(shè)備,設(shè)計了基于FPGA的雷達信號高速采集卡。利用FPGA內(nèi)部雙口RAM的乒乓切換與緩沖區(qū)環(huán)行存儲技術(shù)保證了連續(xù)采集。采用數(shù)據(jù)抽取、坐標查表映射等技術(shù)在微機顯示器上以PPI(平面位置)方式進行實時顯示。試驗結(jié)果表明本系統(tǒng)能夠?qū)γ棵?0萬點的雷達回波信號進行實時高速連續(xù)采集、存儲和實時顯示。
雷達;信號;數(shù)據(jù)采集;FPGA
現(xiàn)代雷達信號處理需要現(xiàn)場采集大量的雷達視頻回波數(shù)據(jù),以分析和研究目標回波信號的各種特性為目標的信息提取和處理提供依據(jù)[1]。傳統(tǒng)基于計算機的大多數(shù)雷達信號采集系統(tǒng)通常采取的方法是:首先在計算機內(nèi)開辟一大塊內(nèi)存緩沖區(qū),然后將采集的數(shù)據(jù)通過計算機接口存入緩沖區(qū),一旦緩沖區(qū)存滿便停止采集,最后再進行數(shù)據(jù)存盤。這樣很難做到長時間的連續(xù)采集、實時顯示與實時存盤。其原因是由于計算機在顯示與存儲數(shù)據(jù)上花費的時間較多,難以保證在不丟失采集數(shù)據(jù)的情況下實時顯示與實時存儲采集數(shù)據(jù)。
本文設(shè)計并實現(xiàn)了一種雷達視頻回波信號的高速采集、實時顯示與實時存儲系統(tǒng)。該系統(tǒng)采樣頻率能達到10 MHz,采樣精度為14 bit,采集數(shù)據(jù)以DMA結(jié)合中斷方式被寫入計算機公用緩沖區(qū)[2],由于對公用緩沖區(qū)的讀寫采用環(huán)形指針,因此可以循環(huán)不斷地將采集數(shù)據(jù)寫入緩沖區(qū),同時讀出緩沖區(qū)中的數(shù)據(jù)進行實時顯示[3-4]。為了保證實時顯示與實時存儲,計算機必須在雷達天線旋轉(zhuǎn)一圈時間內(nèi)完成一圈所有數(shù)據(jù)的顯示與存儲。采用約數(shù)據(jù)抽取、坐標查表映射和DirectDraw等技術(shù)[5]對采集的數(shù)據(jù)的實時顯示,用RAID磁盤陣列(廉價冗余磁盤陣列)對采集的數(shù)據(jù)實時保存,有效提高了采集存儲設(shè)備的實時存儲能力。
1.1系統(tǒng)組成與工作原理
本系統(tǒng)以工控機為平臺,雷達視頻回波信號的采集主要由PCI采集卡來完成。PCI采集卡根據(jù)來自雷達系統(tǒng)的時鐘、同步觸發(fā)信號和天線方位、仰角信號來控制對雷達視頻回波信號的采集,并將采集數(shù)據(jù)通過計算機PCI接口傳輸?shù)接嬎銠C內(nèi)存中,供計算機處理與顯示[6]。最后計算機通過插在計算機PCI槽中的RAID適配卡來控制往磁盤陣列上實時存儲采集數(shù)據(jù)。系統(tǒng)組成與工作原理框圖如圖1所示。
項目來源:國家自然科學基金項目(61273058)
收稿日期:2015-06-24修改日期:2015-08-05
圖1 系統(tǒng)組成與工作原理框圖
由于采用32 bit/33 MHz的PCI采集卡,其總線數(shù)據(jù)傳輸速率可達132 Mbyte/s,而系統(tǒng)采樣頻率為10 MHz,采樣精度為14 bit,數(shù)據(jù)率為20 Mbyte/s,完全可以滿足雷達視頻回波數(shù)據(jù)的傳輸要求。
1.2系統(tǒng)工作流程
本系統(tǒng)要求能夠在普通顯示器上對采集的雷達視頻回波信號進行長時間的實時顯示。同時在顯示過程中,可對任意區(qū)域設(shè)置采集方位和距離波門,將采集的數(shù)據(jù)實時存儲在磁盤陣列上。系統(tǒng)的工作流程如圖2所示。
在采集工作狀態(tài),采集卡將全方位、全距離上的雷達視頻回波信號采集傳輸?shù)接嬎銠C內(nèi)存中;實時顯示時,在普通顯示器上以PPI(平面位置)顯示方式進行實時全屏顯示,同時可對局部區(qū)域用B顯方式進行開窗放大顯示;數(shù)據(jù)記錄時,既可對重點目標區(qū)域設(shè)置方位和距離波門進行實時存儲,也可對全程數(shù)據(jù)進行實時存儲[7-8]。
圖2 系統(tǒng)工作流程圖
2.1PCI采集卡的硬件設(shè)計
PCI采集卡主要完成對雷達視頻回波信號的數(shù)據(jù)采集。它由雙路高速高精度A/D轉(zhuǎn)換電路、大容量數(shù)據(jù)緩沖存儲電路、采集控制電路、數(shù)據(jù)乒乓緩沖存儲電路、PCI接口電路組成。其中采集控制電路、數(shù)據(jù)乒乓緩沖存儲電路、PCI接口電路在FPGA的內(nèi)部實現(xiàn)。采集卡組成框圖如圖3所示。
圖3 采集卡組成框圖
利用FPGA來實現(xiàn)32 bit/33 MHz的PCI接口邏輯,完成對雷達視頻信號的采集時序控制與數(shù)據(jù)傳輸?shù)目刂?。由于FPGA具有層次化的存儲器系統(tǒng),因此可以在FPGA內(nèi)部配置高速雙口RAM用來作為數(shù)據(jù)傳輸?shù)钠古揖彌_存儲器[9]。同時,為了節(jié)省FPGA的內(nèi)部邏輯資源,在FPGA外圍配置了適當?shù)腟RAM作為大容量數(shù)據(jù)緩沖存儲器。PCI采集卡硬件電路結(jié)構(gòu)框圖如圖4所示。
圖4 采集卡硬件電路結(jié)構(gòu)框圖
圖4中,F(xiàn)PGA芯片采用能夠支持高速雷達信號處理的Xilinx公司的Virtex-7系列XC7VX1140T芯片[10],它是密度比較高的FPGA,其多達119萬個邏輯單元實現(xiàn)了突破性容量,實現(xiàn)2.8 Tbit/s總串行帶寬。與Virtex-6系列器件相比,其系統(tǒng)性能提高一倍,功耗降低一半,信號處理能力提升1.8倍,I/O帶寬提升1.6倍,存儲器帶寬提升2倍。A/D轉(zhuǎn)換采用ADI公司的14 bit 80MSPS的高速高精度模數(shù)轉(zhuǎn)換芯片AD6645。SRAM采用Cypress Semiconductor公司的32 bit SRAM芯片CY7C1354。
2.2FPGA實現(xiàn)PCI接口邏輯
PCI總線協(xié)議必須實現(xiàn)PCI目標設(shè)備狀態(tài)機、PCI主控設(shè)備狀態(tài)機等邏輯。目標狀態(tài)機完成必要的對配置寄存器以及目標設(shè)備I/O映射與內(nèi)存映射端口讀寫。主控狀態(tài)機負責交換過程的啟動和數(shù)據(jù)的讀寫控制。為了實現(xiàn)PCI總線各控制信號間的時序關(guān)系,可以根據(jù)具體的交換過程來設(shè)計相應的狀態(tài)機。下面以目標設(shè)備I/O寫為例加以說明:當幀有效信號(FRAME#)為低電平有效時,標志著一次交換過程的開始,C/BE#[3:0]為“0011”表明此交換為I/O寫,同時AD[31:0]上的數(shù)據(jù)為此次交換的I/O地址。如果該I/O地址與設(shè)備配置寄存器中I/O基地址寄存器的值相同,目標設(shè)備就要通過使DESEL#有效來聲明這次交換。作為主設(shè)備在有效FRAME#、I/O地址和C/BE#后就在AD[31:0]上驅(qū)動要傳輸?shù)臄?shù)據(jù),在C/BE#上驅(qū)動字節(jié)使能,同時使能目標準備好信號IRDY#,直到檢測到目標設(shè)備有效的DRDY#信號后,此次交換中的主設(shè)備和目標設(shè)備就停止驅(qū)動各種信號。而目標設(shè)備在準備好接收數(shù)據(jù)后就可以使能DRDY#,此后目標設(shè)備檢測到IRDY#時就可以根據(jù)具體的字節(jié)使能C/BE#[3:0]將AD[31:0]總線上的數(shù)據(jù)進行鎖存,從而完成整個交換過程[11]。
本系統(tǒng)利用VHDL語言在FPGA中編程[11-12]實現(xiàn)了32 bit/33 MHz的PCI接口邏輯,實現(xiàn)的主要功能包括:配置空間讀寫、目標設(shè)備I/O映射讀寫、內(nèi)存映射端口讀寫、主設(shè)備DMA控制。實際調(diào)試中,DMA連續(xù)傳輸速率可達到100 Mbyte/s。
2.3PCI卡驅(qū)動程序開發(fā)
本系統(tǒng)采用DriverWorks開發(fā)的運行于Windows 2000下的WDM(視窗驅(qū)動模塊)驅(qū)動程序。DriverWorks可以向?qū)橛脩糇詣由沈?qū)動程序框架,根據(jù)具體的功能,用戶可在VC++6.0 SDK的工程下添加自己的代碼,DriverWorks將編寫WDM驅(qū)動程序所需的對內(nèi)核模式及硬件的訪問封裝成類,其中KPciConfiguration類用于實現(xiàn)對PCI設(shè)備配置空間的訪問,KIoRange類用于實現(xiàn)對I/O映射端口的訪問,KMemoryRange類用于實現(xiàn)對內(nèi)存映射端口的訪問,KDmaAdapter、KDmaTransfer和 KCommon-DmaBuffer類用于實現(xiàn)DMA操作,Kinterrupt類用于實現(xiàn)中斷處理操作。
由于數(shù)據(jù)采集系統(tǒng)的速率指標為20 Mbyte/s,同時CPU還要在有限的時間里完成數(shù)據(jù)的實時顯示與實時存儲,因此數(shù)據(jù)傳輸方式采用了DMA結(jié)合中斷的方式。根據(jù)對數(shù)據(jù)采集量的要求和工控機CPU的實際處理能力,設(shè)計時開辟了16 M×32 bit的連續(xù)公用緩沖區(qū),一次DMA傳輸8 K×32 bit的數(shù)據(jù),每次DMA傳輸結(jié)束時,采集卡發(fā)出中斷請求,計算機響應中斷,并將公用緩沖區(qū)的寫地址加上8 K作為下一次DMA傳輸?shù)钠鹗嫉刂罚瑥亩WC了DMA傳輸?shù)倪B續(xù)性。
2.4連續(xù)采集的實現(xiàn)
基于FPGA的雷達信號采集的難點是采集時序控制和數(shù)據(jù)的實時傳輸[12]。為了保證數(shù)據(jù)采集的連續(xù)性,設(shè)計中采用了FPGA內(nèi)部雙口RAM的乒乓切換技術(shù)與計算機公用緩沖區(qū)環(huán)行存儲技術(shù)。
采集卡與計算機之間的數(shù)據(jù)交換以FPGA內(nèi)部配置的高速雙口RAM作為數(shù)據(jù)傳輸?shù)木彌_器,采用兩片雙口RAM乒乓切換的方式進行數(shù)據(jù)傳輸。具體方法為:利用FPGA內(nèi)部配置的兩片8 k×32 bit的雙口RAM,采集開始時,將采集數(shù)據(jù)往第1片雙口RAM中寫,當?shù)?片雙口RAM寫滿時,采集控制模塊產(chǎn)生乒乓切換信號,數(shù)據(jù)自動存入第2片雙口RAM中,同時以DMA方式將第1片雙口RAM中的采集數(shù)據(jù)傳送給計算機。如此輪換交替,這樣DMA傳輸和接收A/D數(shù)據(jù)可以同時進行,而DMA的速率遠大于A/D采集速率,從而可以有效避免數(shù)據(jù)丟失。
為了連續(xù)不斷地接收采集數(shù)據(jù),計算機緩沖區(qū)采用了環(huán)行存儲結(jié)構(gòu)。具體方法為:系統(tǒng)初始化時,驅(qū)動程序在計算機中申請了16 M×32 bit的公用緩沖區(qū),并將其映射到用戶地址空間。對公用緩沖區(qū)的讀寫采用環(huán)行指針,當寫指針指到緩沖區(qū)底端,即緩沖區(qū)寫滿時,寫指針又回到緩沖區(qū)起始端,將新的采集數(shù)據(jù)覆蓋原來的舊數(shù)據(jù),這樣便可循環(huán)不斷地將采集數(shù)據(jù)寫入環(huán)行緩沖區(qū)。與此同時,應用程序也在循環(huán)不斷地根據(jù)環(huán)行讀指針將緩沖區(qū)中的數(shù)據(jù)讀出進行實時顯示。這樣環(huán)行緩沖區(qū)的讀寫可以同時進行,只要顯示的速度滿足實時性要求,便可以保證整個采集過程的連續(xù)性。
2.5實時顯示
雷達天線轉(zhuǎn)速為10 rot/min,脈沖重復頻率為700 μs,距離量程設(shè)定為50 km,則在采樣率為10 MHz情況下,天線轉(zhuǎn)動一圈(6 s)采集到的點數(shù)約為300萬。這意味著要實現(xiàn)采集數(shù)據(jù)的實時PPI顯示,則必須在6 s完成一屏所有點的數(shù)據(jù)計算和顯示。為此,設(shè)計時采用了數(shù)據(jù)抽取、坐標查表映射和Direct Draw等技術(shù)。
由于計算機分辨率所要求的一屏內(nèi)顯示的像素點遠小于天線轉(zhuǎn)動一圈所采集的數(shù)據(jù)點,為減輕計算機負擔,對雷達視頻回波在周期和距離上進行了“數(shù)據(jù)抽取”。設(shè)計算機顯示器的分辨率為1 024× 768,那么一屏內(nèi)只需顯示約80萬個點。可見,采用數(shù)據(jù)抽取方法后數(shù)據(jù)量降為原來的27%。由于一般雷達回波信號采用的是極坐標體制,而光柵顯示器采用的是直角坐標系體制,因此必須進行坐標轉(zhuǎn)換[7]。傳統(tǒng)坐標變換中正弦、余弦與乘、除法運算耗時過多,若將坐標轉(zhuǎn)換運算改用坐標查表映射,則可顯著提高運算速度。具體方法為:將光柵顯示器屏幕點陣賦予距圓心距離值、角度值和顏色值等屬性,并將這些屬性依據(jù)極坐標的特性進行排序做成索引表,并在系統(tǒng)初始化時調(diào)入內(nèi)存,系統(tǒng)工作時無需再作變換,大大節(jié)省了CPU的運算時間。
坐標轉(zhuǎn)換機制建立后,鑒于PPI顯示對實時畫圖速度的特殊要求,采用了Direct Draw技術(shù),它可直接對顯存操作,具備硬件位操作、硬件覆蓋操作和頁面切換操作的能力,它繞過了與Windows的圖形設(shè)備相連的多個層次,直接與硬件的底層打交道,產(chǎn)生快速、平穩(wěn)的圖形。
2.6實時存儲
目前高速數(shù)據(jù)存盤主要有兩種方案:第1種方案是采用集成RAID功能控制器的主板;第2種方案是采用普通主板加RAID適配卡,控制數(shù)據(jù)到磁盤陣列的存儲。第1種方案,從以前的使用情況來看,在使用2塊SCSI硬盤組成RAID 0陣列和Adaptec公司的SCSI硬盤RAID適配卡情況下,磁盤陣列實測的讀寫速度達到40 Mbyte/s;第2種方案,在使用普通主板和RAID適配卡時,采用2塊IDE硬盤組成RAID 0陣列情況下,磁盤陣列實測的讀寫速度達到35 Mbyte/s。可見兩者性能差別不大,因此,從性能指標需求和設(shè)計成本角度考慮,本設(shè)計最終選用了普通主板、RAID適配卡和普通IDE硬盤組成磁盤陣列來完成實時存儲。
把本系統(tǒng)安裝在某型雷達的工控機上,進行了驗證性試驗數(shù)據(jù)的采集處理。圖5為采集到的真實雷達視頻回波信號的PPI顯示。
圖5 試驗中采集到的雷達視頻回波信號
試驗結(jié)果表明:本系統(tǒng)完全能夠滿足某型雷達所提出的數(shù)據(jù)處理的技術(shù)指標要求,能夠?qū)Υ笕萘康睦走_回波信號進行實時高速連續(xù)采集、存儲和實時顯示。采集的數(shù)據(jù)能夠真實地反映試驗目標與周圍雜波環(huán)境的特性。
[1] 王小謨,張光義.雷達與探測[M].北京:國防工業(yè)出版社,2008:7.
[2] 曹永敏,姚亞峰,陳海騰,等.基于TMS320F28335的雷達測速系統(tǒng)的設(shè)計[J].電子器件,2014,37(1):45-49.
[3] 汪涵,羅曉平,謝定富.雷達視頻回波信號的高速采集與回放顯示[J],測控技術(shù),2009(12):126-131
[4] 張華,張?zhí)N玉,胡修林.雷達目標回波高速采集系統(tǒng)的設(shè)計[J].華中科技大學學報(自然科學版).2003(10):72-75.
[5] 張鵬,杜彬彬,任勇峰.基于FPGA的超聲數(shù)據(jù)采集裝置的設(shè)計與實現(xiàn)[J].電子器件,2014,37(1):82-86.
[6] 周騫,陳金樹.超高速數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應用研究,2003(8):126-131.
[7][美]Tom Shanley,Don Anderson.PCI系統(tǒng)結(jié)構(gòu)[M].劉暉,冀然然,夏意軍,譯.北京:電子工業(yè)出版社,2001:63-65.
[8] 梁景新,薛余網(wǎng).PPI雷達信號微機顯示中快速極坐標—直角坐標映射[J].上海交通大學學報,2009(1):53-59.
[9] 劉翠海,溫東.光柵掃描顯示器上實現(xiàn)PPI雷達長余輝仿真[J].計算機仿真,2012(3):42-47.
[10]林良有,張偉.基于FPGA的連續(xù)采樣的高速PCI采集卡設(shè)計[J].計算機測量與控制,2007(6):36-39.
[11]李洪濤,朱曉華,顧陳.Verilog HDL與FPGA開發(fā)設(shè)計及應用[M].北京:國防工業(yè)出版社,2013:125-127.
[12]孫寶鵬.基于FPGA的雷達信號處理算法設(shè)計與實現(xiàn)[D].北京:北京理工大學,2014.
孫玉梅(1974-),女,漢族,山東龍口人,碩士,副教授,主要研究方向為數(shù)據(jù)采集、計算機應用技術(shù),392346519@qq.com;
張彥飛(1966-),男,漢族,黑龍江哈爾濱人,博士,高級工程師,主要研究方向為信號處理、嵌入式系統(tǒng)應用,1458044923@ qq.com。
Design of FPGA-Based Real-Time Radar Signal Acquisition and Display System*
SUN Yumei*,ZHANG Yanfei,WANG Meichun,WANG Xuancheng
(Department of Electrical and Electronic Engineering,Yantai Nanshan Insitute,Yantai Shangdong,265713,China)
The aim of radar signals acquisition is to prepare for radar data processing,target detection,ranging and tracking.The system employs a microcomputer with a RAID card as the acquisition control equipment.A high speed,F(xiàn)PGA-based radar signals acquisition card is designed.The system uses dual-port RAM in FPGA and buffer storage to provide continuous acquisition,and data selection,coordinate inquiry-list mapping technique to implement real-time PPI display on microcomputer monitor.Test result shows that the system can collect,store and realtime display radar signals at a speed of 500 thousands data-sets per second.
radar;signal;data acquisition;FPGA
TN957.51
A
1005-9490(2016)03-0639-05
EEACC:632010.3969/j.issn.1005-9490.2016.03.027