劉長勝,康盼,夏正陽,王金玉,張偉,周繼瑜
(吉林大學(xué) 儀器科學(xué)與電氣工程學(xué)院,長春 130026)
近地表探測利用電磁波的穿透性,采用不同頻率的電磁波獲取不同深度的地層信息,單一頻率的電磁波只能達到單一的探測深度,反映單一地層信息,實際應(yīng)用中工作效率低。多頻電磁探測系統(tǒng)一次可發(fā)射多個頻率電磁波,可以實現(xiàn)對地下不同深度目標(biāo)體的同時探測。多頻電磁感應(yīng)探測系統(tǒng)的核心技術(shù)是多頻信號產(chǎn)生技術(shù),本文針對近地表探測系統(tǒng),設(shè)計了基于單片機MSP430F149和可編程數(shù)字邏輯器件FPGA[1-3](EP1C3T144)的多頻信號產(chǎn)生系統(tǒng),產(chǎn)生了信號波形好、分辨率高、諧波失真低的單頻和多頻信號,克服了位流法對線圈負載穩(wěn)定性要求高[4],偽隨機法不能任意設(shè)定頻率并且THD(總諧波失真)高的缺點[5]。
根據(jù)系統(tǒng)探測及野外工作要求,多頻信號產(chǎn)生系統(tǒng)總體設(shè)計如圖1所示,包括人機交互和信號產(chǎn)生兩個模塊。人機交互模塊采用TI公司的低功耗單片機MSP430F149作為主控芯片,外掛鍵盤、液晶;主控芯片控制鍵盤及液晶顯示,并將接收到的信息進行相應(yīng)的數(shù)學(xué)處理然后與FPGA進行通信,液晶實時顯示用戶所需信息。FPGA接收到單片機發(fā)送的信息進行邏輯處理,通過I/O端口輸出設(shè)定信號的離散值信息,由外部高速DA將接收到的離散值信息轉(zhuǎn)化為模擬信號,經(jīng)過濾波器、放大器等信號調(diào)理模塊后輸出。
圖1 系統(tǒng)整體框圖
正弦波形產(chǎn)生原理如圖2所示。
圖2 正弦波形產(chǎn)生原理框圖(單頻)
FPGA接收到單片機輸入的信息后,調(diào)整累加器的步長即單位周期輸出的地址個數(shù),由于輸入累加器的系統(tǒng)時鐘固定,所以單位周期地址個數(shù)越多、周期越長;ROM接收累加器輸入的地址,轉(zhuǎn)換為存儲在對應(yīng)地址上的頻點幅值信息輸出,輸出信號與累加器輸入地址的周期相同[6-9];外部高速DA將ROM輸出的頻點幅值信息轉(zhuǎn)換為模擬信息輸出,輸出頻率由式(1)計算:
式中 fc為系統(tǒng)時鐘,K為頻率控制字,N為累加器的位數(shù)。
信號合成技術(shù)遵循奈佩斯特(Nyquist)定律,即最高輸出頻率不大于參考時鐘的一半,fo≤fc/2。實際輸出頻率由允許輸出的雜散水平?jīng)Q定,一般fo≤fc×40%。同一周期下構(gòu)成一個完整周期的離散點數(shù)越多實際輸出的信號越平滑,頻譜成分越干凈。由于近地表探測發(fā)射系統(tǒng)的最大輸出頻率不大于50KHz,設(shè)計采用20M外部時鐘輸入倍頻至100M作為系統(tǒng)參考時鐘,以獲得較多的周期點數(shù),使輸出信號平滑,頻譜相對純凈。
在FPGA內(nèi)部ROM使用寄存器模式輸出,在同一參考時鐘上升沿,不同頻率信號對應(yīng)的不同ROM,將不同的頻點幅值信息送到ROM的輸出端,并在下一個數(shù)據(jù)到來前保持不變。
正弦波頻點合成時要求加法模塊的參考時鐘頻率不能小于ROM的參考時鐘頻率。如果加法模塊的參考時鐘大于等于ROM的參考時鐘,則會在每個加法模塊參考時鐘的上升沿,不丟失地輸出不同頻點幅值信息疊加后的值,圖3為雙頻疊加示意圖。
圖3 頻率相加示意圖
如果加法模塊的輸入?yún)⒖紩r鐘頻率小于ROM參考時鐘,加法模塊參考時鐘上升沿在ROM數(shù)據(jù)保持的一個時鐘周期之內(nèi)沒能夠到來,最終導(dǎo)致數(shù)據(jù)丟失。
如發(fā)射頻率分辨率為1Hz,根據(jù)Δf=fc/2N,累加器位數(shù)取28位,此時頻率分辨率為100M/228=0.372Hz。如采用28位的ROM,則單個ROM容量達到228bit,一般的FPGA芯片難以達到要求。采取“截斷”思想,用10位的ROM實現(xiàn)以上要求,將ROM的10位地址與相位累加器的高10位地址相連接,可大大節(jié)省ROM空間,實驗證明在實際輸出波形中會有截斷誤差的存在,但是頻譜純度影響不大,再加上后續(xù)的低通濾波,使其造成的影響得到進一步降低。根據(jù)正弦信號的周期性采用控制信號控制累加方向的方法可以實現(xiàn)ROM的進一步壓縮。
多頻信號產(chǎn)生系統(tǒng)主要由通訊、頻點設(shè)定、累加器、波形存儲器ROM、組合頻率輸出、濾波等部分組成。
由于單片機管腳資源有限,考慮到系統(tǒng)需要傳輸?shù)臄?shù)據(jù)量不大,對數(shù)據(jù)傳輸?shù)乃俣纫笠膊桓?,因此通訊方式設(shè)計采用自定義的串行通信格式設(shè)計,通信示意圖如圖4所示。
圖4 通信示意圖
系統(tǒng)中單片機與FPGA通過一根時鐘線和一根數(shù)據(jù)線互聯(lián),每次通信傳輸32bit數(shù)據(jù),其中低28bit為頻率控制字,高4bit為頻點設(shè)定控制字,并可根據(jù)需要,靈活修改通信的位數(shù)與格式。FPGA接收過程中始終保持高阻態(tài),接收完畢后將32bit串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù)。
根據(jù)系統(tǒng)探測要求,需要發(fā)射單頻、雙頻和三頻正弦波,對于雙頻和三頻正弦波,設(shè)定下一個頻點時,采用鎖存器保持上一個頻點不變。
由于頻點設(shè)定時間是任意的,可能出現(xiàn)在系統(tǒng)時鐘上升沿之前或之后的任意時間,而數(shù)據(jù)如果想被觸發(fā)器正確采樣必須滿足建立(Tsu)和保持(Th)時間,違反建立和保持時間就會造成亞穩(wěn)態(tài),設(shè)計采用同步設(shè)計,將輸入的異步信號與系統(tǒng)時鐘做同步處理則信號與時鐘相對位置固定,即將異步組合邏輯同步化,很好地避免了異步邏輯可能造成的亞穩(wěn)態(tài)這一問題。
在每次系統(tǒng)時鐘的上升沿,累加器累加步長為頻率控制字的數(shù)值,累加器設(shè)定為28位,每1f0時間完成一次完整的累加,然后重復(fù)累加,最終產(chǎn)生28位的累加地址,并將高10位輸出到正弦查詢表ROM作為ROM的地址,累加器的位數(shù)決定了輸出信號的分辨率,累加器的累加周期決定了輸出信號的周期[10]。
波形存儲器ROM采用QuartusⅡ軟件的MegaWizard Plug—In Manager定制10位的ROM,本設(shè)計采用的10位并行高速DA,要求單頻輸出數(shù)據(jù)格式不能超過10位,實際在設(shè)計時考慮到三頻,最終單頻輸出幅度量化值最大值設(shè)定為340,采用10位數(shù)據(jù)格式輸出完全滿足要求。ROM表中加載的.mif文件在本設(shè)計中由MATLAB編程得到,主要程序如下所示:
組合頻率輸出模塊主要完成正弦波頻點合成功能,通過單片機輸入信息的高4位判斷最終要輸出的頻點數(shù),如果輸出單頻則將單頻幅值適當(dāng)縮放后經(jīng)FPGA I/O管腳輸出,如果是多頻則將多頻信號組合處理并適當(dāng)縮放后輸出,同樣采用同步設(shè)計,輸入的系統(tǒng)時鐘頻率在高于ROM參考時鐘時會不丟失信息地輸出所有處理后的信息。ROM參考時鐘頻率計算公式如式(2),式(3)所示。
當(dāng)工作頻率設(shè)定為最低頻率(10Hz)時,頻點數(shù)最多,此時ROM參考時鐘頻率最高為3.7MHz,設(shè)計中
輸入的系統(tǒng)時鐘定為20M,大于最低工作頻率時ROM參考時鐘的最高頻率。
DA所具有的是保持—輸出—保持功能,最終輸出的是階梯狀波形,要輸出光滑的模擬波形需要對DA輸出的波形進行必要的濾波處理。
設(shè)計選擇凌特公司生產(chǎn)的集成10階低通濾波器LTC-1569-6,采用外接電阻或者外接時鐘控制截止頻率,當(dāng)采用外接時鐘控制時,截止頻率設(shè)定為fc=clock/64,(clock<5M)。
多頻信號采集系統(tǒng)原理框圖如圖5所示。
圖5 FPGA多頻信號產(chǎn)生系統(tǒng)
在實驗室環(huán)境下,采用示波器在發(fā)射端串入功率電阻捕獲了發(fā)射電流的波形,圖6至圖11分別為發(fā)射單頻、雙頻和三頻時的輸出波形及其FFT變換后的波形。由于近地表多頻電磁探測發(fā)射系統(tǒng)采用感性的多匝線圈作為負載,負載阻抗在高頻時會有明顯增加,因此,體現(xiàn)在多頻合成信號頻譜圖中高頻成分幅值低于低頻成分幅值。
圖6 單頻信號時域波形
圖7 單頻信號頻域波形
圖8 雙頻信號時域波形
圖9 雙頻信號頻域波形
圖10 三頻信號時域波形
圖11 三頻信號頻域波形
本文針對近地表探測系統(tǒng)提出一種基于FPGA的多頻正弦信號產(chǎn)生方法,并根據(jù)近地表電磁探測的要求,設(shè)計并完成了多頻信號產(chǎn)生系統(tǒng),經(jīng)過實驗驗證產(chǎn)生的波形好、頻譜純度高、分辨率高。
基于這種方法可以用低成本產(chǎn)生高性能的多頻正弦波形,通用性很強,當(dāng)對輸出信號的頻率和精確度要求不高的情況下可以采用MCU做主控處理芯片。設(shè)計主要部分在FPGA內(nèi)部完成,硬件電路相對簡單,可靠性高,對外部電路依賴性低,可升級性很強,同時增減功能比較容易。
[1]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.
[2]杜慧敏,李宥謀,趙全良.基于Verilog的FPGA設(shè)計基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2008.
[3]陳風(fēng)波,冒燕,李海鴻.基于FPGA的直接數(shù)字頻率合成器的設(shè)計[J].微計算機信息,2006,22(2):189-190.
[4]孫淑琴,林君,張秉仁,等.偽隨機序列發(fā)生器的研究與實現(xiàn)[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2004,22(3):185-186.
[5]孫向陽.基于DSP的瞬變電磁接收機系統(tǒng)研究[J].長春理工大學(xué)學(xué)報:自然科學(xué)版.2008,31(1):27-30.
[6]史興海,陳殿仁.基于FPGA的高速DDS設(shè)計與仿真[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2009,32(1):85-88.
[7]余勇,鄭小林.基于FPGA的DDS正弦信號發(fā)生器的設(shè)計和實現(xiàn)[J].電子器件,2005,(3).
[8]MAP H,LIU P.A design of AWG based on DDS using SOPC technique[Z].CEEE,2006:610-615.
[9]ZHAI Shengwei,LI Yingying,DU Baisheng.Implementation of a DDS signal source based on FPGA[J].Electronic Design Engineering,2009,(05).
[10]A.L.McEwan,S.Collins.Efficient,ROM-less DDFS using non-linear interpolation and non-linear DAC[J].Analog Integrated Circuits and Signal Processing,2006,48,(3).