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