馮宏
(第七一五研究所,杭州,310023)
深海探測技術(shù)在海洋技術(shù)領(lǐng)域占據(jù)重要位置,研究深海海流運(yùn)動(dòng)特性,不僅有利于深海探測及海洋資源的開發(fā),而且也能豐富我國的深海海洋數(shù)據(jù)庫,推動(dòng)我國海洋探測技術(shù)領(lǐng)域的快速發(fā)展。海流計(jì)是對海流的速度及方向等特性進(jìn)行探測的重要設(shè)備之一,目前市場上使用較多的是挪威安德拉公司的Seaguard RCM系列產(chǎn)品,因此研制具有自主知識產(chǎn)權(quán)的國產(chǎn)深海海流計(jì)對我國海洋儀器的國產(chǎn)化意義重大。本論文依托國家863計(jì)劃項(xiàng)目研制的6 km級1.5 MHz深海海流計(jì)系統(tǒng)。低功耗電子線路設(shè)計(jì)是深海海流計(jì)的關(guān)鍵技術(shù)之一,本文重點(diǎn)介紹一種以FPGA+MSP430為架構(gòu)形式的低功耗信號處理機(jī)硬件平臺設(shè)計(jì)。
現(xiàn)場可編程邏輯門陣列FPGA具有豐富的邏輯資源和布線資源、集成度高、功耗低,且并行處理能力強(qiáng),內(nèi)部DSP資源豐富,編程簡單靈活,運(yùn)算速度高,廣泛應(yīng)用在高速數(shù)字信號實(shí)時(shí)處理中。微功耗單片機(jī)MSP430采用精簡指令集結(jié)構(gòu),具有豐富的尋址方式、簡潔的內(nèi)核指令及大量的模擬指令,處理能力強(qiáng)、運(yùn)算速度快、功耗超低,且中斷源較多,可以任意嵌套,使用靈活方便,非常適合作為低功耗系統(tǒng)的控制單元。
海流計(jì)的基本工作原理是利用聲電換能器向海水介質(zhì)發(fā)射聲脈沖信號,并接收海水中散射體反射的回波信號,通過分析回波信號的多普勒信息,從而得到海流速度和方向等信息。
信號處理機(jī)是海流計(jì)的核心控制及處理中心,由FPGA和MSP430協(xié)同設(shè)計(jì)完成。其中,F(xiàn)PGA是系統(tǒng)的數(shù)據(jù)處理單元,MSP430是系統(tǒng)的控制單元,系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
FPGA數(shù)據(jù)處理單元主要完成發(fā)射控制、信號采集、流速解算處理及數(shù)據(jù)存儲等功能。本設(shè)計(jì)選用Xilinx公司Spartan-6系列的XC6SLX45芯片作為主處理器。該芯片是Xilinx公司推出的低功耗FPGA,采用45 nm工藝技術(shù),具有多達(dá)43 661個(gè)邏輯單元,54 576個(gè)觸發(fā)器和48個(gè)DSP48A1 Slices,且提供先進(jìn)的電源管理技術(shù)[1],已廣泛應(yīng)用于工業(yè)領(lǐng)域。
圖1 總體設(shè)計(jì)框圖
MSP430值班電路單元主要完成電源控制、邏輯控制和上位機(jī)交互等功能。本設(shè)計(jì)選用TI公司的MSP430F5418芯片作為主控制器,該芯片是16位超低功耗微處理器,待機(jī)電流小于1 μA[2],且具有強(qiáng)大的處理能力和豐富的片上外圍接口,性能穩(wěn)定,開發(fā)簡單高效。
本設(shè)計(jì)中的信號處理機(jī)硬件平臺按功能主要分為電源網(wǎng)絡(luò)、發(fā)射控制、數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲和對外通信等模塊,下面對主要模塊的設(shè)計(jì)進(jìn)行簡單介紹。
電源管理是信號處理機(jī)的核心模塊之一,在保障電源供給的同時(shí)需最大限度的降低系統(tǒng)功耗。深海海流計(jì)系統(tǒng)使用一組12 V/100 Ah的鋰電池組供電,由電源分機(jī)將12 V電源轉(zhuǎn)換成發(fā)射分機(jī)和信號處理分機(jī)所需電平。其中信號處理分機(jī)使用5 V供電,并在信號處理板內(nèi)根據(jù)模塊需求完成各種電平轉(zhuǎn)換設(shè)計(jì)。
電源分機(jī)中使用電源模塊實(shí)現(xiàn)信號處理分機(jī)5 V供電,為了盡可能的降低電源模塊的漏電流,降低系統(tǒng)功耗,我們采用前端關(guān)斷方式;同時(shí),對信號處理板級的各種電平轉(zhuǎn)換芯片,在選型時(shí)均選用具有低功耗模式的可關(guān)斷型芯片。根據(jù)系統(tǒng)運(yùn)行時(shí)序特性,由MSP430完成整機(jī)的電源管理控制,以此實(shí)現(xiàn)系統(tǒng)低功耗設(shè)計(jì)。
信號處理板內(nèi)的電源網(wǎng)絡(luò)如圖2所示,多片電源轉(zhuǎn)換芯片組成板內(nèi)分布式電源網(wǎng)絡(luò),提供不同的電源電壓標(biāo)準(zhǔn)使電路各模塊正常工作與休眠,同時(shí)受控于微處理器,實(shí)現(xiàn)電源的時(shí)序調(diào)控。
圖2 數(shù)字處理電路板內(nèi)電源網(wǎng)絡(luò)
FPGA內(nèi)核采用1.2 V及1.8 V供電電壓,IO接口采用3.3 V供電電源。本設(shè)計(jì)選用TPS54312系列芯片完成1.2 V電平轉(zhuǎn)換設(shè)計(jì),選用TPS54316芯片完成3.3 V電平轉(zhuǎn)換設(shè)計(jì),TPS62293芯片完成1.8 V電平轉(zhuǎn)換。AD采集采用2.5 V供電,選用TPS62290設(shè)計(jì)實(shí)現(xiàn)。各電平轉(zhuǎn)換芯片設(shè)計(jì)方式如圖3~圖5所示。
圖3 1.2 V電平設(shè)計(jì)
圖4 1.8 V電平設(shè)計(jì)
圖5 3.3 V電平設(shè)計(jì)
海流計(jì)系統(tǒng)發(fā)射中心頻率為1.5 MHz,在接收機(jī)中采用模擬基帶正交解調(diào)技術(shù)將回波信號中心頻率搬移至150 kHz后再送入信號處理機(jī)進(jìn)行采集處理。該設(shè)計(jì)方式能夠?qū)⒊哳l回波信號頻帶搬移至低頻段,減小信號處理機(jī)A/D采樣頻率,降低運(yùn)算量,滿足系統(tǒng)低功耗的要求。
本設(shè)計(jì)使用AD7980芯片來實(shí)現(xiàn)高速AD采集功能。該芯片位寬為16 bit,轉(zhuǎn)換吞吐量為1 Msps,單電源供電,串行輸出接口,其連接方式見圖6。
圖6 AD7980連接方式
圖6中,CNV為轉(zhuǎn)換啟動(dòng)信號,SCK為芯片的串行輸入時(shí)鐘,SDO為轉(zhuǎn)換結(jié)果數(shù)據(jù)輸出線。根據(jù)系統(tǒng)要求,本設(shè)計(jì)采用600 kHz采樣率完成采集工作。FPGA設(shè)計(jì)AD采樣驅(qū)動(dòng)時(shí)序如圖7所示。一次完整的AD轉(zhuǎn)換分為三個(gè)階段:啟動(dòng)轉(zhuǎn)換、轉(zhuǎn)換后數(shù)據(jù)有效、數(shù)據(jù)讀取。各階段分別設(shè)置為30~32個(gè)時(shí)鐘、1~2個(gè)時(shí)鐘、32個(gè)時(shí)鐘,共64個(gè)時(shí)鐘,則轉(zhuǎn)換時(shí)鐘AD_CLK為600 kHz×64=38.4 MHz,該時(shí)鐘由FPGA時(shí)鐘管理模塊DCM產(chǎn)生。
圖7 AD驅(qū)動(dòng)時(shí)序設(shè)計(jì)
根據(jù)系統(tǒng)設(shè)計(jì)需求,使用DDR2作為外部數(shù)據(jù)緩存單元。本設(shè)計(jì)中DDR2芯片選用鎂光公司的MT47H64M16,它與FPGA BANK3的MCB連接。數(shù)字處理系統(tǒng)的數(shù)據(jù)流如圖8所示,圖中為第1路信號數(shù)據(jù)的采集與存取過程,其它類同。
圖8 數(shù)據(jù)流向示意圖
AD采集的數(shù)據(jù)進(jìn)入數(shù)字濾波器FIR進(jìn)行濾波處理,然后通過DDR2控制器中的“寫操作”存入DDR2存儲器;當(dāng)采集完畢后觸發(fā)“信號處理SP”模塊執(zhí)行“讀操作”,讀取DDR2存儲器中相應(yīng)的數(shù)據(jù),完成解算并將流速和回波能量等信息存入SD卡中。假設(shè)采集數(shù)據(jù)量為1 200點(diǎn),DDR2數(shù)據(jù)存儲與讀取的在線仿真時(shí)序如圖9所示。
圖9 DDR2的存儲與讀取過程
圖中ad_fir/count為數(shù)據(jù)點(diǎn)計(jì)數(shù),數(shù)據(jù)采集結(jié)束由fir_done脈沖指示,之后進(jìn)入流速解算過程由argorithm_start高電平指示。
SD卡是一種基于閃存技術(shù)的存儲體,廣泛應(yīng)用于存儲設(shè)備中。SD卡接口支持兩種操作模式,分別為SD模式和SPI模式。SD模式傳輸速度快,但占用管腳較多,對處理器要求也較高。SPI模式只需要用到SS、MOSI、CLK、MISO及電源管腳,傳輸簡單易操作。在本系統(tǒng)中使用SPI模式進(jìn)行設(shè)計(jì),其電路設(shè)計(jì)方式如圖10所示。
圖10 SD卡電路設(shè)計(jì)
為了便于SD卡文件系統(tǒng)的實(shí)現(xiàn)以及部分算法的實(shí)現(xiàn),本設(shè)計(jì)中FPGA內(nèi)部使用了軟核MicroBlaze進(jìn)行設(shè)計(jì),SD卡通過SPI接口掛接在軟核系統(tǒng)上?;夭ㄐ畔⒔?jīng)一系列的數(shù)據(jù)處理及解算后,將最終結(jié)果寫入SD卡,其接口關(guān)系如圖11所示。
圖11 SD卡接口關(guān)系
信號處理機(jī)硬件平臺實(shí)物如圖12(a)所示,該平臺已成功應(yīng)用于某863項(xiàng)目研制的HLJ6000海流計(jì)中,其電子艙如圖12(b)所示。
圖12 信號處理機(jī)硬件平臺實(shí)物圖
為了對系統(tǒng)功能進(jìn)行驗(yàn)證,在實(shí)驗(yàn)室中進(jìn)行了小信號采集實(shí)驗(yàn)。信號發(fā)生器產(chǎn)生1.5 MHz/20 mV正弦信號,經(jīng)1 000倍分壓后加載至接收板的基陣信號輸入端,信號處理機(jī)對接收板輸出信號進(jìn)行采集并存儲在SD卡中,采集完畢后讀取SD卡數(shù)據(jù)并通過Matlab繪圖分析,試驗(yàn)結(jié)果如圖13所示。
圖13 8路AD采樣信號((激勵(lì)信號1.5 MHz,幅度±20 μV)
深海海流計(jì)發(fā)射頻率為1.5 MHz,當(dāng)發(fā)射信號選用單頻脈沖時(shí),速度測量最大范圍可到±5 m/s,多普勒頻率極限值±10 kHz。本系統(tǒng)使用加載模擬頻偏信號的方式對信號處理機(jī)的功能進(jìn)行驗(yàn)證。手動(dòng)調(diào)整信號發(fā)生器輸出頻率,以1 kHz的步進(jìn)長度從1 510~1 500 kHz,再從1 490~1 500 kHz逐級跳變,分別模擬0~10 kHz和-10~0 kHz的多普勒頻移。
信號處理機(jī)采集信號后進(jìn)行處理并存儲在SD卡中,使用Matlab對解算后數(shù)據(jù)進(jìn)行分析,結(jié)果如圖14所示。從實(shí)驗(yàn)室驗(yàn)證結(jié)果來看,信號處理板采集的8路信號幅度一致,每一對波束信號的相位差基本為90°,信號采集穩(wěn)定可靠。在輸入20 μV、多普勒頻偏-10~10 kHz微弱信號情況下,測速結(jié)果跟隨頻偏變化從-5~5 m/s逐級跳變,滿足設(shè)計(jì)要求。此外,在實(shí)驗(yàn)室對該硬件平臺功耗進(jìn)行測試,工作功耗約為1.6 W,休眠功耗<5 mW,滿足系統(tǒng)低功耗設(shè)計(jì)需求。
圖14 系統(tǒng)功能驗(yàn)證
安德拉RCM11深海型海流計(jì)是目前市場占比較高的一型深海海流計(jì),為了對系統(tǒng)性能進(jìn)行驗(yàn)證,對兩型設(shè)備在千島湖進(jìn)行了吊放式靜態(tài)比測試驗(yàn)。儀器入水約為3 m,測量持續(xù)時(shí)間約20 min。完成測量比對后,進(jìn)行儀器回收,通過專用軟件將數(shù)據(jù)導(dǎo)出分析比對速度模值,數(shù)據(jù)記錄結(jié)果如圖15所示。
圖15 千島湖吊放式比測結(jié)果圖
從圖15可以看出,比對的兩型設(shè)備測流趨勢基本一致,由于后回收RCM11,因此其有效測量時(shí)間比HLJ6000長1 min。對測量階段的數(shù)據(jù)作進(jìn)一步細(xì)化分析,并進(jìn)行1 min數(shù)據(jù)(30點(diǎn))的滑動(dòng)平均處理,比對結(jié)果如圖16所示,數(shù)據(jù)統(tǒng)計(jì)分析如表1所示。由表中的統(tǒng)計(jì)結(jié)果可知,HLJ6000與RCM11測速結(jié)果差異為3.1 mm/s,滿足測速精度要求。
圖16 千島湖吊放式比測結(jié)果圖
表1 靜態(tài)比對統(tǒng)計(jì)分析表
本文介紹了一種基于FPGA+MSP430架構(gòu)的海流計(jì)信號處理機(jī)硬件設(shè)計(jì)方式,并已成功應(yīng)用于某863項(xiàng)目研制設(shè)備中,經(jīng)試驗(yàn)驗(yàn)證,該信號處理機(jī)性能穩(wěn)定可靠。本文介紹的硬件平臺所采用的架構(gòu)形式對各種高頻、高分辨率及高處理能力的應(yīng)用場合均非常適用。該硬件平臺對于其它海洋設(shè)備的研制也具有一定得參考價(jià)值。