基于單片機的數(shù)字頻率計設(shè)計
摘要:基于單片機的數(shù)字頻率計的設(shè)計,目的是設(shè)計一款數(shù)字頻率計,能夠測量1 Hz~20 MHz的數(shù)字頻率,包括三角波、正弦波及方波的測量,支持0.5 V~20 V電壓。本頻率計的特點是突破普通單片機頻率計喜歡選用的直接測量法,選擇了高頻用多周期同步法,低頻用周期法來測量頻率。這樣可以使頻率計達到更高的精度。而且本頻率計通過程序來控制分頻芯片自動分頻,無需測量者對信號進行預估計,超出測量范圍會自動警報,更加人性化。
關(guān)鍵詞:單片機;頻率計;自動分頻
1 總述
單片機頻率計不僅反應快、精度高,操作也非常人性化,而且應用范圍大、帶寬大以及成本低廉、小巧方便。它可以用來測量一定電壓范圍內(nèi)正弦波、三角波及方波。本設(shè)計是基于單片機為主控制電路,配合著一定的外圍芯片及電路而設(shè)計的一款處理數(shù)字信號的高頻頻率計,測量范圍能達到1 Hz~20 MHz,其新穎之處在于用運了兩種測頻方法,且采用自動分頻的方式使基于單片機的頻率計能夠在低成本的前提下完成較高精度的高頻數(shù)字信號的頻率測量。
2 總體設(shè)計
本設(shè)計欲設(shè)計一款基于單片機的數(shù)字頻率計,其特色是測量范圍為1 Hz~20 MHz。對待低頻和高頻信號的測量分別使用不同的測頻方法去對待。具體總的思想是以單片機為核心,被測信號先進入信號放大電路進行放大,再被送到波形整形電路整形,把被測得正弦波或者三角波轉(zhuǎn)化為方波。利用單片機的計數(shù)器和定時器的功能對被測信號進行計數(shù)。編寫相應的程序可以使單片機自動調(diào)節(jié)測量的量程,并把測出的頻率數(shù)據(jù)送到顯示電路顯示。該頻率計系統(tǒng)設(shè)計共包括五大模塊:主芯片控制模塊、分頻選擇模塊、放大整形模塊、基準頻率模塊和顯示模塊。各模塊作用如下:
主芯片控制模塊:以AT89S52單片機為控制核心,來完成對待測信號的計數(shù),譯碼和顯示以及對分頻比的控制。利用其內(nèi)部的定時/計數(shù)器完成待測信號周期/頻率的測量。單片機AT89S52內(nèi)部具有3個16位定時/計數(shù)器,定時/計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。
分頻選擇模塊:考慮單片機外部計數(shù),使用12 MHz時鐘時,最大計數(shù)速率為500 kHz,因此需要外部分頻。分頻電路用于擴展單片機頻率測量范圍,并實現(xiàn)單片機頻率測量使用統(tǒng)一信號,可使單片機測頻更易于實現(xiàn),而且也降低了系統(tǒng)的測頻誤差。本設(shè)計使用的分頻芯片是74HC4040,選擇芯片是74LS153。
放大整形模塊:放大電路是對待測信號的放大,降低對待測信號幅度的要求。整形電路是對一些不是方波的待測信號轉(zhuǎn)化成方波信號,便于測量。本設(shè)計使用的放大芯片是LT1358,整形芯片是74LS132。
基準頻率模塊:為了產(chǎn)生一個標準的頻率,這里使用了AT89C2051。這是一款類似于AT89S51的8051內(nèi)核的非總線單片機。這里運用其一個定時器產(chǎn)生一個穩(wěn)定的頻率。
顯示模塊:鑒于大部分頻率計采用的是數(shù)碼管形式的顯示方式,為了節(jié)約用電,減小體積本設(shè)計采用液晶顯示屏顯示,融入了文字提示等信息,方便使用者觀察選擇。本設(shè)計選用LCD1602。
2.1 高頻方案
本設(shè)計對待高頻信號(>10 kHz)欲選用多周期同步測量法,在充分利用單片機計數(shù)器的條件下,實現(xiàn)更精確的測量。圖1所示即為多周期同步法測頻原理框圖。參考閘門產(chǎn)生大概的取樣時間為T,實際閘門的開啟由參考閘門和被測信號同步產(chǎn)生。當參考閘門給出后,由隨后到來的被測信號的第一個脈沖打開兩個計數(shù)器的閘門開始計數(shù)。被測信號fx通過閘門1由計數(shù)器A計數(shù),得到計數(shù)值Nx,標頻信號脈沖fs通過閘門2由計數(shù)器B進行計數(shù),得到計數(shù)值Ns。當參考閘門關(guān)閉后,由隨后到來的被測信號脈沖關(guān)閉兩個計數(shù)器的閘門,停止計數(shù)。則被測頻率的表達式為:fx=fs×(Nx/Ns)。
多周期同步法的測量誤差主要由Ns產(chǎn)生。當頻率較低(<10 kHz),且測量信號信噪比較小(40 dB)時,觸發(fā)誤差較大,是誤差的主要來源。當被測頻率大于10 kHz時,誤差取決于標頻信號的準確度和分辨率帶來的誤差,兩者基本相當。所以低頻測量時,運用多周期測量法誤差會很大。
如圖2所示,高頻測量時首先利用單片機的定時器TO進行軟件分頻,根據(jù)定時時間的不同分出一個或幾個閘門信號,利用這些不同周期的閘門去做不同的基準時間。對于不同基準時間內(nèi)的頻率測量,其精度是不同的,隨著基準時間的加長,精度會越來越高。測頻時,根據(jù)測量精度要求,預置閘門TO控制起閉時間為t,開啟TO,同時放出待測信號和標準信號。這時計數(shù)器T2和計數(shù)器T1分別對待測信號fx和標準信號fc(頻率已知)同時計數(shù),當預置閘門控制時間Tn到達閘門關(guān)閉時,兩個計數(shù)器停止計數(shù)。若兩個計數(shù)器T2、T1的計數(shù)值分別為M和N,則待測頻率的值為fx=fc×(M/N)。
2.2 低頻方案選擇
對低頻段信號(<10 kHz)的信號采用周期測頻法。周期測量法也是頻率測量的一種常用方法,而且常常用于低頻的測量。其原理是在被測頻率fx的一個周期內(nèi)Tx,記錄標準頻率fc的變化次數(shù)M,則有fc=M/Tx,即待測信號頻率為fx=fc/M。采用這種方法時,我只用到了單片機的T2定時器,由于T2定時器擁有捕獲功能,可以在被測信號脈沖的下降沿到來之際實現(xiàn)對此時時間的捕獲,這樣在被測頻率兩個下降沿之間就形成一個周期,產(chǎn)生兩次捕獲,而這兩側(cè)捕獲的時間差就是被測頻率的周期,其頻率就是周期的倒數(shù)。運用這種方法可以對頻率為65 535 Hz以內(nèi)的頻率進行測量,如圖3所示。
3 結(jié)論
本論文中對高頻測量進行了軟件仿真,從表1中我們可以看出,隨著所測頻率的位數(shù)的增大,頻率的誤差越小。在甚低頻階段,由于仿真時只開啟高頻測量,用的是多周期同步測量法,所以可以看到由于基準頻率±1的誤差而引起的±1的誤差,而對于甚低頻及低頻的測量,±1的誤差是極其影響測量效果的。這和理論預測的效果是完全吻合的。由于一些不明原因,低頻測量程序無法得到仿真。如果低頻測量程序可以開啟的話,在低頻測量時就會轉(zhuǎn)化成周期法測量。這樣由于低頻的頻率很低,其周期很大,所以單片機的反應速度是可以跟得上的,從而避免了±1的誤差,使得低頻測量也可以達到誤差為0%。對于中頻及高頻階段,我們可以在表中看到,雖然差值隨著頻率的增大而越來越大,但是誤差百分比卻越來越小,尤其對于高頻的測量,其誤差可以小到十萬分之幾,完全可以滿足一般用戶的需求。
由此,該頻率計驗證了多周期同步測量法對中高頻信號的測量能力是不錯的,但是對于低頻及甚低頻的測量卻缺陷很大。而正好周期法的優(yōu)點就是測量低頻信號非常準確。這兩種方法的結(jié)合正好彌補了兩者的缺陷,凸顯了兩者的優(yōu)點。再加上智能分頻使單片機的測量帶寬提高了一千倍以上,僅用幾個芯片搭成的低成本簡單電路,使該頻率計擁有了不錯的性價比。