作者:電子科技大學(xué)光電信息學(xué)院 劉學(xué)智 葉玉堂,;西南技術(shù)物理研究所 高升久 黃自力
電視觀瞄系統(tǒng)以FPGA為處理核心,,實(shí)現(xiàn)紅外數(shù)字視頻信號(hào)的實(shí)時(shí)圖像處理,DSP實(shí)現(xiàn)了部分的圖像處理算法和FPGA的控制邏輯,,并響應(yīng)中斷,,實(shí)現(xiàn)數(shù)據(jù)通信和存儲(chǔ)。
引言
許多光學(xué)觀瞄系統(tǒng)都增加了電視,、紅外輔助(周視)觀瞄系統(tǒng),,稱之為光電觀瞄系統(tǒng)。在該系統(tǒng)中,,需要用電視或紅外成像來精確瞄準(zhǔn)目標(biāo),,但光電系統(tǒng)所在的平臺(tái)總是處于運(yùn)動(dòng)狀態(tài),成像器件產(chǎn)生的圖像也就隨之運(yùn)動(dòng),,通過CCD成像器件或紅外成像器件得到的圖像不能保證觀瞄精度。因此,,克服平臺(tái)運(yùn)動(dòng)造成的成圖像旋轉(zhuǎn)是解決觀瞄精度的關(guān)鍵技術(shù)之一,。目前的常用方法是機(jī)械消像旋,很多要求較高的光學(xué)系統(tǒng)仍然采用該方案,,隨DSP及FPGA的廣泛應(yīng)用,,電子消像旋也應(yīng)用到了光學(xué)觀瞄系統(tǒng)上。
這兩種方案各有優(yōu)缺點(diǎn):機(jī)械消像旋可以保證視場(chǎng)不受影響,,觀瞄精度由成像器件和光學(xué)系統(tǒng)決定,,缺點(diǎn)是需要一套精密的機(jī)械控制系統(tǒng),對(duì)小型化的光學(xué)觀瞄系統(tǒng)而言,,有時(shí)很難滿足該機(jī)械裝置對(duì)空間的需求,;電子消像旋克服了對(duì)精密機(jī)械裝置的要求,可以把處理模塊安裝在系統(tǒng)的電子箱中,,實(shí)時(shí)性好,,無機(jī)械延遲,缺點(diǎn)是會(huì)損失邊緣部分的視場(chǎng),、觀瞄精度不僅受光學(xué)系統(tǒng)及成像器件的影響,,而且與旋轉(zhuǎn)算法、插值算法及插值精度有關(guān),。盡管如此,,電子消像旋平臺(tái)為使用圖像處理技術(shù)和數(shù)字信號(hào)處理技術(shù)提供了充分的條件,隨著微電子技術(shù)的迅猛發(fā)展,,設(shè)計(jì)優(yōu)秀的光電觀瞄系統(tǒng)不僅能夠滿足系統(tǒng)對(duì)精度的要求,,還能夠利用圖像處理技術(shù)大大改善觀瞄的視覺效果,同時(shí)可以完成許多數(shù)字信號(hào)處理方面的工作,,如:目標(biāo)識(shí)別跟蹤,、遠(yuǎn)程通信,、信息管理等重要的功能。
本文介紹的電子消像旋系統(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)要求在非常苛刻的物理環(huán)境下工作,,而LVDS方式具有良好的抗電磁干擾(EMI)能力,,能夠很好地保證視頻信號(hào)在較長距離條件下的傳輸質(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)過消像旋處理的數(shù)字視頻流,,再由DC/DC與差分轉(zhuǎn)換模塊中的LVDS Driver部分傳送給終端顯示。其中,,紅外熱像儀控制電路設(shè)置兩路RS422串行通信口,,通過串行口與熱像儀和圖像處理板交換數(shù)據(jù)信息,。數(shù)據(jù)交換由熱像儀控制電路發(fā)起,每100ms通過RS422串行通信口1向熱像儀發(fā)送一次控制指令,,直到收到熱像儀的接收響應(yīng)回碼,。紅外熱像儀控制電路板收到熱像儀的接收回碼后將該回碼通過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)算過程復(fù)雜,,運(yùn)算量也大,尤其是當(dāng)對(duì)旋轉(zhuǎn)后的圖像質(zhì)量要求較高時(shí),,需要采用高階數(shù)的插值運(yùn)算,,如3階、4階等,,則運(yùn)算量更大,。因此單純采用軟件實(shí)現(xiàn),其運(yùn)算時(shí)間過長,,實(shí)時(shí)性差,,無法滿足高速圖像旋轉(zhuǎn)的要求,更不用說在視頻條件下使用,。
● 觀瞄顯示界面設(shè)計(jì)
觀瞄顯示界面如圖2所示,。通過圖文混合技術(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)過消像旋處理后仍按原格式輸出。圖像分辨率為(768×576)像素/幀,。
由于旋轉(zhuǎn)后圖像像素點(diǎn)坐標(biāo)不再是整數(shù),,故旋轉(zhuǎn)后必須對(duì)像素點(diǎn)灰度進(jìn)行插值運(yùn)算。但是如果采用高階數(shù)的插值運(yùn)算,其運(yùn)算過程復(fù)雜,,運(yùn)算量也大,。通過對(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))來交替地存儲(chǔ)經(jīng)過旋轉(zhuǎn)處理后的數(shù)字圖像數(shù)據(jù),。用于奇(偶)場(chǎng)操作的四片SRAM的20位地址線和寫(WE)、讀(OE)是一樣的,,只有各自的8位數(shù)據(jù)線和片選則是獨(dú)立的,。在一行像素全部傳送到以后,和上一行像素的插值工作,,還有行內(nèi)插值就實(shí)時(shí)的完成了,。
FPGA的基準(zhǔn)時(shí)鐘為來自DSP輸出的32MHz時(shí)鐘,經(jīng)過片內(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來存儲(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í)用的工具是軟邏輯分析儀,它通過標(biāo)準(zhǔn)JTAG的方式就提供給用戶可視化的在線分析能力,。只要把ByteMasterMV電纜連接在EP2S30F484的JTAG頭上,,添加邏輯分析文件,在里面定義好要觀察的信號(hào),,觸發(fā)信號(hào),、方式,時(shí)鐘,,采樣深度等參數(shù),,編譯完成后從JTAG下載到FPGA內(nèi)部,就可以運(yùn)行,,并實(shí)時(shí)的獲得圖形化的分析結(jié)果,。
● DSP設(shè)計(jì)
ADSP2183是的高速增強(qiáng)定點(diǎn)16位數(shù)字信號(hào)處理芯片。作為主控芯片,,ADSP2183的接口主要可分為圖像串行傳輸接口,、串行通信接口、TL16C552A控制接口,、字節(jié)存儲(chǔ)區(qū)間接口,、I/O空間接口、重疊數(shù)據(jù)存儲(chǔ)區(qū)間接口,、EZ-ICE控制接口及其他一些IO接口,。對(duì)DSP主要就是設(shè)計(jì)存儲(chǔ)器地址空間,,ADSP2183有4個(gè)獨(dú)立的存儲(chǔ)空間:數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器,、字節(jié)存儲(chǔ)器,、I/O存儲(chǔ)器。它們都有相應(yīng)的片選,,支持外部訪問,。其中,字節(jié)存儲(chǔ)器空間達(dá)到4MB,,支持從廉價(jià)的8位存儲(chǔ)器引導(dǎo)和實(shí)時(shí)存取,。如圖3所示,ADSP2183的所有數(shù)據(jù)線,、地址線,、存儲(chǔ)器片選、中斷控制和部分I/O都連到了EP2S30F484上,。DSP可以像訪問內(nèi)部存儲(chǔ)器一樣,,訪問在FPGA內(nèi)部配置出的RAM塊,與FPGA高速的傳送數(shù)據(jù),。DSP的三個(gè)外部中斷源是有優(yōu)先級(jí)安排的,。因?yàn)槿绻谝粓?chǎng)的20ms時(shí)間里面不能協(xié)助完成圖像旋轉(zhuǎn)所需要的計(jì)算,則會(huì)發(fā)生圖像停滯或者跳變,,嚴(yán)重影響觀瞄效果,。所以場(chǎng)中斷是外部中斷源中優(yōu)先級(jí)最高的,接下來是UART產(chǎn)生的中斷,,因?yàn)樗苯佑绊憣?shí)時(shí)的圖文混合與顯示結(jié)果,,最后才是控制臺(tái)產(chǎn)生的中斷,人手操作的時(shí)間和人眼感受變化的時(shí)間畢竟和以上兩種相比有比較大的差異,。
圖3 系統(tǒng)硬件結(jié)構(gòu)
工作頻率是26.32MHz,,所以這里接一個(gè)16MHz系統(tǒng)時(shí)鐘,其內(nèi)部自動(dòng)輸出一個(gè)精確的32MHz時(shí)鐘到CLKOUT,,同時(shí)給FPGA作為全局時(shí)鐘使用,。ADSP2183使用一個(gè)2×7的Emulator接口進(jìn)行調(diào)試和仿真。
觀瞄系統(tǒng)旋轉(zhuǎn)的精確角度值由系統(tǒng)中的方位解算器產(chǎn)生,,以粗通道,、精通道各高8位的方式表示,,其中解算器是36速比的,。FPGA通過組合CS0、CS1,、INH這三個(gè)片選信號(hào)發(fā)送給方位解算器,,然后一次連續(xù)從總線上讀回粗通道高、粗通道低、精通道高,、精通道低總共四個(gè)8位二進(jìn)制值的角度值,,DSP按順序把四個(gè)值組合成一個(gè)19位的完整角度值。這樣的角度值最高精度達(dá)到 0.02個(gè)密位(6000個(gè)密位表示360°),,滿足系統(tǒng)設(shè)計(jì)提出的精度要求,。由DSP完成消像旋的協(xié)同計(jì)算,將計(jì)算結(jié)果通過DSP的數(shù)據(jù)總線返回至FPGA,。
ADSP2183內(nèi)部沒有非易失性存儲(chǔ)器,,程序和數(shù)據(jù)必須依靠外部擴(kuò)展存儲(chǔ)器。在系統(tǒng)加電或復(fù)位時(shí),,如果ADSP2183的BMODE和MMAP都為低,,就會(huì)以BDMA(字節(jié)DMA)的方式通過DSP的引導(dǎo)加載(Boot loader)機(jī)制將程序和數(shù)據(jù)轉(zhuǎn)移到片上存儲(chǔ)器中執(zhí)行。過程是:ADSP2183從字節(jié)存儲(chǔ)器空間裝載最前的32個(gè)程序存儲(chǔ)器字,,然后開始執(zhí)行,。裝載程序就在這32個(gè)字中。裝載程序連續(xù)的從字節(jié)口裝載,,直到整個(gè)程序裝載完成為止,。這里使用的是SST公司的SST29LE010,8位的1Mbit EEPROM作為DSP的字節(jié)存儲(chǔ)器,。它是3.3V單電源,,可以分頁,每頁128字節(jié),,最多1024頁,,支持Page-Write(頁寫)和JEDEC標(biāo)準(zhǔn)的在線編程,使用起來方便可靠,。
紅外熱像儀及其控制電路以RS422方式發(fā)送串行數(shù)據(jù),,TL16C552A按照通信協(xié)議接收到,自動(dòng)轉(zhuǎn)換成并行數(shù)據(jù),,ADSP2183直接用程序方式從數(shù)據(jù)總線上讀回,。DSP發(fā)送給熱像儀的串行數(shù)據(jù)也是經(jīng)過TL16C552A并串轉(zhuǎn)換,再由RS422驅(qū)動(dòng)的,??紤]到ADSP2183和外部的通信任務(wù)就是控制命令、工作參數(shù)的發(fā)送和狀態(tài)字的返回,,數(shù)據(jù)傳輸需求較低且數(shù)據(jù)流零散的特點(diǎn),,這里使用德州儀器公司的TL16C552A雙異步通信器就可以勝任了。
另外,,系統(tǒng)中還加入了一個(gè)串行EEPROM器件,,Microchip公司93LC66B Microwire 串行EEPROM,。因?yàn)殡娨曈^瞄系統(tǒng)中需要一些動(dòng)態(tài)的參數(shù),來進(jìn)行不同的處理以適應(yīng)特殊的場(chǎng)合需求,。比如不同光學(xué)機(jī)構(gòu)的零位角度不同,、命令的調(diào)整、系統(tǒng)運(yùn)行過程對(duì)特定參數(shù)或者錯(cuò)誤信息的記錄,,等等,。都需要系統(tǒng)每次能夠記錄這些參數(shù),并且在斷電以后存儲(chǔ)這些參數(shù),。由于參數(shù)并不多,,所以不需要額外設(shè)計(jì)復(fù)雜的FLASH存儲(chǔ)空間。93LC66B的使用十分方便,,確定好EEPROM的ORG狀態(tài),,就只需要把93LC66B的DI、DO,、SCK和CS這幾根引腳與ADSP2183的Flag引腳正確連接,,然后在DSP中對(duì)Flag編程,就可以實(shí)現(xiàn)對(duì)EEPROM的各種操作,。
● 電源設(shè)計(jì)
現(xiàn)在以ASIC,、DSP、FPGA等組成的系統(tǒng)中芯片都是低功耗設(shè)計(jì),,供電部分也變得越來越復(fù)雜,。不僅對(duì)不同電平值的電壓精度、輸出電流,、紋波,、沖擊等要求十分嚴(yán)格,而且同一個(gè)芯片的不同電平的上電時(shí)序也有了要求,。整個(gè)系統(tǒng)的電源設(shè)計(jì)都采用了美國德州儀器公司的電源器件,。
ADSP2183的供電相對(duì)比較簡(jiǎn)單,這里主要討論FPGA的供電,。手冊(cè)規(guī)定,,EP2S30F484的電源基本分為這幾種:核心供電(Vccint)為1.2V;各個(gè)BANK的I/O口供電(Vccio),,鎖相環(huán)數(shù)字供電(Vccpll_d)為1.2V,,鎖相環(huán)模擬供電(Vccpll_a)為1.2V。還有Vccpd為3.3V),,它是StratixII FPGA新定義的一個(gè)供電,,其作用是為所有相關(guān)的3.3V/2.5V的配置輸入緩沖器和JTAG相關(guān)引腳提供穩(wěn)定可靠的供電。它要求從0~3.3V的抬升時(shí)間必須小于100ms,,否則Stratix II FPAG將不能配置成功,。但是如果確實(shí)不能保障這樣苛刻的要求,就必須人為地把nCONFIG信號(hào)強(qiáng)制拉低,,直到其他電源達(dá)到設(shè)計(jì)的可靠狀態(tài),,以確保配置過程的正確完成。
EP2S30F484的(Vccint)是由TP54312提供,,1.2V(Vccpll_a/Vccpll_d)是TP73633提供,,3.3V(Vccpd)是TP78601提供,整個(gè)系統(tǒng)的3.3V供電是TP75533提供,。不同電源的供電時(shí)序經(jīng)過設(shè)計(jì)并實(shí)驗(yàn)測(cè)量出,,是符合設(shè)計(jì)要求,當(dāng)然也保證了觀瞄系統(tǒng)的正常運(yùn)行,。
在每種電源設(shè)計(jì)的時(shí)候,,都加入了二極管反向保護(hù)和瞬態(tài)電壓抑制器進(jìn)行瞬間過沖保護(hù)。同一種電源的模擬和數(shù)字部分也用電感隔離開了,,相應(yīng)的模擬地層和數(shù)字地層之間也物理分隔開,,在合適的位置點(diǎn)用Ferrite Bead(鐵氧體磁珠)做了連接,最大程度的減小EMI,。主圖像處理板是一塊10層PCB的設(shè)計(jì),,電源和地就有4層,所有電源和部分時(shí)鐘都在內(nèi)電層或地層劃分出來,,信號(hào)層沒有長距離的供電回路和時(shí)鐘走線,。
● VHDL程序設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)包括對(duì)FPGA的VHDL程序編寫和對(duì)DSP的匯編程序編寫兩部分。
在FPGA設(shè)計(jì)中采用VHDL語言設(shè)計(jì),不僅大大簡(jiǎn)化了設(shè)計(jì)復(fù)雜邏輯電路的難度,而且可以充分發(fā)揮FPGA內(nèi)部資源的優(yōu)勢(shì),。在Quartus II5.0集成開發(fā)環(huán)境下,,對(duì)整個(gè)FPGA運(yùn)算模塊采用了自頂向下的設(shè)計(jì)方式。首先,,用Block圖的方式按照系統(tǒng)中所用芯片劃分,,設(shè)計(jì)了邏輯總體,把所有FPGA的資源合理分配到相應(yīng)的物理引腳,,規(guī)劃好頂層邏輯,。接著,在每個(gè)Block下編寫VHDL程序,,實(shí)現(xiàn)具體的控制邏輯,。采用模塊化、規(guī)則化和局部化的技術(shù),既提高了設(shè)計(jì)效率,又減少設(shè)計(jì)的復(fù)雜性,。
對(duì)于EP2S30F484,,使用一個(gè)統(tǒng)一的全局時(shí)鐘,并采用同步時(shí)序的設(shè)計(jì)方法,。FPGA內(nèi)部的所有模塊都使用一個(gè)全局時(shí)鐘,,統(tǒng)一復(fù)位,。在具體功能模塊設(shè)計(jì)的時(shí)候,可以調(diào)用一些Altera公司的內(nèi)部核和LPM功能塊,。這些模塊具有結(jié)構(gòu)獨(dú)立的設(shè)計(jì)輸入,、高效的設(shè)計(jì)映射和工具獨(dú)立的設(shè)計(jì)輸入,不僅節(jié)省大量的FPGA資源,提高了設(shè)計(jì)效率,而且使系統(tǒng)性能得到提高。
圖4 系統(tǒng)軟件流程圖
● DSP程序設(shè)計(jì)
ADSP-2183有一套完整的軟件與硬件開發(fā)系統(tǒng),,包含一個(gè)以PC為平臺(tái)的硬件仿真器ADSP218xEZIC E 和IDE(集成開發(fā)環(huán)境)VisualDSP++3.5,。ADSP218xEZIC E是基于RS232串口的在線仿真器,它一邊通過串口和PC的IDE通信,,下載程序代碼到目標(biāo)DSP運(yùn)行,另外一邊通過設(shè)計(jì)在目標(biāo)板上的Emulator的14個(gè)管腳,,觀察和測(cè)試DSP的端口、寄存器以及RAM的工作情況,,并返回到PC的IDE界面,。
● 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件主要是由主程序和中斷服務(wù)程序兩部分組成,程序設(shè)計(jì)框圖如圖4所示,。主程序首先設(shè)置ADSP-2183 內(nèi)部寄存器,,如中斷控制寄存器ICNTL、中斷屏蔽寄存器IMASK,、系統(tǒng)控制寄存器,,以建立ADSP-2183的工作模式。然后運(yùn)行DSP自檢程序,。通過后,,則要初始化UART芯片(TL16C552)、讀取串行EEPROM中預(yù)存的參數(shù),,然后進(jìn)入主體循環(huán),。DSP的三個(gè)外部中斷源產(chǎn)生中斷:場(chǎng)中斷,每20ms產(chǎn)生一次,、UART通信中斷,,紅外熱像儀及其控制電路產(chǎn)生、控制臺(tái)中斷,。主要的消像旋運(yùn)算,、圖文混合的任務(wù),方位解算器角度讀取和計(jì)算都由場(chǎng)中斷服務(wù)程序完成,,而且必須在20ms時(shí)間內(nèi)及時(shí)完成,。UART中斷服務(wù)程序由發(fā)送和接收任務(wù)觸發(fā),當(dāng)有數(shù)據(jù)被接收到或要發(fā)送,,中斷服務(wù)程序首先通過讀狀態(tài)寄存器確定是發(fā)送還是接收,,然后跳轉(zhuǎn)到相應(yīng)服務(wù)程序中執(zhí)行。其中TL16C552的初始化程序則主要完成異步串行通信協(xié)議的設(shè)置。系統(tǒng)界面顯示的字符是16x16的矩陣,,所以制作了4KB地字庫,,可以容納128個(gè)中文、數(shù)字,、字母,、特殊符號(hào)。
結(jié)束語
本設(shè)計(jì)大大提高了觀瞄系統(tǒng)的智能化,、自動(dòng)化水平,,更是賦予其全天候作戰(zhàn)能力,。外場(chǎng)實(shí)驗(yàn)充分證明從目標(biāo)的輪廓邊緣來看,,進(jìn)行了8倍插值后,消像旋的效果和預(yù)期設(shè)計(jì)完全符合,,鋸齒效應(yīng)控制得非常不錯(cuò),,其他各項(xiàng)指標(biāo)均達(dá)到設(shè)計(jì)要求。還可以進(jìn)一步把由ADSP2183完成的工作移植到FPGA內(nèi)部,,讓它來完成任務(wù)調(diào)配,、算法實(shí)現(xiàn)、控制流程等任務(wù),。這樣,,將進(jìn)一步加大應(yīng)用系統(tǒng)的集成度,也使得整個(gè)系統(tǒng)的可靠性和實(shí)時(shí)性將會(huì)有一個(gè)更好的提高,。