馬修準(zhǔn),戴紹港,易志強(qiáng),趙知勁
(杭州電子科技大學(xué)通信工程學(xué)院,浙江杭州310018)
多普勒計(jì)程儀是一種利用聲波在水中的多普勒效應(yīng)原理的測速和導(dǎo)航設(shè)備[1],近年來數(shù)字信號處理芯片(Digital Signal Processor,DSP)憑借其精度高、靈活性好、容易大規(guī)模集成等特點(diǎn)在多普勒計(jì)程儀硬件實(shí)現(xiàn)中得到了廣泛的應(yīng)用[2]。但是隨著人們對多普勒計(jì)程儀的數(shù)字信號處理要求的不斷提高,DSP也暴露了它的缺點(diǎn),比如運(yùn)算速度比較慢。現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)可以很好地解決DSP的不足[3],它適合于各種算術(shù)運(yùn)算,并且根據(jù)其特有的結(jié)構(gòu)可以充分利用硬件資源,便于實(shí)現(xiàn)并行算法[4],提高處理器的運(yùn)算能力。本文主要介紹基于FPGA開發(fā)的多普勒計(jì)程儀的硬件平臺設(shè)計(jì)。
多普勒計(jì)程儀測速系統(tǒng)主要根據(jù)發(fā)射信號和水底回波信號之間的多普勒頻移來計(jì)算船艦速度,包括信號發(fā)射與接收、回波信號的頻率估計(jì)、速度解算、與主機(jī)的通信以及系統(tǒng)的顯示控制等功能。因此可以將整個系統(tǒng)設(shè)計(jì)為以下幾個模塊,系統(tǒng)模塊設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)模塊設(shè)計(jì)框圖
1)同步采樣模塊
由于需要同時測量水平與垂直方向的速度,并為了消除水中聲速變化對速度測量精度影響而采用相控發(fā)射和接收,所以同步采樣模塊需完成8通道模擬信號的同步采樣,考慮信號的動態(tài)范圍,一般采用位數(shù)較高,性能較好的多路模/數(shù)轉(zhuǎn)換器采樣芯片。為了更好地的實(shí)現(xiàn)時鐘的同步采樣,并盡可能減少設(shè)計(jì)面積,故選擇ADI公司的8路同步采樣芯片——AD9252。
2)數(shù)據(jù)處理與儲存模塊
數(shù)據(jù)處理與儲存模塊主要完成對數(shù)據(jù)的處理與存儲,數(shù)據(jù)存儲是利用大容量SDRAM芯片對8路采集數(shù)據(jù)進(jìn)行實(shí)時存儲,并及時上傳至上位機(jī);而數(shù)據(jù)處理則完成數(shù)據(jù)抽取、帶通濾波、波束合成、能量檢測與底跟蹤、速度解算、坐標(biāo)轉(zhuǎn)換及縱橫搖擺補(bǔ)償?shù)裙δ埽?]。
3)定時脈沖產(chǎn)生模塊
定時脈沖產(chǎn)生模塊主要利用FPGA中時鐘鎖相環(huán)來產(chǎn)生系統(tǒng)所需要的各種時鐘脈沖信號[5],以及有關(guān)的控制脈沖信號,如大包絡(luò)信號,從而完成整個系統(tǒng)各模塊之間的同步協(xié)調(diào)功能。因此,電路設(shè)計(jì)時主要參考數(shù)據(jù)處理模塊中的FPGA硬件電路設(shè)計(jì)。
4)編碼信號產(chǎn)生模塊
編碼信號產(chǎn)生模塊主要用來產(chǎn)生時變增益控制信號、編碼脈沖對信號、以及編碼脈沖信號。時變增益控制信號用來控制視頻圖形陣列,用FPGA和數(shù)模轉(zhuǎn)換的方法來實(shí)現(xiàn)。編碼脈沖對信號與編碼脈沖信號均為系統(tǒng)輸出信號,用FPGA芯片來實(shí)現(xiàn),從而實(shí)現(xiàn)系統(tǒng)的集成。
5)通訊模塊
通訊模塊主要完成上位機(jī)命令接收、磁羅經(jīng)數(shù)據(jù)讀取、8通道采樣數(shù)據(jù)的上報(bào)及最終解算速度結(jié)果的上報(bào)。
同步采樣模塊組成框圖如圖2所示。同步采樣模塊主要由輸入保護(hù)電路、8路同步采樣電路、采樣時鐘產(chǎn)生電路與采樣控制電路、電源電路等組成。其中輸入保護(hù)電路主要采用電阻、兩個肖特基二極管來設(shè)計(jì),實(shí)現(xiàn)過流與過壓保護(hù);8路同步采樣電路則由一個8路同步采樣芯片AD9252來實(shí)現(xiàn);采樣時鐘產(chǎn)生電路與采樣控制電路均由FPGA芯片通過內(nèi)部鎖相環(huán)、邏輯以及時序電路來實(shí)現(xiàn);電源電路實(shí)現(xiàn)電平的變換,即完成電平3.3 1.8 V的轉(zhuǎn)變,實(shí)現(xiàn)時采用SPX1117-1.8。
圖2 同步采樣模塊組成框圖
數(shù)據(jù)處理與儲存模塊組成框圖如圖3所示。因功能指標(biāo)需要,本系統(tǒng)應(yīng)具備超大量數(shù)據(jù)處理能力,且需滿足實(shí)時性指標(biāo)要求,因此不宜采用DSP器件作為數(shù)據(jù)處理核心部件,而是選擇硬件電路并行執(zhí)行方式的FPGA器件。根據(jù)實(shí)際運(yùn)算量要求和系統(tǒng)規(guī)模,選擇ALTERA公司Stratix III系列芯片作為核心數(shù)據(jù)處理芯片。為防止因連續(xù)數(shù)據(jù)流輸入造成數(shù)據(jù)堵塞現(xiàn)象,加上數(shù)據(jù)量極大超出FPGA自帶存儲空間大小,因此需外加片外存儲模塊,用于輸入數(shù)據(jù)緩存以及中間計(jì)算結(jié)果緩存。其中為保證系統(tǒng)實(shí)時性指標(biāo)要求,輸入數(shù)據(jù)緩存采用“乒乓讀寫”機(jī)制[6]。
圖3 數(shù)據(jù)處理與儲存模塊組成框圖
根據(jù)所需功能,把該模塊設(shè)計(jì)成基于FPGA與存儲芯片的硬件結(jié)構(gòu)。其中FPGA采用ALTERA公司的EP3S110F1152;根據(jù)采樣數(shù)據(jù)的存儲和數(shù)據(jù)處理時暫存數(shù)據(jù)的存儲,以及程序的存儲等要求,存儲芯片分別采用SDRAM、SRAM和FLASH。SDRAM數(shù)據(jù)寫入時序圖如圖4所示,3個存儲芯片的相關(guān)參數(shù)如表1所示。
圖4 signaltap抓取的SDRAM數(shù)據(jù)寫入
表1 存儲芯片性能參數(shù)
編碼信號產(chǎn)生模塊如圖5所示。該模塊主要用來產(chǎn)生TVG控制信號、編碼脈沖對信號、以及編碼脈沖信號。由于時變增益信號主要作為視頻圖形陣列的控制電壓,電壓變化不快,但精度要求較高,數(shù)據(jù)可以由FPGA控制產(chǎn)生,然后通過低速模數(shù)轉(zhuǎn)換芯片來產(chǎn)生該電壓信號,因此,采用TI公司的基于串行外設(shè)接口12 bits、最高支持25 MHz時鐘速率的DAC7611芯片。編碼脈沖對信號是數(shù)字信號,電平要求LVTTL,故直接由FPGA產(chǎn)生。編碼脈沖模擬信號則由FPGA產(chǎn)生數(shù)字編碼脈沖信號,然后通過數(shù)模轉(zhuǎn)換芯片與運(yùn)放芯片,再經(jīng)低通濾波器來實(shí)現(xiàn)。因此,模數(shù)轉(zhuǎn)換采用ADI公司的AD5445芯片,運(yùn)放芯片采用AD8065,來實(shí)現(xiàn)輸出驅(qū)動。
設(shè)計(jì)的通訊模塊框圖如圖6所示,主要包括2個RS232,1個RS422。其中1個RS232完成磁羅經(jīng)數(shù)據(jù)讀取,另1個RS232完成深度傳感器數(shù)據(jù)讀取。RS232接口采用MAX3232接口芯片,該芯片具有2個電平轉(zhuǎn)換模塊,可以同時實(shí)現(xiàn)2個RS232通訊。RS422則完成最終解算速度結(jié)果的上報(bào)以及接收上位機(jī)命令控制字。RS422接口則采用MAX3491接口芯片,該芯片支持半雙工與全雙工兩種工作模式。系統(tǒng)通過串行外設(shè)接口與PC機(jī)實(shí)現(xiàn)數(shù)據(jù)的上傳以及指令的控制,串行外設(shè)接口是一種同步串行外設(shè)接口,用于CPU和外圍低速器件之間,為全雙工通信,雖然其傳輸速率不高,但足以滿足系統(tǒng)要求,是一種理想的選擇方案。
圖5 編碼信號產(chǎn)生模塊組成原理框圖
圖6 通訊模塊原理框圖
本文主要介紹了基于FPGA的多普勒計(jì)程儀硬件設(shè)計(jì),整個系統(tǒng)以FPGA為處理器,利用其豐富的I/0口、內(nèi)部邏輯和存儲單元等資源控制整個系統(tǒng)工作以及測頻算法的實(shí)現(xiàn)。分析了系統(tǒng)組成和各個模塊的功能,介紹了核心模塊的方案選擇和工作原理,給出了所用芯片的連接框圖,該硬件方案滿足系統(tǒng)時序要求,系統(tǒng)最高工作頻率可達(dá)114 MHz。論證了方案的可行性和優(yōu)越性。
[1]Blair H Brumley,Ramon G Cabrera,Terray.Performance of a BroadBand Acoustic Doppler Current Profiler[J].IEEE Journal of Oceanic Engineering,1991,16(4):402 -407.
[2]馮世英.基于相控陣的多普勒測速系統(tǒng)的硬件實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2004:5-7.
[3]武海東.高頻多普勒對流測速系統(tǒng)的研究與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2009:20-29.
[4]曹永紅.相控陣聲學(xué)多普勒計(jì)程儀的信號處理模塊設(shè)計(jì)[J].聲學(xué)與電子工程,2009,(1):44-46.
[5]王海峰.基于FPGA的多普勒測頻系統(tǒng)設(shè)計(jì)[D].哈爾濱:哈爾濱工程大學(xué),2007:41-49.
[6]楊華.基于FPGA的測頻技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2010:18-25.