摘要:在此基于DDS" title="DDS">DDS技術(shù)進(jìn)行任意波形發(fā)生器" title="任意波形發(fā)生器">任意波形發(fā)生器的研制。以單片機(jī)為控制核心,采用FPGA芯片EP1C3T144C8" title="EP1C3T144C8">EP1C3T144C8,通過(guò)使用相位累加器和波形ROM等模塊實(shí)現(xiàn)DDS功能,可產(chǎn)生正弦波、方波、三角渡與鋸齒波等常規(guī)波形,而且能夠產(chǎn)生任意波形,并通過(guò)鍵盤一一對(duì)應(yīng)波形,從而滿足研究的需要。最后給出系統(tǒng)產(chǎn)生的測(cè)試數(shù)據(jù),并對(duì)影響頻譜純度的雜散與噪聲產(chǎn)生的原因進(jìn)行分析。
關(guān)鍵詞:FPGA;DDS;任意波形發(fā)生器;雜散
0 引言
任意波形發(fā)生器(Arbitrary Waveform Generator,AWG)是一種多波型的信號(hào)發(fā)生器,它不僅能產(chǎn)生正弦波、指數(shù)波等常規(guī)波形,也可以表現(xiàn)出載波調(diào)制的多樣化,如:產(chǎn)生調(diào)頻、調(diào)幅、調(diào)相和脈沖調(diào)制等。更可以通過(guò)計(jì)算機(jī)軟件實(shí)現(xiàn)波形的編輯,從而生成用戶所需要的各種任意波形。任意波形發(fā)生器的實(shí)現(xiàn)方案主要有程序控制輸出、DMA輸出、可變時(shí)鐘計(jì)數(shù)器尋址和直接數(shù)字頻率合成(DDS)等多種方式。目前任意波形發(fā)生器的研制主要基于DDS技術(shù),與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),廣泛使用在通信、測(cè)量與電子儀器領(lǐng)域,是設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù)。
1 任意波形發(fā)生器的理論分析
1.1 DDS技術(shù)簡(jiǎn)介
DDS(Direct Digital Synthesis)的概念由美國(guó)學(xué)者J.Tierncy、C.M.Rader和B.Gold在1971年提出。該技術(shù)是從相位的概念進(jìn)行頻率合成,主要優(yōu)點(diǎn)是輸出相位連續(xù)、相對(duì)帶寬較大、頻率分辨率很高、可編程、準(zhǔn)確度和穩(wěn)定度都比較高。DDS技術(shù)是利用查表法來(lái)產(chǎn)生波形,而通過(guò)修改存儲(chǔ)在ROM里的數(shù)據(jù),就可以產(chǎn)生任意波形。
1.2 DDS基本結(jié)構(gòu)
DDS主要有相位累加器、ROM波形查詢表、數(shù)模轉(zhuǎn)換器組成。其基本框圖如圖1所示。
線性數(shù)字信號(hào)通過(guò)相位累加器逐級(jí)實(shí)現(xiàn),波形函數(shù)存儲(chǔ)在ROM中,根據(jù)累加器輸出的相位值作為地址,尋找存儲(chǔ)在ROM中的波形函數(shù)的幅度量化值,完成相位到幅值的轉(zhuǎn)換,輸出相對(duì)應(yīng)的序列。
2 硬件電路設(shè)計(jì)
2.1 設(shè)計(jì)方案
基于FPGA實(shí)現(xiàn)DDS功能,通過(guò)單片機(jī)實(shí)現(xiàn)控制。此方案的核心在于FPGA的設(shè)計(jì)實(shí)現(xiàn)邏輯功能,通過(guò)對(duì)存儲(chǔ)器查表后輸出信號(hào),由相連接的數(shù)模轉(zhuǎn)換器轉(zhuǎn)換為要求的波形。單片機(jī)作為控制器,易于控制與調(diào)試。系統(tǒng)框圖如圖2所示。
2.2 D/A轉(zhuǎn)換器的使用
本案采用德州儀器的TLC7528。它是雙路、8位D/A轉(zhuǎn)換器,本案設(shè)計(jì)為:A路的數(shù)字量控制B路的電壓輸出,B路則控制輸出的幅度。電路圖可以顯示,VA1(VOB1)處輸入的A(B)路電壓范圍為-5~0 V,VA2(VOB2)處為A(B)路的電壓為-5~5 V。DA電路連接圖如圖3所示。
其中因?yàn)檗D(zhuǎn)換方法的問題,產(chǎn)生的零點(diǎn)誤差可以通過(guò)調(diào)整放大器的零點(diǎn)來(lái)校準(zhǔn);而因?yàn)闇囟茸兓a(chǎn)生的溫漂誤差在技術(shù)上就比較難消除。關(guān)于單極性DAC的增益誤差可以通過(guò)調(diào)整放大器的閉環(huán)增益來(lái)消除。
2.3 濾波器的設(shè)計(jì)
一般情況下,橢圓濾波器的參數(shù)靈敏度最高,在使用用相同階數(shù)時(shí),橢圓濾波器能夠得到最好的矩形系數(shù),7階橢圓濾波器在通帶附近的頻點(diǎn)可得到40 dB的帶外抑制,很適合將雜散信號(hào)濾除。DDS輸出的另一類波形是頻譜復(fù)雜的任意波形,頻率比較低,頻譜結(jié)構(gòu)豐富,具有較高的諧波分量,選用等波紋誤差線性相位濾波器來(lái)濾波,它在很大范圍內(nèi)具有固定的延遲,在遠(yuǎn)離截止頻率處,其幅度響應(yīng)也比較好。
2.4 單片機(jī)的設(shè)計(jì)
單片機(jī)采用傳統(tǒng)8051單片機(jī),晶振為12 MHz,采用內(nèi)部振蕩方式;復(fù)位輸入引腳為高電平有效,保持2個(gè)機(jī)器周期以上的的高電平便可以實(shí)現(xiàn)對(duì)單片機(jī)的復(fù)位;采用MAX232芯片作為串口芯片,單片機(jī)通過(guò)異步通信串行接口與其他計(jì)算機(jī)或者外圍設(shè)備進(jìn)行信息傳遞。
3 基于FPGA的DDS實(shí)現(xiàn)
FPGA芯片采用ALTERA公司的CYCLONE系列EP1C3T144C8。設(shè)計(jì)采用Altera公司的QuartusⅡ,使用AS方式與JTAG配置方式。
3.1 固定波形輸出
本案使用幾個(gè)8 b的ROM,存儲(chǔ)深度為1 024點(diǎn),用來(lái)存儲(chǔ)正弦波等波形數(shù)據(jù)。每個(gè)波形數(shù)據(jù)存儲(chǔ)在一個(gè)固定的ROM里,如圖4Sine_ROM,Square_ROM等分別對(duì)應(yīng)正弦、方波等存儲(chǔ)模塊。通過(guò)一個(gè)使能模塊控制,采取低電平有效的方式,選擇性讀取任意模塊的波形。輸出波形時(shí),僅有單獨(dú)一個(gè)ROM工作,其他模塊為高電平,保證輸出所需固定波形。使能模塊的輸入端為行列式鍵盤,設(shè)定為:?jiǎn)捂I控制某一波形輸出。
3.2 任意波形輸出
任意波形是由上位機(jī)下傳的波形數(shù)據(jù),由單片機(jī)控制,必須設(shè)計(jì)一個(gè)能隨時(shí)接受數(shù)據(jù)更新的RAM。如圖5所示。
選用的D/A轉(zhuǎn)換器為8位,所以RAM的字長(zhǎng)也為8位,因此波形RAM的地址線的位數(shù)取10位。為了實(shí)現(xiàn)任意波形數(shù)據(jù)的更新,波形RAM設(shè)計(jì)成為雙口RAM。
4 性能與誤差分析
4.1 測(cè)試結(jié)果
輸出波形如圖6所示。本系統(tǒng)測(cè)試所用到的儀器為:
示波器 Tektronix公司 型號(hào):TDS1012
計(jì)數(shù)器 創(chuàng)瑞科技有限公司 型號(hào):SP-F40
4.2 頻率測(cè)量
通過(guò)設(shè)定預(yù)定值,用計(jì)數(shù)器測(cè)量出實(shí)際值,基于此數(shù)據(jù)計(jì)算出誤差如下表(只選取10組數(shù)據(jù))。
由表1可看出,1~100 Hz區(qū)間誤差較為明顯,1 kHz~1 MHz區(qū)間輸出頻率較為穩(wěn)定(該表為測(cè)試正弦波數(shù)據(jù))。
4.3 誤差與雜散分析
除了工作環(huán)境與電源噪聲等問題是影響到頻譜純凈度的因素外,還有以下主要原因:
(1)相位截?cái)喈a(chǎn)生雜散信號(hào)。硬件上無(wú)法滿足20位的數(shù)據(jù)儲(chǔ)存,設(shè)計(jì)中均采用了高位截?cái)嗟姆椒?,只取用累加器輸出的高幾位用于查表,低位舍去。必然?huì)造成誤差從而影響最終的輸出信號(hào)頻譜。正弦信號(hào)上引入了余弦分量,造成時(shí)域上的疊加,必然表現(xiàn)為頻域上的雜散。
(2)D/A轉(zhuǎn)換器非線性引起的雜散分量。理想DAC對(duì)DDS的影響只表現(xiàn)在對(duì)信號(hào)頻譜的幅度和相位產(chǎn)生改變,輸出上體現(xiàn)出滾降特性,并不引入其它的頻率成分,而非理想的DAC的非線性、瞬間毛刺等非理想的轉(zhuǎn)換特性在輸出頻譜中產(chǎn)生了雜散。
(3)幅度量化產(chǎn)生的雜散。正弦查表內(nèi)存儲(chǔ)的波形碼事一個(gè)模擬信號(hào)被均勻量化后的值。存儲(chǔ)器的容量有限,不可能以無(wú)限二進(jìn)制數(shù)來(lái)記錄正弦值,因此出現(xiàn)幅度量化誤差。
減小DDS輸出電壓中的雜散及噪聲的方法,除了選用性能優(yōu)良、工藝精湛的D/A轉(zhuǎn)換器,提高位數(shù)與幅度量化字長(zhǎng)外,還可以通過(guò)設(shè)計(jì)良好的低通濾波器,以濾除各種雜散及帶外噪聲,也可選用DDS+PLL頻率合成技術(shù),以及數(shù)據(jù)壓縮法,最高壓縮比可達(dá)128:1。另外可以在產(chǎn)生的相位字序列上加入高頻抖動(dòng)(Dither),因?yàn)橄辔唤匚徽`差成周期分布,這將導(dǎo)致在某些頻率處產(chǎn)生較大的毛刺,使DDS產(chǎn)生的頻譜無(wú)雜波動(dòng)態(tài)范圍減小。通過(guò)在相位上加入抖動(dòng),能夠破壞相位誤差中較明顯的周期性分布,從而使得毛刺的幅值得到減小,增大了輸出正余弦波的無(wú)雜波動(dòng)態(tài)范圍。還可以采用相位誤差反饋結(jié)構(gòu),在SCMF(相位累加器和正余弦函數(shù)生成器)前加入一個(gè)二階FIR濾波器(Finite Impulse Respo-nse,有限沖擊響應(yīng))來(lái)濾除輸出頻率附近的相位誤差。
5 結(jié)語(yǔ)
任意波形發(fā)生器的設(shè)計(jì)是全國(guó)電子設(shè)計(jì)大賽中經(jīng)典的選題之一,任意波形發(fā)生器的設(shè)計(jì)不僅有廣泛的實(shí)踐應(yīng)用空間,并且對(duì)于電子科的學(xué)生動(dòng)手能力的提高及學(xué)科知識(shí)的融會(huì)貫通同樣具有極大的指導(dǎo)價(jià)值。本文尋求功能強(qiáng)大、操作便捷、輸出參數(shù)穩(wěn)定的設(shè)計(jì)效果,并主要偏重基礎(chǔ),使之更符合教科書的典型教學(xué)條件,并對(duì)相關(guān)參數(shù)進(jìn)行測(cè)量,分析原因。關(guān)于波形發(fā)生器的設(shè)計(jì),仍有許多可以設(shè)計(jì)擴(kuò)展的功能,雜散的削弱仍有較多的方法值得探究。