基于8051單片機的頻率測量技術(shù)
隨著(zhù)無(wú)線(xiàn)電技術(shù)的發(fā)展與普及,"頻率"已經(jīng)成為廣大群眾所熟悉的物理量。而單片機的出現,更是對包括測頻在內的各種測量技術(shù)帶來(lái)了許多重大的飛躍,然而,小體積、價(jià)廉、功能強等優(yōu)勢也在電子領(lǐng)域占有非常重要的地位。為此.本文給出了一種以單片機為核心的頻率測量系統的設計方法。
1 測頻系統的硬件結構
測量頻率的方法一般分為無(wú)源測頻法、有源測頻法及電子計數法三種。無(wú)源測頻法(又可分為諧振法和電橋法),常用于頻率粗測,精度在1%左右。有源比較法可分為拍頻法和差頻法,前者是利用兩個(gè)信號線(xiàn)性疊加以產(chǎn)生拍頻現象,再通過(guò)檢測零拍現象進(jìn)行測頻,常用于低頻測量,誤差在零點(diǎn)幾Hz;后者則利用兩個(gè)非線(xiàn)性信號疊加來(lái)產(chǎn)生差頻現象,然后通過(guò)檢測零差現象進(jìn)行測頻,常用于高頻測量,誤差在20 Hz左右。以上方法在測量范圍和精度上都有一定的不足,而電子計數法主要通過(guò)單片機進(jìn)行控制。由于單片機的較強控制與運算功能,電子計數法的測量頻率范圍寬,精度高,易于實(shí)現。本設計就是采用單片機電子計數法來(lái)測量頻率,其系統硬件原理框圖如圖1所示。
為了提高測量的精度,拓展單片機的測頻范圍,本設計采取了對信號進(jìn)行分頻的方法。設計中采用兩片同步十進(jìn)制加法計數器74LS160來(lái)組成一個(gè)100分頻器。該100分頻器由兩個(gè)同步十進(jìn)制加法計數器74LS160和一個(gè)與非門(mén)74LS00共同設計而成。由于一個(gè)74LS160可以分頻十的一次方,而當第一片74LS160工作時(shí),如果有進(jìn)位,輸出端TC便有進(jìn)位信號送進(jìn)第二片的CEP端,同時(shí)CET也為高電平,這樣兩個(gè)工作狀態(tài)控制端CET、CEP將同時(shí)為高電平,此時(shí)第二片74LS160將開(kāi)始工作。
2 頻率測量模塊的電路設計
用單片機電子計數法測量頻率有測頻率法和測周期法兩種方法。測量頻率主要是在單位定時(shí)時(shí)間里對被測信號脈沖進(jìn)行計數;測量周期則是在被測信號一個(gè)周期時(shí)間里對某一基準時(shí)鐘脈沖進(jìn)行計數。
2.1 8051測頻法的誤差分析
電子計數器測頻法主要是將被測頻率信號加到計數器的計數輸入端,然后讓計數器在標準時(shí)間Ts1內進(jìn)行計數,所得的計數值N1。與被測信號的頻率fx1的關(guān)系如下:
而電子計數器測周法則是將標準頻率信號fs2送到計數器的計數輸入端,而讓被測頻率信號fx2控制計數器的計數時(shí)間,所得的計數值N2與fx2的關(guān)系如下:
事實(shí)上,無(wú)論用哪種方法進(jìn)行頻率測量,其主要誤差源都是由于計數器只能進(jìn)行整數計數而引起的1誤差:
可見(jiàn),在同樣的Ts下,測頻法fx1的低頻端,誤差遠大于高頻端,而測周法在fx2的高頻端,其誤差遠大于低頻端。理論研究表明,如進(jìn)行n次重復測量然后取平均,則1誤差會(huì )減小n倍。如給定1誤差ε0,則要求ε≤ε0ο對測頻法要fx1≥ 對測周法則要求fx2≤ε0fs2ο因此,對一給定頻率信號fs進(jìn)行測量時(shí),用測頻法fs1越低越好,用測周法則fs2越高越好。
2.2 8051單片機的測頻范圍和測頻時(shí)間
8051單片機的定時(shí)器/計數器接口,在特定晶振頻率fc=12 MHz時(shí),可輸人信號的頻率上限是fx≤fc/24=500 kHz。如用測頻法,則頻率的上限取決于8051,故測頻法的測量范圍是:
即:fx1≤500 kHz。
用測頻法測頻時(shí),定時(shí)器/計數器的計數時(shí)間間隔可由8051的另外一個(gè)定時(shí)器/計數器完成,外接100分頻器的情況下,fx1的頻率范圍可擴展到50MHz
用測周法設計時(shí),其頻率的下限取決8051計數器的極限??紤]到8051內部為16位,加上TF標志位,計數范圍為217,因此其最大計數時(shí)間為秒。而如果采用半周期測量,則測頻范圍是:
在測周法中,標準頻率信號fs2由8051的內部定時(shí)結構產(chǎn)生,f s2恒為fc/12,因此,在給定ε0為0.0 1時(shí),fx2既有一定的上限頻率,也有一定的下限頻率。即:
并由此可見(jiàn)得出:4Hz≤fx1≤10 kHz理論上可以達到無(wú)窮大,即fs1可以達到無(wú)窮低,因此,fx1可達到無(wú)窮小,因此,可以認為測頻法的測頻范圍只有上限頻率,沒(méi)有下限頻率。而再 這樣,兩個(gè)頻率范圍相疊加即可得到該頻率計的測頻范圍:4 Hz≤fx1≤50 MHz。精度可以達到1Hz。從以上分析可以看出,測頻法測量的頻率覆蓋范圍較寬,且在高頻端的測量精度較高,而在低頻段的測量精度較低,同時(shí)測量時(shí)間較長(cháng)。測周法測量的頻率覆蓋范圍較窄,在高頻段的測量精度較低,在低頻段的測量精度較高,測量時(shí)間短。因此,測頻法適于高頻信號的測量,測周法適于較低頻信號測量。
8051可用軟件來(lái)控制定時(shí)器/計數器的工作方式,以實(shí)現測頻法與測周法的動(dòng)態(tài)切換。對寬頻帶、高速度的頻率測量,可采用軟件切換測量方法來(lái)提高測量精度與測量速度。其測頻電路如圖2所示。
3 軟件設計
由圖2所示的測頻電路可知,波形經(jīng)過(guò)施密特觸發(fā)器74LS132后,再經(jīng)整形放大后即可變成方波,然后利用8051的定時(shí)器/計數器T0給定定時(shí)時(shí)間為10 ms,再利用8051的定時(shí)器/計數器T1作計數器,累計10 ms時(shí)間里所經(jīng)過(guò)施密特觸發(fā)器74LS132的方波信號。當T0定時(shí)滿(mǎn)10 ms時(shí),T0向CPU發(fā)出中斷信號以申請中斷,并進(jìn)行頻率測量。假設所設定的中介頻率為l00/10 ms=l00100=10000 Hz=10 kHz,岡為fx=N/T,所以,可以將假定給定數值100與Tl進(jìn)行比較,再將Tl計數器里所計的數值與給定的數值進(jìn)行比較。由于在用測頻法測量頻率時(shí),較小頻率的誤差較大(l誤差)。所以,這里用l0 kHz作為中間頻率,其1誤差為9.9 kHz和1 0.1 kHz,誤差率為1%,可見(jiàn)該誤差不是很大,還可以接受。
事實(shí)上,當頻率比較小于1 0kHz時(shí),若程序選擇用測量周期法。則測周法流程圖及其程序如如圖3所示。
4 結束語(yǔ)
通過(guò)本文所介紹的設計過(guò)程即可實(shí)現頻率測量要求,并能夠很好的完成測量結果的存儲,完全能夠達到預期的效果。
評論