● DSP設計
ADSP2183是的高速增強定點16位數字信號處理芯片。作為主控芯片,ADSP2183的接口主要可分為圖像串行傳輸接口、串行通信接口、TL16C552A控制接口、字節存儲區間接口、I/O空間接口、重迭數據存儲區間接口、EZ-ICE控制接口及其他一些IO接口。對DSP主要就是設計存儲器地址空間,ADSP2183有4個獨立的存儲空間:數據存儲器、程序存儲器、字節存儲器、I/O存儲器。它們都有相應的片選,支持外部訪問。其中,字節存儲器空間達到4MB,支持從廉價的8位存儲器引導和實時存取。如圖3所示,ADSP2183的所有數據線、地址線、存儲器片選、中斷控制和部分I/O都連到了EP2S30F484上。DSP可以像訪問內部存儲器一樣,訪問在FPGA內部配置出的RAM塊,與FPGA高速的傳送數據。DSP的三個外部中斷源是有優先級安排的。因為如果在一場的20ms時間里面不能協助完成圖像旋轉所需要的計算,則會發生圖像停滯或者跳變,嚴重影響觀瞄效果。所以場中斷是外部中斷源中優先級最高的,接下來是UART產生的中斷,因為它直接影響實時的圖文混合與顯示結果,最后才是控制臺產生的中斷,人手操作的時間和人眼感受變化的時間畢竟和以上兩種相比有比較大的差異。
系統硬件結構
工作頻率是26.32MHz,所以這里接一個16MHz系統時鐘,其內部自動輸出一個精確的32MHz時鐘到CLKOUT,同時給FPGA作為全局時鐘使用。ADSP2183使用一個2×7的Emulator接口進行調試和仿真。
觀瞄系統旋轉的精確角度值由系統中的方位解算器產生,以粗通道、精通道各高8位的方式表示,其中解算器是36速比的。FPGA通過組合CS0、CS1、INH這三個片選信號發送給方位解算器,然后一次連續從總線上讀回粗通道高、粗通道低、精通道高、精通道低總共四個8位二進制值的角度值,DSP按順序把四個值組合成一個19位的完整角度值。這樣的角度值最高精度達到 0.02個密位(6000個密位表示360°),滿足系統設計提出的精度要求。由DSP完成消像旋的協同計算,將計算結果通過DSP的數據總線返回至FPGA。
ADSP2183內部沒有非易失性存儲器,程序和數據必須依靠外部擴展存儲器。在系統加電或復位時,如果ADSP2183的BMODE和MMAP都為低,就會以BDMA(字節DMA)的方式通過DSP的引導加載(Boot loader)機制將程序和數據轉移到片上存儲器中執行。過程是:ADSP2183從字節存儲器空間裝載最前的32個程序存儲器字,然后開始執行。裝載程序就在這32個字中。裝載程序連續的從字節口裝載,直到整個程序裝載完成為止。這里使用的是SST公司的SST29LE010,8位的1Mbit EEPROM作為DSP的字節存儲器。它是3.3V單電源,可以分頁,每頁128字節,最多1024頁,支持Page-Write(頁寫)和JEDEC標準的在線編程,使用起來方便可靠。
紅外熱像儀及其控制電路以RS422方式發送串行數據,TL16C552A按照通信協議接收到,自動轉換成并行數據,ADSP2183直接用程序方式從數據總線上讀回。DSP發送給熱像儀的串行數據也是經過TL16C552A并串轉換,再由RS422驅動的。考慮到ADSP2183和外部的通信任務就是控制命令、工作參數的發送和狀態字的返回,數據傳輸需求較低且數據流零散的特點,這里使用德州儀器公司的TL16C552A雙異步通信器就可以勝任了。
另外,系統中還加入了一個串行EEPROM器件,Microchip公司93LC66B Microwire 串行EEPROM。因為電視觀瞄系統中需要一些動態的參數,來進行不同的處理以適應特殊的場合需求。比如不同光學機構的零位角度不同、命令的調整、系統運行過程對特定參數或者錯誤信息的記錄,等等。都需要系統每次能夠記錄這些參數,并且在斷電以后存儲這些參數。由于參數并不多,所以不需要額外設計復雜的FLASH存儲空間。93LC66B的使用十分方便,確定好EEPROM的ORG狀態,就只需要把93LC66B的DI、DO、SCK和CS這幾根引腳與ADSP2183的Flag引腳正確連接,然后在DSP中對Flag編程,就可以實現對EEPROM的各種操作。
● 電源設計
現在以ASIC、DSP、FPGA等組成的系統中芯片都是低功耗設計,供電部分也變得越來越復雜。不僅對不同電平值的電壓精度、輸出電流、紋波、沖擊等要求十分嚴格,而且同一個芯片的不同電平的上電時序也有了要求。整個系統的電源設計都采用了美國德州儀器公司的電源器件。
ADSP2183的供電相對比較簡單,這里主要討論FPGA的供電。手冊規定,EP2S30F484的電源基本分為這幾種:核心供電(Vccint)為1.2V;各個BANK的I/O口供電(Vccio),鎖相環數字供電(Vccpll_d)為1.2V,鎖相環模擬供電(Vccpll_a)為1.2V。還有Vccpd為3.3V),它是StratixII FPGA新定義的一個供電,其作用是為所有相關的3.3V/2.5V的配置輸入緩沖器和JTAG相關引腳提供穩定可靠的供電。它要求從0~3.3V的抬升時間必須小于100ms,否則Stratix II FPAG將不能配置成功。但是如果確實不能保障這樣苛刻的要求,就必須人為地把nCONFIG信號強制拉低,直到其他電源達到設計的可靠狀態,以確保配置過程的正確完成。
EP2S30F484的(Vccint)是由TP54312提供,1.2V(Vccpll_a/Vccpll_d)是TP73633提供,3.3V(Vccpd)是TP78601提供,整個系統的3.3V供電是TP75533提供。不同電源的供電時序經過設計并實驗測量出,是符合設計要求,當然也保證了觀瞄系統的正常運行。
在每種電源設計的時候,都加入了二極管反向保護和瞬態電壓抑制器進行瞬間過沖保護。同一種電源的模擬和數字部分也用電感隔離開了,相應的模擬地層和數字地層之間也物理分隔開,在合適的位置點用Ferrite Bead(鐵氧體磁珠)做了連接,最大程度的減小EMI。主圖像處理板是一塊10層PCB的設計,電源和地就有4層,所有電源和部分時鐘都在內電層或地層劃分出來,信號層沒有長距離的供電回路和時鐘走線。