現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上發(fā)展出來的,,它克服了專用ASIC不夠靈活的缺點。與其他中小規(guī)模集成電路相比,,其優(yōu)點主要在于它有很強的靈活性,,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對電路的修改和維護很方便,。DSP+FPGA結(jié)構(gòu)最大的特點是結(jié)構(gòu)靈活,,有較強的通用性,適于模塊化設(shè)計,,從而能夠提高算法效率;同時其開發(fā)周期較短,,系統(tǒng)易于維護和擴展,適合于實時數(shù)字信號處理,。本文介紹的就是一種可以應(yīng)用于軍事偵察的紅外動目標識別跟蹤系統(tǒng)的設(shè)計,。
設(shè)計任務(wù)及要求
紅外動目標跟蹤與識別系統(tǒng)的輸入信號是紅外攝像機提供的模擬或數(shù)字視頻信號,。該系統(tǒng)通過基于C6X系列高速DSP的數(shù)字視頻處理卡,實時的處理紅外數(shù)字視頻序列,,完成對運動目標的搜索,、捕獲、跟蹤,、記憶;并且在PC上實時顯示紅外視頻圖像,,實時給出運動目標的空間坐標,產(chǎn)生運動目標區(qū)域的特征數(shù)據(jù),,完成運動目標區(qū)域圖像的實時存儲或遠程傳輸,。硬件模塊需要為系統(tǒng)功能的實現(xiàn)提供硬件支持,即提供與系統(tǒng)功能相適應(yīng)的底層物理支持,,包括運算處理速度,、存儲容量等。
模擬視頻數(shù)字化精度要求:AD精度為8bit;數(shù)字視頻通道的要求:按RS422傳輸協(xié)議接收數(shù)據(jù),,像素精度14bit;每場圖像處理時間<40ms;搜索到捕獲時間:0.2~1s;捕獲到跟蹤時間<120ms;25幀/s實時識別,、跟蹤運動目標(即當前場數(shù)據(jù)必須在下一場數(shù)據(jù)到來之前處理完畢,并由計算機輸出處理結(jié)果,,顯示視頻圖像),,并給出目標位置及領(lǐng)域圖像;與計算機的接口為PCI接口。
系統(tǒng)總體設(shè)計
根據(jù)設(shè)計任務(wù)和系統(tǒng)要求,,本系統(tǒng)大致可分為四個模塊(見圖1),。

圖1系統(tǒng)模塊組成
UNIT 1模塊基于標準32位+5V的PCI總線,并配以超大規(guī)??删幊绦酒?DSP,,F(xiàn)PGA),具有極強的運算,、處理能力,。
UNIT 2模塊的功能主要實現(xiàn)是運動背景下的動目標檢測、跟蹤,??紤]到系統(tǒng)的實時性要求,運動背景下的動目標檢測采用基于攝像機運動補償?shù)牟罘旨夹g(shù),。首先對攝像機運動造成的全局運動進行補償,,對補償后的序列圖像進行差分運算;然后在差分域搜索目標運動引起的運動擾動區(qū)域;最后在原視頻圖像上分割提取運動目標。同時,,采用預(yù)測技術(shù)對目標的可能位置和存在區(qū)域進行估計,,以實現(xiàn)實時,、準確跟蹤(或記憶)目標,。系統(tǒng)軟件按照其工作狀態(tài)分為四個狀態(tài)模塊:搜索,、捕獲、跟蹤,、記憶跟蹤,。系統(tǒng)按照搜索、捕獲,、跟蹤,、記憶跟蹤四個狀態(tài)及其轉(zhuǎn)換運行,以實現(xiàn)運動目標的實時檢測與跟蹤,。
UNIT 3模塊的主要功能是實現(xiàn)硬件模塊與上層應(yīng)用程序的數(shù)據(jù)通信與信息交互,。系統(tǒng)采用了PCI 9054 Target方式的單周期讀/寫;在圖像數(shù)據(jù)傳送的時候為了滿足每秒25幀圖像的實時傳送和處理的要求,采用了PCI 9054的Scatter/Gather DMA方式的數(shù)據(jù)傳輸,。在整個系統(tǒng)的信息交互中,,采用了一次握手協(xié)議,也就是請求一一應(yīng)答協(xié)議,。
UNIT 4模塊的主要功能是向硬件模塊下載DSP跟蹤程序,,啟動/停止DSP,實時顯示場景視頻,,對運動目標序列進行實時存儲,,對運動目標序列的基本特性進行實時分析和結(jié)果的顯示。
系統(tǒng)硬件設(shè)計
系統(tǒng)硬件原理框圖如圖2所示,,為了設(shè)計和描述的方便,,我們把硬件模塊的電路結(jié)構(gòu)劃分為以下幾個單元:視頻接口單元、輸入輸出FIFO視頻圖像存儲器,、數(shù)字圖像處理單元(DSP),、可編程控制器、與PC的PCI接口電路等,。

圖2系統(tǒng)硬件原理框圖
1視頻接口單元
紅外運動目標識別與跟蹤系統(tǒng)的視頻源是紅外攝像機提供的視頻信號,。紅外攝像機有兩路視頻輸出,即模擬視頻輸出和數(shù)字視頻輸出,。本系統(tǒng)要求硬件模塊對兩路視頻信號都能夠進行處理,。因此,必須對輸入視頻信號進行預(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的總線頻率高達50MHz,,兩者差異較大,,所以采用輸入輸出緩沖FIFO是必要的?;谝陨峡紤],,最終選用Cypress公司的CY7C4275。它的容量為32K×18,,最大存取速度可達到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)寄存器,、命令字寄存器和專用寄存器,完成與主機的實時通信,,接收主機傳送的命令信息和向主機傳送所需要的狀態(tài)信息,。
在本系統(tǒng)中,數(shù)字信道為14bit,,模擬為8bit,,需要由FPGA對信號進行第一次裝配(區(qū)別于DSP為了顯示而對圖像按FGB格式進行的第二次裝配),即將數(shù)字/模擬信號/數(shù)據(jù)均轉(zhuǎn)換為16bit的數(shù)據(jù),,然后將兩個16bit數(shù)據(jù)裝配成一個32bit的數(shù)據(jù),。4數(shù)字圖像存儲器(SRAM)
紅外動目標識別與跟蹤系統(tǒng)要完成對運動目標的識別與跟蹤。其實現(xiàn)算法必然涉及到對多幀(差分處理,,至少兩幀)視頻圖像的處理,。為了給實現(xiàn)算法提供較為充裕的存儲空間,我們選用的存儲器能容納6場視頻圖像,。因此,,最后選用的存儲器是Giga SemIConductor公司的兩片GS74116,其每片容量為256K×16bit,,存取速度為15ns,。考慮到我們視頻圖像每場的數(shù)據(jù)量為76800像素,,兩片512K的SRAM可以存下至少6張視頻圖像,。在本系統(tǒng)中,,我們設(shè)置了4幀圖像存儲空間,其余空間用于存放目標小圖,、DSP裝配數(shù)據(jù)等,,數(shù)據(jù)空間具體地址分配如圖4所示。

圖4 SRAM數(shù)據(jù)空間分配
5 數(shù)字圖像處理模塊(DSP)
DSP采用TI公司的TMS320C6202芯片,。我們采用隔點、隔行的亞抽樣,。抽樣后,,每幀圖像大小約為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)點,。在33MHz的PCI總線工作頻率下,,它的最大數(shù)據(jù)吞吐能力為132MB/s。
PCI9054與DSP的數(shù)據(jù)交換或通信是通過DSP芯片內(nèi)部的兩個寄存器實現(xiàn)的,,即地址寄存器XBISA;數(shù)據(jù)寄存器XBD,。對PCI9054及DSP芯片而言,它們互相并不能直接訪問對方的資源,,數(shù)據(jù)交換必須由這兩個寄存器中繼,,如圖6所示。

圖6 PCI9054與DSP連接圖
系統(tǒng)軟件設(shè)計
首先進行系統(tǒng)上電自檢,,查看系統(tǒng)各部分是否進入正常工作狀態(tài),,并將檢測結(jié)果送往主機。然后對整機系統(tǒng)進行初始化工作,,檢測命令字寄存器確定圖像的輸入方式和系統(tǒng)的工作方式,,若主機未指定,則進入等待狀態(tài),,直到操作員指定系統(tǒng)的工作方式為止,,系統(tǒng)進入正常工作。系統(tǒng)軟件流程圖如圖7所示,。
