0 引 言
信號(hào)發(fā)生器又稱(chēng)信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱(chēng)為函數(shù)信號(hào)發(fā)生器。函數(shù)信號(hào)發(fā)生器的實(shí)現(xiàn)方法通常是采用分立元件或單片專(zhuān)用集成芯片,但其頻率不高,穩(wěn)定性較差,且不易調(diào)試,開(kāi)發(fā)和使用上都受到較大限制。隨著可編程邏輯器件(FPGA)的不斷發(fā)展,直接頻率合成(DDS)技術(shù)應(yīng)用的愈加成熟,利用DDS原理在FP-GA平臺(tái)上開(kāi)發(fā)高性能的多種波形信號(hào)發(fā)生器與基于DDS芯片的信號(hào)發(fā)生器相比,成本更低,操作更加靈活,而且還能根據(jù)要求在線更新配置,系統(tǒng)開(kāi)發(fā)趨于軟件化、自定義化。本文研究了基于FPGA的DDS信號(hào)發(fā)生器設(shè)計(jì),實(shí)現(xiàn)了滿(mǎn)足預(yù)定指標(biāo)的多波形輸出。
1 DDS基本原理
DDS建立在采樣定理基礎(chǔ)上,首先對(duì)需要產(chǎn)生的波形進(jìn)行采樣,將采樣值數(shù)字化后存入存儲(chǔ)器作為查找表,然后通過(guò)查表讀取數(shù)據(jù),再經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬量,將保存的波形重新合成出來(lái)。DDS基本原理框圖如圖1所示。
除了濾波器(LPF)之外,DDS系統(tǒng)都是通過(guò)數(shù)字集成電路實(shí)現(xiàn)的,易于集成和小型化。系統(tǒng)的參考時(shí)鐘源通常是一個(gè)具有高穩(wěn)定性的晶體振蕩器,為各組成部分提供同步時(shí)鐘。頻率控制字(FSW)實(shí)際上是相位增量值(二進(jìn)制編碼)作為相位累加器的累加值。相位累加器在每一個(gè)參考時(shí)鐘脈沖輸入時(shí),累加一次頻率字,其輸出相應(yīng)增加一個(gè)步長(zhǎng)的相位增量。由于相位累加器的輸出連接在波形存儲(chǔ)器(ROM)的地址線上,因此其輸出的改變就相當(dāng)于查表。這樣就可以通過(guò)查表把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值(二進(jìn)制編碼)查找出來(lái)。ROM的輸出送到D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬量輸出。
2 系統(tǒng)總體方案設(shè)計(jì)
該設(shè)計(jì)以FPGA開(kāi)發(fā)平臺(tái)為核心,將各波形的幅值/相位量化數(shù)據(jù)存儲(chǔ)在ROM內(nèi),按照設(shè)定頻率,以相應(yīng)頻率控制字k為步進(jìn),對(duì)相位進(jìn)行累加,以累加相位值作為地址碼讀取存放在存儲(chǔ)器內(nèi)的波形數(shù)據(jù),經(jīng)D/A轉(zhuǎn)換和幅度控制、濾波即可得到所需波形。波形發(fā)生器采取全數(shù)字化結(jié)構(gòu),用硬件描述語(yǔ)言Verilog設(shè)計(jì)實(shí)現(xiàn)其頻率可調(diào)可顯示。經(jīng)開(kāi)發(fā)平臺(tái)的D/A轉(zhuǎn)化和外加濾波整形處理波形數(shù)據(jù),理論上能夠?qū)崿F(xiàn)任意頻率的各種波形。系統(tǒng)總體設(shè)計(jì)方框圖如圖2所示。
系統(tǒng)按工作原理和控制對(duì)象的先后分為三個(gè)功能單元:波形數(shù)據(jù)產(chǎn)生單元、D/A轉(zhuǎn)化單元和濾波整形處理單元。波形數(shù)據(jù)產(chǎn)生單元除具有波形數(shù)據(jù)輸出功能外,還有頻率設(shè)置和輸出顯示功能。波形信號(hào)頻率可設(shè)置范圍為0~99 999 999 Hz,系統(tǒng)時(shí)鐘采用外接晶體振蕩器40 MHz時(shí)鐘脈沖,頻率穩(wěn)定度優(yōu)于10-4輸出采用8位LED數(shù)碼循環(huán)動(dòng)態(tài)顯示。D/A轉(zhuǎn)換單元負(fù)責(zé)對(duì)從ROM表里讀取的波形數(shù)據(jù)進(jìn)行D/A轉(zhuǎn)換,對(duì)D/A轉(zhuǎn)換器件的選用從建立時(shí)間、位數(shù)、轉(zhuǎn)化誤差和轉(zhuǎn)換時(shí)間等四個(gè)方面考慮。濾波整形處理單元完成對(duì)D/A轉(zhuǎn)換的模擬波進(jìn)行平滑,濾除雜波和高頻干擾,補(bǔ)償頻帶損耗和幅度損失,最終輸出低誤差、高質(zhì)量、滿(mǎn)足題設(shè)要求的波形。
3 系統(tǒng)功能單元實(shí)現(xiàn)
3.1 波形數(shù)據(jù)產(chǎn)生單元
波形數(shù)據(jù)產(chǎn)生單元是信號(hào)發(fā)生器設(shè)計(jì)的主體。在此,采用DDS原理設(shè)計(jì)的信號(hào)發(fā)生器能完成三種波形(正弦、三角和方波)數(shù)據(jù)的產(chǎn)生,而且根據(jù)控制信號(hào)還可完成選定波形指定頻率的輸出。波形數(shù)據(jù)產(chǎn)生單元按功能實(shí)現(xiàn)上的相互聯(lián)系可劃分為頻率控制字生成模塊、相位累加器模塊和波形數(shù)據(jù)ROM表模塊,如圖3所示。其中,頻率控制字生成模塊可根據(jù)輸入產(chǎn)生指定頻率字,同時(shí)顯示輸入頻率數(shù)字。相位累加器模塊負(fù)責(zé)對(duì)所選波形的相位尋址,以頻率控制字作為步長(zhǎng)反復(fù)進(jìn)行累加運(yùn)算。波形數(shù)據(jù)ROM表模塊存放三種波形的幅值/相位量化值,通過(guò)地址選擇相應(yīng)波形的數(shù)據(jù)。
系統(tǒng)輸入控制使用4×4鍵盤(pán).鍵盤(pán)主要按鍵功能介紹如下:
“0~9”:數(shù)字鍵,設(shè)定信號(hào)頻率;
“確定”:用于對(duì)波形信號(hào)設(shè)置的確認(rèn),波形信號(hào)的設(shè)置必須“確定”后才有效;
“←”:刪除已輸入信號(hào)頻率數(shù)字的最后一位,用于修改設(shè)置的頻率;
“清零”:將頻率數(shù)字快速全部清零;
“↑”:步進(jìn)增大控制;
“↓”:步進(jìn)減小控制。
作者:高士友 胡學(xué)深 杜興莉 劉 橋 來(lái)源:現(xiàn)代電子技術(shù)