基于DDS的正弦信號(hào)發(fā)生器的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:文章介紹了一種基于DDS的正弦信號(hào)發(fā)生器的設(shè)計(jì)方法,對(duì)此正弦信號(hào)發(fā)生器的硬件部分進(jìn)行了詳細(xì)的論述,并給出了系統(tǒng)的軟件流程框圖。仿真及硬件驗(yàn)證的結(jié)果表明,此正弦信號(hào)發(fā)生器精度高,抗干擾性好,可作為一般的正弦信號(hào)發(fā)生器使用。此設(shè)計(jì)方案具有一定的實(shí)用性。
關(guān)鍵詞:STC89C52;AD9850;正弦信號(hào)發(fā)生器;DDS
0 引言
在電子工程、通信工程、自動(dòng)控制等領(lǐng)域經(jīng)常用到正弦信號(hào)發(fā)生器,傳統(tǒng)的正弦信號(hào)發(fā)生器通常有兩種:一是由分立元件和集成的信號(hào)發(fā)生芯片構(gòu)成;二是基于FPGA技術(shù)。前者往往存在工作頻率低、功能少、精度不高等缺點(diǎn)。后者雖然實(shí)時(shí)性好,能滿足復(fù)雜波形的大數(shù)據(jù)量的傳輸要求,但是設(shè)計(jì)復(fù)雜、成本較高。應(yīng)用DDS芯片設(shè)計(jì)的正弦信號(hào)發(fā)生器具有相對(duì)帶寬較寬、頻率轉(zhuǎn)換時(shí)間短、頻率分辨率高等優(yōu)點(diǎn)。因此本文著重介紹了基于DDS技術(shù)的正弦信號(hào)發(fā)生器的設(shè)計(jì)。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)主要包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分,均采用模塊化設(shè)計(jì)方法。其中硬件設(shè)計(jì)主要包括信號(hào)發(fā)生模塊、微控制器、顯示模塊、數(shù)據(jù)輸入模塊、外圍電路等實(shí)現(xiàn)內(nèi)容。軟件設(shè)計(jì)包括AD9850操作模塊、液晶顯示模塊、鍵盤模塊等。系統(tǒng)結(jié)構(gòu)框架圖如圖1所示。
信號(hào)發(fā)生模塊接收微控制器發(fā)送過來的頻率控制參數(shù)和命令,產(chǎn)生不同頻率的正弦波。信號(hào)發(fā)生模塊產(chǎn)生的正弦波幅度很小,并隨所產(chǎn)生的信號(hào)頻率不同,輸出的頻率也有很大的變化,故需要一個(gè)寬頻的放大電路對(duì)其產(chǎn)生的正弦波信號(hào)進(jìn)行放大,并對(duì)信號(hào)進(jìn)行低通濾波;此正弦信號(hào)發(fā)生器選用12864液晶與微控制器相連,實(shí)現(xiàn)信息的顯示。鍵盤可以實(shí)現(xiàn)輸入頻率參數(shù)和命令。
2 系統(tǒng)硬件設(shè)計(jì)
此系統(tǒng)硬件電路設(shè)計(jì)共分為5大部分,分別是信號(hào)發(fā)生模塊、微控制器、顯示模塊、數(shù)據(jù)輸入模塊以及外圍電路。
2.1 信號(hào)發(fā)生模塊
DDS芯片選用AD9850,在精確的時(shí)鐘源作參考頻率源時(shí),AD9850能產(chǎn)生一個(gè)頻譜很純的頻率或相位可編程的模擬正弦波輸出。AD9850具有32位頻率控制字和8位的相位控制字,具有輸出頻率相對(duì)帶寬較寬(輸出頻率帶寬為系統(tǒng)時(shí)鐘頻率的50%),頻率轉(zhuǎn)換時(shí)間短(當(dāng)系統(tǒng)時(shí)鐘頻率為125MHz時(shí),轉(zhuǎn)換時(shí)間約為0.1μs),頻率分辨率高(系統(tǒng)時(shí)鐘頻率為125MHz時(shí),分辨率小于0.03Hz)等優(yōu)點(diǎn)。
2.2 微控制器
本設(shè)計(jì)的微控制器采用的是STC89C52,具有功耗低、抗干擾性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單、易于開發(fā)等優(yōu)點(diǎn),且支持在線系統(tǒng)編程、無需編程器、方便系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)工作時(shí),單片機(jī)將頻率控制參數(shù)和命令發(fā)送給AD9850,AD9850接收到命令后,即可產(chǎn)生相應(yīng)頻率的正弦波信號(hào)。 AD9850與單片機(jī)之間采用并行接口方式或串行接口方式,在本系統(tǒng)中,采用了串行接口方式實(shí)現(xiàn)DDS與單片機(jī)的連接。STC89C52與AD9850的接口電路如圖2所示。
2.3 顯示模塊
此次設(shè)計(jì)選用了12864的圖形液晶顯示模塊與單片機(jī)相連接,從而實(shí)現(xiàn)信息的顯示。12864LCD具有顯示內(nèi)容大、顯示豐富等優(yōu)點(diǎn),能實(shí)現(xiàn)良好的人機(jī)界面、接口簡(jiǎn)單、性能好、控制方便、顯示效果好。
2.4 數(shù)據(jù)輸入模塊
為了提高單片機(jī)的資源利用率,按鍵部分使用矩陣(4 x 4)鍵盤。這種方法在開關(guān)數(shù)量多的情況下可以節(jié)省很多的接口,并且提高系統(tǒng)接口的利用率。
2.5 外圍電路
外圍電路主要包括低通濾波電路和放大電路。由于DDS芯片輸出的信號(hào)實(shí)際上是經(jīng)過D/A轉(zhuǎn)換器得到的信號(hào),該信號(hào)中包含有高頻成分,為了減小和抑制該高頻信號(hào)分量,在DDS后接低通濾波器對(duì)該信號(hào)進(jìn)行濾波。該設(shè)計(jì)中采用兩級(jí)LC低通濾波器,電路如圖3所示。
DDS直接輸出的信號(hào)幅度最大不超過2V,經(jīng)過濾波器濾波后還不到1V,為了滿足需要,必須有放大電路。在此選用了由OP07組成的放大電路,電路如圖4所示。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件主要有三個(gè)模塊:AD9850操作模塊、液晶顯示模塊、鍵盤模塊。其中AD9850模塊主要完成對(duì)AD9850的初始化和輸出相應(yīng)的頻率控制字;液晶顯示模塊完成對(duì)頻率的顯示;鍵盤模塊用來設(shè)定信號(hào)的輸出頻率。主流程圖如圖5所示。
液晶顯示流程和鍵盤掃描流程分別如圖6、圖7所示
4 系統(tǒng)測(cè)試
在波形輸出端接YB5400系列數(shù)字存儲(chǔ)示波器,檢測(cè)該系統(tǒng)是否能產(chǎn)生標(biāo)準(zhǔn)的正弦波,檢驗(yàn)設(shè)定的頻率和該系統(tǒng)實(shí)際輸出的波形的頻率是否一致,記錄三次測(cè)試結(jié)果。
5 結(jié)束語
由于采用了STC89C52作為控制器,其靈活的接口、簡(jiǎn)單的結(jié)構(gòu)保證了系統(tǒng)能穩(wěn)定地工作,提高了系統(tǒng)的穩(wěn)定性。采用AD9850作為信號(hào)發(fā)生模塊,保證了系統(tǒng)的高精度。此設(shè)計(jì)方案可以改善現(xiàn)有的正弦信號(hào)發(fā)生器結(jié)構(gòu)復(fù)雜、成本高等問題,輸出的波形失真率低。可以作為一般的正弦信號(hào)發(fā)生器使用。