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