《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 四畫(huà)面目標(biāo)搜索的設(shè)計(jì)與實(shí)現(xiàn)

四畫(huà)面目標(biāo)搜索的設(shè)計(jì)與實(shí)現(xiàn)

2008-07-03
作者:白旭,張一,高玉龍,張中兆

??? 摘 要:電視制導(dǎo)" title="電視制導(dǎo)">電視制導(dǎo)中,快速搜索并鎖定被打擊目標(biāo)是關(guān)鍵技術(shù)之一?;趩纹現(xiàn)PGA完成了一種利用多視場(chǎng)對(duì)目標(biāo)進(jìn)行搜索的設(shè)計(jì)。本設(shè)計(jì)對(duì)實(shí)時(shí)性要求極高,控制指令的解析采用浮點(diǎn)運(yùn)算,并且數(shù)據(jù)的存儲(chǔ)只采用了一片SDRAM地址交織完成,系統(tǒng)中靈活運(yùn)用NiosII 軟核" title="軟核">軟核處理器和高速Avalon總線達(dá)到了以上要求。
??? 關(guān)鍵詞: 電視制導(dǎo)? 四畫(huà)面" title="四畫(huà)面">四畫(huà)面? NiosII軟核? Avalon總線

?

??? 電視制導(dǎo)是精確制導(dǎo)武器家族中的一員。通過(guò)導(dǎo)彈上的電視攝像頭將所攝取的目標(biāo)圖像用無(wú)線電波發(fā)送到載機(jī),飛機(jī)上的操縱人員得到目標(biāo)的直觀圖像,從中選取需要攻擊的目標(biāo),然后用無(wú)線電指令形式發(fā)送給導(dǎo)彈,通過(guò)導(dǎo)彈上的自動(dòng)駕駛儀控制導(dǎo)彈,使它跟蹤并攻擊所選定的目標(biāo)。由于導(dǎo)彈在飛行過(guò)程中時(shí)間較短,如何快速準(zhǔn)確地定位欲打擊目標(biāo)是電視制導(dǎo)關(guān)鍵技術(shù)之一。采用四畫(huà)面進(jìn)行目標(biāo)搜索,可以在時(shí)間和空間上增大搜索視場(chǎng),快速準(zhǔn)確定位目標(biāo),實(shí)施精確打擊。
1 系統(tǒng)設(shè)計(jì)
??? 電視畫(huà)面用模擬的方法表示為一個(gè)隨時(shí)間連續(xù)變化的帶行場(chǎng)同步的信號(hào),要將一個(gè)滿屏的電視畫(huà)面在水平方向和垂直方向任意縮放,可以用電視信號(hào)的數(shù)字化表示方法,即CCIR656表示方法。在此種表示方法中,將電視信號(hào)先以分量格式表示,再表示為一個(gè)8bit的數(shù)據(jù)流;彩色視頻數(shù)據(jù)" title="視頻數(shù)據(jù)">視頻數(shù)據(jù)一行1728(有效數(shù)據(jù):1440,行消隱(含SAV):284,EAV:4)個(gè)像素點(diǎn);每幀圖像包含兩場(chǎng),奇場(chǎng)313行,偶場(chǎng)312行,總計(jì)625行,有效顯示為576行;數(shù)據(jù)流的時(shí)鐘為27MHz,像素時(shí)鐘為13.5MHz,每個(gè)像素占2個(gè)字節(jié),即一幅圖像的有效像素為720×576=414 720個(gè);要在同一監(jiān)視器上顯示四個(gè)畫(huà)面,每個(gè)畫(huà)面的有效大小變?yōu)樵瓉?lái)的1/4,相當(dāng)于CIF格式(360×288),在對(duì)圖像數(shù)據(jù)存儲(chǔ)時(shí),采用只存奇場(chǎng)數(shù)據(jù),并且采樣時(shí)鐘減到6.75MHz,只存儲(chǔ)有效數(shù)據(jù),把EAV和SAV以及中間的消隱數(shù)據(jù)去掉;在行為高時(shí)把有效數(shù)據(jù)寫(xiě)入SDRAM,注意寫(xiě)入時(shí)要有地址交織,在行為低時(shí)把數(shù)據(jù)按順序讀出來(lái),加上自己造的消隱數(shù)據(jù),經(jīng)緩存后送給DA進(jìn)行數(shù)模轉(zhuǎn)化,輸出的視頻就為四畫(huà)面顯示。同時(shí)接收的指令數(shù)據(jù)經(jīng)FPGA的NiosII軟核解析后,部分要顯示的數(shù)據(jù)轉(zhuǎn)換成字模插在圖像數(shù)據(jù)的特定位置,在屏幕的固定位置顯示。整個(gè)設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)框圖如圖1所示,以簡(jiǎn)單的結(jié)構(gòu)實(shí)現(xiàn)較復(fù)雜的功能是本文的特點(diǎn)。

?

2 硬件設(shè)計(jì)
??? 本文的硬件較簡(jiǎn)單。FPGA采用Altera公司的EP1C120F240I7;SDRAM的存儲(chǔ)容量要大于一幀有效數(shù)據(jù)的容量,工作時(shí)鐘大于81MHz,并且能提供突發(fā)讀寫(xiě)操作和任意地址存取功能;DA需采用符合ITU-R BT601/BT656協(xié)議并能把YCrCb信號(hào)轉(zhuǎn)換成標(biāo)準(zhǔn)PAL/NTSC的視頻輸出芯片。本文的主要設(shè)計(jì)工作是在FPGA內(nèi)部模塊的設(shè)計(jì)上,如圖2所示。接收的數(shù)據(jù)是八位經(jīng)過(guò)解碼的數(shù)字化的圖像數(shù)據(jù),根據(jù)解析的特定指令字作為選擇信號(hào),決定是否顯示四畫(huà)面。當(dāng)只顯示單一畫(huà)面時(shí),圖像數(shù)據(jù)和HVF信號(hào)可以直通給DA;當(dāng)要顯示四畫(huà)面時(shí),通過(guò)FPGA控制把數(shù)據(jù)存到SDRAM中,再通過(guò)一定的順序讀出送給DA輸出顯示。指令數(shù)據(jù)通過(guò)422接口差分送入,對(duì)干擾有較強(qiáng)的抵抗能力,經(jīng)過(guò)差分芯片后變成一路數(shù)據(jù)送入FPGA,經(jīng)解碼后得到相關(guān)數(shù)據(jù),一部分作為控制指令控制顯示,另一部分存儲(chǔ)在FPGA的RAM中,根據(jù)HVF信號(hào)替換視頻數(shù)據(jù)流中的部分?jǐn)?shù)據(jù),在屏幕的固定位置上顯示航向、俯仰等信息。

?

??? 本設(shè)計(jì)主要有以下幾個(gè)難點(diǎn):
??? (1)圖像數(shù)據(jù)的高速存儲(chǔ)和讀?。簶?biāo)準(zhǔn)的PAL制式的有效顯示為720×576,對(duì)于四畫(huà)面的每一幅圖像,大小為360×288。由于傳輸過(guò)來(lái)的是連續(xù)的視頻信號(hào),送給DA的信號(hào)也要是連續(xù)的,而SDRAM的讀寫(xiě)要分開(kāi)操作,不可以同時(shí)進(jìn)行,所以在存儲(chǔ)到SDRAM前和從SDRAM中讀出數(shù)據(jù)后都要有緩存。經(jīng)實(shí)際測(cè)試,對(duì)SDRAM的讀寫(xiě)時(shí)鐘要達(dá)到81MHz,所以采用Avalon總線進(jìn)行數(shù)據(jù)交換。Avalon總線[2]是一種協(xié)議較為簡(jiǎn)單的內(nèi)部總線,提供完全的同步操作,占用FPGA資源少,并具有嵌入式地址譯碼、數(shù)據(jù)流處理、帶延時(shí)的讀寫(xiě)操作等重要特性?;镜腁valon總線傳輸是在主設(shè)備和從設(shè)備之間傳輸一個(gè)字節(jié)、半字或字。在對(duì)Avalon總線上的從設(shè)備進(jìn)行讀操作時(shí),會(huì)激活A(yù)valon總線的從讀傳輸過(guò)程。整個(gè)從讀過(guò)程可以在一個(gè)時(shí)鐘周期完成,圖3為一個(gè)基本的讀操作過(guò)程??偩€傳輸在時(shí)鐘上升沿開(kāi)始,傳輸address、byteenable_n和read_n信號(hào)給目標(biāo)設(shè)備;Avalon總線模塊對(duì)address進(jìn)行解碼,產(chǎn)生一個(gè)chipselect信號(hào),送給目標(biāo)從屬設(shè)備;收到chipselect信號(hào)后,從屬設(shè)備送出readdata,Avalon總線模塊在下一個(gè)時(shí)鐘上升沿得到readdata。

?

??? (2)指令解析:解析指令要用到浮點(diǎn)運(yùn)算,但在FPGA中要進(jìn)行浮點(diǎn)運(yùn)算較困難,必須通過(guò)反復(fù)的移位操作來(lái)完成。本文應(yīng)用了NiosII軟核[1]。NiosII是Altera公司針對(duì)其FPGA設(shè)計(jì)的嵌入式軟核處理器" title="軟核處理器">軟核處理器,16位或32位結(jié)構(gòu)可配置并包含5級(jí)流水線的通用RISC微處理器,包括指令系統(tǒng)、寄存器、高速緩存、中斷處理、硬件加速,可以組合Altera公司提供的標(biāo)準(zhǔn)外圍設(shè)備庫(kù),并允許用戶自定義邏輯接口。上百兆的性能、靈活的自定義指令集和自定義硬件加速單元,以及友好的圖形化開(kāi)發(fā)環(huán)境NiosII IDE等特點(diǎn),為它的應(yīng)用開(kāi)發(fā)提供了極大的優(yōu)勢(shì)。
??? (3)四畫(huà)面/指令顯示:四畫(huà)面是通過(guò)對(duì)有效數(shù)據(jù)欠采樣后地址交織寫(xiě)入SDRAM,按順序讀出,所以在FPGA中設(shè)計(jì)了寫(xiě)地址變換控制各畫(huà)面在屏幕上的顯示順序。讀地址變換模塊用指令RAM中的數(shù)據(jù)替換特定地址的視頻數(shù)據(jù),在屏幕特定位置顯示指令信息。
3 軟件設(shè)計(jì)
??? 軟件設(shè)計(jì)在NiosII軟核中采用C語(yǔ)言,其他均采用VHDL語(yǔ)言設(shè)計(jì)。軟件程序基本流程如圖4所示。

??? 程序的主要流程如下:
??? (1)上電初始化。FPGA從FLASH中l(wèi)oad程序;
??? (2)配置DA。DA是采用I2C總線進(jìn)行配置的,I2C總線示意圖如圖5所示。DA要配置成采用HVF模式,這樣才能用改造的HVF信號(hào)控制四畫(huà)面和信息顯示。

??? (3)解析指令。指令數(shù)據(jù)通過(guò)RS-422口差分輸入,經(jīng)過(guò)422轉(zhuǎn)換芯片合成一路串行信號(hào),經(jīng)過(guò)隔離芯片(同時(shí)完成電壓從5V到3.3V轉(zhuǎn)換)送給FPGA。進(jìn)入FPGA后,通過(guò)異步通用串行接口模塊(UART),把數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù),經(jīng)解碼并確認(rèn)為正確指令數(shù)據(jù)后送給NiosII模塊處理。在NiosII軟核中處理是因?yàn)樾畔⒅邪↑c(diǎn)數(shù),NiosII處理器可以直接處理浮點(diǎn)數(shù),避免了自己處理時(shí)的移位操作,相對(duì)較簡(jiǎn)單。指令幀解析后,需要顯示的數(shù)據(jù)存在片內(nèi)RAM中,一些控制信息直接用于控制功能,例如單/四畫(huà)面顯示指令。

??? (4)單/四畫(huà)面顯示判斷,通過(guò)特定指令字判斷需要單畫(huà)面還是四畫(huà)面顯示。如果是單畫(huà)面顯示,視頻數(shù)據(jù)和HVF信號(hào)直通給DA,否則對(duì)HVF信號(hào)進(jìn)行改造,改造后的HVF信號(hào)如圖6所示;只在HVF均為低時(shí)通過(guò)欠采樣時(shí)鐘(6.75MHz)寫(xiě)入片內(nèi)FIFO緩存,這樣保證了只把有效數(shù)據(jù)存入寫(xiě)FIFO;同時(shí)改造好的HVF信號(hào)送給讀FIFO作為它的使能信號(hào)。

??? (5)由于NiosII的SoPC系統(tǒng)是一個(gè)軟硬件的復(fù)合系統(tǒng),SDRAM讀寫(xiě)有兩種方式[3],即采用軟件方式實(shí)現(xiàn)或通過(guò)純硬件邏輯實(shí)現(xiàn)。采用軟件方式可以不增加硬件資源,但占用CPU的處理時(shí)間;若采用硬件方式實(shí)現(xiàn),需要占用額外的硬件資源,但可以保證系統(tǒng)工作速度不受影響。由于本設(shè)計(jì)要求實(shí)時(shí)性較高,而且FPGA的資源比較充裕,所以采用后一種方式。操作順序是從寫(xiě)FIFO中讀取數(shù)據(jù)送給SDRAM存儲(chǔ),從SDRAM中讀取數(shù)據(jù)送給讀FIFO,讀寫(xiě)通過(guò)行同步(H)信號(hào)控制。當(dāng)行為高時(shí)寫(xiě)入,行為低時(shí)讀出,每次都是整行的寫(xiě)入和讀出。注意存入時(shí)地址要有交織,每個(gè)畫(huà)面的存儲(chǔ)地址固定,存儲(chǔ)格式如圖7所示。讀是按順序讀出,實(shí)現(xiàn)了圖像信息的重組。

??? (6)顯示控制可在屏幕特定位置輸出指令信息,通過(guò)計(jì)數(shù)器判斷在固定的行、點(diǎn)處,數(shù)據(jù)從片內(nèi)RAM固定位置讀取,視頻數(shù)據(jù)和指令數(shù)據(jù)按照這種給定的格式送給DA,轉(zhuǎn)換成模擬信號(hào),送到終端監(jiān)視器上顯示。在圖像屏幕上就能顯示字符,使操作者能直觀地了解導(dǎo)彈的狀態(tài)。
??? 本文的控制都是在單片F(xiàn)PGA中實(shí)現(xiàn),可以經(jīng)過(guò)簡(jiǎn)單的修改適應(yīng)不同的應(yīng)用需求,例如九畫(huà)面和十六畫(huà)面顯示等。同時(shí)根據(jù)導(dǎo)引頭中攝像裝置的擺動(dòng)速度,可以以場(chǎng)為單位調(diào)整各畫(huà)面的時(shí)間間隔。
??? 本文借助Altera的NiosII嵌入式軟核處理器和Avalon總線,在電視制導(dǎo)中實(shí)現(xiàn)了在一臺(tái)監(jiān)視器上分四畫(huà)面顯示不同的搜索視場(chǎng),提高了目標(biāo)搜索效率,各個(gè)子系統(tǒng)在硬件結(jié)構(gòu)上是模塊化的,而所有這些子系統(tǒng)的控制器全部集成在一片F(xiàn)PGA中。高集成度帶來(lái)的不僅是成本下降,還有便利性和靈活性,因此本設(shè)計(jì)完全可以針對(duì)不同的具體應(yīng)用場(chǎng)合加以定制和優(yōu)化。Nios軟核處理器的引入,不僅使整個(gè)系統(tǒng)做到了真正的軟硬件可裁剪,更重要的是把這種新的設(shè)計(jì)理念帶入到嵌入式系統(tǒng)開(kāi)發(fā)中。
??? 本設(shè)計(jì)也可以用于民用無(wú)線監(jiān)控系統(tǒng)中,例如森林防火等,采用視頻合路的方式實(shí)現(xiàn)一臺(tái)監(jiān)視器監(jiān)視四路信號(hào),大大節(jié)省了成本。
參考文獻(xiàn)
[1] Altera Company.NiosII Software Developer′s Handbook[S].2005.
[2] Altera Company.Avalon Specification Reference Manual[S].2003.
[3] 潘松,黃繼業(yè),曾毓.SOPC技術(shù)實(shí)用教程.北京:清華大學(xué)出版社,2004.

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