基于FPGA和單片機的頻率監測系統
1.2 DDS產生的軟件設計
1.2.1 FPGA軟件設計
FPGA負責接收由單片機送過來的頻率字與相位控制字,同時將波形在ROM中的數據送給DA轉換器進行DA轉換,輸出正弦波、方波、三角波三種波形,通過調節DA轉換器的基準電壓可調節輸出的正弦波、方波、三角波三種波形的幅度,利用按鍵可以設置一定范圍內的頻率值和步進值,并能實現波形間的任意切換,實現了頻率、步進、幅度的任意調節。
1.2.2 單片機軟件設計
單片機軟件設計主要是負責接收鍵盤置入的頻率、步進值、選擇波形并將其在液晶顯示屏中顯示和把各種控制信號和數據送到FPGA中。可設置任意頻率、任意步進、波形切換等多種輸出方式,在此基礎上可擴展為任意信號發生器,具體程序流程圖如圖3:

1.2.3 FPGA與單片機的通信
本系統設計中,FPGA與凌陽單片機采用串行輸入并行輸出的方式進行通信。使用VHDL語言在EP2C20器件中利用D觸發器和移位寄存器接收凌陽單片機發送過來的頻率控制字和相位控制字,然后送入相位累加器。在FPGA與凌陽單片機通信中,單片機實行串行輸入,不斷地向FPGA送頻率控制字和相位控制字,送給FPGA實現相位累加。
2.等精度頻率計的實現
為了減小誤差,得到高的測量精度,我們采用多周期同步測量法,即等精度測量法,通過對被測信號與閘門時間之間實現同步化,從而從根本上消除了在閘門時間內對被測信號進行計數時的 l量化誤差,使測量精度大大提高,是在測量領域用得比較多的的一種精度很高的測量方法。
2.1 頻率測量總體設計與方案
本系統主要是以凌陽單片機和FPGA為核心,多周期同步等精度測量頻率計的核心結構用VHDL硬件描述語言對FPGA進行編程,實現頻率、周期、脈沖寬度和占空比的測量。而單片機則作為控制部分實現了頻率計的控制、掃描和顯示,系統級框圖如下圖4:
本設計頻率測量方法的主要測量原理如圖5所示,圖中預置門控信號GATE是由單片機發出,GATE的時間寬度對測頻精度影響較少,可以在較大的范圍內選擇,只要FPGA計數器在計100M信號不溢出都行,根據理論計算GATE的時間寬度Tc可以大于42.94s,但是由于單片機的數據處理能力限制,實際的時間寬度較少,一般可在l0~0.1s間選擇,即在高頻段時,閘門時間較短;低頻時閘門時間較長。這樣閘門時問寬度Tc依據被測頻率的大小自動調整測頻,從而實現量程的自動轉換,擴大了測
頻的量程范圍;實現了全范圍等精度測量,減小了低頻測量的誤差。
2.2 測頻輸入級的設計












評論