DSP和FPGA的電視觀瞄系統(tǒng)設(shè)計(jì)
圖文混合主要是控制觀瞄系統(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接口。對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)槿绻谝粓龅?0ms時(shí)間里面不能協(xié)助完成圖像旋轉(zhuǎn)所需要的計(jì)算,則會(huì)發(fā)生圖像停滯或者跳變,嚴(yán)重影響觀瞄效果。所以場中斷是外部中斷源中優(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)特殊的場合需求。比如不同光學(xué)機(jī)構(gòu)的零位角度不同、命令的調(diào)整、系統(tǒng)運(yùn)行過程對特定參數(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中對Flag編程,就可以實(shí)現(xiàn)對EEPROM的各種操作。
● 電源設(shè)計(jì)
現(xiàn)在以ASIC、DSP、FPGA等組成的系統(tǒng)中芯片都是低功耗設(shè)計(jì),供電部分也變得越來越復(fù)雜。不僅對不同電平值的電壓精度、輸出電流、紋波、沖擊等要求十分嚴(yán)格,而且同一個(gè)芯片的不同電平的上電時(shí)序也有了要求。整個(gè)系統(tǒng)的電源設(shè)計(jì)都采用了美國德州儀器公司的電源器件。
ADSP2183的供電相對比較簡單,這里主要討論FPGA的供電。手冊規(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),以確保配置過程的正確完成。
紅外熱像儀相關(guān)文章:紅外熱像儀原理
評論