基于FPGA的多DSP紅外實時圖像處理系統(tǒng)
O 引言
隨著紅外探測技術(shù)迅猛的發(fā)展,當今紅外實時圖像處理系統(tǒng)所要處理的數(shù)據(jù)量越來越大,速度要求也越來越快,利用目前主流的單DSP+ FPGA硬件架構(gòu)進行較為復(fù)雜的圖像處理算法運算時,有時就顯得有些捉襟見肘了。使用多信號處理板雖可滿足復(fù)雜處理的要求,但系統(tǒng)成本和設(shè)計復(fù)雜度會大大增加,對于對空間質(zhì)量有嚴格要求的系統(tǒng)也是不可行的,多處理器系統(tǒng)應(yīng)用的需求越來越迫切。
本文提出了一種新型的基于FPGA和四端口存儲器的三DSP圖像處理系統(tǒng)。它不同于以往的主從處理器結(jié)構(gòu),而是3個處理器分別連接四端口存儲器的3個端口,處于同等地位,對圖像數(shù)據(jù)并行處理,F(xiàn)PGA占用存儲器另一端口進行數(shù)據(jù)流的控制管理和其他功能實現(xiàn)。這種連接方式增強了系統(tǒng)的重組性和擴展行,軟件開發(fā)也更加靈活方便。
1 系統(tǒng)硬件結(jié)構(gòu)
1.1 圖像處理系統(tǒng)的組成
圖像處理系統(tǒng)主要包括DSP及其周邊電路,F(xiàn)PGA電路,四端口存儲器電路、顯示電路、HotLink接口電路等。圖1所示為圖像處理系統(tǒng)的原理框圖。
1.2 FPGA電路設(shè)計
FPGA芯片使用Xilinx公司Virtex-4系列的SX35芯片。virtex4系列的FPGA利用90 nm三柵極氧化層技術(shù)制造而成,具有百萬門級以上的邏輯資源,大容量片內(nèi)Block RAM,用于高速數(shù)字信號處理的新型XtremeDSP,靈活的數(shù)據(jù)接口,軟硬件嵌入式處理器核等諸多資源。與前一代器件相比,在其性能和密度加倍的同時功耗卻減半,非常適合用于大規(guī)模SoPC系統(tǒng)。配置芯片使用XCF32P芯片。在FPGA外圍連接了D/A視頻芯片,HoTLINK傳輸芯片,SDRAM存儲器等器件,用以完成顯示、存儲等功能。
1.2.1 與HotLink電路接口
HotLink是點對點物理層器件(PHY)的世界領(lǐng)先供應(yīng)商Cypress導(dǎo)體公司產(chǎn)品,高集成度HotLink收發(fā)器是市面上銷售的同類產(chǎn)品中靈活性最強的芯片之一,它提供了很寬的工作范圍(0.2~1.5Gb/s)、可旁路8 B/10 B編碼和備用輸出。每款HotLink獨立通道器件都在一個單片解決方案中集成了發(fā)送、接收、先入先出(FIFO)和編碼器/解碼器(ENDEC)功能,為用戶提供了穩(wěn)定性和通用性最好的高速圖像數(shù)據(jù)傳輸解決方案。在此選用CY7B923作為發(fā)送芯片,將采集到的圖像數(shù)據(jù)通過HotLink接口發(fā)送到圖像記錄設(shè)備進行記錄。
1.2.2 擴展存儲器接口
FPGA外接SDRAM做為外擴存儲器。SDRAM芯片選用HY57V561620,該芯片為16位的SDRAM,工作頻率為100 MHz。SDRAM工作狀態(tài)轉(zhuǎn)換圖如下:
1.2.3 與視頻顯示電路接口
顯示電路中選用的數(shù)/模轉(zhuǎn)換芯片為ADI公司的ADV7122芯片,該芯片為三通道10 b的視頻數(shù)/模轉(zhuǎn)換芯片。
1.3 四端口存儲器電路設(shè)計
四端口存儲器使用IDT公司的IDT70V5388芯片。該芯片為64K×18 b的同步四端口存儲器,4個端口可同時對存儲器的任何地址進行操作,每個端口的最大輸出速率為200 MHz,因此4個端口總的數(shù)據(jù)帶寬為14 Gb/s。
存儲器每個端口都設(shè)置有郵箱中斷功能,這一功能能夠很好地實現(xiàn)與各個端口相連器件的相互通信。選擇郵箱中斷功能后,每個端口給分配一個郵箱,當某一端口向其他端口的郵箱寫入數(shù)據(jù)時,該端口將會產(chǎn)生郵箱中斷。PORT1向PORT2的郵箱地址(0xFFFE)進行寫操作,PORT2將產(chǎn)生郵箱中斷,PORT2對該郵箱地址進行讀操作之后清除郵箱中斷。
1.4 DSP電路設(shè)計
DSP芯片選用Ti公司的TMS32C6414 EGLZA6E3,其主頻為600 MHz。TMS320C6414是TI公司高性能的定點DSP。該芯片采用超長指令字結(jié)構(gòu)(VLIW),每個時鐘周期可以執(zhí)行8個32位指令。
2 系統(tǒng)工作流程及軟件設(shè)計
系統(tǒng)上電后,DSP1從與其連接的FLASH芯片中讀出非均勻性校正算法所需的系數(shù),傳送給FPGA,F(xiàn)PGA對圖像進行校正,校正結(jié)果寫入四端口RAM,圖像拉伸顯示模塊和數(shù)字圖像記錄模塊。3個DSP可以從四端口RAM中讀取圖像信息,并行進行圖像處理工作。
2.1 非均勻性較正算法設(shè)計
非均勻性是指凝視成像探測器在外界同一均勻光學(xué)場輸入時各單元輸出的不一致性。焦平面陣列探測器的非均勻性高達10%~30%,因此焦平面探測器在使用時必須進行非均勻性校正。非均勻性校正算法中,兩點校正算法是最常用的算法,該算法的計算量非常小,校正一個點只需1次加運算和1次乘運算,有利用系統(tǒng)實時實現(xiàn)。
兩點校正公式為:V’=GV+O。其中,V為探測器單元的實際輸出值,V’為校正后的值,G為校正增益,O為校正偏移量值。G和O利用測量兩個不同溫度點的探測器響應(yīng)計算得出,預(yù)先存入FLASH芯片中。系統(tǒng)正常工作時,DSP將系數(shù)從FLASH芯片中讀出非均勻性校正算法所需的系數(shù),用乒乓方式寫入四端口RAM中。每寫完1塊數(shù)據(jù)區(qū)后利用四端口RAM的中斷信號通知FPGA將系數(shù)讀走,F(xiàn)PGA將得到的系數(shù)依次存入SDRAM中。系數(shù)傳送完畢后,F(xiàn)PGA開始接收探測器數(shù)字圖像信息,同時將校正系數(shù)讀出,對原始紅外圖像進行乘加運算。工作流程見圖3。
2.2 圖像拉伸算法設(shè)計
圖像拉伸采用自適應(yīng)直方圖增強算法,表示為如下的映射關(guān)系:
式中:yk為增強后圖像的灰度值;Xmax和Xmin為原圖像中像素最大值和最小值;Xk為原圖像的灰度值;a為亮度補償系數(shù),取值為0~1之間,當取0時,即是通常的拉伸算法。
考慮到紅外圖像中可能存在盲元和噪聲,Xmax和Xmin不宜取原圖像中最大最小值。采用分位數(shù)法來取圖像中的最大值和最小值可以把盲元和噪聲的影響降到最低,分位數(shù)根據(jù)盲元和噪聲情況具體確定,一般可取5 %。
圖4給出了直方圖增強算法的FPGA系統(tǒng)框圖,A/D轉(zhuǎn)換后的14 b數(shù)據(jù)流進入直方圖統(tǒng)計模塊計算每一像素點的直方圖,根據(jù)設(shè)定好的分位數(shù)計算圖像中像素的最大值和最小值。在每一幀有效數(shù)據(jù)結(jié)束后,根據(jù)直方圖統(tǒng)計得到的最大值和最小值,計算灰度映射的除法,這樣每幀只需計算1次除法,而不用對每一像素進行除法計算。之后對得到的因子對每一像素進行乘法及移位計算即可得到直方圖增強算法處理后的圖像數(shù)據(jù)。增強后的圖像數(shù)據(jù)通過DAC控制模塊送入電視顯示。
3 結(jié)語
針對紅外試試圖像處理系統(tǒng)構(gòu)建的FPGA+多DSP的硬件平臺,利用FPGA進行調(diào)度和時序控制,有效的使3個處理器并行工作,大大提高了系統(tǒng)處理能力。研究并實現(xiàn)了從紅外探測器數(shù)據(jù)采集到圖像校正、圖像處理,以及圖像顯示的整個流程。系統(tǒng)已應(yīng)用于工程實踐中,對于空間質(zhì)量要求苛刻的高性能處理系統(tǒng)有一定的借鑒意義。