摘 要: 基于USB2.0總線設計并實現(xiàn)了一種雷達視頻信號" title="雷達視頻信號">雷達視頻信號的高速采集與實時顯示系統(tǒng)。系統(tǒng)以Cypress公司的CY7C68013芯片作為USB2.0的專用接口芯片,以FPGA作為采集的時序控制以及與CY7C68013數(shù)據(jù)傳輸?shù)慕涌诳刂菩酒?,采用?shù)據(jù)抽取、坐標查表映射和DirectDraw等技術(shù)在普通顯示器上以P顯和A顯方式實時顯示。
關(guān)鍵詞: FPGA USB 數(shù)據(jù)采集 實時顯示
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸接口在低速時常采用標準串行口或并行口,高速時一般采用PCI總線接口。它們存在如下缺點:雖然標準串行口或并行口應用開發(fā)比較簡單,但是數(shù)據(jù)傳輸速率" title="傳輸速率">傳輸速率較低;PCI總線盡管數(shù)據(jù)傳輸速率可以達到1Gbps,但是硬件設計和驅(qū)動開發(fā)難度較大,PCI卡的尺寸面積限制了I/O接口的擴展,不能在筆記本電腦或便攜式PC上安裝,而且驅(qū)動程序安裝使用不方便;這三者都不支持即插即用的功能。目前流行的USB2.0傳輸協(xié)議的傳輸速率為480Mbps,是USB1.1傳輸速率的40倍,接近PCI傳輸速率的一半,而其接口簡單、便攜的優(yōu)點又是PCI無法比擬的,具有廣闊的發(fā)展前景。
本文設計并實現(xiàn)了一種基于USB2.0的雷達視頻信號高速采集與實時顯示系統(tǒng)。該系統(tǒng)采樣頻率達到10MHz,采樣精度為12位,采集數(shù)據(jù)以定時查詢的方式讀入計算機事先開辟的大容量內(nèi)存緩沖區(qū),同時從緩沖區(qū)讀出數(shù)據(jù)進行實時顯示,采集結(jié)束后再將內(nèi)存緩沖區(qū)中的數(shù)據(jù)存盤。為保證實時顯示,計算機必須在雷達天線旋轉(zhuǎn)一圈時間內(nèi)完成一圈所有數(shù)據(jù)的顯示。隨著CPU處理速度與內(nèi)存讀寫速度的大幅度提高,為充分利用微機資源、降低成本,采用數(shù)據(jù)抽取、坐標查表映射和DirectDraw等技術(shù)實現(xiàn)采集數(shù)據(jù)的實時顯示。
1 系統(tǒng)組成與工作原理
1.1 系統(tǒng)組成
本系統(tǒng)以計算機作為采集主控設備,雷達視頻回波信號的采集由一塊自行研制的USB2.0采集卡" title="采集卡">采集卡完成。USB2.0采集卡根據(jù)來自雷達系統(tǒng)的時鐘、同步觸發(fā)信號和天線方位、仰角信號控制對雷達視頻回波信號的采集,并將采集數(shù)據(jù)通過計算機USB2.0接口傳輸?shù)接嬎銠C內(nèi)存中,供計算機處理與顯示。實際系統(tǒng)中,選用便攜式筆記本電腦,同時將采集卡封裝于屏蔽盒內(nèi),并通過USB電纜與筆記本電腦相連。因此,本系統(tǒng)特別適用于外場數(shù)據(jù)采集。系統(tǒng)組成框圖如圖1所示。
本系統(tǒng)提供在線配置功能,用戶可通過USB接口對FPGA程序進行配置或升級,無需專用配置芯片,簡化了電路板設計,提高了系統(tǒng)的靈活性。
1.2 工作原理
系統(tǒng)采集工作的最高頻率為10MHz,基本滿足雷達視頻信號的采集,可根據(jù)實際需要對送給A/D" title="A/D">A/D的時鐘進行分頻設置相應的采集頻率。A/D的結(jié)果擴展為16位,高12位是A/D轉(zhuǎn)換結(jié)果,低4位為0,因此數(shù)據(jù)傳輸速率最高為20MBps。
系統(tǒng)工作原理如圖2,其中虛線框部分由FPGA實現(xiàn)。FPGA主要完成數(shù)據(jù)采集控制與數(shù)據(jù)傳輸控制任務。
數(shù)據(jù)采集控制:FPGA根據(jù)上位機設置的采集參數(shù)(包括采集起始命令、距離波門參數(shù)、方位、仰角波門參數(shù)等)完成對雷達視頻信號的波門控制,并對采集數(shù)據(jù)進行數(shù)據(jù)編碼,在波門起始信號有效后的6個采樣時鐘周期內(nèi),將A/D轉(zhuǎn)換結(jié)果丟棄,取而代之以同步頭、方位、仰角等數(shù)據(jù),過6個采樣時鐘后,再恢復成A/D的轉(zhuǎn)換結(jié)果。數(shù)據(jù)隨后送入FIFO A。
數(shù)據(jù)傳輸控制:由于USB沒有真正意義上的中斷,而是用查詢方式完成,最快的查詢間隔是1ms。以傳輸速率20MBps計算,在1ms內(nèi)有20KB的數(shù)據(jù),在FPGA內(nèi)部放不下,因此只能用外部SRAM實現(xiàn),用SRAM仿真FIFO的功能。SRAM控制部分將FIFO A中的數(shù)據(jù)傳給大容量的外部SRAM,進行數(shù)據(jù)緩沖,同時,當單片機內(nèi)部的FIFO“不滿”時,將數(shù)據(jù)通過FIFO B寫入單片機內(nèi)部的FIFO。其中,F(xiàn)IFO A與FIFO B由FPGA內(nèi)部BlockRAM資源配置生成,對FIFO A進行讀操作時,要注意檢測FIFO A的狀態(tài)為“不空”。對FIFO B進行寫操作時,要注意檢測FIFO B的狀態(tài)為“不滿”。
2 具體實現(xiàn)
2.1 USB2.0采集卡的硬件設計
USB2.0采集卡主要完成對雷達視頻回波信號的數(shù)據(jù)采集,模擬輸入信號為一路非相參的視頻信號,視頻信號的采集控制與數(shù)據(jù)傳輸由FPGA完成。方位和仰角信號采用數(shù)字量輸入。若伺服系統(tǒng)送來數(shù)字格式的伺服數(shù)據(jù)則可以直接輸入,若伺服系統(tǒng)送來模擬的自整角機信號則需要外接一個伺服接口板完成方位和仰角信號的數(shù)字化。采集卡硬件結(jié)構(gòu)框圖如圖3所示。
A/D選用美國ADI公司的AD9224,輸入范圍為0~4V,50Ω匹配,轉(zhuǎn)換精度12位,最高轉(zhuǎn)換頻率40MHz,單5V電源。A/D的輸入范圍設計成只接收雷達視頻信號。FPGA選用Xilinx Virtex系列,封裝為PQ240,具體型號為XCV50-PQ240,F(xiàn)PGA內(nèi)部的BlockRAM可配置為數(shù)據(jù)傳輸時所需的FIFO。SRAM選用Cypress公司的CY7C1041[B]V33,容量是256K×16bits,用于對數(shù)據(jù)進行大容量緩存,以滿足USB的傳輸需要。USB控制器選用Cypress公司的EZ-USB FX2系列USB2.0芯片CY7C68013,封裝為PQFP128。它支持USB2.0高速傳送,最高速率可達480Mbps。
2.2 固件" title="固件">固件(Firmware)設計
Cypress公司提供了固件架構(gòu)(frameworks),大大簡化了固件開發(fā)。該固件架構(gòu)利用8051程序代碼實現(xiàn)FX2芯片的起始設置、USB標準設備請求的處理以及USB閑置模式的電源管理服務。固件的編譯在Keil μVision的集成開發(fā)環(huán)境中進行,在建立的項目中包含五個文件:ez_usb.lib、fw.c、usbjmptb.obj、dscr.a51和periph.c。ez_usb.lib是EZUSB函數(shù)庫對象程序代碼,fw.c是固件架構(gòu)的程序代碼,usbjmptb.obj中定義USB中斷向量表。用戶僅需提供其USB描述符表(dscr.a51)和實現(xiàn)外圍功能的程序代碼(periph.c),即可完成完全兼容的USB設備固件設計。
本系統(tǒng)的外圍功能程序代碼(periph.c)的設計如下:
在初始設置函數(shù)TD_Init( )中,對FX2的接口模式進行設置,IFCONFIG=OxCB(48MHz內(nèi)部時鐘IFCLK,異步SlaveFIFO),設置四個端點(EP2、EP4、EP6和EP8),端點設置情況見表1。在初始化中,需要對FX2 內(nèi)單片機的I/O口及串口進行設置,為串行發(fā)送FPGA配置文件做準備。
在中斷程序中,ISR_Ep2inout( ) interrupt 0用得到的配置數(shù)據(jù)對FPGA進行配置; ISR_Ep4inout( ) interrupt 0將從應用軟件傳來的控制命令(包含對FPGA的配置命令)傳給FPGA;ISR_Ep6inout( ) interrupt 0將FIFO中的數(shù)據(jù)發(fā)往USB,EP6設置成自動打包方式(AUTOIN=1),在數(shù)據(jù)傳輸過程中無須8051固件的干預,數(shù)據(jù)寫入FIFO后,由智能串行接口引擎SIE直接打包通過USB收發(fā)器傳給主機,因此用戶功能函數(shù)TD_Poll( )為空,不做任何處理;ISR_Ep8inout( ) interrupt 0將從FPGA得到的狀態(tài)數(shù)據(jù)發(fā)往USB。在中斷程序中,需要添加中斷標志清除語句,但在EP6的中斷中,如果設置AUTOIN=1,則不需要。
2.3 驅(qū)動程序設計與使用
FX2的設備驅(qū)動程序有兩種:一種用來在設備接入時從主機下載固件到RAM中,稱為固件下載驅(qū)動程序(wdgtldr.sys);另一種是在設備重新列舉后加載的通用設備驅(qū)動程序(ezusb.sys),應用軟件通過該設備驅(qū)動程序與FX2通信。
固件的程序代碼既可以通過外部E2PROM下載,也可以通過主機下載。在本系統(tǒng)中選擇從主機下載。當采集卡與主機相連后,此時單片機內(nèi)還沒有程序,其缺省的ID號是:VID:0x04B4,PID:0x8613。主機通過這個ID號,找到固件下載驅(qū)動程序,并將相應的固件代碼下載到FX2的RAM中。wdgtldr.sys的生成是利用Cypress公司提供的固件下載驅(qū)動程序源代碼和用戶編譯成功的固件代碼,在Win2000 DDK中創(chuàng)建。
在將固件代碼下載到RAM后,系統(tǒng)清除內(nèi)存中的固件下載驅(qū)動程序,并重新列舉,讓8051固件控制FX2。此時,系統(tǒng)獲得由8051固件提供的新ID號,認為有新的USB設備接入,并據(jù)此加載相應的通用設備驅(qū)動程序。通用設備驅(qū)動程序一般不需要重新編寫,可以直接使用Cypress公司提供的驅(qū)動程序ezusb.sys。
為了增強系統(tǒng)的通用性和可移植性,可以對通用設備驅(qū)動程序(ezusb.sys)進行動態(tài)鏈接庫(DLL)函數(shù)封裝。動態(tài)鏈接庫對驅(qū)動程序的訪問都是通過DeviceIoControl調(diào)用實現(xiàn):首先調(diào)用Win32函數(shù)CreatFile( )得到設備驅(qū)動程序的句柄,然后調(diào)用Win32函數(shù)DeviceIoControl( ),通過得到的句柄把IOCTL和相關(guān)的輸入輸出緩沖區(qū)提交給驅(qū)動程序。當應用軟件退出時,用CIoseHandle( )關(guān)閉設備。
2.4 應用程序設計
在本系統(tǒng)中,應用軟件主要由動態(tài)鏈接庫和應用程序兩部分組成。動態(tài)鏈接庫負責與USB設備驅(qū)動程序通信,響應應用程序的各種請求;應用程序則以定時查詢的方式將采集數(shù)據(jù)讀入計算機事先開辟的大容量內(nèi)存緩沖區(qū),同時從緩沖區(qū)讀出數(shù)據(jù)實時顯示,采集結(jié)束后再將內(nèi)存緩沖區(qū)的數(shù)據(jù)存盤。
現(xiàn)代雷達天線轉(zhuǎn)速通常為每分鐘幾轉(zhuǎn)至幾十轉(zhuǎn),假設雷達天線轉(zhuǎn)速為10轉(zhuǎn)/分,則天線旋轉(zhuǎn)一圈的時間為6秒。這意味著要實現(xiàn)采集數(shù)據(jù)的實時P顯,則必須在6秒鐘完成一屏內(nèi)所有數(shù)據(jù)的計算和顯示。為此,設計時采用了數(shù)據(jù)抽取、坐標查表映射和DirectDraw等方法。
由于計算機分辨率要求一屏內(nèi)顯示的像素點遠小于天線轉(zhuǎn)動一圈所采集的數(shù)據(jù)點,為減輕微機負擔,可對視頻回波在周期和距離上進行數(shù)據(jù)抽取。假設雷達天線轉(zhuǎn)速為10轉(zhuǎn)/分,脈沖重復頻率為700μs,量程設為50千米,則在采樣率為10MHz情況下,天線轉(zhuǎn)動一圈采集到的點數(shù)約為3000萬。假設微機顯示器的分辨率為800×600,則一屏內(nèi)只需顯示約50萬個點??梢?,采用數(shù)據(jù)抽取方法后數(shù)據(jù)量降為原來的60分之一。
由于一般雷達回波信號采用極坐標體制,而光柵顯示器采用直角坐標系體制,因此必須進行坐標轉(zhuǎn)換。傳統(tǒng)坐標變換中正弦、余弦與乘、除法運算耗時過多,若將坐標轉(zhuǎn)換運算改用坐標查表映射,則可顯著提高運算速度。具體方法為:將光柵顯示器屏幕點陣賦予距圓心距離值、角度值和顏色值等屬性,將這些屬性依據(jù)極坐標的特性進行排序做成索引表,并在系統(tǒng)初始化時調(diào)入內(nèi)存,系統(tǒng)工作時無需再作變換,大大節(jié)省了CPU的運算時間。
坐標轉(zhuǎn)換機制建立后,鑒于P顯對實時畫圖速度的特殊要求,采用了DirectDraw技術(shù)。DirectDraw是DirectX技術(shù)的核心,可直接操作顯示內(nèi)存,進行硬件位操作、硬件覆蓋操作和頁面切換操作,它繞過了與Windows的圖形設備相連的多個層次,直接與硬件的底層打交道,產(chǎn)生快速、平穩(wěn)的圖形。
目前,本系統(tǒng)已對某型艦載警戒搜索雷達成功地進行了實際外場數(shù)據(jù)采集。實驗表明這個系統(tǒng)完全滿足所提出的指標要求,能夠做到大容量高速連續(xù)采集且穩(wěn)定可靠,測得的數(shù)據(jù)能夠真實地反映出目標與環(huán)境的特性,可用于檢驗各種目標檢測、識別、跟蹤算法。
本系統(tǒng)還可以應用于高速雷達信號處理機中,利用采集卡上的高速信號處理芯片直接對采集的雷達數(shù)據(jù)進行高速實時處理與分析。
參考文獻
1 汪 涵,羅曉平,謝定富.雷達視頻回波信號的高速采集與回放顯示.測控技術(shù),1999;(12)
2 李忠民,王子旭.高帶寬USB2.0接口的設計.信息與電子工程,2004;(4)
3 梁景新,薛余網(wǎng).PPI雷達信號微機顯示中快速極坐標—直角坐標映射.上海交通大學學報,1999;(1)
4 劉翠海,溫 東.光柵掃描顯示器上實現(xiàn)PPI雷達長余輝仿真.計算機仿真,2002;(2)