基于AVR單片機(jī)的高精度頻率調(diào)節(jié)器
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:精確的頻率控制是現(xiàn)代化工業(yè)生產(chǎn)與高精度測(cè)試的必備手段。基于ad9850可以發(fā)生優(yōu)于1hz頻率精確度的信號(hào),這對(duì)于頻率測(cè)試來(lái)說(shuō)至關(guān)重要。本文介紹的這種頻率調(diào)節(jié)器由atmel公司的avr單片機(jī)atmega16l作為控制核心,采用4×4鍵盤(pán)作為頻率值輸入設(shè)備。avr單片機(jī)掃描鍵盤(pán)并且讀入用戶(hù)設(shè)定的頻率值。隨后,avr單片機(jī)計(jì)算出ad9850的控制字,并且對(duì)ad9850發(fā)出指令。本文介紹的頻率控制器可以通過(guò)“+1hz”鍵和“–1hz”鍵微調(diào)頻率值。本文對(duì)頻率控制器擴(kuò)展了液晶顯示模塊,因此當(dāng)前頻率值可以被實(shí)時(shí)顯示。它可以生成方波和正弦波。設(shè)計(jì)中使用了看門(mén)狗定時(shí)器防止程序進(jìn)入死循環(huán)而不能正常工作。
關(guān)鍵詞:avr,單片機(jī),頻率,控制 1引言
在現(xiàn)代化工業(yè)生產(chǎn)與高精度測(cè)試中,我們需要相當(dāng)精確的頻率來(lái)幫助判斷設(shè)備性能指標(biāo)。而且我們希望能夠微調(diào)該頻率。采用壓控振蕩器得到的頻率不夠精確,微調(diào)頻率步驟煩瑣,耗時(shí)漫長(zhǎng),因此有些測(cè)試項(xiàng)目限制了壓控振蕩器的使用。
mega系列單片機(jī)是atmel公司于2002年起陸續(xù)推出的。這款avr增強(qiáng)型單片機(jī)具有速度快,抗干擾能力強(qiáng),價(jià)格低廉等諸多優(yōu)點(diǎn)。為了加快avr單片機(jī)的軟件編制,atmel以及第三方提供的開(kāi)發(fā)工具多種多樣,程序開(kāi)發(fā)方便有效。該單片機(jī)內(nèi)部flash結(jié)構(gòu)功能靈活,加鎖后很難解密,可以最大限度地保護(hù)知識(shí)產(chǎn)權(quán)。avr單片機(jī)可以廣泛應(yīng)用于通信、野外測(cè)試、汽車(chē)電子、醫(yī)療器械等領(lǐng)域,并且適用于各種低電壓、低功耗的場(chǎng)合。
本文提出一種方法能夠基于avr單片機(jī),采用ad9850提供精確到1hz的頻率信號(hào),不但可以發(fā)生正弦波,也可以發(fā)生方波,從而為要求頻率精度高的企業(yè)解決了難題。它以atmel公司的avr單片機(jī)atmega16l作為核心,能夠方便、準(zhǔn)確地控制輸出頻率。由于avr單片機(jī)實(shí)現(xiàn)了在線(xiàn)可編程,所以大大簡(jiǎn)化了設(shè)計(jì)步驟,加快了設(shè)計(jì)進(jìn)程,同時(shí)不會(huì)燒毀、燒費(fèi)芯片,節(jié)約了成本。
用戶(hù)通過(guò)4×4鍵盤(pán)設(shè)定頻率值,avr單片機(jī)使用i/o端口,掃描讀入頻率值。隨后avr單片機(jī)控制ad9850調(diào)節(jié)到用戶(hù)要求的頻率。ad9850的輸出可以接電壓比較器整形為方波,也可以經(jīng)過(guò)低通濾波器限制帶寬,輸出正弦波形。avr單片機(jī)同時(shí)控制液晶顯示模塊,使之實(shí)時(shí)顯示當(dāng)前頻率。
2控制核心與頻率發(fā)生技術(shù)
2.1控制核心
本設(shè)計(jì)采用了atmel公司的avr單片機(jī)atmega16l作為控制核心。avr單片機(jī)的單周期指令能夠保證高的執(zhí)行效率和低成本,是精簡(jiǎn)指令集cpu中的高性能器件。avr單片機(jī)可以提供高達(dá)16mips的執(zhí)行時(shí)間,具有128k字節(jié)的可編程flash存儲(chǔ)器,同時(shí)具備4096字節(jié)的靜態(tài)ram。avr單片機(jī)自帶看門(mén)狗定時(shí)器,在強(qiáng)烈的電磁干擾條件下可以防止程序跑飛。本設(shè)計(jì)中采用的atmega16l還具有以下特點(diǎn):
·內(nèi)部包含有硬件乘法器,加快乘法運(yùn)算速度;i/o端口引腳數(shù)多達(dá)32根;
·支持在線(xiàn)可編程功能,不需要頻繁從電路板插拔芯片;帶有可編程的支持同步傳輸?shù)膗art端口;
·支持三線(xiàn)傳輸spi端口;具有方便的i2c總線(xiàn)端口,直接與philips芯片接駁;
·支持jtag邊界掃描電路;具有bod低電壓檢測(cè)功能;
·內(nèi)部有8路10位的a/d變換器;具有4個(gè)pmw,可以協(xié)同或單獨(dú)工作;
· 內(nèi)部帶有實(shí)時(shí)時(shí)鐘電路;工作頻率最高可達(dá)16mhz。
2.2ad9850頻率發(fā)生技術(shù)
ad9850是ad公司推出的低功耗直接數(shù)字頻率合成器芯片,可以產(chǎn)生從直流到62.5mhz的寬頻率信號(hào),從投入市場(chǎng)到今天已經(jīng)應(yīng)用在雷達(dá)系統(tǒng)、低功耗頻率源中。它良好的頻率合成功能適合于應(yīng)用在高精度測(cè)試中。本設(shè)計(jì)采用了ad9850作為波形發(fā)生器,具有體積小,功耗低的優(yōu)點(diǎn)。
在控制流程中,avr單片機(jī)為ad9850計(jì)算了頻率控制字,并且將頻率控制字寫(xiě)入其中。聯(lián)合小鍵盤(pán)上的“+1hz”鍵和“-1hz”鍵,本設(shè)計(jì)使得頻率可以精確到步長(zhǎng)為1hz的調(diào)節(jié)。它可以產(chǎn)生方波和正弦波。用戶(hù)要求產(chǎn)生正弦波時(shí),我們?cè)O(shè)計(jì)了低通濾波器用來(lái)濾除信號(hào)的高頻分量。該低通濾波器還可以使用五階橢圓濾波器實(shí)現(xiàn)。圖2示出了本系統(tǒng)的ad9850電路設(shè)計(jì)圖。pc2——pc5可以同時(shí)作為i2c總線(xiàn)端口。
3輸入設(shè)備與輸出設(shè)備
3.1鍵盤(pán)輸入設(shè)備與相應(yīng)軟件
本設(shè)計(jì)采用了4×4鍵盤(pán)作為頻率輸入設(shè)備。由于按鍵個(gè)數(shù)少,只有16個(gè),需要表示從1hz—10mhz的廣泛頻率,故在軟件設(shè)計(jì)中采用了avr單片機(jī)掃描方式。將端口a的8根i/o引腳全部作為掃描鍵盤(pán)使用。鍵盤(pán)定義除了0——9共10個(gè)數(shù)字之外,還定義了“退格”鍵、“全刪”鍵、“輸入”鍵、“+1hz”鍵和“-1hz”鍵,這樣就可以極大地方便用戶(hù)隨時(shí)修改頻率和微調(diào)頻率。讀入用戶(hù)輸入的頻率值時(shí),采用了延時(shí)防抖抗干擾的軟件程序。掃描變量的初始值設(shè)置為0xfe,以低電平0依次變化實(shí)現(xiàn)掃描。本單片機(jī)鍵盤(pán)掃描的c代碼如下所示:
sccode=0xfe;/*everyscaninitiativevalue,11111110*/
while(sccode!=0xef)/