現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上發(fā)展出來的,,它克服了專用ASIC不夠靈活的缺點(diǎn),。與其他中小規(guī)模集成電路相比,其優(yōu)點(diǎn)主要在于它有很強(qiáng)的靈活性,,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,,對電路的修改和維護(hù)很方便。DSP+FPGA結(jié)構(gòu)最大的特點(diǎn)是結(jié)構(gòu)靈活,,有較強(qiáng)的通用性,,適于模塊化設(shè)計,從而能夠提高算法效率;同時其開發(fā)周期較短,,系統(tǒng)易于維護(hù)和擴(kuò)展,,適合于實(shí)時數(shù)字信號處理。本文介紹的就是一種可以應(yīng)用于軍事偵察的紅外動目標(biāo)識別跟蹤系統(tǒng)的設(shè)計,。
設(shè)計任務(wù)及要求
紅外動目標(biāo)跟蹤與識別系統(tǒng)的輸入信號是紅外攝像機(jī)提供的模擬或數(shù)字視頻信號,。該系統(tǒng)通過基于C6X系列高速DSP的數(shù)字視頻處理卡,實(shí)時的處理紅外數(shù)字視頻序列,,完成對運(yùn)動目標(biāo)的搜索,、捕獲,、跟蹤、記憶;并且在PC上實(shí)時顯示紅外視頻圖像,,實(shí)時給出運(yùn)動目標(biāo)的空間坐標(biāo),,產(chǎn)生運(yùn)動目標(biāo)區(qū)域的特征數(shù)據(jù),完成運(yùn)動目標(biāo)區(qū)域圖像的實(shí)時存儲或遠(yuǎn)程傳輸,。硬件模塊需要為系統(tǒng)功能的實(shí)現(xiàn)提供硬件支持,,即提供與系統(tǒng)功能相適應(yīng)的底層物理支持,包括運(yùn)算處理速度,、存儲容量等,。
模擬視頻數(shù)字化精度要求:AD精度為8bit;數(shù)字視頻通道的要求:按RS422傳輸協(xié)議接收數(shù)據(jù),像素精度14bit;每場圖像處理時間<40ms;搜索到捕獲時間:0.2~1s;捕獲到跟蹤時間<120ms;25幀/s實(shí)時識別,、跟蹤運(yùn)動目標(biāo)(即當(dāng)前場數(shù)據(jù)必須在下一場數(shù)據(jù)到來之前處理完畢,,并由計算機(jī)輸出處理結(jié)果,顯示視頻圖像),,并給出目標(biāo)位置及領(lǐng)域圖像;與計算機(jī)的接口為PCI接口,。
系統(tǒng)總體設(shè)計
根據(jù)設(shè)計任務(wù)和系統(tǒng)要求,本系統(tǒng)大致可分為四個模塊(見圖1),。
圖1系統(tǒng)模塊組成
UNIT 1模塊基于標(biāo)準(zhǔn)32位+5V的PCI總線,,并配以超大規(guī)模可編程芯片(DSP,,F(xiàn)PGA),具有極強(qiáng)的運(yùn)算,、處理能力,。
UNIT 2模塊的功能主要實(shí)現(xiàn)是運(yùn)動背景下的動目標(biāo)檢測、跟蹤,??紤]到系統(tǒng)的實(shí)時性要求,運(yùn)動背景下的動目標(biāo)檢測采用基于攝像機(jī)運(yùn)動補(bǔ)償?shù)牟罘旨夹g(shù),。首先對攝像機(jī)運(yùn)動造成的全局運(yùn)動進(jìn)行補(bǔ)償,,對補(bǔ)償后的序列圖像進(jìn)行差分運(yùn)算;然后在差分域搜索目標(biāo)運(yùn)動引起的運(yùn)動擾動區(qū)域;最后在原視頻圖像上分割提取運(yùn)動目標(biāo)。同時,,采用預(yù)測技術(shù)對目標(biāo)的可能位置和存在區(qū)域進(jìn)行估計,,以實(shí)現(xiàn)實(shí)時、準(zhǔn)確跟蹤(或記憶)目標(biāo),。系統(tǒng)軟件按照其工作狀態(tài)分為四個狀態(tài)模塊:搜索,、捕獲、跟蹤,、記憶跟蹤,。系統(tǒng)按照搜索,、捕獲、跟蹤,、記憶跟蹤四個狀態(tài)及其轉(zhuǎn)換運(yùn)行,,以實(shí)現(xiàn)運(yùn)動目標(biāo)的實(shí)時檢測與跟蹤。
UNIT 3模塊的主要功能是實(shí)現(xiàn)硬件模塊與上層應(yīng)用程序的數(shù)據(jù)通信與信息交互,。系統(tǒng)采用了PCI 9054 Target方式的單周期讀/寫;在圖像數(shù)據(jù)傳送的時候?yàn)榱藵M足每秒25幀圖像的實(shí)時傳送和處理的要求,,采用了PCI 9054的Scatter/Gather DMA方式的數(shù)據(jù)傳輸。在整個系統(tǒng)的信息交互中,,采用了一次握手協(xié)議,,也就是請求一一應(yīng)答協(xié)議。
UNIT 4模塊的主要功能是向硬件模塊下載DSP跟蹤程序,,啟動/停止DSP,,實(shí)時顯示場景視頻,對運(yùn)動目標(biāo)序列進(jìn)行實(shí)時存儲,,對運(yùn)動目標(biāo)序列的基本特性進(jìn)行實(shí)時分析和結(jié)果的顯示,。
系統(tǒng)硬件設(shè)計
系統(tǒng)硬件原理框圖如圖2所示,為了設(shè)計和描述的方便,,我們把硬件模塊的電路結(jié)構(gòu)劃分為以下幾個單元:視頻接口單元,、輸入輸出FIFO視頻圖像存儲器、數(shù)字圖像處理單元(DSP),、可編程控制器,、與PC的PCI接口電路等。
圖2系統(tǒng)硬件原理框圖
1視頻接口單元
紅外運(yùn)動目標(biāo)識別與跟蹤系統(tǒng)的視頻源是紅外攝像機(jī)提供的視頻信號,。紅外攝像機(jī)有兩路視頻輸出,,即模擬視頻輸出和數(shù)字視頻輸出。本系統(tǒng)要求硬件模塊對兩路視頻信號都能夠進(jìn)行處理,。因此,,必須對輸入視頻信號進(jìn)行預(yù)處理,為數(shù)字圖像處理單元(DSP)提供必要的視頻數(shù)據(jù)和視頻同步數(shù)據(jù),。視頻接口單元框圖如圖3所示,。
2 輸入輸出緩沖FIFO
設(shè)置輸入輸出緩沖FIFO的目的是在高速器件和低速器件之間設(shè)置一個緩沖區(qū),可以避免高速器件因等待低速器件的數(shù)據(jù)而使系統(tǒng)的效率降低,。A/D芯片送出的數(shù)字信號的時鐘頻率約為12MHz(模擬通道時鐘12.51MHz,,數(shù)字通道時鐘12MHz),而處理卡上DSP的總線頻率高達(dá)50MHz,,兩者差異較大,,所以采用輸入輸出緩沖FIFO是必要的。基于以上考慮,,最終選用Cypress公司的CY7C4275,。它的容量為32K×18,最大存取速度可達(dá)到l0ns,。
3 可編程控制器(FPGA)
在本系統(tǒng)中,,F(xiàn)PGA控制了絕大部分單元,包括通道選擇/電平轉(zhuǎn)換芯片,、輸入輸出 FIFO,、SRAM、DSP,、PCI接口電路等,。利用FPGA芯片的系統(tǒng)內(nèi)可編程(ISP)性能,完成所有DSP外圍芯片的控制邏輯;并在其中設(shè)置狀態(tài)寄存器,、命令字寄存器和專用寄存器,,完成與主機(jī)的實(shí)時通信,接收主機(jī)傳送的命令信息和向主機(jī)傳送所需要的狀態(tài)信息,。
在本系統(tǒng)中,,數(shù)字信道為14bit,模擬為8bit,,需要由FPGA對信號進(jìn)行第一次裝配(區(qū)別于DSP為了顯示而對圖像按FGB格式進(jìn)行的第二次裝配),,即將數(shù)字/模擬信號/數(shù)據(jù)均轉(zhuǎn)換為16bit的數(shù)據(jù),然后將兩個16bit數(shù)據(jù)裝配成一個32bit的數(shù)據(jù),。4數(shù)字圖像存儲器(SRAM)
紅外動目標(biāo)識別與跟蹤系統(tǒng)要完成對運(yùn)動目標(biāo)的識別與跟蹤,。其實(shí)現(xiàn)算法必然涉及到對多幀(差分處理,至少兩幀)視頻圖像的處理,。為了給實(shí)現(xiàn)算法提供較為充裕的存儲空間,,我們選用的存儲器能容納6場視頻圖像。因此,,最后選用的存儲器是Giga SemIConductor公司的兩片GS74116,其每片容量為256K×16bit,,存取速度為15ns,。考慮到我們視頻圖像每場的數(shù)據(jù)量為76800像素,,兩片512K的SRAM可以存下至少6張視頻圖像,。在本系統(tǒng)中,我們設(shè)置了4幀圖像存儲空間,,其余空間用于存放目標(biāo)小圖,、DSP裝配數(shù)據(jù)等,數(shù)據(jù)空間具體地址分配如圖4所示。
圖4 SRAM數(shù)據(jù)空間分配
5 數(shù)字圖像處理模塊(DSP)
DSP采用TI公司的TMS320C6202芯片,。我們采用隔點(diǎn),、隔行的亞抽樣。抽樣后,,每幀圖像大小約為20KB,,總計約需80KB的數(shù)據(jù)空間,TMS320C6202的片內(nèi)數(shù)據(jù)空間足夠所需,。我們對DSP芯片的內(nèi)部空間分配如圖5所示,。
圖5 DSP內(nèi)部空間分配
6 PCI接口電路
由于本系統(tǒng)與PC的接口是PCI接口。為了避免受困于PCI接口繁雜的數(shù)據(jù)傳送協(xié)議,,充分發(fā)揮PCI總線的數(shù)據(jù)傳送能力,,PCI接口電路采用PCI9054芯片。它是PCI總線專用接口芯片,,具有數(shù)據(jù)傳送快,、數(shù)據(jù)傳送簡單等優(yōu)點(diǎn)。在33MHz的PCI總線工作頻率下,,它的最大數(shù)據(jù)吞吐能力為132MB/s,。
PCI9054與DSP的數(shù)據(jù)交換或通信是通過DSP芯片內(nèi)部的兩個寄存器實(shí)現(xiàn)的,即地址寄存器XBISA;數(shù)據(jù)寄存器XBD,。對PCI9054及DSP芯片而言,,它們互相并不能直接訪問對方的資源,數(shù)據(jù)交換必須由這兩個寄存器中繼,,如圖6所示,。
圖6 PCI9054與DSP連接圖
系統(tǒng)軟件設(shè)計
首先進(jìn)行系統(tǒng)上電自檢,查看系統(tǒng)各部分是否進(jìn)入正常工作狀態(tài),,并將檢測結(jié)果送往主機(jī),。然后對整機(jī)系統(tǒng)進(jìn)行初始化工作,檢測命令字寄存器確定圖像的輸入方式和系統(tǒng)的工作方式,,若主機(jī)未指定,,則進(jìn)入等待狀態(tài),直到操作員指定系統(tǒng)的工作方式為止,,系統(tǒng)進(jìn)入正常工作,。系統(tǒng)軟件流程圖如圖7所示。