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