本系統(tǒng)利用單片機(jī)和FPGA有效的結(jié)合起來共同實(shí)現(xiàn)等精度頻率測量和IDDS技術(shù),發(fā)揮各自的優(yōu)點(diǎn),使設(shè)計(jì)變得更加容易和靈活,并具有頻率測量范圍寬、產(chǎn)生的波形頻率分辨率高及精度大等特點(diǎn)。
系統(tǒng)方便靈活,測量精度和產(chǎn)生的波形分辨率高,能適應(yīng)當(dāng)代許多高精度測量和波形產(chǎn)生的要求,可以在各類測量系統(tǒng)和信號(hào)發(fā)生器中得到很好的利用,頻率測量在電路實(shí)驗(yàn)、通訊設(shè)備、音頻視頻和科學(xué)研究中具有十分廣泛的用途。等精度測量技術(shù)具有廣闊的應(yīng)用前景,由于其性能的優(yōu)越性,在目前各個(gè)測量領(lǐng)域中都可以發(fā)揮著很好的作用,特別是在海洋勘探,太空探索以及各類實(shí)驗(yàn)中都得到了應(yīng)用。
1.DDS信號(hào)發(fā)生器的實(shí)現(xiàn)
使用FPGA與單片機(jī)相結(jié)合的方式構(gòu)成DDS信號(hào)發(fā)生器的核心部分,這是一種從相位概念出發(fā)直接合成所需波形的一種新的全數(shù)字頻率合成技術(shù)。其中FPGA完成相位累加、波形地址查找及波形輸出等功能,凌陽16位單片機(jī)實(shí)現(xiàn)頻率控制字的輸入和液晶顯示部分。FPGA與單片機(jī)通過串行輸入并行輸出的方式進(jìn)行通信。其總體設(shè)計(jì)框圖如圖1所示。
1.1 DDS產(chǎn)生原理
圖2是一個(gè)基本的DDFS結(jié)構(gòu)框圖。DDFS 以數(shù)控振蕩器的方式,產(chǎn)生頻率可控制的正弦波、方波、三角波,電路包括了基準(zhǔn)時(shí)鐘源、相位累加器、相位調(diào)制器、波形ROM查找表、D/A轉(zhuǎn)換器和低通濾波器等。頻率控制字N和相位控制字M分別控制DDS所輸出的波形的頻率和正弦波的相位。
1.1.1 頻率部分
一個(gè)N位字長的二進(jìn)制加法器的一端和一個(gè)固定時(shí)鐘脈沖取樣的N位相位寄存器相連,另一個(gè)輸入端是外部輸入的控制字M。這樣在每一個(gè)時(shí)鐘到來的時(shí)候,前一次相位寄存器中的值和當(dāng)前的M值相加,作為當(dāng)前相位寄存器的輸出??刂谱諱決定了相位增量,加法器不斷的對(duì)相位增量進(jìn)行線性累加。當(dāng)產(chǎn)生一次溢出后,完成一個(gè)周期性動(dòng)作,即DDFS合成信號(hào)的一個(gè)頻率周期。
設(shè)基準(zhǔn)時(shí)鐘信號(hào)為fclk,分頻值為N,累加器位數(shù)為M,相位累加器步進(jìn)值為L,根據(jù)公式:
設(shè)最高頻率為20KHz,步進(jìn)為20Hz,因此累加器位數(shù)至少為10位(210=1024>20000/20)。為了保證在最高頻率下的波形在一個(gè)周期內(nèi)至少有32個(gè)點(diǎn),因此累加器至少有l(wèi)O+5=15位。
取晶振頻率32.768MHz,可得
1.1.2 相位部分
相位寄存器的輸出通過相位調(diào)制器與相位控制字K相加,使最終的輸出產(chǎn)生一定的相位偏移θ,θ的值與相位控制字K與ROM中的數(shù)據(jù)有關(guān)。我們通過設(shè)置兩路信號(hào)的K值,使兩路信號(hào)有不同的相位偏移量,從而產(chǎn)生相位差△θ。設(shè)A路信號(hào)的控制字為K,B路信號(hào)的控制字為K’,考慮到FPGA的內(nèi)部資源,取512個(gè)采樣點(diǎn),可得
通常我們只要改變控制字K就可以實(shí)現(xiàn)步進(jìn)調(diào)整。
1.2 DDS產(chǎn)生的軟件設(shè)計(jì)
1.2.1 FPGA軟件設(shè)計(jì)
FPGA負(fù)責(zé)接收由單片機(jī)送過來的頻率字與相位控制字,同時(shí)將波形在ROM中的數(shù)據(jù)送給DA轉(zhuǎn)換器進(jìn)行DA轉(zhuǎn)換,輸出正弦波、方波、三角波三種波形,通過調(diào)節(jié)DA轉(zhuǎn)換器的基準(zhǔn)電壓可調(diào)節(jié)輸出的正弦波、方波、三角波三種波形的幅度,利用按鍵可以設(shè)置一定范圍內(nèi)的頻率值和步進(jìn)值,并能實(shí)現(xiàn)波形間的任意切換,實(shí)現(xiàn)了頻率、步進(jìn)、幅度的任意調(diào)節(jié)。
1.2.2 單片機(jī)軟件設(shè)計(jì)
單片機(jī)軟件設(shè)計(jì)主要是負(fù)責(zé)接收鍵盤置入的頻率、步進(jìn)值、選擇波形并將其在液晶顯示屏中顯示和把各種控制信號(hào)和數(shù)據(jù)送到FPGA中。可設(shè)置任意頻率、任意步進(jìn)、波形切換等多種輸出方式,在此基礎(chǔ)上可擴(kuò)展為任意信號(hào)發(fā)生器,具體程序流程圖如圖3:
1.2.3 FPGA與單片機(jī)的通信
本系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA與凌陽單片機(jī)采用串行輸入并行輸出的方式進(jìn)行通信。使用VHDL語言在EP2C20器件中利用D觸發(fā)器和移位寄存器接收凌陽單片機(jī)發(fā)送過來的頻率控制字和相位控制字,然后送入相位累加器。在FPGA與凌陽單片機(jī)通信中,單片機(jī)實(shí)行串行輸入,不斷地向FPGA送頻率控制字和相位控制字,送給FPGA實(shí)現(xiàn)相位累加。
2.等精度頻率計(jì)的實(shí)現(xiàn)
為了減小誤差,得到高的測量精度,我們采用多周期同步測量法,即等精度測量法,通過對(duì)被測信號(hào)與閘門時(shí)間之間實(shí)現(xiàn)同步化,從而從根本上消除了在閘門時(shí)間內(nèi)對(duì)被測信號(hào)進(jìn)行計(jì)數(shù)時(shí)的 l量化誤差,使測量精度大大提高,是在測量領(lǐng)域用得比較多的的一種精度很高的測量方法。
2.1 頻率測量總體設(shè)計(jì)與方案
本系統(tǒng)主要是以凌陽單片機(jī)和FPGA為核心,多周期同步等精度測量頻率計(jì)的核心結(jié)構(gòu)用VHDL硬件描述語言對(duì)FPGA進(jìn)行編程,實(shí)現(xiàn)頻率、周期、脈沖寬度和占空比的測量。而單片機(jī)則作為控制部分實(shí)現(xiàn)了頻率計(jì)的控制、掃描和顯示,系統(tǒng)級(jí)框圖如下圖4:
本設(shè)計(jì)頻率測量方法的主要測量原理如圖5所示,圖中預(yù)置門控信號(hào)GATE是由單片機(jī)發(fā)出,GATE的時(shí)間寬度對(duì)測頻精度影響較少,可以在較大的范圍內(nèi)選擇,只要FPGA計(jì)數(shù)器在計(jì)100M信號(hào)不溢出都行,根據(jù)理論計(jì)算GATE的時(shí)間寬度Tc可以大于42.94s,但是由于單片機(jī)的數(shù)據(jù)處理能力限制,實(shí)際的時(shí)間寬度較少,一般可在l0~0.1s間選擇,即在高頻段時(shí),閘門時(shí)間較短;低頻時(shí)閘門時(shí)間較長。這樣閘門時(shí)問寬度Tc依據(jù)被測頻率的大小自動(dòng)調(diào)整測頻,從而實(shí)現(xiàn)量程的自動(dòng)轉(zhuǎn)換,擴(kuò)大了測頻的量程范圍;實(shí)現(xiàn)了全范圍等精度測量,減小了低頻測量的誤差。
2.2 測頻輸入級(jí)的設(shè)計(jì)
由于輸入的信號(hào)幅度不確定、波形不確定、邊沿不夠陡峭,而FPGA只處理TTL電平的信號(hào),因此我們必須對(duì)輸入信號(hào)進(jìn)行放大、整形處理。詳細(xì)設(shè)計(jì)的電路圖如圖6所示。
2.3 測頻的軟件設(shè)計(jì)
2.3.1 FPGA軟件設(shè)計(jì)
此頂層設(shè)計(jì)圖是通過VHDL硬件描述語言在QuartusII 5.1編程環(huán)境下實(shí)現(xiàn)對(duì)數(shù)字頻率計(jì)測量的核心設(shè)計(jì)圖,此設(shè)計(jì)與外部的凌陽16位單片機(jī)SPCE06lA以及輸入電路部分、顯示電路部分一起構(gòu)成完整的一個(gè)等精度數(shù)字頻率計(jì)的測量系統(tǒng),精度可以達(dá)到設(shè)計(jì)要求。
2.3.2 凌陽單片機(jī)SPCE061A軟件設(shè)計(jì)
SPCE06lA單片機(jī)的是對(duì)整個(gè)系統(tǒng)起到一個(gè)控制作用,軟件的設(shè)計(jì)主要是為了實(shí)現(xiàn)頻率計(jì)對(duì)頻率、周期、脈寬、占空比的測量的切換以及顯示,并利用凌陽自帶的語音播報(bào)功能實(shí)現(xiàn)頻率測量的實(shí)時(shí)播報(bào)。
3.系統(tǒng)的調(diào)試結(jié)果與分析
DDS信號(hào)發(fā)生器的調(diào)試結(jié)果:通過鍵盤輸入1HZ到4MHZ的正弦波、方波、三角波,設(shè)置三種波形的任意步進(jìn)大小,系統(tǒng)可以產(chǎn)生正弦波、方波、三角波這三種波形,其頻率分辨率可以達(dá)到O.Oll64153218269HZ,精度O.001%以上。等精度頻率計(jì)的調(diào)試結(jié)果:該系統(tǒng)具有能夠測量正弦波、方波、三角波三種波形的頻率、周期、脈寬和占空比的值,頻率的范圍可達(dá)到0.1HZ~30MHZ,精度達(dá)到0.001%以上,同時(shí)語音能實(shí)時(shí)播報(bào)待測信號(hào)參數(shù)。由此可見,整個(gè)系統(tǒng)的精度很高,波形分辨率大。
4.結(jié)語
采用基于FPGA和凌陽16位單片機(jī)的DDS信號(hào)發(fā)生器設(shè)計(jì),不僅控制方便、電路易實(shí)現(xiàn),而且穩(wěn)定性好、頻譜純凈、幅度恒定、失真小、分辨率高;等精度頻率計(jì)的設(shè)計(jì),具有測量精度高、范圍寬;測量穩(wěn)定性好,不隨所測信號(hào)的變化而變化;使用凌陽16位單片機(jī)自帶的語音播報(bào)功能,不需外加語音芯片,能實(shí)時(shí)播報(bào)測得的頻率、周期、脈寬及占空比的大小,使系統(tǒng)變得更加人性化。