<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Atmega16L的高精度頻率調節(jié)器

          基于Atmega16L的高精度頻率調節(jié)器

          作者: 時間:2011-12-10 來源:網(wǎng)絡 收藏

          1引言
          在現(xiàn)代化工業(yè)生產(chǎn)與高精度測試中,我們需要相當精確的來幫助判斷設備性能指標。而且我們希望能夠微調該。采用壓控振蕩器得到的不夠精確,微調頻率步驟煩瑣,耗時漫長,因此有些測試項目限制了壓控振蕩器的使用。
          Mega系列是Atmel公司于2002年起陸續(xù)推出的。這款AVR增強型具有速度快,抗干擾能力強,價格低廉等諸多優(yōu)點。為了加快AVR的軟件編制,Atmel以及第三方提供的開發(fā)工具多種多樣,程序開發(fā)方便有效。該單片機內部FLASH結構功能靈活,加鎖后很難解密,可以最大限度地保護知識產(chǎn)權。AVR單片機可以廣泛應用于通信、野外測試、汽車電子、醫(yī)療器械等領域,并且適用于各種低電壓、低功耗的場合。

          本文提出一種方法能夠基于AVR單片機,采用AD9850提供精確到1Hz的頻率信號,不但可以發(fā)生正弦波,也可以發(fā)生方波,從而為要求頻率精度高的企業(yè)解決了難題。它以Atmel公司的AVR單片機作為核心,能夠方便、準確地輸出頻率。由于AVR單片機實現(xiàn)了在線可編程,所以大大簡化了設計步驟,加快了設計進程,同時不會燒毀、燒費芯片,節(jié)約了成本。

          圖1給出了該頻率調節(jié)器的整體設計框圖。用戶通過4×4鍵盤設定頻率值,AVR單片機使用I/O端口,掃描讀入頻率值。隨后AVR單片機AD9850調節(jié)到用戶要求的頻率。AD9850的輸出可以接電壓比較器整形為方波,也可以經(jīng)過低通濾波器限制帶寬,輸出正弦波形。AVR單片機同時液晶顯示模塊,使之實時顯示當前頻率。

          圖1.頻率調節(jié)器整體框圖

          2控制核心與頻率發(fā)生技術
          2.1控制核心
          本設計采用了Atmel公司的AVR單片機作為控制核心。AVR單片機的單周期指令能夠保證高的執(zhí)行效率和低成本,是精簡指令集CPU中的高性能器件。AVR單片機可以提供高達16MIPS的執(zhí)行時間,具有128K字節(jié)的可編程Flash存儲器,同時具備4096字節(jié)的靜態(tài)RAM。AVR單片機自帶看門狗定時器,在強烈的電磁干擾條件下可以防止程序跑飛。本設計中采用的還具有以下特點:
          ·內部包含有硬件乘法器,加快乘法運算速度;I/O端口引腳數(shù)多達32根;
          ·支持在線可編程功能,不需要頻繁從電路板插拔芯片;帶有可編程的支持同步傳輸?shù)腢ART端口;
          ·支持三線傳輸SPI端口;具有方便的I2C總線端口,直接與Philips芯片接駁;
          ·支持JTAG邊界掃描電路;具有BOD低電壓檢測功能;
          ·內部有8路10位的A/D變換器;具有4個PMW,可以協(xié)

          2.2AD9850頻率發(fā)生技術
          AD9850是AD公司推出的低功耗直接數(shù)字頻率合成器芯片,可以產(chǎn)生從直流到62.5MHz的寬頻率信號,從投入市場到今天已經(jīng)應用在雷達系統(tǒng)、低功耗頻率源中。它良好的頻率合成功能適合于應用在高精度測試中。本設計采用了AD9850作為波形發(fā)生器,具有體積小,功耗低的優(yōu)點。

          在控制流程中,AVR單片機為AD9850計算了頻率控制字,并且將頻率控制字寫入其中。聯(lián)合小鍵盤上的“+1Hz”鍵和“-1Hz”鍵,本設計使得頻率可以精確到步長為1Hz的調節(jié)。它可以產(chǎn)生方波和正弦波。用戶要求產(chǎn)生正弦波時,我們設計了低通濾波器用來濾除信號的高頻分量。該低通濾波器還可以使用五階橢圓濾波器實現(xiàn)。圖2示出了本系統(tǒng)的AD9850電路設計圖。PC2——PC5可以同時作為I2C總線端口。


          圖2AD9850電路設計

          3輸入設備與輸出設備
          3.1鍵盤輸入設備與相應軟件
          本設計采用了4×4鍵盤作為頻率輸入設備。由于按鍵個數(shù)少,只有16個,需要表示從1Hz—10MHz的廣泛頻率,故在軟件設計中采用了AVR單片機掃描方式。將端口A的8根I/O引腳全部作為掃描鍵盤使用。鍵盤定義除了0——9共10個數(shù)字之外,還定義了“退格”鍵、“全刪”鍵、“輸入”鍵、“+1Hz”鍵和“-1Hz”鍵,這樣就可以極大地方便用戶隨時修改頻率和微調頻率。讀入用戶輸入的頻率值時,采用了延時防抖抗干擾的軟件程序。掃描變量的初始值設置為0xFE,以低電平0依次變化實現(xiàn)掃描。本單片機鍵盤掃描的C代碼如下所示:
          sccode=0xFE;/*everyscaninitiativevalue,11111110*/
          while(sccode!=0xEF)/*sccodeisnot11101111,follow;orreturn0*/
          {
          PORTA=sccode;/*sendscancode11111110toportA*/
          PORTA=sccode;/*sendscancode11111110toportA*/
          if((PINA0xF0)!=0xF0)/*readportA,ifhigh4bitsarenot1111,keypressedinthisline*/
          {
          recode=(PINA0xF0)|0x0F;/*portAhigh4bitsreserved,low4bitsare1111*/
          while((PINA0xF0)!=0xF0)
          {};
          /*readportA,ifportAhigh4bitsarenot1111,keypressed,
          ifkeypressed,wemustwait,waitforkeyreleased*/
          return((~sccode)+(~recode));/*returnrow+column*/
          }
          else
          {
          sccode=(sccode1)|0x01;
          /*scancodeleftshift1bit,add1toright,11111101*/
          }
          }
          最終返回的掃描結果包括按鍵所在的行值和列值。判斷步驟是:先將端口A的高4比特記錄在掃描變量recode中,低4比特置為1111。再次讀入端口A的高4比特,由此判斷按鍵是否松開。用戶還未松開按鍵時,高4比特當中有低電平0存在,此時只能循環(huán)等待。只有當用戶松開按鍵之后,才將高4比特與低4比特進行按位反操作,并復合形成最終返回的掃描結果。如果沒有檢測到有按鍵按下,則將掃描變量sccode向左移位1比特,繼續(xù)進行下一次掃描。

          3.2液晶顯示模塊
          用戶在多次進行輸入頻率以及“+1Hz”和“-1Hz”微調后,專注于觀察信號輸出對下一級電路的影響,往往忘了目前系統(tǒng)的輸出頻率。這樣導致在精確測試中要求微調時也不知該向高調整還是向低調整。為了告知用戶系統(tǒng)所處的當前頻率,我們擴展了液晶顯示模塊,實現(xiàn)了當前頻率在液晶顯示模塊上實時顯示。液晶顯示模塊占用了單片機Atmega16L的PD0-PD7作為數(shù)據(jù)接口,采用了單片機的PB0-PB4作為控制端口。圖3給出了液晶顯示模塊與控制器電路設計電路圖。

          PB0引腳選擇液晶顯示模塊的數(shù)據(jù)存儲器或指令存貯器,PB1引腳表明此次操作是讀液晶顯示模塊還是寫液晶顯示模塊,PB2則構成上升沿與下降沿完成讀寫時序。PB3負責選中液晶顯示模塊的左半部分,PB4負責選中右半部分,通常PB3與PB4都置為1。需要注意的是,在數(shù)據(jù)或指令準備好了之后,再讓PB2進行電平變化,否則讀寫會出錯。

          本設計借助單片機Atmega16L的大容量程序存貯器,將英文字母和若干漢字的字型點陣作為數(shù)組存入單片機的程序存貯器中。需要顯示某字符時直接調用數(shù)組,從而簡化了設計,實現(xiàn)了英文、漢字以及圖形的顯示。本設計顯示界面友好,操作可控性強。

          圖3液晶顯示模塊與控制器電路設計

          4結論
          為了方便現(xiàn)代化工業(yè)生產(chǎn)與精確的頻率測試,我們設計了基于AVR單片機的高精度頻率調節(jié)器。在本設計中,可以使用小鍵盤上的“+1Hz”鍵和“-1Hz”鍵,方便地進行頻率精確到1Hz的調節(jié)。此頻率調節(jié)器體積小而功能強,由Atmel公司的AVR單片機Atmega16L作控制核心,用戶可隨時調整系統(tǒng)輸出頻率。采用了4×4鍵盤輸入用戶設定的頻率值,占位小而效率高,編制程序讓AVR單片機掃描即可得到頻率,省去了專用鍵盤接口芯片8279。液晶顯示模塊可實時顯示當前頻率,顯示界面友好,操作可控性強。本系統(tǒng)可以產(chǎn)生方波和正弦波。

          本設計的硬件與軟件均已經(jīng)應用在某頻率測試生產(chǎn)線中。工業(yè)生產(chǎn)與測試使用表明,本設計簡化了頻率調節(jié)過程,用戶使用方便,具有節(jié)電、低成本、抗干擾能力強、頻率控制精度高速度快的特點。

          參考文獻
          [1]AtmelCorporation.8-bitAVRMicrocontrollerwith16KBytesIn-SystemProgrammableFlashAtmega16Ldatasheet.AtmelCorporation,2003:3-18.



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();