崔凱 楊天虹 席貫 周嘉維


摘要:本文主要介紹了一種基于FPGA和單片機的高精度數字頻率計的設計與實現。51單片機實現計算功能,液晶屏完成數據顯示,FPGA對被測信號計數并將測量結果發送給單片機。實現了頻率范圍為1Hz~10MHz、有效電壓范圍為50mV~1V 的正弦波信號頻率和周期的測量;以及頻率范圍在100Hz~1MHz、峰峰值電壓范圍50mV~1V 的兩路同頻周期方波信號的時間間隔測量,時間間隔測量范圍為0.1μs~10ms。
關鍵詞:FPGA;51單片機;頻率測量;時間間隔測量
中圖分類號:TN828.6 文獻標識碼:A 文章編號:1007-9416(2019)11-0162-02
0 引言
隨著電子技術的發展,快速準確地獲得各種電子信號的頻率顯得尤為重要。傳統以單片機為核心的數字頻率計,在測量精度、測量范圍、功能以及操作上均有較大改善空間。基于FPGA的數字頻率計很大程度上解決了測量范圍、穩定度與精度的問題。目前數字頻率計的設計可以直接面向用戶需求進行設計,設計過程除了系統行為和功能描述以外,其余所有的設計過程幾乎都可以用計算機來自動完成,也就是說做到電子設計自動化。
1 高精度數字頻率計的基本工作原理
數字頻率計的主要功能是測量周期信號的頻率,頻率為在每個單位時間內信號周期變化的次數。在選定的時間內對信號的波形進行計數,便能得到該被測信號的頻率。為確保設計的精度與準確性,首要的就是獲取準確的計數時間,在此基礎上將被測信號轉換成波形與幅度都能被電路識別的脈沖信號,然后通過計數器獲得單位時間內的脈沖個數,將其結果通過換算顯示出來。
2 高精度數字頻率計的硬件設計
系統主要由放大整形電路、FPGA和C8051F020單片機組成。其中,波形放大整形電路的功能是將輸入信號變換成標準矩形波信號,達到FPGA可測量的目的;FPGA主要完成頻率和脈寬的測量,既能對輸入信號以及標準信號的數目進行計數,又對輸入信號的高電平時間進行計數完成脈寬測量。當單片機的讀取信號到來時,FPGA將測量值通過SPI串口傳輸給單片機;C8051F020單片機主要完成數據處理,將FPGA測量的數據讀回并進行相應的計算,最終將測量結果顯示在TFT液晶屏上,系統整體框圖如圖1所示。
3 高精度數字頻率計的軟件設計
FPGA主要完成的工作是:采用直接測周法和等精度測頻法結合測量信號頻率,對輸入信號個數和標準信號個數進行計數;采用游標法對輸入的兩路同頻周期信號進行測量,并將測量得到的數據通過SPI通信發送給C8051F020單片機進行處理。系統整體結構框圖如圖2所示。
4 測試結果
4.1 頻率和周期測試結果
電壓50mV~1V范圍內依次測量頻率在1Hz~10MHz的正弦信號,測量結果如表1所示。
4.2 時間間隔測試結果
電壓50mV~1V范圍內以0°~360°的相位差依次測量頻率在100Hz到1MHz的方波信號,測量結果如表2所示。
5 結語
本系統測量有效值電壓為50mV~1V、頻率為1Hz~10MHz 的正弦波信號的頻率和周期;測量峰峰值電壓為50mV~1V、頻率為100Hz~1MHz的兩路同頻周期方波的時間間隔,被測時間間隔為0.1μs~10ms;測量數據刷新時間不大于2s,測量結果穩定,準確度高,并能自動顯示單位。
參考文獻
[1] 王鵬,連帥彬,孫秋菊,等.低復雜度多功能自適應數字頻率計設計[J].信陽師范學院學報:自然科學版,2016,29(4):599-603.
[2] 姜志健,莊建軍,陳旭東,等.基于FPGA的高精度頻率計的設計與實現[J].電子測量技術,2017,40(5):41-46.
[3] 余果,郭心偉,劉小浩,等.基于FPGA的數字頻率計設計[J].電子設計工程,2016,24(18):57-59.
[4] 齊宣,李一民,邵玉斌,等.基于STC51單片機的高精度頻率計設計[J].軟件,2017,38(12):220-222.
[5] 陳靖,徐清.基于可編程邏輯陣列的高精度頻率計設計[J].技術研究,2016,9(11):30-33.