基于FPGA的任意波形發(fā)生器設(shè)計(jì)與研究
標(biāo)簽:FPGA DDS
本文引用地址:http://www.ex-cimer.com/article/165208.htm任意波形發(fā)生器( Arbit rary Waveform Generato r,AWG) 是一種多波型的信號(hào)發(fā)生器, 它不僅能產(chǎn)生正弦波、指數(shù)波等常規(guī)波形, 也可以表現(xiàn)出載波調(diào)制的多樣化, 如: 產(chǎn)生調(diào)頻、調(diào)幅、調(diào)相和脈沖調(diào)制等。更可以通過計(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 Sy nthesis) 的概念由美國(guó)學(xué)者J. T ier ncy、C. M. Rader 和B. Gold 在1971 年提出。該技術(shù)是從相位的概念進(jìn)行頻率合成, 主要優(yōu)點(diǎn)是輸出相位連續(xù)、相對(duì)帶寬較大、頻率分辨率很高、可編程、準(zhǔn)確度和穩(wěn)定度都比較高 。DDS 技術(shù)是利用查表法來產(chǎn)生波形, 而通過修改存儲(chǔ)在ROM 里的數(shù)據(jù), 就可以產(chǎn)生任意波形。
1. 2 DDS 基本結(jié)構(gòu)
DDS 主要有相位累加器、ROM 波形查詢表、數(shù)模轉(zhuǎn)換器組成。其基本框圖如圖1 所示。
圖1 DDS 結(jié)構(gòu)框圖
線性數(shù)字信號(hào)通過相位累加器逐級(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 功能, 通過單片機(jī)實(shí)現(xiàn)控制。此方案的核心在于FPGA 的設(shè)計(jì)實(shí)現(xiàn)邏輯功能,通過對(duì)存儲(chǔ)器查表后輸出信號(hào), 由相連接的數(shù)模轉(zhuǎn)換器轉(zhuǎn)換為要求的波形。單片機(jī)作為控制器, 易于控制與調(diào)試。系統(tǒng)框圖如圖2 所示。
圖2 系統(tǒng)框圖
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 所示。
圖3 TLC7528 電路連接圖
其中因?yàn)檗D(zhuǎn)換方法的問題, 產(chǎn)生的零點(diǎn)誤差可以通過調(diào)整放大器的零點(diǎn)來校準(zhǔn); 而因?yàn)闇囟茸兓a(chǎn)生的溫漂誤差在技術(shù)上就比較難消除。關(guān)于單極性DAC 的增益誤差可以通過調(diào)整放大器的閉環(huán)增益來消除。
2. 3 濾波器的設(shè)計(jì)
一般情況下, 橢圓濾波器的參數(shù)靈敏度最高, 在使用用相同階數(shù)時(shí), 橢圓濾波器能夠得到最好的矩形系數(shù), 7 階橢圓濾波器在通帶附近的頻點(diǎn)可得到40 dB 的帶外抑制, 很適合將雜散信號(hào)濾除。DDS 輸出的另一類波形是頻譜復(fù)雜的任意波形, 頻率比較低, 頻譜結(jié)構(gòu)豐富, 具有較高的諧波分量, 選用等波紋誤差線性相位濾波器來濾波, 它在很大范圍內(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ī)通過異步通信串行接口與其他計(jì)算機(jī)或者外圍設(shè)備進(jìn)行信息傳遞。
3 基于FPGA的DDS實(shí)現(xiàn)
FPGA 芯片采用ALT ERA 公司的CYCLON E 系列EP1C3T 144C8。設(shè)計(jì)采用Altera 公司的Quar tus , 使用AS 方式與JTAG 配置方式。
3. 1 固定波形輸出
本案使用幾個(gè)8 b 的ROM, 存儲(chǔ)深度為1 024 點(diǎn),用來存儲(chǔ)正弦波等波形數(shù)據(jù)。每個(gè)波形數(shù)據(jù)存儲(chǔ)在一個(gè)固定的ROM 里, 如圖4Sine_ROM, Square _ROM等分別對(duì)應(yīng)正弦、方波等存儲(chǔ)模塊。通過一個(gè)使能模塊控制, 采取低電平有效的方式, 選擇性讀取任意模塊的波形。輸出波形時(shí), 僅有單獨(dú)一個(gè)ROM 工作, 其他模塊為高電平, 保證輸出所需固定波形。使能模塊的輸入端為行列式鍵盤, 設(shè)定為: 單鍵控制某一波形輸出。
圖4 波形ROM 與使能控制設(shè)計(jì)電路圖
3. 2 任意波形輸出
任意波形是由上位機(jī)下傳的波形數(shù)據(jù), 由單片機(jī)控制, 必須設(shè)計(jì)一個(gè)能隨時(shí)接受數(shù)據(jù)更新的RAM。如圖5所示。
圖5 任意波形模塊設(shè)計(jì)電路圖
選用的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è)試所用到的儀器為:
示波器 T ekt ronix 公司 型號(hào): T DS1012
計(jì)數(shù)器 創(chuàng)瑞科技有限公司 型號(hào): SPF40
評(píng)論