??? 摘 要: 介紹了利用USB2.0技術設計雷達目標和數(shù)據(jù)采集系統(tǒng)" title="數(shù)據(jù)采集系統(tǒng)">數(shù)據(jù)采集系統(tǒng)接口的方案,給出了雷達目標檢測" title="目標檢測">目標檢測和數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)圖、USB固件" title="固件">固件程序、驅(qū)動程序及應用程序" title="應用程序">應用程序的設計方法。
?? 關鍵詞: 目標檢測和數(shù)據(jù)采集系統(tǒng)? USB2.0? 固件程序" title="固件程序">固件程序? 驅(qū)動程序
?
??? 數(shù)據(jù)采集系統(tǒng)是雷達目標識別系統(tǒng)的前端部分,也是整個雷達目標識別系統(tǒng)中的關鍵部分之一。雷達觀測目標時取得的用于分析、識別目標的測量數(shù)據(jù)子集就是通過數(shù)據(jù)采集獲得的。雷達目標識別系統(tǒng)為了提高系統(tǒng)的性能,要求獲得的測量數(shù)據(jù)更加準確、精度更高。性能完善的數(shù)據(jù)采集手段將使得雷達目標特性分析、特征提取和目標識別方法更加靈活多樣、特征信息更加完整,最終使得整個識別系統(tǒng)的性能得到提高。
??? 自20世紀60年代以來,由于雷達目標識別技術具有重要的軍事應用價值,學術界和應用部門越來越重視對它的研究和應用。在雷達數(shù)據(jù)信息的現(xiàn)場處理中,往往要求能迅速、可靠地完成設備之間的連接。同時,在芯片集成度越來越高、功能越來越強大的技術背景下,設備的體積小型化、功能集成、使用方便已成為產(chǎn)品設計中的重要思想之一。正是基于這一思想,本文將致力于雷達目標檢測與數(shù)據(jù)采集系統(tǒng)的USB接口的研究。該系統(tǒng)具有速度快、處理能力強、體積小、擴展方便等優(yōu)點。
1 系統(tǒng)硬件設計
1.1系統(tǒng)結(jié)構(gòu)
??? 本文開發(fā)的基于USB接口的雷達目標檢測和數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。信號由兩路輸入:第一路從檢測AD轉(zhuǎn)換模塊輸入,經(jīng)DSP進行算法檢測后,進行數(shù)據(jù)處理,其結(jié)果保存在FIFO內(nèi);第二路由采集AD轉(zhuǎn)換模塊輸入,采樣后的數(shù)據(jù)保存在兩路乒乓存儲器內(nèi)。主機通過USB接口可以從FIFO或兩路乒乓存儲器內(nèi)取出所需數(shù)據(jù)。
??????????????????????????????
??? 數(shù)字信號處理芯片選用TMS320C31-80。TMS320C31是TI公司生產(chǎn)的第一代浮點DSP芯片,具有32位的浮點精度,60ns的單周期指令執(zhí)行時間,能進行整數(shù)、浮點及邏輯運算,它是一個性價比較高的浮點處理器,是目前國內(nèi)應用比較廣泛的DSP芯片之一。DSP在系統(tǒng)中主要完成雷達目標檢測算法。目標檢測算法的基本思想是雙門限比較方法。第一門限檢測用來判斷目標是否存在;第二門限的檢測則判斷連續(xù)存在的目標的寬度,從而確定檢測目標的大小,這是基于對第一門限檢測后所檢測到的連續(xù)目標個數(shù)進行計數(shù)來實現(xiàn)的?!包c跡凝聚” 是DSP用于判斷目標連續(xù)存在時采用的基本方法。在目標檢測過程中,由于天線的發(fā)射波束形狀的影響,可能對同一目標在一段時間內(nèi)都會檢測到, DSP處理算法規(guī)定,在某一段時間內(nèi)出現(xiàn)的相關性目標為同一目標,計算這段時間該目標航跡的中心點,從而凝聚得到一個點,將這個點所在的方位和距離確定為目標的方位和距離,稱為“點跡凝聚”。
??? 在該系統(tǒng)中,共使用了兩片F(xiàn)PGA芯片,分別是Xilinx公司生產(chǎn)的xcs10和xcs30。它們主要完成以下工作:(1)從主機發(fā)送方位信息和距離信息到FPGA內(nèi)部的方位寄存器和距離寄存器;(2)對當前方位、當前距離進行記錄;(3)波門的產(chǎn)生和終止;(4)給數(shù)據(jù)幀加頭。
??? USB接口芯片CY7C68013的供電電壓為3.3V,可以通過USB連接電纜上的5V電壓得到供電電流,但是本系統(tǒng)功耗超出了USB協(xié)議中規(guī)定的“對于總線供電設備最大輸出電流500mA”的標準,所以采取了外供電源的方式。本系統(tǒng)為3.3V/5V電壓混合系統(tǒng),使用一塊CPLD(XCS95144)完成了不同電平之間的轉(zhuǎn)換。
1.2 FX2芯片
??? Cypress公司推出的EZ-USB FX2芯片也叫做CY7C68013,它是業(yè)界第一個支持USB2.0同時向下兼容USB1.1規(guī)范的單片機,其數(shù)據(jù)傳輸率可達到480Mbps。該芯片把USB2.0收發(fā)器、串行接口引擎SIE、增強的8051內(nèi)核、I2C總線接口以及GPIF集成于一體。因其具有速度快、體積小、擴展方便、供電方式靈活、支持熱插撥和即插即用方式等特點,所以在海量存儲器、打印機、掃描儀和PCMCIA等各種USB設備上得到了廣泛的應用。同時Cypress公司提供了相應的開發(fā)工具,降低了開發(fā)難度。
1.3 CY7C68013與FPGA接口
??? 在本課題研究中,確定需要通過該接口芯片完成的功能有:(1)主機發(fā)送控制命令給DSP;(2)發(fā)送存儲在FIFO的檢測結(jié)果給主機;(3)發(fā)送波門信息以便形成采集波門得到精細采集數(shù)據(jù);(4)發(fā)送由主機傳送來的通道控制命令;(5)發(fā)送存儲在RAM中的精細采集數(shù)據(jù)到主機。根據(jù)上述所必須完成的功能,確定USB接口芯片CY7C68013與外部的FPGA的連接方式,如圖2所示。
???????????????????????????
2 軟件設計
??? 首先,USB芯片要完成與PC主機的通信。因而,USB芯片必須開發(fā)有內(nèi)部的固件程序,以提供必要的設備描述符信息,響應主機的通信請求,并完成與FPGA的數(shù)據(jù)傳輸。而在主機端,則必須有能夠支持USB協(xié)議并控制傳輸?shù)腢SB驅(qū)動程序,在驅(qū)動程序的上端,還要有實現(xiàn)與驅(qū)動程序接口的應用程序。
2.1 固件程序設計
??? 固件程序完成的工作主要有處理設備請求和數(shù)據(jù)傳輸兩個方面。設備請求的處理通過一個死循環(huán)完成,數(shù)據(jù)傳輸則利用中斷服務程序?qū)崿F(xiàn)。整個固件工作流程如圖3所示。
???????????????????????????
??? 固件主程序主要完成對設備請求的處理。具體過程如下:先初始化狀態(tài)變量,再調(diào)用一個初始化函數(shù)TD_init(),在該函數(shù)中完成設置中斷寄存器、設置讀寫脈沖輸出使能、設置PB口輸出使能等功能,然后進入一個死循環(huán)。在死循環(huán)中先調(diào)用用戶定義的TD_POLL()函數(shù),該函數(shù)在設備功能單一情況下可以直接處理數(shù)據(jù)傳輸而無需使用中斷的方法,本設備因為用到多個端點,需要完成對外部模塊的多路控制,所以沒有采用通過TD_POLL()完成數(shù)據(jù)傳輸?shù)姆椒?,而是在接到SETUP令牌的情況下調(diào)用設備請求處理函數(shù)完成設備請求的處理。
??? 中斷服務程序主要用來完成數(shù)據(jù)傳輸,每一個端點的數(shù)據(jù)傳輸請求通過相應的中斷處理程序完成,在中斷服務程序中,必須注意在完成相應的功能后都必須進行中斷標志的清除。
??? 對于本USB接口芯片,中斷位的設置由硬件完成,由軟件清除。在清除過程中,除了對該端點中斷標志位清除外,還必須清除USB中斷標志位,否則,將出現(xiàn)中斷丟失的錯誤。
2.2 驅(qū)動程序的設計
??? 驅(qū)動程序開發(fā)需較長的周期,這里使用的是Cypress公司提供的EZUSB FX2通用驅(qū)動程序,實驗結(jié)果表明,系統(tǒng)能正常工作。
2.3 主機應用程序
??? 主機應用程序工作流程如圖4所示。
??????????????????????????????
??? 最上層的應用程序是用VC6.0開發(fā)的,主要完成與驅(qū)動程序的通信并接收用戶應用軟件的各種操作請求。應用程序的總體結(jié)構(gòu)由一個對話框窗口處理函數(shù)和一個對話框主程序組成,在消息處理函數(shù)中完成對各種消息的處理。主機應用程序主要完成3項功能:控制設備狀態(tài)、發(fā)送DSP工作參數(shù)、接收采集結(jié)果。另外,還完成固件下載、波形顯示,形成數(shù)據(jù)文件等功能。在實際的開發(fā)過程中,可以根據(jù)用戶需求添加函數(shù)完成相應的功能,如建立數(shù)據(jù)庫、動態(tài)顯示等。
2.4 應用程序和驅(qū)動程序的通信
??? 在Windows中,應用程序?qū)崿F(xiàn)與WDM通信的過程是:應用程序先用CreateFile函數(shù)打開設備,然后用DeviceIoControl與WDM進行通信,包括從WDM中讀數(shù)據(jù)和寫數(shù)據(jù)給WDM兩種情況,也可以用ReadFile從WDM中讀數(shù)據(jù)或用WriteFile寫數(shù)據(jù)給WDM。當應用程序退出時,用Closehandle關閉設備。這將產(chǎn)生對應于此設備的相應IRP。下面給出了應用程序與驅(qū)動程序進行通信的函數(shù):
??? DeviceIoControl (handle,
????????? IOCTL_EZUSB_BULK_WRITE,
??????&bulkControl,?
????????? sizeof(BULK_TRANSFER_CONTROL)?????????
????????? &outBuffer,??????????
????????? OutPacketSize,???????????
????? &nBytes,
????? NULL );?????????? // 本設計中采用bulk傳輸方式。
??? 基于雷達目標檢測和數(shù)據(jù)采集系統(tǒng)的USB接口具有傳輸速度快、通用性強、性價比高等特點,能夠滿足雷達數(shù)據(jù)實時傳輸?shù)男枰?BR>參考文獻
[1]?邊海龍. USB2.0設備的設計與開發(fā)[M]. 北京: 人民郵電出版社,2004.
[2] 武安河. Windows 2000/XP WDM設備驅(qū)動程序開發(fā)[M].北京:電子工業(yè)出版社, 2003.
[3] ?王書宏,姜衛(wèi)東,邱兆坤,等.雷達自動目標識別系統(tǒng)中目標檢測模塊的DSP實現(xiàn)[J].國防科學技術大學學報,
?2002,24(3):60-63.