摘 要: 提出了一種新的基于虛擬圖像注入的目標(biāo)模擬器的研究方法。該方法基于速度追蹤原理,。模擬器從主控計(jì)算機(jī)獲得跟蹤設(shè)備及目標(biāo)的參數(shù),,用DSP產(chǎn)生圖像數(shù)據(jù),F(xiàn)PGA控制圖像時(shí)序,,最后通過(guò)Camera Link接口將目標(biāo)跟蹤的圖像數(shù)據(jù)發(fā)送出去,,完成對(duì)目標(biāo)捕獲及跟蹤的模擬訓(xùn)練過(guò)程。給出了軟,、硬件實(shí)現(xiàn)的方案和結(jié)構(gòu),。跟蹤捕獲過(guò)程可以達(dá)到目標(biāo)場(chǎng)景的全景性和實(shí)時(shí)性,能夠滿足光電跟瞄設(shè)備的運(yùn)行維護(hù)與操作訓(xùn)練要求。
關(guān)鍵詞: 虛擬圖像注入,;FPGA,;DSP;異步FIFO,;Camera Link
軍隊(duì)靶場(chǎng)訓(xùn)練基地用于跟蹤高速運(yùn)動(dòng)目標(biāo)的主要手段是光電跟瞄設(shè)備,。對(duì)于光電跟瞄系統(tǒng)而言,操作訓(xùn)練需要外部目標(biāo)環(huán)境的緊密配合,,因此,,訓(xùn)練所需的目標(biāo)環(huán)境構(gòu)建成為對(duì)操作手訓(xùn)練和對(duì)光電跟瞄設(shè)備仿真檢測(cè)的關(guān)鍵因素之一。如果通過(guò)現(xiàn)場(chǎng)飛行試驗(yàn)來(lái)構(gòu)造目標(biāo)環(huán)境,,則訓(xùn)練成本過(guò)大,,還受到天氣等環(huán)境因素的影響。因此,,如何低成本而又高效率地完成操作訓(xùn)練是目前困擾相關(guān)軍事單位的一個(gè)難題,。
目前,在靶場(chǎng)訓(xùn)練的項(xiàng)目中,,通過(guò)研制目標(biāo)模擬器來(lái)構(gòu)造目標(biāo)環(huán)境,,并采用虛擬場(chǎng)景注入的方法來(lái)實(shí)現(xiàn)。該方法通過(guò)事先錄制好一段目標(biāo)場(chǎng)景的圖像,,操作手根據(jù)觀看播放的錄像,,操縱光電跟瞄設(shè)備對(duì)錄像中的目標(biāo)進(jìn)行跟蹤捕獲訓(xùn)練。但此方法沒有反饋,,而且實(shí)時(shí)性較差,。本文提出一種新的虛擬圖像注入方法。該方法實(shí)時(shí)獲得跟蹤設(shè)備及目標(biāo)的運(yùn)行參數(shù),,根據(jù)速度追蹤原理模擬生成目標(biāo)及背景的圖像數(shù)據(jù),,從而達(dá)到跟蹤訓(xùn)練的目的。該方法實(shí)現(xiàn)簡(jiǎn)單方便,、可操作性強(qiáng),,更加注重操作手對(duì)光電跟瞄設(shè)備操縱的性能。
1 目標(biāo)模擬訓(xùn)練系統(tǒng)的運(yùn)行模式
在工作過(guò)程中,,首先由操作手根據(jù)訓(xùn)練需要設(shè)定目標(biāo)模擬的速度,、機(jī)動(dòng)特性等初始參數(shù)并送到主控系統(tǒng);按照設(shè)定的目標(biāo)運(yùn)行特點(diǎn)在每幀待輸出圖像上設(shè)定,、調(diào)整目標(biāo)位置,;目標(biāo)模擬器通過(guò)主控計(jì)算機(jī)接收編碼器位置信息,并解算設(shè)備運(yùn)行速度,,根據(jù)速度追蹤原理輸出實(shí)時(shí)跟蹤的圖像數(shù)據(jù),;將圖像處理系統(tǒng)轉(zhuǎn)換到接收目標(biāo)模擬器輸出圖像信息的模式;圖像處理器將疊加十字絲的視頻圖像傳送給操作手的監(jiān)視器,;操作手操作單桿控制伺服系統(tǒng)運(yùn)轉(zhuǎn),,使回轉(zhuǎn)平臺(tái)運(yùn)轉(zhuǎn)對(duì)目標(biāo)進(jìn)行模擬捕獲;最后,,圖像處理器根據(jù)編碼器返回?cái)?shù)據(jù)實(shí)時(shí)調(diào)整目標(biāo)位置,,完成對(duì)目標(biāo)捕獲過(guò)程的模擬訓(xùn)練。系統(tǒng)運(yùn)行模式如圖1所示,。
2 數(shù)學(xué)建模
目標(biāo)模擬器的數(shù)學(xué)模型基于速度追蹤原理:假設(shè)目標(biāo)按照特定速度與設(shè)備視軸做等速運(yùn)動(dòng),,該速度在單幀合成圖片中體現(xiàn)為位置脫靶量,如圖2所示,。
圖2中ΔA和ΔE的初始設(shè)置為:
當(dāng)操作手開始進(jìn)行手動(dòng)跟蹤時(shí),,目標(biāo)仿真圖像的調(diào)整數(shù)學(xué)模型為:
3 硬件設(shè)計(jì)
目標(biāo)模擬器由串口轉(zhuǎn)換模塊、DSP模塊,、FPGA模塊,、Camera Link接口模塊組成,結(jié)構(gòu)如圖3所示,。
DSP采用TI公司的TMS320F2812芯片,,它是目前用于控制領(lǐng)域的最高性能的處理器,具有控制精度高,、速度快,、使用靈活以及集成度高等優(yōu)點(diǎn),運(yùn)行速率可達(dá)150 MIPS,,指令采用流水線處理,,使得數(shù)據(jù)處理的能力大大增強(qiáng)[1]。設(shè)計(jì)中主要利用其串行通信(SCI)接口,、外部中斷(XINTx)接口和外部擴(kuò)展(XINTF)接口,。通過(guò)與主控計(jì)算機(jī)進(jìn)行通信,接收模擬目標(biāo)和跟蹤設(shè)備的參數(shù),,并根據(jù)建立的數(shù)學(xué)模型解算出目標(biāo)及設(shè)備的坐標(biāo),,實(shí)時(shí)生成目標(biāo)及背景的圖像數(shù)據(jù),同時(shí)接收時(shí)統(tǒng)的同步中斷信號(hào),。
設(shè)計(jì)中選用MAXIM公司的MAX3070芯片進(jìn)行RS-422到RS-232協(xié)議的轉(zhuǎn)換,,利用DSP2812的SCI模塊實(shí)現(xiàn)與主控計(jì)算機(jī)的通信。把MAX3070的DI腳與DSP2812的SCITXD相連,,RO與DSP2812的SCIRXD相連,,同時(shí)為了保證順利地與主控計(jì)算機(jī)通信,允許接收RE#腳直接接地,,允許發(fā)送DI腳直接接VCC,。加上兩個(gè)電阻以及去耦電容實(shí)現(xiàn)了串行通信接口的硬件設(shè)計(jì)[2]。DSP2812通過(guò)外部擴(kuò)展接口(XINTF)與FPGA進(jìn)行數(shù)據(jù)傳遞,將XWE#引腳作為寫使能信號(hào)與FPGA的I/O腳相連,,將XCLKOUT引腳作為寫時(shí)鐘信號(hào)與FPGA的I/O腳相連,,將16位數(shù)據(jù)線與FPGA的I/O腳相連,來(lái)傳送圖像數(shù)據(jù)信號(hào),。
FPGA以ALTERA公司的Cyclone II系列的EP2C8-Q208C8芯片作為目標(biāo)模擬器的時(shí)序和邏輯控制核心,。EP2C8Q208C8具有8 256個(gè)的邏輯單元(LE)、165 888 bit基于流行的M4K嵌入式存儲(chǔ)器塊,,可以配置為廣泛的操作模式,,包括ROM、單端口和雙端口RAM等,。設(shè)計(jì)中用芯片內(nèi)部的雙端口RAM構(gòu)造異步FIFO控制圖像數(shù)據(jù)的時(shí)序,,加上幀同步(FVAL)和行同步(LVAL)信號(hào)一起按照紅外圖像的設(shè)計(jì)時(shí)序要求將圖像數(shù)據(jù)發(fā)送到Camera Link接口模塊。
Camera Link接口采用DS90CR287作為驅(qū)動(dòng)芯片,,是專用的電平轉(zhuǎn)換器件,,能將28位CMOS/TTL電平數(shù)據(jù)和1位像素時(shí)鐘信號(hào)分別轉(zhuǎn)換成4組LVDS數(shù)據(jù)流及一對(duì)LVDS時(shí)鐘信號(hào)進(jìn)行傳輸。由于采用差分傳輸方式,,提高了傳輸距離及信號(hào)精度,。使用標(biāo)準(zhǔn)的MDR26作為Camera Link接口與圖像采集卡之間的連接接口。
4 軟件設(shè)計(jì)
目標(biāo)模擬器的軟件設(shè)計(jì)主要由DSP程序和FPGA程序組成,。
DSP程序流程圖如圖4所示,。由于生成圖像數(shù)據(jù)要通過(guò)DSP芯片的外部接口XINTF發(fā)送,DSP2812有5個(gè)固定的存儲(chǔ)映像區(qū)域,,設(shè)計(jì)中采用ZONE2區(qū)作為映像區(qū)域,,所以首先要解決數(shù)據(jù)存儲(chǔ)映像的問(wèn)題。本設(shè)計(jì)采用CCS提供的下面兩個(gè)指令實(shí)現(xiàn)數(shù)據(jù)映像,。
#pragma CODE_SECTION 針對(duì)程序空間,;
#pragma DATA_SECTION 針對(duì)數(shù)據(jù)空間;
具體程序?qū)崿F(xiàn)如下:
#pragma DATA_SECTION(pRGB,,″My_Sect″)
struct
{ Uint16 r,;
Uint16 w;
}pRGB[320][240],;
在.cmd文件中建立對(duì)應(yīng)的section就可以使用了,。
MEMORY
{PAGE1: ZONE2 :origin=0x080000,length=0x080000 }
SECTIONS
{My_Sect ?。?gt;ZONE2,, PAGE=1 }
建立映像后要設(shè)置XINTF的相應(yīng)寄存器值,對(duì)于外部接口的訪問(wèn)主要分為3個(gè)階段:(1)建立階段:被訪問(wèn)區(qū)的片選信號(hào)變?yōu)榈碗娖?,地址被放置在地址總線上,;(2)激活階段:對(duì)外部器件進(jìn)行訪問(wèn),。本設(shè)計(jì)主要是寫訪問(wèn),寫使能(XWE#)選通變低并將數(shù)據(jù)放置在數(shù)據(jù)總線上(XD),;(3)跟蹤階段:跟蹤階段為一保持時(shí)間,,其片選信號(hào)為低,而后讀和寫選通變?yōu)楦遊1],。
具體設(shè)置如下:
XintfRegs.XTIMING2.bit.XWRLEAD=1
XintfRegs.XTIMING2.bit.XWRACTIVE=1
XintfRegs.XTIMING2.bit.XWRTRAIL=1
建立,、激活,、跟蹤分別為1個(gè)時(shí)鐘周期,。
DSP2812的串行通信(SCI)模塊使用16位的波特率選擇寄存器(SCIHBAUD和SCILBAUD)設(shè)置SCI的波特率,因此SCI可以采用64 K種不同的波特率進(jìn)行通信,,通過(guò)下面的公式計(jì)算出寫入寄存器的值:
其中:BRR為寫入寄存器的值,。設(shè)計(jì)中系統(tǒng)時(shí)鐘為30 MHz,波特率為38 400,,則:
所以寄存器SCIHBAUD和SCILBAUD中的值分別為00H和60H,。
FPGA程序結(jié)構(gòu)圖如圖5所示,設(shè)計(jì)中使用Verilog HDL硬件描述語(yǔ)言進(jìn)行時(shí)序設(shè)計(jì),。
從圖5可以看出,,采用模塊化的設(shè)計(jì)方法,圖像數(shù)據(jù)的寫操作和讀操作分別工作在兩個(gè)不同的時(shí)鐘域內(nèi),,數(shù)據(jù)的寫入是連續(xù)的,,數(shù)據(jù)的讀出是按照一定的幀頻和行頻進(jìn)行的。本設(shè)計(jì)采用雙端口RAM構(gòu)造異步FIFO的方法來(lái)實(shí)現(xiàn),。一方面要解決異步FIFO設(shè)計(jì)中存在的難點(diǎn),;另一方面要與Camera Link接口進(jìn)行視頻數(shù)據(jù)的同步控制,生成場(chǎng)同步信號(hào)FAVAL和行同步信號(hào)LVAL,。
整個(gè)程序可分為6個(gè)模塊,。其中FIFO控制器模塊中包含一個(gè)雙端口RAM,用來(lái)存儲(chǔ)數(shù)據(jù)及控制讀寫操作,;寫地址與滿標(biāo)志邏輯生成寫地址并產(chǎn)生滿標(biāo)志,,寫地址和寫使能由DSP提供;讀地址與空標(biāo)志邏輯生成讀地址并產(chǎn)生空標(biāo)志,,讀時(shí)鐘由系統(tǒng)時(shí)鐘通過(guò)計(jì)數(shù)分頻得到,。因?yàn)樽x操作要在LVAL信號(hào)的控制下完成,所以讀使能信號(hào)使用LVAL,,其中空,、滿狀態(tài)通過(guò)增加標(biāo)志位和劃分地址空間來(lái)產(chǎn)生;比較邏輯用來(lái)異步比較讀,、寫地址,,并產(chǎn)生將滿,、將空信號(hào),其中讀,、寫地址用格雷碼指針表示,。該設(shè)計(jì)很好地解決了異步FIFO設(shè)計(jì)中存在的兩個(gè)關(guān)鍵問(wèn)題,即降低了電路中亞穩(wěn)態(tài)的出現(xiàn)概率,,正確產(chǎn)生了空,、滿狀態(tài)邏輯[3]。FVAL和LVAL的計(jì)算方法如下所述,。
設(shè)計(jì)中像素時(shí)鐘信號(hào)PIXCLK的頻率為10 MHz,。模擬的圖像數(shù)據(jù)的像素為320×240,幀頻為50 Hz,,即每秒傳輸50幀圖像,。行同步信號(hào)LVAL和幀同步信號(hào)FVAL均由像素時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)產(chǎn)生,其時(shí)序如圖6所示,。
圖6中,,P1為35個(gè)PIXCLK時(shí)鐘周期;A為320個(gè)PIXCLK,;即一行包含320個(gè)像素點(diǎn),;Q為47個(gè)PIXCLK;P2為13個(gè)PIXCLK,,幀同步信號(hào)FVAL為低電平的時(shí)間是111 872個(gè)PIXCLK,。一幀圖像包含240行有效數(shù)據(jù),可計(jì)算出傳輸一幀圖像信號(hào)的時(shí)間為240×(A+Q)+P1+P2+111 872=200 000個(gè)PIXCLK時(shí)鐘周期,,幀頻為10 MHz÷200 000=50 Hz[4],。
5 實(shí)驗(yàn)結(jié)果
將DSP程序和FPGA程序下載到實(shí)驗(yàn)板中,使用開發(fā)工具Quartus II6.0中自帶的邏輯分析儀SignalTap對(duì)試驗(yàn)中的主要信號(hào)進(jìn)行采樣監(jiān)測(cè),,采樣結(jié)果如圖7所示,。其中data為寫入數(shù)據(jù),wraddress為寫地址,,rdata為讀出數(shù)據(jù),,raddress為讀地址。當(dāng)行有效信號(hào)lval為低時(shí)讀操作停止,,當(dāng)寫滿信號(hào)為高時(shí)數(shù)據(jù)停止寫入,。結(jié)果表明信號(hào)時(shí)序準(zhǔn)確,數(shù)據(jù)和地址沒有毛刺現(xiàn)象,。最后將實(shí)驗(yàn)板連接到圖像采集卡,,模擬的圖像像素是320×240,頻率是50 Hz,,通過(guò)觀看采集卡采集的圖像,,表明圖像時(shí)序穩(wěn)定,,能夠達(dá)到設(shè)計(jì)要求。
設(shè)計(jì)中采用新的虛擬圖像注入方法的目標(biāo)模擬器為訓(xùn)練系統(tǒng)提供目標(biāo)的圖像數(shù)據(jù),,該方法實(shí)現(xiàn)簡(jiǎn)單,。基于Camera Link接口協(xié)議的圖像信號(hào)采用LVDS方式傳輸,,增加了傳輸距離,,提高了傳輸過(guò)程中的信號(hào)精度。經(jīng)過(guò)試驗(yàn)測(cè)定圖像數(shù)據(jù)信號(hào)穩(wěn)定,、可靠,,各項(xiàng)指標(biāo)與目前光電跟瞄設(shè)備采用的紅外熱像儀輸出圖像格式吻合,實(shí)時(shí)性滿足要求,,能夠很好地完成操作手對(duì)光電跟瞄設(shè)備的跟蹤訓(xùn)練和日常維護(hù)的任務(wù),。
參考文獻(xiàn)
[1] 蘇奎峰,呂強(qiáng).TMS320F2812原理與開發(fā).北京:電子工業(yè)出版社,,2006.
[2] 劉承,劉向東,,李黎.RS-422在串口通信在DSP中的設(shè)計(jì)與應(yīng)用.工業(yè)控制計(jì)算機(jī),,2006,19(3).
[3] 魏芳,,劉志軍,,馬克杰.基于Verilog HDL的異步FIFO設(shè)計(jì)與實(shí)現(xiàn).電子技術(shù)應(yīng)用,2006(7).
[4] 王小艷,,張會(huì)新,,孫永生.Camera Link協(xié)議和FPGA的數(shù)字圖像信號(hào)源設(shè)計(jì).國(guó)外電子元器件,2008(7).