《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA和單片機的頻率監(jiān)測系統
基于FPGA和單片機的頻率監(jiān)測系統
摘要: 系統方便靈活,測量精度和產生的波形分辨率高,能適應當代許多高精度測量和波形產生的要求,可以在各類測量系統和信號發(fā)生器中得到很好的利用,頻率測量在電路實驗、通訊設備、音頻視頻和科學研究中具有十分廣泛的用途。等精度測量技術具有廣闊的應用前景,由于其性能的優(yōu)越性,在目前各個測量領域中都可以發(fā)揮著很好的作用,特別是在海洋勘探,太空探索以及各類實驗中都得到了應用。
Abstract:
Key words :

  本系統利用單片機FPGA有效的結合起來共同實現等精度頻率測量和IDDS技術,發(fā)揮各自的優(yōu)點,使設計變得更加容易和靈活,并具有頻率測量范圍寬、產生的波形頻率分辨率高及精度大等特點。

  系統方便靈活,測量精度和產生的波形分辨率高,能適應當代許多高精度測量和波形產生的要求,可以在各類測量系統和信號發(fā)生器中得到很好的利用,頻率測量在電路實驗、通訊設備、音頻視頻和科學研究中具有十分廣泛的用途。等精度測量技術具有廣闊的應用前景,由于其性能的優(yōu)越性,在目前各個測量領域中都可以發(fā)揮著很好的作用,特別是在海洋勘探,太空探索以及各類實驗中都得到了應用。

  1.DDS信號發(fā)生器的實現

  使用FPGA與單片機相結合的方式構成DDS信號發(fā)生器的核心部分,這是一種從相位概念出發(fā)直接合成所需波形的一種新的全數字頻率合成技術。其中FPGA完成相位累加、波形地址查找及波形輸出等功能,凌陽16位單片機實現頻率控制字的輸入和液晶顯示部分。FPGA與單片機通過串行輸入并行輸出的方式進行通信。其總體設計框圖如圖1所示。

總體設計框圖

  1.1 DDS產生原理

  圖2是一個基本的DDFS結構框圖。DDFS 以數控振蕩器的方式,產生頻率可控制的正弦波、方波、三角波,電路包括了基準時鐘源、相位累加器、相位調制器、波形ROM查找表、D/A轉換器和低通濾波器等。頻率控制字N和相位控制字M分別控制DDS所輸出的波形的頻率和正弦波的相位。

基本的DDFS結構框圖

  1.1.1 頻率部分

  一個N位字長的二進制加法器的一端和一個固定時鐘脈沖取樣的N位相位寄存器相連,另一個輸入端是外部輸入的控制字M。這樣在每一個時鐘到來的時候,前一次相位寄存器中的值和當前的M值相加,作為當前相位寄存器的輸出??刂谱諱決定了相位增量,加法器不斷的對相位增量進行線性累加。當產生一次溢出后,完成一個周期性動作,即DDFS合成信號的一個頻率周期。

  設基準時鐘信號為fclk,分頻值為N,累加器位數為M,相位累加器步進值為L,根據公式:

公式

  設最高頻率為20KHz,步進為20Hz,因此累加器位數至少為10位(210=1024>20000/20)。為了保證在最高頻率下的波形在一個周期內至少有32個點,因此累加器至少有l(wèi)O+5=15位。

  取晶振頻率32.768MHz,可得

公式

  1.1.2 相位部分

  相位寄存器的輸出通過相位調制器與相位控制字K相加,使最終的輸出產生一定的相位偏移θ,θ的值與相位控制字K與ROM中的數據有關。我們通過設置兩路信號的K值,使兩路信號有不同的相位偏移量,從而產生相位差△θ。設A路信號的控制字為K,B路信號的控制字為K’,考慮到FPGA的內部資源,取512個采樣點,可得

公式

  通常我們只要改變控制字K就可以實現步進調整。

  1.2 DDS產生的軟件設計

  1.2.1 FPGA軟件設計

  FPGA負責接收由單片機送過來的頻率字與相位控制字,同時將波形在ROM中的數據送給DA轉換器進行DA轉換,輸出正弦波、方波、三角波三種波形,通過調節(jié)DA轉換器的基準電壓可調節(jié)輸出的正弦波、方波、三角波三種波形的幅度,利用按鍵可以設置一定范圍內的頻率值和步進值,并能實現波形間的任意切換,實現了頻率、步進、幅度的任意調節(jié)。

  1.2.2 單片機軟件設計

  單片機軟件設計主要是負責接收鍵盤置入的頻率、步進值、選擇波形并將其在液晶顯示屏中顯示和把各種控制信號和數據送到FPGA中。可設置任意頻率、任意步進、波形切換等多種輸出方式,在此基礎上可擴展為任意信號發(fā)生器,具體程序流程圖如圖3:

單片機軟件設計

  1.2.3 FPGA與單片機的通信

  本系統設計中,FPGA與凌陽單片機采用串行輸入并行輸出的方式進行通信。使用VHDL語言在EP2C20器件中利用D觸發(fā)器和移位寄存器接收凌陽單片機發(fā)送過來的頻率控制字和相位控制字,然后送入相位累加器。在FPGA與凌陽單片機通信中,單片機實行串行輸入,不斷地向FPGA送頻率控制字和相位控制字,送給FPGA實現相位累加。

  2.等精度頻率計的實現

  為了減小誤差,得到高的測量精度,我們采用多周期同步測量法,即等精度測量法,通過對被測信號與閘門時間之間實現同步化,從而從根本上消除了在閘門時間內對被測信號進行計數時的 l量化誤差,使測量精度大大提高,是在測量領域用得比較多的的一種精度很高的測量方法。

 

2.1 頻率測量總體設計與方案

  本系統主要是以凌陽單片機和FPGA為核心,多周期同步等精度測量頻率計的核心結構用VHDL硬件描述語言對FPGA進行編程,實現頻率、周期、脈沖寬度和占空比的測量。而單片機則作為控制部分實現了頻率計的控制、掃描和顯示,系統級框圖如下圖4:


  本設計頻率測量方法的主要測量原理如圖5所示,圖中預置門控信號GATE是由單片機發(fā)出,GATE的時間寬度對測頻精度影響較少,可以在較大的范圍內選擇,只要FPGA計數器在計100M信號不溢出都行,根據理論計算GATE的時間寬度Tc可以大于42.94s,但是由于單片機的數據處理能力限制,實際的時間寬度較少,一般可在l0~0.1s間選擇,即在高頻段時,閘門時間較短;低頻時閘門時間較長。這樣閘門時問寬度Tc依據被測頻率的大小自動調整測頻,從而實現量程的自動轉換,擴大了測頻的量程范圍;實現了全范圍等精度測量,減小了低頻測量的誤差。


  2.2 測頻輸入級的設計

  由于輸入的信號幅度不確定、波形不確定、邊沿不夠陡峭,而FPGA只處理TTL電平的信號,因此我們必須對輸入信號進行放大、整形處理。詳細設計的電路圖如圖6所示。


  2.3 測頻的軟件設計

  2.3.1 FPGA軟件設計

  此頂層設計圖是通過VHDL硬件描述語言在QuartusII 5.1編程環(huán)境下實現對數字頻率計測量的核心設計圖,此設計與外部的凌陽16位單片機SPCE06lA以及輸入電路部分、顯示電路部分一起構成完整的一個等精度數字頻率計的測量系統,精度可以達到設計要求。

  2.3.2 凌陽單片機SPCE061A軟件設計

  SPCE06lA單片機的是對整個系統起到一個控制作用,軟件的設計主要是為了實現頻率計對頻率、周期、脈寬、占空比的測量的切換以及顯示,并利用凌陽自帶的語音播報功能實現頻率測量的實時播報。

  3.系統的調試結果與分析

  DDS信號發(fā)生器的調試結果:通過鍵盤輸入1HZ到4MHZ的正弦波、方波、三角波,設置三種波形的任意步進大小,系統可以產生正弦波、方波、三角波這三種波形,其頻率分辨率可以達到O.Oll64153218269HZ,精度O.001%以上。等精度頻率計的調試結果:該系統具有能夠測量正弦波、方波、三角波三種波形的頻率、周期、脈寬和占空比的值,頻率的范圍可達到0.1HZ~30MHZ,精度達到0.001%以上,同時語音能實時播報待測信號參數。由此可見,整個系統的精度很高,波形分辨率大。


  4.結語

  采用基于FPGA和凌陽16位單片機的DDS信號發(fā)生器設計,不僅控制方便、電路易實現,而且穩(wěn)定性好、頻譜純凈、幅度恒定、失真小、分辨率高;等精度頻率計的設計,具有測量精度高、范圍寬;測量穩(wěn)定性好,不隨所測信號的變化而變化;使用凌陽16位單片機自帶的語音播報功能,不需外加語音芯片,能實時播報測得的頻率、周期、脈寬及占空比的大小,使系統變得更加人性化。

此內容為AET網站原創(chuàng),未經授權禁止轉載。