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