本文列舉了幾種不同的DDS函數(shù)信號發(fā)生器設(shè)計的方案,分析和總結(jié)每種方案設(shè)計原理和思路(函數(shù)信號發(fā)生器原理),學(xué)習(xí)如何利用直接數(shù)字頻率合成技術(shù)進行波形穩(wěn)定并具有高精度的DDS函數(shù)信號發(fā)生器設(shè)計。
DDS原理簡介
從本質(zhì)上看,它是一個以恒定高頻率運行的多位計數(shù)器。在溢出時,通過利用一個多位控制字來設(shè)置計數(shù)器步進的尺寸,允許計數(shù)器過零。計數(shù)器的高階位用來尋址存儲設(shè)備,該設(shè)備保持有生成的一個波形周期的數(shù)字記錄。高頻時鐘每前進一單位,計數(shù)器便步進一次,存儲器也將生成一個新的地址字,而新的波形數(shù)據(jù)值將會發(fā)送到DAC。DAC輸出的是取樣模擬波形,該波形經(jīng)重構(gòu)濾波器之后由發(fā)生器輸出。全數(shù)字化結(jié)構(gòu)便于集成,輸出相位連續(xù),頻率,相位和幅度均可實現(xiàn)程控。
主要優(yōu)點是輸出信號的頻率精度可以達到作為發(fā)生器參考信號使用的晶體控制振蕩器的水平,可以生成非常高的頻率精度,若擁有RAM波形存儲器,可以重現(xiàn)幾乎任何波形,還具有具有相對帶寬很寬,頻率轉(zhuǎn)換時間極短,頻率分辨率高等優(yōu)點。
DDS函數(shù)信號發(fā)生器設(shè)計原理分析
(1)高精度DDS函數(shù)信號發(fā)生器的研制
設(shè)計選用單片機AT89C55作為控制核心,其與DDS芯片AD9852之間采用并口通信方式。單片機P1口作為LCD液晶顯示的數(shù)據(jù)總線,P0口用于AD9852地址總線和并口傳輸?shù)臄?shù)據(jù)總線,使用鎖存器74ALS573實現(xiàn)P0口復(fù)用,74ALS573鎖存輸出的六位數(shù)值為AD9852內(nèi)部寄存器的地址。P2和P3口作為控制口用于鍵盤芯片HD7279和AD9852的控制。
由于AD9852的內(nèi)部沒有低通濾波器,因此經(jīng)過內(nèi)部余弦DAC輸出的掃頻信號不可避免地含有高頻噪聲,所以信號輸出端口需外接低通濾波器抑制高頻干擾。該設(shè)計采用七階橢園函數(shù)濾波器。
軟件設(shè)計主要分為菜單操作和頻率控制值計算兩部分。不同的按鍵代表著不同的數(shù)字和功能,除了正常的10個數(shù)字鍵0~9外,為了方便頻率值輸入,還設(shè)計了左右移動鍵、刪除鍵、Output確認(rèn)輸出鍵等功能鍵。相應(yīng)的數(shù)值如頻率、相位、幅度輸入完成后按Output輸出鍵,即產(chǎn)生相應(yīng)的信號輸出。
(2)任意波形發(fā)生器設(shè)計
本系統(tǒng)采用FPGA實現(xiàn),單片機控制整個系統(tǒng),產(chǎn)生任意波形。主要由微處理器控制模塊、鍵盤與顯示模塊、DDS通道的FPGA實現(xiàn)模塊、D/A轉(zhuǎn)換模塊以及濾波器模塊組成。同時片外擴展了4 KB程序存儲器SRAM和6 KB數(shù)據(jù)存儲器ROM,分別用于存儲波形抽樣數(shù)據(jù)和3種標(biāo)準(zhǔn)輸出波形抽樣數(shù)據(jù)。系統(tǒng)設(shè)計原理如圖所示。
采用AT89C5l單片機完成數(shù)據(jù)處理和控制其他電路工作。將鍵盤接收的數(shù)據(jù)通過特定算法轉(zhuǎn)換成二進制碼,再將處理后的控制字、波形參數(shù)和其他器件的控制信號發(fā)送出去。測量裝置需要設(shè)置輸出波形、頻率、電壓等參數(shù),而且監(jiān)控程序需要菜單驅(qū)動,因此需要設(shè)置鍵盤。鍵盤采用外接4×4軟鍵盤,使用軟件掃描方式獲得按鍵信息。因為按鍵需要去抖動,因此采用軟件編程方式實現(xiàn),這樣可以節(jié)省硬件資源,簡化電路設(shè)計。
DDS通道的FPGA實現(xiàn)模塊關(guān)鍵部分,主要由相位累加器、地址總線控制器、數(shù)據(jù)總線控制器與SRAM組成。其中,除了SRAM外,其余3個模塊都由FPGA實現(xiàn)。相位累加器實質(zhì)上是一個帶反饋的29位加法器,它把輸出數(shù)據(jù)作為反饋數(shù)據(jù)和由微處理器送來的頻率控制字連續(xù)相加,從而產(chǎn)生有規(guī)律的29位相位地址碼。設(shè)計中采用流水線技術(shù)實現(xiàn)29位加法。當(dāng)輸入所需頻率時,轉(zhuǎn)換成頻率控制字來驅(qū)動FPGA工作,從而產(chǎn)生所需波形頻率。整個模塊設(shè)計過程使用FPGA的開發(fā)軟件實現(xiàn)并進行仿真。
(3)基于SOPC技術(shù)DDS函數(shù)信號發(fā)生器設(shè)計
系統(tǒng)采用SOPC 設(shè)計方案,它由頻率預(yù)置電路、波形選擇、波形頻率控制、累加器、存儲波形數(shù)據(jù)的存儲器和D/ A 轉(zhuǎn)換電路、濾波電路組成。累加器模塊由10 位加法器與10 位寄存器級聯(lián)而成。波形存儲器中放入正弦波、方波、三角波、鋸齒波的數(shù)據(jù)。
系統(tǒng)開發(fā)包括硬件部分和軟件部分,而硬件部分是由SOPC開發(fā)工具搭建而成。SOPC Builder生成NIOS嵌入式處理器,NIOS嵌入式處理器開發(fā)工具允許用戶配置多個CPU,在標(biāo)準(zhǔn)庫中添加外圍電路,也可以由用戶自定義外設(shè),綜合處理自定義系統(tǒng),這樣使設(shè)計變得更加靈活。打開SOPC Builder后分別添加CPU,PIO輸入( 10個按鍵用作頻率字的輸入、1個按鍵用作確認(rèn)、4個按鍵用作波形的選擇) ,存儲器( FLASH,SRAM和SDRAM) ,PIO輸出( 10位作為ROM的地址、2位作為ROM塊的選擇、7位為LED段碼、1位為LED的選通端) 和定時器。所有組件添加完后的硬件架構(gòu)圖如圖所示。