基于高速雙DSP的柔性機(jī)載實(shí)時圖像跟蹤系統(tǒng)研究
摘要:給出了以兩片高性能TMS320C6414作為核心處理器,并輔以FPGA來實(shí)現(xiàn)系統(tǒng)邏輯時序控制,從而組成雙DSP柔性機(jī)載實(shí)時圖像處理系統(tǒng)的設(shè)計方案。同時對系統(tǒng)的硬件資源選擇及工作流程進(jìn)行了討論。
關(guān)鍵詞:DSP;并行處理;FPGA;柔性;超高速
1 引言
利用可見光成像與紅外成像傳感器實(shí)現(xiàn)實(shí)時目標(biāo)成像跟蹤是精確制導(dǎo)武器及機(jī)載成像光電系統(tǒng)研究的核心技術(shù)。伴隨著實(shí)戰(zhàn)環(huán)境日益復(fù)雜以及偽裝、隱身等目標(biāo)特性控制技術(shù)的飛速發(fā)展,機(jī)載實(shí)時圖像跟蹤系統(tǒng)的應(yīng)用也日益廣泛與深入。當(dāng)跟蹤目標(biāo)并非一般地面慢速目標(biāo),而是其它快速運(yùn)動目標(biāo)?如:低空導(dǎo)彈、無人駕駛飛機(jī)等?時,系統(tǒng)將要求現(xiàn)有機(jī)載實(shí)時圖像跟蹤系統(tǒng)具有更高的技術(shù)性能?;诖耍瑸榱诉M(jìn)一步提高現(xiàn)有機(jī)載光電跟蹤系統(tǒng)在實(shí)戰(zhàn)環(huán)境中,針對復(fù)雜場景下快速運(yùn)動目標(biāo)實(shí)施實(shí)時跟蹤的魯棒性與穩(wěn)定性,筆者提出以雙DSP和FP-GA為核心來構(gòu)建主從式超高速并行處理體系的設(shè)計思想,并研究開發(fā)了基于雙DSP的新型柔性機(jī)載實(shí)時圖像跟蹤系統(tǒng)。一方面,采用雙DSP體系結(jié)構(gòu)實(shí)現(xiàn)系統(tǒng)任務(wù)的并行劃分使本系統(tǒng)具備極高的運(yùn)算處理速度;另一方面,現(xiàn)場可編程邏輯器件FPGA的引入使系統(tǒng)的靈活性也得到極大的提高。而將兩者結(jié)合可使本系統(tǒng)充分體現(xiàn)新一代機(jī)載實(shí)時圖像跟蹤系統(tǒng)更快速、更精確、更靈活的特點(diǎn)。
圖1
2 TMS320C6414的結(jié)構(gòu)特點(diǎn)
美國德州儀器公司(TI)推出的新一代數(shù)字信號處理器TMS320C6414(以下簡稱C6414)的主頻為400MHz~700MHz,其數(shù)據(jù)處理能力為3200MIPS~5760MIPS。該器件的結(jié)構(gòu)框圖如圖1所示。其主要特點(diǎn)如下:
(1)DSP內(nèi)核采用超長指令字(VLIW)體系結(jié)構(gòu),有8個功能單元、64個32bit通用寄存器,一個時鐘周期可同時執(zhí)行8條指令,運(yùn)算能力可以達(dá)到5760MIPS;
(2)為了使數(shù)據(jù)能滿足超高速DSP內(nèi)核的需求,C6414采用了兩級超高速緩沖存儲器,即16k Byte的一級數(shù)據(jù)Cache、16k Byte的一級程序Cache和1024k Byte的數(shù)據(jù)和程序統(tǒng)一內(nèi)存。
(3)增加了直接處理打包數(shù)據(jù)指令,可建立無縫的數(shù)據(jù)流,以提高指令集的效率;
(4)每個功能單元在硬件上都增加了附加功能,從而增強(qiáng)了指令集的正交性。
3 系統(tǒng)硬件設(shè)計
本光電成像跟蹤系統(tǒng)硬件平臺由六部分組成:圖像采集與預(yù)處理模塊、同步分離模塊、FPGA邏輯控制模塊、雙DSP+雙口RAM 圖像處理模塊、異步通信模塊和圖形顯示模塊。其系統(tǒng)原理框圖如2所示。從圖2可以知道:紅外探測器及可見光攝像儀輸出的模擬視頻信號經(jīng)多路信號選擇芯片導(dǎo)入之后,經(jīng)箝位、放大、濾波以及去同步頭等預(yù)處理后,一路經(jīng)A/D轉(zhuǎn)換器將模擬視頻轉(zhuǎn)換為8bit數(shù)字信號并導(dǎo)入片外視頻緩存1、2,而后等待FPGA?xí)r序控制DSP外部中斷,以便將全部緩存數(shù)據(jù)搬移到DSP片內(nèi)的2級緩存,再通過系統(tǒng)任務(wù)劃分實(shí)現(xiàn)數(shù)據(jù)重組,然后分別在主從DSP進(jìn)行同步并行數(shù)據(jù)處理,并將中間結(jié)果由主DSP綜合,最后在完成后續(xù)運(yùn)算后給出最終匹配結(jié)果。與此同時,主DSP則通過寫圖形顯示緩存將目標(biāo)匹配位置信息傳遞到外界;另一路模擬信號先導(dǎo)入同步分離器,然后提取行場同步信號送交FPGA作為時基,以產(chǎn)生系統(tǒng)各級時序控制信號;第三路模擬信號送給圖形疊加電路作為輸入疊加信號之一,當(dāng)場正程來到時,FPGA中斷控制并讀出圖形存儲器數(shù)據(jù),同時在FPGA片內(nèi)實(shí)現(xiàn)讀入數(shù)據(jù)的并/串轉(zhuǎn)換后移位輸出至圖形疊加電路,此時兩路信號將會合送入視頻監(jiān)視器,從而完成視頻圖像上圖形的顯示。整個系統(tǒng)工作期間,每隔80ms主DSP還通過異步收發(fā)器與外部上位機(jī)進(jìn)行串行通信,以便系統(tǒng)能夠?qū)崟r接收外部命令與目標(biāo)參數(shù)?進(jìn)而調(diào)整跟蹤系統(tǒng)的工作狀態(tài)。
3.1 圖像采集與預(yù)處理模塊
本系統(tǒng)中的多路選擇器件選用CD4052芯片。它能根據(jù)不同的工作場合來切換紅外/可見光視頻輸入;視頻預(yù)處理電路采用AD817進(jìn)行視頻信號的放大,以得到更清晰的信號來進(jìn)行視頻處理;A/D芯片選用AD公司的AD9225,輸出的8bit數(shù)字視頻信號送入74LS245進(jìn)行數(shù)據(jù)鎖存。
3.2 同步分離模塊
系統(tǒng)采用一款專門的視頻同步分離器LM1881來從標(biāo)準(zhǔn)的負(fù)同步NTSC(PAL或SECAM)視頻信號中分離出有效的行/場同步信號,并將其送入FPGA以產(chǎn)生系統(tǒng)的各級邏輯控制輸出。
3.3 FPGA邏輯控制模塊
由于系統(tǒng)中各個芯片的功能相對獨(dú)立,要協(xié)調(diào)這些芯片的運(yùn)作?就需要一片起控制邏輯作用的可編程芯片,為此,筆者選用了ALTERAL公司的EPF10K30A,該芯片有246個用戶I/O口、30000個典型門、216個邏輯陣列塊、1728個邏輯單元?不僅能滿足系統(tǒng)的控制要求,而且也可以為將來系統(tǒng)的功能擴(kuò)展提供控制邏輯。在這個光電跟蹤系統(tǒng)中,FPGA主要用來完成如下幾方面的工作:
(1)生成A/D采樣控制時鐘,實(shí)現(xiàn)模擬視頻的正確采樣;
(2)提供字符圖形存儲器地址及片選/讀控制信號,并在場正程到來時,控制圖形數(shù)據(jù)的讀出;
(3)提供視頻數(shù)據(jù)緩存器地址及片選/寫控制信號,控制視頻數(shù)據(jù)的連續(xù)寫入;
(4)產(chǎn)生外部中斷4至雙DSP,當(dāng)數(shù)據(jù)寫滿視頻圖像高速緩存預(yù)定空間時,控制主從DSP以將數(shù)據(jù)塊快速搬移至片內(nèi)2級緩存;
(5)產(chǎn)生外部中斷7至主DSP,并在每個場逆程時刻來到時,控制主DSP擦、寫字符圖形存儲器數(shù)據(jù);
(6)產(chǎn)生一并/串轉(zhuǎn)換電路,以將并行讀入的字符圖形數(shù)據(jù)串行移位輸出至圖形疊加電路,從而實(shí)現(xiàn)“+”、“□”圖形在視頻圖像上的疊加。
其FPGA內(nèi)部結(jié)構(gòu)框圖如圖3所示。
3.4 雙DSP+雙口RAM 圖像處理模塊
高速并行數(shù)字信號處理電路以雙DSP為并行運(yùn)算處理核心單元,并輔以雙口RAM來實(shí)現(xiàn)視頻圖像的高速緩存,從而完成大運(yùn)算量的高速實(shí)時目標(biāo)跟蹤處理任務(wù)。該并行處理系統(tǒng)的組成與功能分述如下:
a. 視頻圖像高速緩存子模塊
為了實(shí)現(xiàn)圖像的實(shí)時采集與高速處理,本系統(tǒng)用兩片雙口RAM組成相互獨(dú)立的視頻緩存,分別對應(yīng)主/從DSP處理器。設(shè)計時選用IDT公司的3.3V 異步雙口PRAM IDT70V657,同時與DSP接口采用ASRAM方式。由于EMIF的ASRAM接口支持32Bit的數(shù)據(jù)接口,因此,利用IDT70V657構(gòu)成不完全地址結(jié)構(gòu)來存取數(shù)據(jù)能夠更好地實(shí)現(xiàn)8Bit鎖存數(shù)據(jù)與C6414的接口,而無須對DPRAM進(jìn)行寬度擴(kuò)展。同時亦可減少DSP讀取外部數(shù)據(jù)的時間開銷。
IDT70V657的大小是32K×36Bit?系統(tǒng)采用將兩個DPRAM各劃分為前后兩個半場的方式來實(shí)現(xiàn)存取數(shù)據(jù)時的乒乓切換。即在系統(tǒng)工作的任一時刻,當(dāng)對DPRAM前半場寫入數(shù)據(jù)時,使DPRAM后半場向DSP讀出數(shù)據(jù)。當(dāng)前半場寫滿視頻數(shù)據(jù)時,由FPGA給DSP發(fā)出中斷信號,以通知DSP讀出DPRAM前半場所寫入數(shù)據(jù),同時,將A/D轉(zhuǎn)換器的數(shù)據(jù)寫入DPRAM后半場緩沖空間,如此反復(fù)進(jìn)行來實(shí)現(xiàn)數(shù)據(jù)的讀出與寫入同步操作。
b. 雙DSP高速信號處理系統(tǒng)
TMS320C6414-600型DSP的主頻高達(dá)600MHz,在超高速實(shí)時圖像處理領(lǐng)域有著非常出色的性能。本系統(tǒng)的雙DSP高速實(shí)時信號處理系統(tǒng)就以2片C6414-600 DSP芯片為核心組成鄰域圖像并行處理機(jī),并通過系統(tǒng)任務(wù)的劃分與分解實(shí)現(xiàn)同步并行運(yùn)算處理。其系統(tǒng)框圖如圖4所示。
在本系統(tǒng)中,主DSP完成的主要功能如下:
(1) 實(shí)現(xiàn)外部緩存數(shù)據(jù)到片內(nèi)的搬移,為DSP高速批處理開辟片內(nèi)二級緩存;
(2) 實(shí)現(xiàn)與外部上位機(jī)的即時通訊,接收外部命令與目標(biāo)參數(shù);
(3) 實(shí)現(xiàn)與從DSP的即時通信,下傳命令字與目標(biāo)參數(shù)以及獲取中間結(jié)果;
(4) 運(yùn)行系統(tǒng)跟蹤算法,承擔(dān)系統(tǒng)核心運(yùn)算任務(wù)的一半;
(5) 與FPGA建立即時通信,實(shí)現(xiàn)系統(tǒng)程序模塊的調(diào)度與協(xié)調(diào);
從DSP完成的主要功能是:
(1) 實(shí)現(xiàn)外部緩存數(shù)據(jù)到片內(nèi)的搬移,為DSP高速批處理開辟片內(nèi)二級緩存;
(2)運(yùn)行系統(tǒng)跟蹤算法,承擔(dān)系統(tǒng)核心運(yùn)算任務(wù)的一半;
(3)實(shí)現(xiàn)與主DSP的即時通信,上傳匹配運(yùn)算中間結(jié)果;
(4)與FPGA建立即時通信,實(shí)現(xiàn)系統(tǒng)程序模塊的調(diào)度與協(xié)調(diào)。
雙DSP處理系統(tǒng)的柔性特色體現(xiàn)在:可依據(jù)實(shí)時環(huán)境需要加載不同的跟蹤算法來實(shí)現(xiàn)目標(biāo)跟蹤。算法運(yùn)行之初,兩片C6414-600都在FPGA的控制下,通過EMIFA口以EDMA方式,分若干次,依系統(tǒng)跟蹤算法而定?將外部視頻緩存中的數(shù)據(jù)(一場圖像)依次讀入DSP的L2片內(nèi)緩存中;算法運(yùn)行之后,主從DSP則通過McBSP直接互接來實(shí)現(xiàn)雙DSP間的高速同步通信?以便交換數(shù)據(jù)處理結(jié)果。
系統(tǒng)設(shè)計中,Flash ROM選用AMD公司的AM29LV800(1M×8Bit)來把FLASH映射到DSP統(tǒng)一編址地址空間EMIFB口的CE1空間。當(dāng)系統(tǒng)上電復(fù)位后,該地址空間為首先引導(dǎo)區(qū)域,這樣即可將應(yīng)用程序代碼加載到片內(nèi)高速執(zhí)行,從而實(shí)現(xiàn)系統(tǒng)的脫機(jī)運(yùn)行。
3.5 異步通信模塊
本系統(tǒng)與外部上位機(jī)的異步通信主要通過主DSP的McBSP。C6000的McBSP是一個功能非常強(qiáng)大的標(biāo)準(zhǔn)串口,支持全雙工串行通信,它的雙緩沖數(shù)據(jù)寄存器允許連續(xù)的數(shù)據(jù)流,可與多達(dá)128個通道進(jìn)行收發(fā)通信。通過對McBSP的SPCR、RCR、XCR、SRGR、PCR寄存器的配置可實(shí)現(xiàn)系統(tǒng)通信時收發(fā)數(shù)據(jù)的幀同步和時鐘同步。
由于外部上位機(jī)的通訊機(jī)制是RS422標(biāo)準(zhǔn),而DSP與外部通信只提供RS232接口,故應(yīng)采用一片MAX3074芯片來實(shí)現(xiàn)RS422到RS232的轉(zhuǎn)換。MAX3074是MAXIM公司生產(chǎn)的一款專門用于RS422/485至RS232的轉(zhuǎn)接芯片,采用3.3V供電,這與C6000 DSP 外圍供電電壓一致,連接非常方便,不再需要多余的電壓適配器。另一方面,由于McBSP為同步串口,為了實(shí)現(xiàn)McBSP與RS232的無縫連接,可通過軟件加入發(fā)送擴(kuò)展算法與接收壓縮算法,從而實(shí)現(xiàn)DSP與上位機(jī)異步串口通信協(xié)議的握手。
3.6 圖形顯示模塊
該模塊由圖形存儲器、圖形疊加電路和視頻監(jiān)視器組成。圖形存儲器選擇IDT公司的70V08(64K×8Bits)DPRAM來存儲標(biāo)識目標(biāo)匹配位置的圖形數(shù)據(jù)。圖形疊加電路用于實(shí)現(xiàn)視頻與圖形的疊加,并最終由視頻監(jiān)視器顯示疊加結(jié)果。
4 系統(tǒng)工作流程
本系統(tǒng)的軟件工作模式包括復(fù)位和初始化模式、運(yùn)行模式、系統(tǒng)維護(hù)模式,可由系統(tǒng)程序來控制三種模式的切換。
在復(fù)位和初始化模式下,系統(tǒng)啟動后將由主從DSP同步實(shí)現(xiàn)程序搬移,把程序代碼搬移到片內(nèi)并運(yùn)行系統(tǒng)程序,從而初始化主從DSP的運(yùn)行環(huán)境并設(shè)置相關(guān)參數(shù)。
運(yùn)行模式下,雙DSP一方面獨(dú)立響應(yīng)并處理FPGA中斷、運(yùn)行核心跟蹤算法并實(shí)現(xiàn)子系統(tǒng)內(nèi)的進(jìn)程調(diào)度;另一方面通過主從DSP串口間的互連響應(yīng)中斷以及主DSP串口與遠(yuǎn)程主機(jī)的通訊等功能來實(shí)現(xiàn)雙DSP子系統(tǒng)間和雙DSP系統(tǒng)與外部主機(jī)的進(jìn)程調(diào)度。
系統(tǒng)維護(hù)模式下,主從DSP在進(jìn)行系統(tǒng)自檢后,可由遠(yuǎn)程主機(jī)通過RS422接口與主DSP進(jìn)行通訊,以實(shí)現(xiàn)程序的更新下載和參數(shù)修改等功能。圖5為系統(tǒng)軟件工作流程框圖。
5 結(jié)束語
筆者對該系統(tǒng)的實(shí)時性進(jìn)行了仿真測試,結(jié)果分析表明:
(1)單DSP只能實(shí)現(xiàn)開窗搜索,高速場合下一旦目標(biāo)逃逸搜索區(qū),將導(dǎo)致目標(biāo)丟失;而本系統(tǒng)能夠?qū)崿F(xiàn)基于整場搜索的大運(yùn)算量高速處理,從而加大了被跟蹤目標(biāo)搜索區(qū)的動態(tài)范圍,避免了目標(biāo)丟失情況的發(fā)生,進(jìn)一步提高了實(shí)時跟蹤的可靠性。
(2)傳統(tǒng)單DSP系統(tǒng)一般只能實(shí)現(xiàn)基于一幀的匹配性能,而本系統(tǒng)可實(shí)現(xiàn)基于逐場的跟蹤匹配,進(jìn)一步提高了跟蹤系統(tǒng)的實(shí)時性。
(3)根據(jù)實(shí)際場合的需要,本系統(tǒng)可通過軟件選擇加載跟蹤算法,從而極大的增強(qiáng)了系統(tǒng)的通用性和易維護(hù)性,體現(xiàn)出柔性處理系統(tǒng)的特色。
由此可見,雙DSP柔性處理系統(tǒng)為復(fù)雜場景下快速移動目標(biāo)的高速識別與跟蹤提供了一個有效的實(shí)現(xiàn)方案,同時也為機(jī)載實(shí)時圖像跟蹤系統(tǒng)提供了新的高速處理平臺。