朱 楓,陳躍東,舒圣焱
?
基于FPGA的高精度正弦波信號源設計
朱 楓,*陳躍東,舒圣焱
(安徽工程大學,電氣傳動與控制重點實驗室,安徽,蕪湖 241000)
提出了一種基于FPGA的高精度正弦波信號源設計方案。該信號源采用直接數(shù)字合成的方式(DDS),以及使用FPGA、D/A芯片和濾波器等來實現(xiàn)。該設計的信號源輸出頻率范圍為200 Hz-100 kHz,幅值范圍為0-5 V。實驗結果表明,該信號源相位、幅值、頻率均可調(diào),具有精度高、靈活性好等優(yōu)點。
FPGA;正弦波;DDS;可調(diào);精度高
高分辨率、高精度的信號源一直廣泛地應用于通信、電子等領域,大多數(shù)檢測工作更是需要信號源作為激勵。信號源設計一般均采用直接數(shù)字頻率合成(DDS)的方式?,F(xiàn)階段,波形產(chǎn)生技術已進入DDS集成芯片階段[1],但現(xiàn)有市場的DDS專用芯片可能會出現(xiàn)輸出頻率單一,幅值大小不可調(diào)等局限性,無法靈活使用。
本文提出一種基于FPGA的正弦波信號源設計方案。該方案以FPGA作為主控制芯片,設計的信號源輸出頻率范圍為200 Hz-100 KHz,幅值范圍為0-5 V,信號源相位、幅值、頻率均可調(diào)。該信號源的幅值精度為0.024%,可用作各種高精度要求的輸入激勵信號。
本設計的信號源采用直接數(shù)字頻率合成的方式[2-3],主要結構由上位機、FIFO、相位增量K、相位控制字、幅值控制字、相位累加器、相位調(diào)制器、波形存儲器、浮點乘法器、D/A轉換器、低通濾波器LPF實現(xiàn)功能。其中FIFO、相位增量K、相位控制字、幅值控制字、相位累加器、相位調(diào)制器、波形存儲器、除法器均由FPGA芯片實現(xiàn),具體連接實現(xiàn)關系如圖1所示。本設計對各模塊的參數(shù)進行優(yōu)化,保證信號源的高精度性。各模塊的具體功能將在設計原理中介紹。
圖1 正弦波信號源系統(tǒng)框圖
2.1 正弦波信號源設計原理
本信號源利用FPGA的IP生成先進先出隊列FIFO[4](First Input First Output)用于設計需要。FIFO采用同步邏輯,使系統(tǒng)穩(wěn)定性更高。FIFO可緩存數(shù)據(jù),本設計采用FIFO緩存解碼命令,其中FIFO通過設置空滿標志位,來提示何時需要讀寫數(shù)據(jù)。FIFO還可以用于不同接口的不同數(shù)據(jù)位的轉換,以及減少亞穩(wěn)態(tài)概率。
對于N位相位累加器[5]來說,直接數(shù)字頻率合成是將一個時鐘周期的正弦波分為2N量值,相位增量K也即是相位步進量,是相位累加器的增量;相位累加器在系統(tǒng)時鐘fclk下,每個時鐘的都會累增一個相位增量K;輸入的相位控制字可以調(diào)整正弦波信號源的初始相位;相位累加器的累加值加上相位控制字可作為波形存儲器的訪問地址,從而讀取波形的數(shù)字值,讀取的波形數(shù)字值,相位累加器的累加值在一個正弦波周期后會重新從0開始,如此反復。而通過一個浮點乘法器,數(shù)字波形信號乘以幅值控制字AP,即可達到改變幅值的作用。繼續(xù)輸出經(jīng)過D/A轉換器再經(jīng)過低通濾波器即可變?yōu)楦呔鹊摹⑵交恼也ㄐ盘枴?/p>
2.2 FPGA實現(xiàn)模塊
本設計的FPGA芯片選擇ALTERA公司的ep4ce6e22c8n,作為ALTERA的Cyclone iv系列的產(chǎn)品,ep4ce6e22c8n以極為低廉的價格實現(xiàn)了高精度信號源設計的要求,而且功耗更低,處理速率更快。
該信號源設計的波形存儲器ROM儲存的是正弦波信號的采樣值,本設計共選擇14位采樣點數(shù)值,即為214個采樣值放入波形存儲器ROM空間,以查找表的形式來讀取相應的采樣值,從來達到輸出正弦波數(shù)字采樣值的要求。具體存儲方法是可以用mif文件存儲正弦波采樣數(shù)值,在工程中直接查找調(diào)用。
DDS的參數(shù)有:相位增量K、相位控制字PW、輸出頻率out以及頻率分辨率△,其中有out=·/2,△=/2,fclk為系統(tǒng)時鐘,系統(tǒng)時鐘由50M晶振產(chǎn)生,N為相位累加器的位寬,本設計N取值28,則該信號源的分辨率為:
△=/2=50·106/228=0.186Hz
一般來說,△越小,頻率精度越高,理論上△和N成反比,和fclk成正比[6],但考慮系統(tǒng)的復雜度以及成本,相位累加器位寬N不宜過大,而系統(tǒng)時鐘太小也會導致系統(tǒng)整體效率變低。綜合考慮,將系統(tǒng)時鐘定為50MHz,將相位累加器位寬定為28bit。
由out=·/2,可推出,=out·2/。本設計的信號源輸出頻率為200 Hz-100 KHz,則最大步進量max的值為:
max=out·2/=100·103·228/50·106=0X83126;
最大輸出頻率的波形采樣點個數(shù)為:228/max=500,可以滿足基本要求。
由上述介紹可知相位增量K的位寬為20 bit,可以達到輸出頻率為200 Hz-100 KHz的要求。ROM位寬為14位,相位控制字PW的位寬可以和ROM的位寬相同為14位。由上述介紹可知,ROM內(nèi)存的限制,存儲的容量定為214個值,為此28位相位累加器選擇高14位作為地址輸出,配合相位控制字即可實現(xiàn)尋址要求。
FPGA模塊的設計采用原理圖設計方式,在quartus II 11.0下實現(xiàn)。圖2為FPGA原理圖設計圖,其中datain[63..0]為控制信號,rst為復位,clk為系統(tǒng)時鐘,DA_datain[11..0]為FPGA輸出,inst為FIFO,inst1為相位累加器,inst2為波形存儲器ROM,inst3為相位調(diào)制器,inst4為浮點乘法器。本設計波形存儲器的ROM存儲為DA輸出電壓最大值即5V的正弦波采樣點。這樣處理的優(yōu)點是幅值調(diào)節(jié)均為縮減操作,從而使浮點乘法器的原理更為簡單。本信號源的浮點乘法器實現(xiàn)幅值調(diào)節(jié)的原理是:查找ROM后的數(shù)值乘以16位幅值控制字后,右移16位,最后輸出即為DA轉換的輸入數(shù)值。
圖2 FPGA原理圖設計
為了驗證系統(tǒng)的可行性,本設計在modelsim軟件下進行仿真,圖3為控制信號仿真圖形,該仿真對應為頻率6250 Hz的正弦波。其中,fk為相位增量、addr為ROM地址、clk為時鐘、dataout為波形存儲器ROM查找表數(shù)據(jù)輸出,pw為相位控制字,仿真結果符合上述所述DDS相關參數(shù)計算結果。
圖3 modelsim下控制信號仿真圖形
2.3 D/A轉換器
D/A轉換是將數(shù)字信號轉為模擬信號[7],本設計D/A芯片選擇的是高速并行12位芯片的TLV5619。TLV5619工作電壓為2.7~5.5 V,位數(shù)為12,電壓輸出類型,單輸出通道,接口方式是并行基準,外部功耗4.300MV,并行接口12位D/A轉換器。TLV5619的輸出電壓為0~5.1 V,因而12位的D/A轉換,幅值分辨率為△h=5.1/212=1.24×10-3V,可以達到高精度的要求。
該D/A轉換器的電路連接圖如圖4所示。
圖4 D/A轉換電路
2.4 低通濾波器
為了得到更為平滑的正弦波信號,需要采用濾波處理,本設計的濾波器采用巴特沃斯二階濾波器,電路連接如圖5所示,低通濾波截止頻率滿足:,其中n為濾波器階數(shù),計算得到截止頻率為:
滿足設計要求。
圖5 濾波電路
Fig.5 Filter circuit
系統(tǒng)的時鐘頻率為50 MHz,輸出頻率范圍為200 Hz-100 kHz,相位累加器的位數(shù)N為28位,頻率分辨率為0.186 Hz。本設計為了節(jié)約資源,相位累加器用高A位尋址,從而會導致相位截斷誤差[8],無雜散動態(tài)范圍的SFDR[9]滿足:
同時滿足的條件還有:
本設計信號源硬件為實驗室制作的信號源電路板。本次設計測試儀器為臺灣固緯GWINSTEK GDS2102數(shù)字示波器,該示波器頻寬為100 MHz,2輸入通道,1 GSa/s即時取樣率以及25 GSa/s等效取樣率25000點之記憶體長度5.6寸TFT彩色熒幕,支持USB HOST/DEVICE:支持USB存儲卡(U盤),USB印表機等。信號源電路板輸出信號接至示波器CH1接口,通過示波器顯示波形和頻率等參數(shù)。硬件測試平臺如圖6所示。
圖6 信號源測試平臺
將實驗輸出的正弦波形信號接入示波器的CH1口,觀察波形和相關數(shù)據(jù)。如圖7中a和b所示,示波器顯示的波形分別是正弦波信號源產(chǎn)生的200 Hz、2 V信號和90 KHz、3 V信號,圖中的波形均十分平滑、穩(wěn)定。
a) 200Hz,2V正弦波
b) 90KHz,3V正弦波
圖7 正弦波信號源示波器觀測圖
Fig.7 Oscilloscope observation figure of the sine wave signal source
為了進一步分析硬件輸出波形頻率的誤差,做了頻率測量數(shù)據(jù)統(tǒng)計,如表1所示,本設計誤差率計算公式為。表中數(shù)據(jù)為控制命令要求的頻率和實際示波器輸出的頻率對比。
表1 測量頻率數(shù)據(jù)誤差統(tǒng)計
由表1的數(shù)據(jù)統(tǒng)計可以得出結論:本設計的信號源在頻率低于200 Hz時,誤差較大,這是因為分辨率固定為0.186,誤差頻率為其倍數(shù),根據(jù)誤差計算公式,低頻時,分母較小,數(shù)據(jù)誤差及外界影響很容易讓誤差率偏大;在頻段200 Hz-1 KHz,誤差遞減,這是因為頻率設定值較小,前述頻率分辨率計算值固定,采樣點遞增,從而誤差率遞減;在中頻5 KHz-10 KHz,輸出波形的誤差最低,誤差率小于0.05%;在較高頻20 KHz-100 KHz誤差遞增,但均小于0.5%,這是由于步進值變大,采樣點依次變少,從而精度受到影響。同時需要指出的是,測量值為數(shù)字示波器通過采樣檢測得到,測量過程中數(shù)據(jù)小幅度變更,本次測量值為出現(xiàn)概率較大的數(shù)據(jù);還需指出的是由于外界等干擾,所測得數(shù)據(jù)可能存在一定測量誤差,但對實際應用無較大影響。從數(shù)據(jù)上可知,設計的信號源基本符合高精度的標準,可以作為高精度的信號輸入源進行應用。
隨著現(xiàn)代電子科技不斷發(fā)展,電子產(chǎn)品尤其是高精度開發(fā)產(chǎn)品的檢測對信號源的要求越發(fā)嚴格。為了迎合市場要求,設計了一種基于FPGA的正弦波信號源,該信號源設計采用最為常用的直接數(shù)字頻率合成(DDS)的方法。信號源的主控芯片是FPGA,F(xiàn)PGA具有高速運行速率,且具有集成度高、邏輯單元靈活等特點[10],相關功能設計是在ALTERA公司的quartus II 11.0軟件下完成。
設計的信號源頻率范圍為200 Hz-100 KHz。精度高:幅值精度為0.0124 V;實際波形測量頻率誤差小于0.5%;無雜散動態(tài)范圍大于84.28 dB。信號源基本達到較高精度的要求,可以作為高精度的激勵源,具有較高的實際應用價值。
[1] Cordesses L. Direct digital synthesis: A tool for periodic wave generation (Part 2)[J]. Signal Processing Magazine, IEEE, 2004, 21(5): 110-112.
[2] 張凱琳,蘇淑靖,劉利生,等.基于FPGA的DDS多路信號源設計[J]. 電測與儀表,2011,48(543):63-65.
[3] 曹志鋒,王小華,程歡. 基于FPGA+DDS的正弦信號發(fā)生器的設計[J]. 微型機與應用,2012,31(14):90-92.
[4] 張瑩,陽璞瓊. FIFO可靠性設計與研究[J]. 微處理機,2008(6):170-172.
[5] 劉韜. 基于DDS頻率源的設計與實現(xiàn)[J]. 電子科技, 2013,26(1):56-58.
[6] 余勇,鄭小林. 基于FPGA的DDS正弦信號發(fā)生器的設計和實現(xiàn)[J]. 電子器件,2005,28(3):596-599.
[7] 梁孟享,胡聰,盤書寶. 基于FPGA的高性能信號源模塊設計[J]. 研究與開發(fā),2012,31(4):64-67.
[8] 曹鄭蛟,滕召勝,李華忠,等. 基于FPGA的DDS信號發(fā)生器設計[J].計算機測量與控制,2011,19(12): 3175-3177.
[9] 劉艷茄,田書林,王志剛,等. 一種基于Farrow濾波器的并行采樣時間誤差校正[J]. 電子測量與儀器學報,2010, 24(1):50-54.
[10] 高士友,胡學深,杜興莉,等. 基于FPGA的DDS信號發(fā)生器設計[J]. 現(xiàn)代電子技術,2009,(343):35-37.
DESIGN OF HIGH-ACCURACY SINE WAVE SIGNAL GENERATOR BASED ON FPGA
ZHU Feng,*CHEN Yue-dong, SHU Sheng-yan
(Anhui Polytechnic University, Anhui Key Laboratory of Electric Drive and Control, Wuhu, Anhui 241000, China)
We propose a design of high-accuracy sine wave signal generator based on FPGA, which is completed by using direct digital synthesis (DDS), the FPGA, D/A chip, filter and etc. The output frequency of the designed signal source ranges from 1 Hz to 100 kHz and its amplitude ranges from 0V to 5 V. With its phase, amplitude and frequency adjustable, the signal source has the advantages of high accuracy and good flexibility.
FPGA; Sine wave; DDS; Adjustable; High-accuracy
1674-8085(2015)01-0056-05
TN98
A
10.3969/j.issn.1674-8085.2015.01.011
2014-03-10;修改日期:2014-10-12
國家重點基礎研究發(fā)展計劃(973計劃)課題項目(2013CB733204);安徽高校省級自然科學研究重點項目(KJ2013A041);安徽省大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(AH201310363005)
朱 楓(1990-),男,安徽合肥人,碩士生,主要從事先進傳感與檢測技術研究(E-mail:963317613@qq.com);
*陳躍東(1956-),男,湖北宜昌人,教授,碩士,碩士生導師,主要從事系統(tǒng)檢測與信號處理研究(E-mail:ydchen@ahpu.edu.cn);
舒圣焱(1994-),男,安徽蕪湖人,安徽工程大學電氣工程學院2011級本科生(E-mail:1121077924@qq.com).