基于DSP和FPGA的電視觀瞄系統(tǒng)設(shè)計(jì)
本文介紹的電子消像旋系統(tǒng)采用Altera公司的StraTIxII系列FPGA芯片和ADI公司的ADSP2183為核心,可以滿足系統(tǒng)對(duì)功能、實(shí)時(shí)性及精度的要求。
系統(tǒng)原理與基本結(jié)構(gòu)
電視觀瞄系統(tǒng)組成框圖如圖1所示。系統(tǒng)由紅外熱像儀、主圖像處理板、DC/DC與差分轉(zhuǎn)換板、總線母板、控制接口板、顯示屏等部分組成。
圖1 電視觀瞄系統(tǒng)組成框圖
首先,紅外熱像儀生成觀瞄場(chǎng)景的數(shù)字視頻圖像數(shù)據(jù),以LVDS信號(hào)傳送到系統(tǒng)總線。這里采用LVDS視頻信號(hào),主要是考慮本電視觀瞄系統(tǒng)要求在非??量痰奈锢憝h(huán)境下工作,而LVDS方式具有良好的抗電磁干擾(EMI)能力,能夠很好地保證視頻信號(hào)在較長(zhǎng)距離條件下的傳輸質(zhì)量。該消旋處理模塊共包含四個(gè)功能單元:(1)DC/DC轉(zhuǎn)換、LVDS與LVTTL相互轉(zhuǎn)換單元;(2)系統(tǒng)控制接口單元;(3)圖像處理單元;(4)其他單元。功能單元(1)完成系統(tǒng)電源及LVDS數(shù)字差分視頻到LVTTL數(shù)字視頻的轉(zhuǎn)換;系統(tǒng)控制單元(2)包含兩路串行接口和數(shù)據(jù)交換郵箱,完成信息交換;功能單元(3)是系統(tǒng)的核心部分,它實(shí)現(xiàn)對(duì)圖像的處理及保證精度的要求;單元(4)主要是系統(tǒng)電磁兼容性方面的設(shè)計(jì)及數(shù)據(jù)存儲(chǔ)單元。
圖像處理模塊完成對(duì)數(shù)字視頻信號(hào)的流水處理,全部工作流程在DSP的控制下用FPGA器件實(shí)現(xiàn)視場(chǎng)中心的校正、旋轉(zhuǎn)、精度的計(jì)算、實(shí)時(shí)圖像插值等,最后,經(jīng)過(guò)消像旋處理的數(shù)字視頻流,再由DC/DC與差分轉(zhuǎn)換模塊中的LVDS Driver部分傳送給終端顯示。其中,紅外熱像儀控制電路設(shè)置兩路RS422串行通信口,通過(guò)串行口與熱像儀和圖像處理板交換數(shù)據(jù)信息。數(shù)據(jù)交換由熱像儀控制電路發(fā)起,每100ms通過(guò)RS422串行通信口1向熱像儀發(fā)送一次控制指令,直到收到熱像儀的接收響應(yīng)回碼。紅外熱像儀控制電路板收到熱像儀的接收回碼后將該回碼通過(guò)RS422串行通信口2轉(zhuǎn)發(fā)給圖像處理板。按照這些控制命令的內(nèi)容,圖像處理板便根據(jù)這些命令完成字符疊加,供觀瞄顯示屏上顯示。
系統(tǒng)設(shè)計(jì)
在數(shù)字信號(hào)處理技術(shù)中,DSP+FPGA是目前比較通用的方式。通用DSP對(duì)系統(tǒng)進(jìn)行管理,并協(xié)同功能強(qiáng)大的FPGA完成圖像算法,實(shí)現(xiàn)設(shè)計(jì)功能要求。
消像旋是一種常用的的數(shù)字圖像處理技術(shù),傳統(tǒng)的消像旋都是在二維平面中進(jìn)行的,由于旋轉(zhuǎn)后圖像像素點(diǎn)坐標(biāo)不再是整數(shù),故旋轉(zhuǎn)后必須對(duì)像素點(diǎn)灰度進(jìn)行二維插值運(yùn)算,由于其運(yùn)算過(guò)程復(fù)雜,運(yùn)算量也大,尤其是當(dāng)對(duì)旋轉(zhuǎn)后的圖像質(zhì)量要求較高時(shí),需要采用高階數(shù)的插值運(yùn)算,如3階、4階等,則運(yùn)算量更大。因此單純采用軟件實(shí)現(xiàn),其運(yùn)算時(shí)間過(guò)長(zhǎng),實(shí)時(shí)性差,無(wú)法滿足高速圖像旋轉(zhuǎn)的要求,更不用說(shuō)在視頻條件下使用。
● 觀瞄顯示界面設(shè)計(jì)
觀瞄顯示界面如圖2所示。通過(guò)圖文混合技術(shù),可以在顯示界面上很方便地產(chǎn)生電子分劃,形式靈活可變且精度高,可以容易實(shí)現(xiàn)不改動(dòng)光學(xué)系統(tǒng)而完成零位校準(zhǔn)、對(duì)比度亮度調(diào)整、動(dòng)態(tài)變形消隱等任務(wù)。觀瞄區(qū)域是一個(gè)圓形,圓形以外至屏幕邊緣則是固定灰度的背景,用于疊加圖文信息。屏幕左上是命令菜單,顯示當(dāng)前執(zhí)行的命令,右上是控制參數(shù),具體顯示控制字符。在屏幕左下,是系統(tǒng)的狀態(tài)信息,右下則是調(diào)試命令,平時(shí)不顯示,只在系統(tǒng)進(jìn)入自身調(diào)試狀態(tài)時(shí)才顯示。
圖2 觀瞄顯示界面
● FPGA設(shè)計(jì)
系統(tǒng)中,F(xiàn)PGA主要完成對(duì)視頻圖像的旋轉(zhuǎn)算法實(shí)現(xiàn)、圖文混合、邏輯控制和部分I/O操作等工作。正是基于這樣的考慮,選用了Altera公司的StraTIxII系列中的EP2S30F484I4芯片。StraTIxII FPGA放棄了傳統(tǒng)的查找表(LUT)結(jié)構(gòu),使用一種創(chuàng)新的自適應(yīng)邏輯模塊(ALM)作為FPGA的基本結(jié)構(gòu)單元。與第一代StraTIx相比,StratixII FPGA的邏輯密度是前者的2倍,速度也快了50%。EP2S30F484I4有13552個(gè)自適應(yīng)邏輯模塊(ALM),33 880等效邏輯單元(LE),片上RAM為1369728bit,還有12個(gè)鎖相環(huán)(PLL)。
FPGA控制單元是在QuartusII 5.0環(huán)境下開發(fā)的,消像旋處理是軟件設(shè)計(jì)的關(guān)鍵。數(shù)字視頻由紅外熱像儀輸出,格式為差分輸出。包括如下信號(hào):V_CLK(14.5MHz),V_LE(行有效)、V_FE(場(chǎng)有效)、V_EOF(奇偶場(chǎng)標(biāo)志)、V_SYN(復(fù)合同步)、V_D[7..0](8bit數(shù)據(jù))。該數(shù)字視頻經(jīng)過(guò)消像旋處理后仍按原格式輸出。圖像分辨率為(768×576)像素/幀。
由于旋轉(zhuǎn)后圖像像素點(diǎn)坐標(biāo)不再是整數(shù),故旋轉(zhuǎn)后必須對(duì)像素點(diǎn)灰度進(jìn)行插值運(yùn)算。但是如果采用高階數(shù)的插值運(yùn)算,其運(yùn)算過(guò)程復(fù)雜,運(yùn)算量也大。通過(guò)對(duì)系統(tǒng)顯示要求和方位解算器精度的綜合估算,本系統(tǒng)進(jìn)行了8倍硬件插值,在像素的水平方向進(jìn)行2倍插值,垂直方向上進(jìn)行4倍插值。為了保證插值和圖像顯示的連續(xù),本系統(tǒng)利用8片IS61LV12048(1024K×8bit的高速SRAM)芯片作場(chǎng)存儲(chǔ)器(奇場(chǎng)和偶場(chǎng))來(lái)交替地存儲(chǔ)經(jīng)過(guò)旋轉(zhuǎn)處理后的數(shù)字圖像數(shù)據(jù)。用于奇(偶)場(chǎng)操作的四片SRAM的20位地址線和寫(WE)、讀(OE)是一樣的,只有各自的8位數(shù)據(jù)線和片選則是獨(dú)立的。在一行像素全部傳送到以后,和上一行像素的插值工作,還有行內(nèi)插值就實(shí)時(shí)的完成了。
FPGA的基準(zhǔn)時(shí)鐘為來(lái)自DSP輸出的32MHz時(shí)鐘,經(jīng)過(guò)片內(nèi)數(shù)字時(shí)鐘網(wǎng)絡(luò)(PLL),可以得到系統(tǒng)所需要的多種時(shí)鐘。
圖文混合主要是控制觀瞄系統(tǒng)顯示屏的顯示內(nèi)容與相應(yīng)的位置。利用EP2S30F484的內(nèi)部RAM配置了許多獨(dú)立的小RAM塊,DSP根據(jù)不同的控制命令向這些RAM塊寫入不同的顯示內(nèi)容。FPGA再根據(jù)顯示位置的分布,以記數(shù)的方式在屏幕上控制顯示內(nèi)容輸出,達(dá)到圖文混合。
由于StratixII FPGA使用SRAM來(lái)存儲(chǔ)配置數(shù)據(jù),而SRAM存儲(chǔ)器在掉電后數(shù)據(jù)會(huì)丟失,因此每次StratixII FPAG上電時(shí),必須下載一次配置數(shù)據(jù)。選擇正確、合適的配置方案是利用FPGA進(jìn)行設(shè)計(jì)的一個(gè)重要環(huán)節(jié)。Altera公司的FPGA共有多種配置方案,其中FPP、AS、PS、PPA和JTAG 配置方案適用于Stratix II系列FPGA。本設(shè)計(jì)采用了一種Advanced configuration Combine的配置方案。因?yàn)樵谙到y(tǒng)研發(fā)階段,考慮到要頻繁地向FPGA寫入設(shè)計(jì)文件,和EP2S30F484直接相連的標(biāo)準(zhǔn)JTAG必不可少,ByteMasterMV下載線一端接PC的并口,另一端與板上引出的JTAG底座連接。存儲(chǔ)配置數(shù)據(jù)并完成自動(dòng)配置的是EPCS16,它是Altera專為StratixII設(shè)計(jì)的增強(qiáng)型配置器件。當(dāng)設(shè)計(jì)完成后,利用ByteMasterMV下載線直接將QuartusII輸出的配置信息直接寫入增強(qiáng)型配置器件中,以后在獨(dú)立工作狀態(tài)下,系統(tǒng)一上電啟動(dòng),就開始了AS(FAST)方式的自動(dòng)配置。
使用JTAG配置電路時(shí),主要用到4個(gè)必需的管腳:TDI、TDO、TMS和TCK及一個(gè)可選的管腳TRST。在電路板上,要根據(jù)JTAG 標(biāo)準(zhǔn)的要求,引出2×5的JTAG底座。要注意的是,TMS和TDI管腳必須接1kΩ的上拉電阻。
QuartusII 5.0中一個(gè)非常實(shí)用的工具是軟邏輯分析儀,它通過(guò)標(biāo)準(zhǔn)JTAG的方式就提供給用戶可視化的在線分析能力。只要把ByteMasterMV電纜連接在EP2S30F484的JTAG頭上,添加邏輯分析文件,在里面定義好要觀察的信號(hào),觸發(fā)信號(hào)、方式,時(shí)鐘,采樣深度等參數(shù),編譯完成后從JTAG下載到FPGA內(nèi)部,就可以運(yùn)行,并實(shí)時(shí)的獲得圖形化的分析結(jié)果。
Q:標(biāo)題如何在文檔中格式化?
A:對(duì)于標(biāo)題,使用井號(hào)(#)。
Q:列表項(xiàng)在文檔里怎樣表示?
A:對(duì)于列表項(xiàng),以短橫線(-)開頭。
Q:怎樣在文檔里強(qiáng)調(diào)文本?
A:若要強(qiáng)調(diào)文本,用星號(hào)(*)包裹。
Q:代碼或命令在文檔中怎么呈現(xiàn)?
A:對(duì)于代碼或命令,用反引號(hào)(`)包圍。
Q:引用文本在文檔中有什么格式要求?
A:對(duì)于引用文本,使用大于號(hào)(>)。
Q:文檔里鏈接要怎么寫?
A:對(duì)于鏈接,將文本放在方括號(hào) [] 中,后面跟著圓括號(hào) () 中的 URL。
Q:圖片在文檔中的格式是怎樣的?
A:對(duì)于圖片,方括號(hào) [] 用于替代文本,后面跟著圓括號(hào) () 中的圖片 URL。