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