昌吉學(xué)院計(jì)算機(jī)工程系 冉興萍 高 陽(yáng)
基于DDS的程控信號(hào)源的設(shè)計(jì)
昌吉學(xué)院計(jì)算機(jī)工程系冉興萍高陽(yáng)
設(shè)計(jì)了以52單片機(jī)為主控制器,控制AD9850實(shí)現(xiàn)頻率范圍在100Hz~20MHz的正弦波和方波信號(hào)發(fā)生器。該系統(tǒng)利用鍵盤(pán)作為輸入設(shè)備,LCD12864作為顯示設(shè)備;具有頻率可調(diào)、精度可達(dá),穩(wěn)定性好的特點(diǎn)可以廣泛用于教學(xué)科研及各種電子測(cè)量場(chǎng)所。
52單片機(jī);DDS;AD9850
信號(hào)源是一種用途廣泛的電子測(cè)量?jī)x器,在現(xiàn)代科研、生產(chǎn)實(shí)踐、教學(xué)試驗(yàn)以及各種電子測(cè)控場(chǎng)合需要高精度、頻率可變的信號(hào)源。目前產(chǎn)生信號(hào)的方法有三種,第一種采用傳統(tǒng)的直接頻率合成技術(shù)直接產(chǎn)生所需要的波形。其實(shí)質(zhì)是利用混頻、濾波、分頻及倍頻等技術(shù)來(lái)實(shí)現(xiàn)[1]。但由于采用這些中間技術(shù)使得直接頻率合成器需要用到的石英晶體較多,電路環(huán)路多,從而使得結(jié)構(gòu)復(fù)雜,帶內(nèi)互調(diào)分量多容易產(chǎn)生雜散信號(hào),合成的信號(hào)頻譜純度不高。第二種是采用鎖相環(huán)路法,其特點(diǎn)是可產(chǎn)生頻率較高的信號(hào)、寬帶在一定范圍內(nèi)可調(diào)。但是鎖相環(huán)是一個(gè)惰性環(huán)節(jié),其鎖定時(shí)間影響頻率轉(zhuǎn)換時(shí)間,而且其輸出頻率間隔與轉(zhuǎn)換速率之間相互制約[2]。另外,由模擬方法合成的正弦波與方波的性能參數(shù)都很難控制,而且要實(shí)現(xiàn)100Hz~20MHz大范圍的頻率變化相當(dāng)困難,不易實(shí)現(xiàn)。第三種是采用直接數(shù)字式頻率合成(Direct Digital Frequency Synthesis,簡(jiǎn)稱DDS)。由于DDS具有相對(duì)帶寬很寬,頻率轉(zhuǎn)換時(shí)間短,頻率分辨率高,全數(shù)字化結(jié)構(gòu)便于集成等優(yōu)點(diǎn)[3]。其突破了模擬合成法的原理,可以實(shí)現(xiàn)不同頻率、相位的任意波形,并且各種參數(shù)均可通過(guò)編程實(shí)現(xiàn)。因此這種方法是設(shè)計(jì)信號(hào)源的首選方法,本文就是利用這種方法實(shí)現(xiàn)程控信號(hào)源的設(shè)計(jì)的。
系統(tǒng)組成框圖如圖1所示,本系統(tǒng)的設(shè)計(jì)是基于直接數(shù)字頻率合成技術(shù),采用52系列單片機(jī)控制DDS芯片AD9850,通過(guò)鍵盤(pán)模塊作為輸入設(shè)備改變AD9850的頻率控制字以產(chǎn)生頻率可調(diào)的信號(hào);同時(shí)利用LCD液晶模塊作為輸出設(shè)備顯示輸入信號(hào)的頻率從而驗(yàn)證輸出結(jié)果的正確性。
圖1 系統(tǒng)組成框圖
2.1DDS的基本原理
直接數(shù)字頻率合成(DDS)是一種數(shù)字技術(shù)利用相位概念直接合成波形[4]。DDS的原理框圖如2所示,主要由相位累加器、加法器、波形儲(chǔ)存器ROM、數(shù)模轉(zhuǎn)換器(D/A)和低通濾波器(LPF)組成[5]。
圖2 DDS的原理框圖
其中相位累加器的字長(zhǎng)為N,波形存儲(chǔ)器ROM數(shù)據(jù)位及D/A轉(zhuǎn)換器的字長(zhǎng)為D。相位累加器在fc的控制下以步長(zhǎng)K作累加,輸出的N位二進(jìn)制碼與相位控制字P、波形控制字W相加后作為波形ROM的地址[6],從相應(yīng)的ROM單元中輸出D位的幅度碼S(n)經(jīng)D/A轉(zhuǎn)換器變成階梯波S(t),最后通過(guò)低通濾波器濾波后就得到合成的信號(hào)波形。文中所描述的是正弦波的合成。
2.2頻率控制字計(jì)算
DDS輸出合成信號(hào)頻率fo與其輸入的參考時(shí)鐘頻率fc成正比,設(shè)波形存儲(chǔ)器ROM的地址為N位,頻率控制字為K,則:
輸出信號(hào)的頻率分辨率為:
由奈奎斯特采樣定理可知,DDS輸出的最大頻率為:
頻率控制字可由以上公式推出:
當(dāng)外部參考時(shí)鐘頻率為100MHz,輸出頻率需要為1MHz時(shí),這樣就可以利用以上公式計(jì)算出DDS的需要設(shè)定的控制頻率字K=1× 232/100。
由于單片機(jī)具有性價(jià)比高、可靠性高、靈活性好并且具有易于人機(jī)對(duì)話和良好的數(shù)據(jù)處理能力[7]。綜合考慮決定利用單片機(jī)AT89S52作為系統(tǒng)的主控核心。顯示模塊采用漢字圖形液晶顯示模塊SMG12864ZK,與數(shù)碼管相比的一個(gè)最大特點(diǎn)是顯示內(nèi)容豐富??紤]到系統(tǒng)用單片機(jī)I/O口線較多為了節(jié)省以便留為他用。按鍵模塊采用矩陣式鍵盤(pán),使用DDS芯片,輸出的信號(hào)含有大量的雜散波,為使產(chǎn)生的信號(hào)平滑,需要對(duì)輸出的信號(hào)進(jìn)行濾波。設(shè)計(jì)的低通濾波器是采用5階BUTTERWORTH模型。
3.1單片機(jī)與AD9850的接口
DDS芯片AD9850有串行和并行兩種通信方式,為了充分發(fā)揮AD9850的高速特點(diǎn),本系統(tǒng)利用并行接口實(shí)現(xiàn)單片機(jī)與AD9850的連接。具體接口電路如圖3所示,單片機(jī)的P2.0~P2.7引腳連接AD9850的數(shù)據(jù)線引腳D0~D7,P1.0引腳連接頻率更新引腳Fq_ud,P1.3引腳連接控制字輸入時(shí)鐘引腳Wclk。
圖3 單片機(jī)與AD9850的接口
3.2鍵盤(pán)接口
利用AT89S52的P1口實(shí)現(xiàn)4*4矩陣鍵盤(pán)接口電路。包括數(shù)字鍵0~9,頻率單位鍵、頻率功能鍵等。具體電路如圖4所示:
圖4 鍵盤(pán)接口電路
3.3顯示模塊接口
顯示模塊接口利用單片機(jī)的P0口來(lái)實(shí)現(xiàn),由于P0口作為輸出口使用所以必須接上拉電阻;數(shù)據(jù)通信采用并行通信方式。
圖5 顯示模塊接口電路
本系統(tǒng)軟件由主程序模塊、信號(hào)產(chǎn)生模塊、鍵盤(pán)模塊及LCD顯示模塊構(gòu)成。其中主程序模塊是整個(gè)系統(tǒng)軟件的核心。系統(tǒng)上電復(fù)位后,首先單片機(jī)調(diào)用初始化程序完成AD9850和LCD的初始化。然后單片機(jī)開(kāi)始掃描鍵盤(pán)看有無(wú)鍵按下,若無(wú)鍵按下則繼續(xù)循環(huán)掃描若有鍵按下則看按下的是數(shù)字鍵還是功能鍵。若先按下頻率功能鍵和單位功能鍵則不執(zhí)行表示有錯(cuò)誤;若按下數(shù)字鍵則執(zhí)行數(shù)字計(jì)算子程序然后按下單位鍵再按下頻率鍵開(kāi)始調(diào)用AD9850計(jì)算控制字和發(fā)送控制字子程序同時(shí)LCD調(diào)用顯示函數(shù)顯示所輸入的頻率值.最后返回初始狀態(tài)循環(huán)掃描鍵盤(pán),重復(fù)上述過(guò)程。軟件流程圖如圖6所示。
圖6 軟件流程圖
該信號(hào)源能產(chǎn)生100Hz~20MHz的正弦波、方波,頻率可通過(guò)鍵盤(pán)任意輸入而且可在LCD上顯示頻率值從而驗(yàn)證產(chǎn)生波形的正確性。測(cè)試數(shù)據(jù)如表1所示:
表1 測(cè)試數(shù)據(jù)表
通過(guò)上表計(jì)算可得頻率誤差為:±1Hz,由此可見(jiàn)利用DDS技術(shù)設(shè)計(jì)實(shí)現(xiàn)的程控信號(hào)源可以產(chǎn)生所需要的信號(hào)波形,并且具有精確的頻率。
[1]產(chǎn)新忠,郁略,楊靜等.基于9850的可編程信號(hào)發(fā)生器的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2006,14(9):1272-1274.
[2]任艷玲.基于AD9850的多功能信號(hào)源設(shè)計(jì)[J].電子科技,2015,28(6):179-182.
[3]林萬(wàn)榮.基于AD9850的DDS信號(hào)發(fā)生器系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)有線電視,2015(11):1286-1290.
[4]趙杰英,王浩全.基于AD9850多功能信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)[J].山西電子技術(shù),2014(1):45-47.
[5]王佳榮,崔煒,馮馳.基于DDS的高頻率高精度信號(hào)發(fā)生器[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2016(4):501-506.
[6]南楠,趙立新.基于FPGA的DDS信號(hào)源研究與設(shè)計(jì)[J].沈陽(yáng)工程學(xué)院學(xué)報(bào),2016,12(1):74-80.
[7]宋雁鵬.基于單片機(jī)和DDS的高頻信號(hào)源的設(shè)計(jì)[J].電子世界,2015(13):131-133.