《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于USB2.0的雷達(dá)視頻信號(hào)高速采集與實(shí)時(shí)顯示系統(tǒng)

基于USB2.0的雷達(dá)視頻信號(hào)高速采集與實(shí)時(shí)顯示系統(tǒng)

2008-04-09
作者:宋 杰,何 友,唐小明

  摘 要: 基于USB2.0總線設(shè)計(jì)并實(shí)現(xiàn)了一種雷達(dá)視頻信號(hào)" title="雷達(dá)視頻信號(hào)">雷達(dá)視頻信號(hào)的高速采集與實(shí)時(shí)顯示系統(tǒng)。系統(tǒng)以Cypress公司的CY7C68013芯片作為USB2.0的專用接口芯片,以FPGA作為采集的時(shí)序控制以及與CY7C68013數(shù)據(jù)傳輸?shù)慕涌诳刂菩酒?,采用?shù)據(jù)抽取、坐標(biāo)查表映射和DirectDraw等技術(shù)在普通顯示器上以P顯和A顯方式實(shí)時(shí)顯示。
  關(guān)鍵詞: FPGA USB 數(shù)據(jù)采集 實(shí)時(shí)顯示


  傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸接口在低速時(shí)常采用標(biāo)準(zhǔn)串行口或并行口,高速時(shí)一般采用PCI總線接口。它們存在如下缺點(diǎn):雖然標(biāo)準(zhǔn)串行口或并行口應(yīng)用開發(fā)比較簡(jiǎn)單,但是數(shù)據(jù)傳輸速率" title="傳輸速率">傳輸速率較低;PCI總線盡管數(shù)據(jù)傳輸速率可以達(dá)到1Gbps,但是硬件設(shè)計(jì)和驅(qū)動(dòng)開發(fā)難度較大,PCI卡的尺寸面積限制了I/O接口的擴(kuò)展,不能在筆記本電腦或便攜式PC上安裝,而且驅(qū)動(dòng)程序安裝使用不方便;這三者都不支持即插即用的功能。目前流行的USB2.0傳輸協(xié)議的傳輸速率為480Mbps,是USB1.1傳輸速率的40倍,接近PCI傳輸速率的一半,而其接口簡(jiǎn)單、便攜的優(yōu)點(diǎn)又是PCI無法比擬的,具有廣闊的發(fā)展前景。
  本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于USB2.0的雷達(dá)視頻信號(hào)高速采集與實(shí)時(shí)顯示系統(tǒng)。該系統(tǒng)采樣頻率達(dá)到10MHz,采樣精度為12位,采集數(shù)據(jù)以定時(shí)查詢的方式讀入計(jì)算機(jī)事先開辟的大容量?jī)?nèi)存緩沖區(qū),同時(shí)從緩沖區(qū)讀出數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,采集結(jié)束后再將內(nèi)存緩沖區(qū)中的數(shù)據(jù)存盤。為保證實(shí)時(shí)顯示,計(jì)算機(jī)必須在雷達(dá)天線旋轉(zhuǎn)一圈時(shí)間內(nèi)完成一圈所有數(shù)據(jù)的顯示。隨著CPU處理速度與內(nèi)存讀寫速度的大幅度提高,為充分利用微機(jī)資源、降低成本,采用數(shù)據(jù)抽取、坐標(biāo)查表映射和DirectDraw等技術(shù)實(shí)現(xiàn)采集數(shù)據(jù)的實(shí)時(shí)顯示。
1 系統(tǒng)組成與工作原理
1.1 系統(tǒng)組成

  本系統(tǒng)以計(jì)算機(jī)作為采集主控設(shè)備,雷達(dá)視頻回波信號(hào)的采集由一塊自行研制的USB2.0采集卡" title="采集卡">采集卡完成。USB2.0采集卡根據(jù)來自雷達(dá)系統(tǒng)的時(shí)鐘、同步觸發(fā)信號(hào)和天線方位、仰角信號(hào)控制對(duì)雷達(dá)視頻回波信號(hào)的采集,并將采集數(shù)據(jù)通過計(jì)算機(jī)USB2.0接口傳輸?shù)接?jì)算機(jī)內(nèi)存中,供計(jì)算機(jī)處理與顯示。實(shí)際系統(tǒng)中,選用便攜式筆記本電腦,同時(shí)將采集卡封裝于屏蔽盒內(nèi),并通過USB電纜與筆記本電腦相連。因此,本系統(tǒng)特別適用于外場(chǎng)數(shù)據(jù)采集。系統(tǒng)組成框圖如圖1所示。


  本系統(tǒng)提供在線配置功能,用戶可通過USB接口對(duì)FPGA程序進(jìn)行配置或升級(jí),無需專用配置芯片,簡(jiǎn)化了電路板設(shè)計(jì),提高了系統(tǒng)的靈活性。
1.2 工作原理
  系統(tǒng)采集工作的最高頻率為10MHz,基本滿足雷達(dá)視頻信號(hào)的采集,可根據(jù)實(shí)際需要對(duì)送給A/D" title="A/D">A/D的時(shí)鐘進(jìn)行分頻設(shè)置相應(yīng)的采集頻率。A/D的結(jié)果擴(kuò)展為16位,高12位是A/D轉(zhuǎn)換結(jié)果,低4位為0,因此數(shù)據(jù)傳輸速率最高為20MBps。
  系統(tǒng)工作原理如圖2,其中虛線框部分由FPGA實(shí)現(xiàn)。FPGA主要完成數(shù)據(jù)采集控制與數(shù)據(jù)傳輸控制任務(wù)。


  數(shù)據(jù)采集控制:FPGA根據(jù)上位機(jī)設(shè)置的采集參數(shù)(包括采集起始命令、距離波門參數(shù)、方位、仰角波門參數(shù)等)完成對(duì)雷達(dá)視頻信號(hào)的波門控制,并對(duì)采集數(shù)據(jù)進(jìn)行數(shù)據(jù)編碼,在波門起始信號(hào)有效后的6個(gè)采樣時(shí)鐘周期內(nèi),將A/D轉(zhuǎn)換結(jié)果丟棄,取而代之以同步頭、方位、仰角等數(shù)據(jù),過6個(gè)采樣時(shí)鐘后,再恢復(fù)成A/D的轉(zhuǎn)換結(jié)果。數(shù)據(jù)隨后送入FIFO A。
  數(shù)據(jù)傳輸控制:由于USB沒有真正意義上的中斷,而是用查詢方式完成,最快的查詢間隔是1ms。以傳輸速率20MBps計(jì)算,在1ms內(nèi)有20KB的數(shù)據(jù),在FPGA內(nèi)部放不下,因此只能用外部SRAM實(shí)現(xiàn),用SRAM仿真FIFO的功能。SRAM控制部分將FIFO A中的數(shù)據(jù)傳給大容量的外部SRAM,進(jìn)行數(shù)據(jù)緩沖,同時(shí),當(dāng)單片機(jī)內(nèi)部的FIFO“不滿”時(shí),將數(shù)據(jù)通過FIFO B寫入單片機(jī)內(nèi)部的FIFO。其中,F(xiàn)IFO A與FIFO B由FPGA內(nèi)部BlockRAM資源配置生成,對(duì)FIFO A進(jìn)行讀操作時(shí),要注意檢測(cè)FIFO A的狀態(tài)為“不空”。對(duì)FIFO B進(jìn)行寫操作時(shí),要注意檢測(cè)FIFO B的狀態(tài)為“不滿”。
2 具體實(shí)現(xiàn)
2.1 USB2.0采集卡的硬件設(shè)計(jì)
  USB2.0采集卡主要完成對(duì)雷達(dá)視頻回波信號(hào)的數(shù)據(jù)采集,模擬輸入信號(hào)為一路非相參的視頻信號(hào),視頻信號(hào)的采集控制與數(shù)據(jù)傳輸由FPGA完成。方位和仰角信號(hào)采用數(shù)字量輸入。若伺服系統(tǒng)送來數(shù)字格式的伺服數(shù)據(jù)則可以直接輸入,若伺服系統(tǒng)送來模擬的自整角機(jī)信號(hào)則需要外接一個(gè)伺服接口板完成方位和仰角信號(hào)的數(shù)字化。采集卡硬件結(jié)構(gòu)框圖如圖3所示。


  A/D選用美國ADI公司的AD9224,輸入范圍為0~4V,50Ω匹配,轉(zhuǎn)換精度12位,最高轉(zhuǎn)換頻率40MHz,單5V電源。A/D的輸入范圍設(shè)計(jì)成只接收雷達(dá)視頻信號(hào)。FPGA選用Xilinx Virtex系列,封裝為PQ240,具體型號(hào)為XCV50-PQ240,F(xiàn)PGA內(nèi)部的BlockRAM可配置為數(shù)據(jù)傳輸時(shí)所需的FIFO。SRAM選用Cypress公司的CY7C1041[B]V33,容量是256K×16bits,用于對(duì)數(shù)據(jù)進(jìn)行大容量緩存,以滿足USB的傳輸需要。USB控制器選用Cypress公司的EZ-USB FX2系列USB2.0芯片CY7C68013,封裝為PQFP128。它支持USB2.0高速傳送,最高速率可達(dá)480Mbps。
2.2 固件" title="固件">固件(Firmware)設(shè)計(jì)
  Cypress公司提供了固件架構(gòu)(frameworks),大大簡(jiǎn)化了固件開發(fā)。該固件架構(gòu)利用8051程序代碼實(shí)現(xiàn)FX2芯片的起始設(shè)置、USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求的處理以及USB閑置模式的電源管理服務(wù)。固件的編譯在Keil μVision的集成開發(fā)環(huán)境中進(jìn)行,在建立的項(xiàng)目中包含五個(gè)文件:ez_usb.lib、fw.c、usbjmptb.obj、dscr.a51和periph.c。ez_usb.lib是EZUSB函數(shù)庫對(duì)象程序代碼,fw.c是固件架構(gòu)的程序代碼,usbjmptb.obj中定義USB中斷向量表。用戶僅需提供其USB描述符表(dscr.a51)和實(shí)現(xiàn)外圍功能的程序代碼(periph.c),即可完成完全兼容的USB設(shè)備固件設(shè)計(jì)。
  本系統(tǒng)的外圍功能程序代碼(periph.c)的設(shè)計(jì)如下:
  在初始設(shè)置函數(shù)TD_Init( )中,對(duì)FX2的接口模式進(jìn)行設(shè)置,IFCONFIG=OxCB(48MHz內(nèi)部時(shí)鐘IFCLK,異步SlaveFIFO),設(shè)置四個(gè)端點(diǎn)(EP2、EP4、EP6和EP8),端點(diǎn)設(shè)置情況見表1。在初始化中,需要對(duì)FX2 內(nèi)單片機(jī)的I/O口及串口進(jìn)行設(shè)置,為串行發(fā)送FPGA配置文件做準(zhǔn)備。


  在中斷程序中,ISR_Ep2inout( ) interrupt 0用得到的配置數(shù)據(jù)對(duì)FPGA進(jìn)行配置; ISR_Ep4inout( ) interrupt 0將從應(yīng)用軟件傳來的控制命令(包含對(duì)FPGA的配置命令)傳給FPGA;ISR_Ep6inout( ) interrupt 0將FIFO中的數(shù)據(jù)發(fā)往USB,EP6設(shè)置成自動(dòng)打包方式(AUTOIN=1),在數(shù)據(jù)傳輸過程中無須8051固件的干預(yù),數(shù)據(jù)寫入FIFO后,由智能串行接口引擎SIE直接打包通過USB收發(fā)器傳給主機(jī),因此用戶功能函數(shù)TD_Poll( )為空,不做任何處理;ISR_Ep8inout( ) interrupt 0將從FPGA得到的狀態(tài)數(shù)據(jù)發(fā)往USB。在中斷程序中,需要添加中斷標(biāo)志清除語句,但在EP6的中斷中,如果設(shè)置AUTOIN=1,則不需要。
2.3 驅(qū)動(dòng)程序設(shè)計(jì)與使用
  FX2的設(shè)備驅(qū)動(dòng)程序有兩種:一種用來在設(shè)備接入時(shí)從主機(jī)下載固件到RAM中,稱為固件下載驅(qū)動(dòng)程序(wdgtldr.sys);另一種是在設(shè)備重新列舉后加載的通用設(shè)備驅(qū)動(dòng)程序(ezusb.sys),應(yīng)用軟件通過該設(shè)備驅(qū)動(dòng)程序與FX2通信。
  固件的程序代碼既可以通過外部E2PROM下載,也可以通過主機(jī)下載。在本系統(tǒng)中選擇從主機(jī)下載。當(dāng)采集卡與主機(jī)相連后,此時(shí)單片機(jī)內(nèi)還沒有程序,其缺省的ID號(hào)是:VID:0x04B4,PID:0x8613。主機(jī)通過這個(gè)ID號(hào),找到固件下載驅(qū)動(dòng)程序,并將相應(yīng)的固件代碼下載到FX2的RAM中。wdgtldr.sys的生成是利用Cypress公司提供的固件下載驅(qū)動(dòng)程序源代碼和用戶編譯成功的固件代碼,在Win2000 DDK中創(chuàng)建。
  在將固件代碼下載到RAM后,系統(tǒng)清除內(nèi)存中的固件下載驅(qū)動(dòng)程序,并重新列舉,讓8051固件控制FX2。此時(shí),系統(tǒng)獲得由8051固件提供的新ID號(hào),認(rèn)為有新的USB設(shè)備接入,并據(jù)此加載相應(yīng)的通用設(shè)備驅(qū)動(dòng)程序。通用設(shè)備驅(qū)動(dòng)程序一般不需要重新編寫,可以直接使用Cypress公司提供的驅(qū)動(dòng)程序ezusb.sys。
  為了增強(qiáng)系統(tǒng)的通用性和可移植性,可以對(duì)通用設(shè)備驅(qū)動(dòng)程序(ezusb.sys)進(jìn)行動(dòng)態(tài)鏈接庫(DLL)函數(shù)封裝。動(dòng)態(tài)鏈接庫對(duì)驅(qū)動(dòng)程序的訪問都是通過DeviceIoControl調(diào)用實(shí)現(xiàn):首先調(diào)用Win32函數(shù)CreatFile( )得到設(shè)備驅(qū)動(dòng)程序的句柄,然后調(diào)用Win32函數(shù)DeviceIoControl( ),通過得到的句柄把IOCTL和相關(guān)的輸入輸出緩沖區(qū)提交給驅(qū)動(dòng)程序。當(dāng)應(yīng)用軟件退出時(shí),用CIoseHandle( )關(guān)閉設(shè)備。
2.4 應(yīng)用程序設(shè)計(jì)
  在本系統(tǒng)中,應(yīng)用軟件主要由動(dòng)態(tài)鏈接庫和應(yīng)用程序兩部分組成。動(dòng)態(tài)鏈接庫負(fù)責(zé)與USB設(shè)備驅(qū)動(dòng)程序通信,響應(yīng)應(yīng)用程序的各種請(qǐng)求;應(yīng)用程序則以定時(shí)查詢的方式將采集數(shù)據(jù)讀入計(jì)算機(jī)事先開辟的大容量?jī)?nèi)存緩沖區(qū),同時(shí)從緩沖區(qū)讀出數(shù)據(jù)實(shí)時(shí)顯示,采集結(jié)束后再將內(nèi)存緩沖區(qū)的數(shù)據(jù)存盤。
  現(xiàn)代雷達(dá)天線轉(zhuǎn)速通常為每分鐘幾轉(zhuǎn)至幾十轉(zhuǎn),假設(shè)雷達(dá)天線轉(zhuǎn)速為10轉(zhuǎn)/分,則天線旋轉(zhuǎn)一圈的時(shí)間為6秒。這意味著要實(shí)現(xiàn)采集數(shù)據(jù)的實(shí)時(shí)P顯,則必須在6秒鐘完成一屏內(nèi)所有數(shù)據(jù)的計(jì)算和顯示。為此,設(shè)計(jì)時(shí)采用了數(shù)據(jù)抽取、坐標(biāo)查表映射和DirectDraw等方法。
  由于計(jì)算機(jī)分辨率要求一屏內(nèi)顯示的像素點(diǎn)遠(yuǎn)小于天線轉(zhuǎn)動(dòng)一圈所采集的數(shù)據(jù)點(diǎn),為減輕微機(jī)負(fù)擔(dān),可對(duì)視頻回波在周期和距離上進(jìn)行數(shù)據(jù)抽取。假設(shè)雷達(dá)天線轉(zhuǎn)速為10轉(zhuǎn)/分,脈沖重復(fù)頻率為700μs,量程設(shè)為50千米,則在采樣率為10MHz情況下,天線轉(zhuǎn)動(dòng)一圈采集到的點(diǎn)數(shù)約為3000萬。假設(shè)微機(jī)顯示器的分辨率為800×600,則一屏內(nèi)只需顯示約50萬個(gè)點(diǎn)。可見,采用數(shù)據(jù)抽取方法后數(shù)據(jù)量降為原來的60分之一。
  由于一般雷達(dá)回波信號(hào)采用極坐標(biāo)體制,而光柵顯示器采用直角坐標(biāo)系體制,因此必須進(jìn)行坐標(biāo)轉(zhuǎn)換。傳統(tǒng)坐標(biāo)變換中正弦、余弦與乘、除法運(yùn)算耗時(shí)過多,若將坐標(biāo)轉(zhuǎn)換運(yùn)算改用坐標(biāo)查表映射,則可顯著提高運(yùn)算速度。具體方法為:將光柵顯示器屏幕點(diǎn)陣賦予距圓心距離值、角度值和顏色值等屬性,將這些屬性依據(jù)極坐標(biāo)的特性進(jìn)行排序做成索引表,并在系統(tǒng)初始化時(shí)調(diào)入內(nèi)存,系統(tǒng)工作時(shí)無需再作變換,大大節(jié)省了CPU的運(yùn)算時(shí)間。
  坐標(biāo)轉(zhuǎn)換機(jī)制建立后,鑒于P顯對(duì)實(shí)時(shí)畫圖速度的特殊要求,采用了DirectDraw技術(shù)。DirectDraw是DirectX技術(shù)的核心,可直接操作顯示內(nèi)存,進(jìn)行硬件位操作、硬件覆蓋操作和頁面切換操作,它繞過了與Windows的圖形設(shè)備相連的多個(gè)層次,直接與硬件的底層打交道,產(chǎn)生快速、平穩(wěn)的圖形。
  目前,本系統(tǒng)已對(duì)某型艦載警戒搜索雷達(dá)成功地進(jìn)行了實(shí)際外場(chǎng)數(shù)據(jù)采集。實(shí)驗(yàn)表明這個(gè)系統(tǒng)完全滿足所提出的指標(biāo)要求,能夠做到大容量高速連續(xù)采集且穩(wěn)定可靠,測(cè)得的數(shù)據(jù)能夠真實(shí)地反映出目標(biāo)與環(huán)境的特性,可用于檢驗(yàn)各種目標(biāo)檢測(cè)、識(shí)別、跟蹤算法。
  本系統(tǒng)還可以應(yīng)用于高速雷達(dá)信號(hào)處理機(jī)中,利用采集卡上的高速信號(hào)處理芯片直接對(duì)采集的雷達(dá)數(shù)據(jù)進(jìn)行高速實(shí)時(shí)處理與分析。
參考文獻(xiàn)
1 汪 涵,羅曉平,謝定富.雷達(dá)視頻回波信號(hào)的高速采集與回放顯示.測(cè)控技術(shù),1999;(12)
2 李忠民,王子旭.高帶寬USB2.0接口的設(shè)計(jì).信息與電子工程,2004;(4)
3 梁景新,薛余網(wǎng).PPI雷達(dá)信號(hào)微機(jī)顯示中快速極坐標(biāo)—直角坐標(biāo)映射.上海交通大學(xué)學(xué)報(bào),1999;(1)
4 劉翠海,溫 東.光柵掃描顯示器上實(shí)現(xiàn)PPI雷達(dá)長(zhǎng)余輝仿真.計(jì)算機(jī)仿真,2002;(2)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。