楊 力 敬興龍 李 江 新疆華隆油田科技股份有限公司
周云旭 西南石油大學(xué)
基于單片機(jī)的低頻信號(hào)發(fā)生器的設(shè)計(jì)
楊 力 敬興龍 李 江 新疆華隆油田科技股份有限公司
周云旭 西南石油大學(xué)
隨著現(xiàn)代測(cè)量技術(shù)和現(xiàn)代通信技術(shù)的發(fā)展,信號(hào)源通常都要求要有具備高穩(wěn)定度和高精度。直接數(shù)字頻率合成技術(shù)的出現(xiàn)為新一代函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)提供了理論依據(jù)和技術(shù)支持。本文主要介紹一種通過(guò)直接數(shù)字頻率合成的方法,采用AVR Mega16單片機(jī)作為控制核心的低頻信號(hào)發(fā)生器,能產(chǎn)生頻率從1~500Hz的正弦波、鋸齒波、方波、三角波信號(hào),具有頻率穩(wěn)定,性價(jià)比高的特點(diǎn)。
單片機(jī);低頻信號(hào)
低頻信號(hào)發(fā)生器是一種常用的基本電子設(shè)備,在實(shí)驗(yàn)教學(xué)、科學(xué)研究和生產(chǎn)中,都有著廣泛的運(yùn)用。在當(dāng)前的頻率合成技術(shù)中,直接數(shù)字頻率合成(Direct Digital Frequency Synthesis,簡(jiǎn)稱DDS)是一種新的頻率合成技術(shù),而且直接數(shù)字頻率合成器是近年來(lái)發(fā)展比較迅速的一種新型器件,它采用了全數(shù)字技術(shù),使其具有頻率分辨率高、頻率轉(zhuǎn)換時(shí)間快、相位噪聲低等諸多的優(yōu)點(diǎn)[1],并且還有很強(qiáng)的數(shù)字調(diào)制功能和其它功能,在通信等電子系統(tǒng)中使用這種技術(shù),可以最大化的簡(jiǎn)化系統(tǒng),降低生產(chǎn)成本,提高系統(tǒng)的可靠性。
1.1 頻率合成技術(shù)原理
DDS芯片中主要包括相位累加器、正弦計(jì)算器、數(shù)模轉(zhuǎn)換器和低通濾波器[2]。相位累加器根據(jù)頻率控制寄存器裝載的用戶輸入的頻率控制碼在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行相位累加,得到一個(gè)相位值;正弦計(jì)算器則對(duì)該相位值計(jì)算數(shù)字化正弦波幅度(芯片一般通過(guò)查表得到)。DDS芯片輸出的一般是數(shù)字化的正弦波,因此還需經(jīng)過(guò)高速D/A轉(zhuǎn)換器和低通濾波器才能得到一個(gè)可用的模擬頻率信號(hào)。
DDS技術(shù)產(chǎn)生正弦信號(hào)波形原理圖如圖2.1所示[3]。DDS的工作過(guò)程為:在時(shí)鐘FC的作用下,相位累加器對(duì)頻率控制字FCW進(jìn)行線性累加,當(dāng)相位累加器累積滿時(shí)就會(huì)產(chǎn)生一次溢出,累加器的溢出頻率就是DDS輸出的信號(hào)頻率。相位累加器輸出的相位碼送至相幅轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,當(dāng)取不同的頻率控制字FCW時(shí),相位累加器具有不同的相位增量,這樣,相幅轉(zhuǎn)換器輸出正弦波形的頻率就不同,經(jīng)數(shù)模轉(zhuǎn)換器(DAC)變換后得到模擬的階梯波電壓,再經(jīng)低通濾波器平滑后即可得到所需的正弦波信號(hào)。
1.2 相位累加器
相位累加器是DDS最基本的組成部分,用于實(shí)現(xiàn)相位的累加并存儲(chǔ)其累加結(jié)果。若當(dāng)前相位累加器的值為,經(jīng)過(guò)一個(gè)時(shí)鐘周期后變?yōu)椋瑒t:
1.3 ROM正弦查詢表
DDS正弦查詢表所存儲(chǔ)的數(shù)據(jù)是每一個(gè)相位所對(duì)應(yīng)的二進(jìn)制數(shù)字正弦幅值,在每一個(gè)時(shí)鐘周期內(nèi),相位累加器輸出序列進(jìn)行尋址,輸出為該相位相對(duì)應(yīng)的二進(jìn)制正弦幅值序列。ROM的存儲(chǔ)量為×S比特,其中P為相位累加器的輸出位數(shù),S為ROM的輸出位數(shù)。P和S值越大DDS輸出的效果就越好,但是占用的ROM空間也越大,成本就會(huì)成倍提高,所以在設(shè)計(jì)時(shí)往往是根據(jù)實(shí)際情況選擇合適的P值和S值,本文P和S值都為8。
2.1 硬件電路設(shè)計(jì)
由于單片機(jī)不帶D/A轉(zhuǎn)換電路,所以需要另外設(shè)計(jì)。另外,本次設(shè)計(jì)的信號(hào)發(fā)生器頻率較低,因此,本設(shè)計(jì)采用DAC0832進(jìn)行數(shù)模轉(zhuǎn)換,產(chǎn)生波形的選擇由外部按鍵進(jìn)行選擇。
2.2 軟件設(shè)計(jì)
根據(jù)各部分功能要求,整個(gè)系統(tǒng)的軟件程序由按鍵程序、顯示控制程序和數(shù)據(jù)處理程序組成,編程軟件采用ICC AVR 6.31A進(jìn)行編譯。
圖1 DDS技術(shù)產(chǎn)生信號(hào)波形原理圖
圖2 50Hz信號(hào)波形
按鍵程序:由鍵盤輸入頻率,將所輸入的頻率值通過(guò)LCD1602顯示,根據(jù)所輸入的頻率值計(jì)算出相應(yīng)的頻率控制字,由頻率控制字的值,讀取正弦數(shù)據(jù)查詢ROM表相應(yīng)地址,最后將得到的地址中的數(shù)據(jù)取出,再通過(guò)DAC0832數(shù)模轉(zhuǎn)換器輸出。
鋸齒波的產(chǎn)生原理:鋸齒波中的斜線用一個(gè)個(gè)小臺(tái)階來(lái)逼近,在一個(gè)周期內(nèi)從最小值開(kāi)始逐步遞增,當(dāng)達(dá)到最大值后回到最小值,設(shè)定自變量不斷地自加1,直到加到255,又自動(dòng)歸0,如此循環(huán),適當(dāng)選擇循環(huán)時(shí)間,可以得到不同周期的鋸齒波。
方波的產(chǎn)生原理:設(shè)定自變量使之延時(shí)一段時(shí)間,再令自變量在135時(shí)在延時(shí)與為0相同的時(shí)間,重復(fù)上述過(guò)程即可產(chǎn)生方波。
正弦波的產(chǎn)生原理:正弦波的產(chǎn)生比較特殊,它不能由單片機(jī)直接產(chǎn)生,它只能產(chǎn)生階梯波來(lái)向正弦波逼近。很顯然,在一個(gè)周期內(nèi)階梯波的階梯數(shù)目越多,單片機(jī)輸出的波形也就越接近正弦波。
三角波的產(chǎn)生原理:由單片機(jī)按照自增和自減直接輸出結(jié)果即可得到三角波波形。
經(jīng)測(cè)試,系統(tǒng)可產(chǎn)生1~500Hz的信號(hào),在高于500Hz后正弦波開(kāi)始發(fā)生失真。通過(guò)按鍵選擇波形頻率為50Hz時(shí)得到的波形如圖2所示。
本系統(tǒng)設(shè)計(jì)完成后,經(jīng)測(cè)試各項(xiàng)指標(biāo)均達(dá)到設(shè)計(jì)要求。從測(cè)量結(jié)果可看出,采用DDS技術(shù)實(shí)現(xiàn)的信號(hào)發(fā)生器各項(xiàng)指標(biāo)比較穩(wěn)定。
制作低頻函數(shù)信號(hào)發(fā)生器具有多種方法,本文采用DDS方式實(shí)現(xiàn),可根據(jù)實(shí)際需求設(shè)定信號(hào)特性,輸出信號(hào)穩(wěn)定,頻率控制分辨率高,性能優(yōu)良,方便實(shí)現(xiàn)個(gè)性化的低頻信號(hào)發(fā)生器,具有較高的實(shí)用價(jià)值。
[1]魯秋菊.基于單片機(jī)的DDS正弦信號(hào)發(fā)生器的設(shè)計(jì)[J].電腦知識(shí)與技術(shù).2011,30.
[2]王佳榮.基于DDS技術(shù)的信號(hào)發(fā)生器設(shè)計(jì)[D].吉林大學(xué).2015.
[3]孫素平.基于DDS技術(shù)信號(hào)發(fā)生器的研究與設(shè)計(jì)[D].哈爾濱工業(yè)大學(xué).2010.