智能電子計(jì)數(shù)器的畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目: 基于單片機(jī)的智能 </p><p><b>  電子計(jì)數(shù)器的設(shè)計(jì) </b></p><p>  畢業(yè)設(shè)計(jì)(論文)時(shí)間:二 0 一 一年 3 月 日~ 5 月 日 共 周</p><p>&l

2、t;b>  摘 要</b></p><p>  數(shù)字頻率計(jì)是電子測(cè)量領(lǐng)域中最常見(jiàn)的測(cè)量?jī)x器之一。它可以測(cè)量方波和正弦波的頻率、周期和脈沖寬度等時(shí)間參數(shù)。</p><p>  本設(shè)計(jì)是由單片機(jī)控制的數(shù)字頻率計(jì)設(shè)計(jì)。本文在討論頻率測(cè)量的常用方法與原理的基礎(chǔ)上,闡述了等精度測(cè)頻系統(tǒng)的設(shè)計(jì)。系統(tǒng)包括穩(wěn)壓電源電路、信號(hào)放大整形電路、測(cè)頻電路、單片機(jī)電路模塊、標(biāo)準(zhǔn)頻率信號(hào)源、鍵盤(pán)模

3、塊、數(shù)碼顯示模塊等。采用軟硬件結(jié)合的方法,頻率、周期、脈寬和占空比的計(jì)算由單片機(jī)89C51完成,外圍電路其數(shù)字電路部分使用了CPLD,并采用VHDL語(yǔ)言進(jìn)行設(shè)計(jì)描述,其輸入通道由模擬電路來(lái)實(shí)現(xiàn)。</p><p>  系統(tǒng)將單片機(jī)AT89C51的控制靈活性及CPLD芯片的現(xiàn)場(chǎng)可編程性相結(jié)合,不但大大縮短了開(kāi)發(fā)研制周期,而且使本系統(tǒng)具有結(jié)構(gòu)緊湊、體積小、可靠性高、測(cè)頻范圍寬、精度高等優(yōu)點(diǎn)。</p>&l

4、t;p>  關(guān)鍵詞: 頻率計(jì) 單片機(jī) CPLD 等精度</p><p><b>  Abstract</b></p><p>  Digital cymometer is one of the most common instruments of electronic measurement. It can measure time parameters

5、such as the square wave and the sine wave frequency, cycle and pulse width, and so on.</p><p>  The design is the digital cymometer based on the signal chip computer control. Based on the discussion of the c

6、ommonly used method of measuring frequency and on the basis of principle, it describes the design of frequency measurement system with the same accuracy including the power supply system circuit, signal amplification pla

7、stic circuit, measuring frequency circuits, MCU circuit module, the standard frequency signal source, keyboard module, the digital display module, and so on. It takes th</p><p>  Key Words: cymometer; signal

8、 chip computer; CPLD; equal precision</p><p><b>  目錄</b></p><p><b>  第一章 引言</b></p><p>  1.1 課題研究的現(xiàn)狀與發(fā)展趨勢(shì)</p><p>  1.2 課題研究的意義與作用</p>

9、<p>  1.3 數(shù)字頻率計(jì)的基本原理</p><p>  1.4 系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)</p><p>  1.4.1 基本指標(biāo)</p><p>  1.4.2 發(fā)揮部分</p><p>  第二章 系統(tǒng)硬件設(shè)計(jì)</p><p>  2.1 頻率測(cè)量的方法的研究</p><p

10、>  2.1.1 數(shù)字化直接測(cè)量頻率的原理</p><p>  2.1.2 數(shù)字化直接測(cè)量周期的原理</p><p>  2.1.3 多周期同步等精度測(cè)量的原理</p><p>  2.2 實(shí)驗(yàn)方案的確定</p><p>  2.2.1 測(cè)量方法的確定</p><p>  2.2.2 頻率測(cè)量模塊的方法

11、</p><p>  2.2.3 周期測(cè)量模塊的方法</p><p>  2.2.4 脈沖寬度測(cè)量模塊的方法</p><p>  2.3 系統(tǒng)硬件設(shè)計(jì)</p><p>  2.3.1 穩(wěn)壓電源電路</p><p>  2.3.2 信號(hào)放大整形電路</p><p>  2.3.3 單片

12、機(jī)控制電路</p><p>  2.3.4 標(biāo)準(zhǔn)頻率信號(hào)源</p><p>  2.3.5 數(shù)碼管顯示模塊</p><p>  第三章 系統(tǒng)軟件設(shè)計(jì)</p><p>  3.1 CPLD測(cè)頻專用模塊的設(shè)計(jì)</p><p>  3.1.1 頻率計(jì)CPLD部分的VHDL程序</p><p&g

13、t;  3.1.2 頻率計(jì)CPLD部分的仿真</p><p>  3.2 單片機(jī)控制與運(yùn)算程序的設(shè)計(jì)</p><p>  3.2.1 單片機(jī)主程序的設(shè)計(jì)</p><p>  3.2.2 頻率、周期計(jì)數(shù)子程序的設(shè)計(jì)</p><p>  3.2.3 脈寬、占空比子程序的設(shè)計(jì)</p><p>  3.2.4 鍵盤(pán)掃

14、描及數(shù)碼管顯示子程序的設(shè)計(jì)</p><p><b>  總結(jié)</b></p><p><b>  參考文獻(xiàn)</b></p><p><b>  致謝</b></p><p><b>  第一章 引言</b></p><p>

15、;  1.1 課題研究的現(xiàn)狀與發(fā)展趨勢(shì)</p><p>  隨著大規(guī)模集成電路技術(shù)的發(fā)展及電子產(chǎn)品市場(chǎng)運(yùn)作節(jié)奏的進(jìn)一步加快,涉及諸如計(jì)算機(jī)應(yīng)用、通信、智能儀表、醫(yī)用設(shè)備、軍事、民用電器等領(lǐng)域的現(xiàn)代電子設(shè)計(jì)技術(shù)已邁入一個(gè)全新的階段。</p><p>  在電子測(cè)量中,頻率的測(cè)量精確度是非常高的。利用計(jì)數(shù)法測(cè)量頻率具有精度高、使用方便、容易實(shí)現(xiàn)測(cè)量過(guò)程自動(dòng)化等一系列突出優(yōu)點(diǎn),已成為目前頻率測(cè)量

16、的重要方法。人們將許多參數(shù)的測(cè)量轉(zhuǎn)換為頻率量來(lái)測(cè)量和處理。</p><p>  傳統(tǒng)的頻率計(jì)通常采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,在使用過(guò)程中存在電路結(jié)構(gòu)復(fù)雜,測(cè)量精度低、故障率高、維護(hù)不易等問(wèn)題,其產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測(cè)量低頻信號(hào)時(shí)不宜直接使用。頻率測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要。測(cè)量的數(shù)字化、智能化是當(dāng)前測(cè)量技術(shù)發(fā)展的趨勢(shì)。</p><p>  1.2

17、 課題研究的意義與作用</p><p>  數(shù)字頻率計(jì)數(shù)器又稱通用計(jì)數(shù)器,是電子測(cè)量領(lǐng)域中最常見(jiàn)的測(cè)量?jī)x器之一。它可以測(cè)量正弦波的頻率(周期),脈沖波的頻率(周期),脈沖寬度等時(shí)間參數(shù)。</p><p>  隨著單片機(jī)技術(shù)的不斷發(fā)展,用單片機(jī)通過(guò)軟件設(shè)計(jì),采用適當(dāng)?shù)乃惴ㄈ〈@部分電路不僅能彌補(bǔ)上述不足,而且性能也將大有提高。針對(duì)普通頻率計(jì)存在讀數(shù)難、測(cè)量精度不高等問(wèn)題, 目前采用單片機(jī)控制

18、的數(shù)字頻率計(jì), 用于測(cè)量方波、正弦波或其它脈沖信號(hào)的頻率, 并用數(shù)字顯示, 具有精度高、測(cè)量迅速、讀數(shù)方便等優(yōu)點(diǎn), 已經(jīng)在電子測(cè)量領(lǐng)域里得到了廣泛應(yīng)用。</p><p>  MCS—51系列單片機(jī)具有體積小,功能強(qiáng),性能價(jià)格比較高等特點(diǎn),因此被廣泛應(yīng)用于工業(yè)控制和智能化儀器,儀表等領(lǐng)域。本次設(shè)計(jì)的數(shù)字頻率計(jì)以AT89C51單片機(jī)為核心,具有性能優(yōu)良,精度高,可靠性好等特點(diǎn)。</p><p>

19、;  1.3 數(shù)字頻率計(jì)的基本原理</p><p>  頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱閘門(mén)時(shí)間為1秒。</p><p>  閘門(mén)時(shí)間也可以大于或小于一秒。閘門(mén)時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門(mén)時(shí)間越長(zhǎng),則每測(cè)一次頻率的間隔就越長(zhǎng)。閘門(mén)時(shí)間越短,測(cè)的頻率值刷新就越快,但測(cè)得的頻率精度就受

20、影響。</p><p>  數(shù)字頻率計(jì)是用數(shù)字顯示被測(cè)信號(hào)頻率的儀器,被測(cè)信號(hào)可以是正弦波,方波或其它周期性變化的信號(hào)。</p><p>  1.4 系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)</p><p>  基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且在整個(gè)測(cè)頻區(qū)域內(nèi)保持恒定的測(cè)試精度。</p&

21、gt;<p>  課題要求運(yùn)用單片機(jī)或者CPLD技術(shù),結(jié)合傳統(tǒng)直接測(cè)量頻率方法和等精度測(cè)量頻率的方法,實(shí)現(xiàn)高頻和低頻的測(cè)量,本系統(tǒng)設(shè)計(jì)的基本指標(biāo)如下。</p><p>  1.4.1 基本指標(biāo)</p><p>  (1) 頻率:10Hz~30MHz</p><p>  (2) 閘門(mén)時(shí)間為0.1秒、1秒</p><p> ?。?)

22、實(shí)現(xiàn)對(duì)頻率、周期和時(shí)間間隔的測(cè)量功能</p><p>  1.4.2 發(fā)揮部分</p><p>  (1) 信號(hào):方波、正弦波</p><p>  (2) 幅度:0.02V~0.5V</p><p>  (3) 周期脈沖寬度幅度(0.5V~5V、頻率1Hz~1KHz)的占空比,占空比變化范圍為10%~90%,測(cè)試誤差≤1%。</p>

23、;<p>  第二章 系統(tǒng)硬件設(shè)計(jì)</p><p>  2.1頻率測(cè)量的方法的研究</p><p>  2.1.1 數(shù)字化直接測(cè)量頻率的原理</p><p>  無(wú)論頻率、周期還是時(shí)間間隔的數(shù)字化測(cè)量,均是基于主門(mén)(閘門(mén))加計(jì)數(shù)器的結(jié)構(gòu)而實(shí)現(xiàn)的,圖2.1(a)示出了這種計(jì)數(shù)式直接測(cè)頻的原理框圖。其中主門(mén)(閘門(mén))具有“與門(mén)”的邏輯功能。主門(mén)(閘門(mén))的一個(gè)

24、輸入端送入的是頻率為的窄脈沖,它是由被測(cè)信號(hào)經(jīng)A通道放大整形后得到的。主門(mén)(閘門(mén))的另一個(gè)輸入端送來(lái)的是來(lái)自門(mén)控雙穩(wěn)的閘門(mén)時(shí)間信號(hào)Ts。因?yàn)殚T(mén)控雙穩(wěn)是受時(shí)基(標(biāo)準(zhǔn)頻率)信號(hào)控制的,所以Ts即準(zhǔn)確又穩(wěn)定。設(shè)計(jì)時(shí)通過(guò)晶體震蕩器和分頻器的配合,可以獲得10S、1S、0.1S等閘門(mén)時(shí)間。由于主門(mén)(閘門(mén))的“與”功能,它的輸出端只有在閘門(mén)信號(hào)Ts有效時(shí)間才有頻率的窄脈沖輸出,并送到計(jì)數(shù)器去計(jì)數(shù)。設(shè)計(jì)數(shù)器的值為N,由頻率定義式可以計(jì)算得到被測(cè)信號(hào)頻

25、率為=N/Ts (2-1)</p><p>  其原理框圖和時(shí)序圖如圖2.1所示。</p><p><b>  直接測(cè)頻法原理框圖</b></p><p>  (b) 直接測(cè)頻法時(shí)序圖</p><p>  圖2.1 (a)直接測(cè)頻法原理框圖; (b)直接測(cè)頻法時(shí)序圖</p><

26、p>  由式(2-1)可知,當(dāng)閘門(mén)時(shí)間T為1S時(shí),N值即為被測(cè)量信號(hào)的頻率。該測(cè)量方法由于主門(mén)的開(kāi)啟時(shí)間與被測(cè)信號(hào)之間不同步,而使計(jì)數(shù)值N帶有±1量化誤差;且當(dāng)被測(cè)信號(hào)頻率越低時(shí),該量化誤差的影響越大。若再考慮由晶體振蕩器引起的閘門(mén)時(shí)間誤差,對(duì)式(2-1)進(jìn)行誤差的累積與合成運(yùn)算后,可以得到直接測(cè)量測(cè)頻率誤差的計(jì)算公式如下:</p><p><b> ?。?-2)</b>&l

27、t;/p><p>  上式右邊第一項(xiàng)為量化誤差的相對(duì)值,其中=±1;第二項(xiàng)為閘門(mén)時(shí)間的相對(duì)誤差,數(shù)值上等于晶體振蕩器基準(zhǔn)頻率的相對(duì)不確定度。在一定時(shí),閘門(mén)時(shí)間T越長(zhǎng),測(cè)量準(zhǔn)確度越高。而當(dāng)T選定后,越高,由于±1誤差對(duì)測(cè)量結(jié)果的影響減小,測(cè)量準(zhǔn)確度越高。但是隨著±1誤差的影響的減小,閘門(mén)時(shí)間(也即基準(zhǔn)頻率)自身的準(zhǔn)確度對(duì)測(cè)量結(jié)果的影響不可忽略,這時(shí)可以認(rèn)為是計(jì)數(shù)式直接測(cè)頻率準(zhǔn)確度的極限。&

28、lt;/p><p>  2.1.2 數(shù)字化直接測(cè)量周期的原理</p><p>  雖然直接測(cè)頻法可以測(cè)出單位時(shí)間內(nèi)脈沖的個(gè)數(shù)即頻率,但是對(duì)于較低頻率的信號(hào)其檢測(cè)誤差會(huì)大大增大,解決辦法就是改直接測(cè)頻法為直接測(cè)周期法。圖2.2(a)為計(jì)數(shù)式直接測(cè)周期的原理框圖。與測(cè)頻原理框圖相比,其中門(mén)控雙穩(wěn)改由輸入信號(hào)放大、整形和分頻后的脈沖控制,所以閘門(mén)時(shí)間的寬度就等于k倍被測(cè)信號(hào)的周期k;而主門(mén)的另一個(gè)輸

29、入端,送入由晶體震蕩器和分頻器產(chǎn)生的周期為T(mén)0的時(shí)標(biāo)脈沖信號(hào)。由于主門(mén)的“與”功能,它的輸出端只有在閘門(mén)信號(hào)k期間有時(shí)標(biāo)脈沖輸出,并送到計(jì)數(shù)器去計(jì)數(shù),計(jì)數(shù)器的值為N。不難看出,被測(cè)信號(hào)的周期為: (2-3) 其原理框圖和時(shí)序圖如圖2.2所示:</p><p><b>  測(cè)周期法原理框圖</b></p><p>  (b)測(cè)周期法時(shí)序圖</p>

30、<p>  圖2.2 (a)測(cè)周期法原理框圖; (b)測(cè)周期法時(shí)序圖</p><p>  與計(jì)數(shù)式測(cè)頻率相似,由于和T0之間也不是同步的,所以計(jì)數(shù)值N也帶有±1量化誤差;此外由于晶振的不確定度,時(shí)標(biāo)的周期T0也存在誤差;最后,由于被測(cè)輸入信號(hào)噪聲的影響,使經(jīng)B通道放大整形后的脈沖周期中還引入了一種觸發(fā)誤差。對(duì)式(2-3)進(jìn)行誤差的積累和合成運(yùn)算,可以得到測(cè)周期誤差的計(jì)算公式如下:</p&

31、gt;<p>  (2-4) </p><p>  上式右邊第一項(xiàng)為量化誤差的相對(duì)值,其中計(jì)數(shù)誤差Δ=±1;第二項(xiàng)為時(shí)標(biāo)的相對(duì)誤差;第三項(xiàng)為觸發(fā)誤差θ,其中R為被測(cè)信號(hào)與噪聲比,可由公式R=20㏒計(jì)算(單位為dB)。要降低觸發(fā)誤差就必須增大信噪比R,并采用多周期測(cè)量,還可以在整形電路中采用具有滯回特性電路來(lái)減小噪聲的影響。 </p><p>

32、  在倍率k和時(shí)標(biāo)T0固定時(shí),與測(cè)頻率相反,測(cè)量周期的誤差隨被測(cè)信號(hào)的頻率升高而增大,此外由于有限的信噪比,使觸發(fā)誤差成為影響測(cè)量周期準(zhǔn)確度的主要因素。采用多周期測(cè)量可以有效的降低觸發(fā)誤差的影響。 </p><p>  2.1.3 多周期同步等精度測(cè)量的原理</p><p>  無(wú)論是直接測(cè)頻法還是測(cè)周期法,都無(wú)法保證閘門(mén)信號(hào)和另一信號(hào)的首尾實(shí)現(xiàn)同步,這就難以保證獲得較高的測(cè)量精度,其誤差

33、在一個(gè)脈沖之內(nèi)。由此,當(dāng)引入多周期同步等精度測(cè)量法時(shí),可以較好的解決這個(gè)問(wèn)題。</p><p>  多周期同步等精度測(cè)量法的原理是:電路需引入一個(gè)比被測(cè)信號(hào)頻率高若干倍的內(nèi)部時(shí)基信號(hào),測(cè)量結(jié)果的誤差范圍便在這一個(gè)時(shí)基信號(hào)范圍內(nèi)。首先由相應(yīng)的控制電路給出閘門(mén)開(kāi)啟信號(hào),此時(shí)計(jì)數(shù)器并不開(kāi)始計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí)才真正開(kāi)始計(jì)數(shù)。然后,兩組計(jì)數(shù)器分別對(duì)被測(cè)信號(hào)和時(shí)基信號(hào)脈沖計(jì)數(shù),當(dāng)控制電路給出閘門(mén)關(guān)閉信號(hào),此

34、時(shí)計(jì)數(shù)器并不停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí)才真正停止計(jì)數(shù)。圖2.3中為輸入信號(hào)頻率,為時(shí)鐘脈沖的頻率。A、B兩個(gè)計(jì)數(shù)器在同一閘門(mén)時(shí)間T內(nèi)分別對(duì)和進(jìn)行計(jì)數(shù),計(jì)數(shù)器A的計(jì)數(shù)值,計(jì)數(shù)器B的計(jì)數(shù)值為。由于NA/fx=N/fc=T,則被測(cè)頻率和周期分別為:</p><p><b>  (2-7)</b></p><p>  式(2-6)中=1/,為時(shí)鐘的周期。圖2.3

35、中同步電路(D觸發(fā)器)的作用在于使計(jì)數(shù)閘門(mén)信號(hào)與被測(cè)信號(hào)同步,實(shí)現(xiàn)同步開(kāi)門(mén),并且開(kāi)門(mén)時(shí)間T準(zhǔn)確地等于被測(cè)信號(hào)周期的整數(shù)倍,故式(2-6)、(2-7)中的計(jì)數(shù)沒(méi)有±1量化誤差。計(jì)數(shù)器雖然有量化誤差,但由于很高,遠(yuǎn)大于1,所以的±1量化誤差的相對(duì)值(±1/)很小,且該誤差與被測(cè)頻率無(wú)關(guān),因此在整個(gè)測(cè)頻范圍內(nèi),多周期同步等精度測(cè)量法能夠?qū)崿F(xiàn)等精度的測(cè)量。該測(cè)試方法需要的除法功能運(yùn)算,對(duì)于使用微處理器的儀器來(lái)說(shuō),是

36、不難實(shí)現(xiàn)的。</p><p>  考慮計(jì)數(shù)值的±1量化誤差、時(shí)鐘的不確定度和同步門(mén)的觸發(fā)誤差時(shí),根據(jù)式(2-6)和式(2-7)可以推導(dǎo)出倒數(shù)計(jì)數(shù)器的測(cè)頻、測(cè)周期誤差的計(jì)算公式:</p><p><b>  (2-8)</b></p><p>  上式中R=20㏒,為被測(cè)信號(hào)與噪聲比,k為多周期倍率。與式(2-2)、(2-4)相比較,式

37、(2-8)中沒(méi)有對(duì)被測(cè)信號(hào)計(jì)數(shù)引起的±1量化誤差,只有計(jì)數(shù)器在同步門(mén)T周期的±1計(jì)數(shù)誤差/,而且與被測(cè)量信號(hào)的頻率無(wú)關(guān),即在整個(gè)測(cè)量頻段上是等精度的。這時(shí)多周期同步等精度測(cè)量法的測(cè)頻、測(cè)周期的精度在整個(gè)測(cè)量頻段上均可達(dá)到量級(jí)。</p><p>  其原理框圖和時(shí)序圖如圖2.3所示。</p><p> ?。╝)多周期同步等精度測(cè)量法原理框</p><p

38、> ?。╞)多周期同步等精度測(cè)量法時(shí)序圖</p><p>  圖2.3 (a)多周期同步等精度測(cè)量法原理框圖; (b) 多周期同步等精度測(cè)量法時(shí)序圖</p><p>  2.2 實(shí)驗(yàn)方案的確定</p><p>  2.2.1 測(cè)量方法的確定 </p><p>  經(jīng)過(guò)2.1節(jié)對(duì)頻率測(cè)量和周期測(cè)量方法的分析,得知直接測(cè)量法不可能滿足該

39、任務(wù)所要求的測(cè)量精度,只要采用多周期同步等精度測(cè)量法就可以直接讀出被測(cè)信號(hào)的周期值或者頻率值,在中界頻率附近能達(dá)到較高的測(cè)量精度。基于以上討論,決定選用多周期同步測(cè)量法來(lái)實(shí)現(xiàn)該數(shù)字頻率計(jì)。</p><p>  2.2.2 頻率測(cè)量模塊的方法</p><p>  頻率測(cè)量模塊我們選擇等精度測(cè)頻法,其實(shí)現(xiàn)方式可用圖2.4來(lái)說(shuō)明。 </p><p>  圖2.4 等精度測(cè)

40、頻原理圖</p><p>  當(dāng)方波預(yù)置門(mén)控信號(hào)由底變?yōu)楦唠娖綍r(shí),經(jīng)整形后的別測(cè)信號(hào)上升沿啟動(dòng)D觸發(fā)器,由D觸發(fā)器的R段同時(shí)啟動(dòng)可控計(jì)數(shù)器 CNTI和CNT2同時(shí)計(jì)數(shù),當(dāng)預(yù)置門(mén)為低電平時(shí),隨后而至的被測(cè)信號(hào)使可控計(jì)數(shù)器同時(shí)關(guān)閉。設(shè)Fx為整形后的被測(cè)信號(hào),F(xiàn)s為基準(zhǔn)頻率信號(hào),若在一次預(yù)置門(mén)高電平脈寬時(shí)間內(nèi)被測(cè)信號(hào)計(jì)數(shù)值為NX,基準(zhǔn)頻率計(jì)數(shù)值NS,則有:Fx=(Fs/NS)NX</p><p>

41、;  2.2.3 周期測(cè)量模塊的方法</p><p>  周期測(cè)量與頻率測(cè)量完全相同,只是在進(jìn)行計(jì)算時(shí)公式不同,用周期T代換等精度頻率測(cè)量公式中的頻率因數(shù)即可。</p><p>  計(jì)算公式為 (2-15)</p><p>  式中,為被測(cè)信號(hào)周期的測(cè)量值,、分別與(1—2)式中的Ns、含義相同。</p><p>  2.2.

42、4 脈沖寬度測(cè)量模塊的方法</p><p>  在進(jìn)行脈沖寬度測(cè)量時(shí),首先經(jīng)信號(hào)處理電路進(jìn)行處理,限制只有信號(hào)的50%幅度及其以上部分才能輸入數(shù)字測(cè)量部分。脈沖邊沿被處理得非常陡峭,然后送入測(cè)量計(jì)數(shù)器進(jìn)行測(cè)量。</p><p>  測(cè)量電路在檢測(cè)到脈沖信號(hào)的上升沿時(shí)打開(kāi)計(jì)數(shù)器,在下降沿是關(guān)閉計(jì)數(shù)器,設(shè)脈沖寬度為T(mén)wx,計(jì)算公式為:Twx=Nx/fs。</p><p>

43、;  2.2.5 周期脈沖信號(hào)占空比測(cè)量模塊</p><p>  測(cè)一個(gè)脈沖信號(hào)的脈寬,記其值為T(mén)wx1;信號(hào)反相后,再測(cè)一次脈寬并記錄其值Twx2,通過(guò)以下公式汁算:</p><p>  占空比T wx1/(Twx1+Twx2)]×100% (2-17)</p><p>  2.3 系

44、統(tǒng)硬件設(shè)計(jì)</p><p>  根據(jù)頻率計(jì)的設(shè)計(jì)要求,我們可將整個(gè)電路系統(tǒng)劃分為幾個(gè)基本模塊,組成模塊框圖如圖2.5所示。</p><p>  圖2.5 頻率計(jì)組成模塊框圖</p><p>  其主要由以下幾個(gè)部分構(gòu)成:</p><p>  (1) 信號(hào)整形電路。用于對(duì)待測(cè)信號(hào)進(jìn)行放大和整形,以便作為CPLD的輸入信號(hào)。</p>

45、<p>  (2) 測(cè)頻電路。是測(cè)頻的核心電路模塊,由CPLD器件擔(dān)任。</p><p>  (3) 單片機(jī)電路模塊。用于控制CPLD的測(cè)頻操作和讀取測(cè)頻數(shù)據(jù),并作出相應(yīng)數(shù)據(jù)處理。</p><p>  (4) 50MHz的標(biāo)準(zhǔn)頻率信號(hào)源。本模塊采用高頻率穩(wěn)定度和高精度的晶振作為標(biāo)準(zhǔn)頻率發(fā)生器,產(chǎn)生50MHz的標(biāo)準(zhǔn)頻率信號(hào)直接進(jìn)入CPLD。</p><p>

46、;  (5) 鍵盤(pán)模塊。可以用5個(gè)鍵執(zhí)行測(cè)試控制,一個(gè)是復(fù)位鍵,其余是命令鍵。</p><p>  (6) 數(shù)碼顯示模塊??梢杂?個(gè)數(shù)碼管顯示測(cè)試結(jié)果,最高可表示百萬(wàn)分之一的精度。</p><p>  2.3.1 穩(wěn)壓電源電路</p><p>  本項(xiàng)設(shè)計(jì)要求的電源均為±5V的直流穩(wěn)壓電源。7905空載時(shí)測(cè)量輸出在6V左右.加上負(fù)載,輸出正常。7805驅(qū)動(dòng)

47、電流可達(dá)1A,運(yùn)行時(shí)電流200~300mA,7805溫度有50度左右。</p><p>  頻率計(jì)穩(wěn)壓電源電路圖如圖2.6所示。</p><p>  圖2.6 頻率計(jì)穩(wěn)壓電源電路</p><p>  2.3.2 信號(hào)放大整形電路</p><p>  信號(hào)放大整形電路包括放大級(jí)和整形級(jí)兩部分。</p><p>  放大級(jí)

48、的設(shè)計(jì)主要考慮增益和帶寬的指標(biāo)。因?yàn)楹竺娴恼渭?jí)采用了電壓比較器,所以放大級(jí)的增益應(yīng)根據(jù)頻率計(jì)指標(biāo)提出的最小輸入信號(hào)幅度(0.02V)和電壓比較器所要求的輸入電壓的最小壓擺率來(lái)決定。在本通道中,電壓比較器整形級(jí)是設(shè)計(jì)過(guò)零觸發(fā)方式的,因此必須對(duì)輸入信號(hào)過(guò)零處的壓擺率予以審查。,從輸入級(jí)到第二放大級(jí)其帶寬大于10MHz的指標(biāo)要求完全可以達(dá)到的。</p><p>  因?yàn)槟M通道部分所用的器件都是帶寬高速器件,為了防止

49、寄生振蕩,在每個(gè)器件的電源引腳附近到地之間均需要加上去耦電容,每組去耦電容由兩種電容并聯(lián)起來(lái),以取得良好的寬頻帶寬去耦效果。其中容量小的(0.1μF)用陶瓷電容,對(duì)高頻分量有良好的去耦作用;容量大的(6.8μF)用鉭電解電容,對(duì)低頻分量有良好的去耦作用。</p><p>  整形級(jí)選用輸出為T(mén)TL電平的高速集成雙壓比較器MAX902來(lái)構(gòu)成,它比TTL電路有觸發(fā)靈敏度高、因而可降低放大級(jí)增益的優(yōu)點(diǎn);上面已討論過(guò),根

50、據(jù)手冊(cè)提示,使用高速電壓比較器時(shí)必須保證輸入信號(hào)的壓擺率大于手冊(cè)上所給的最小容許值,以免在比較器輸出信號(hào)的前后沿部位產(chǎn)生振蕩。此外電源引腳附近也需要加接良好的去耦電容,布線短,數(shù)字電源和模擬電源的接地要分開(kāi),以免比較器輸出端的數(shù)字信號(hào)干擾模擬電路部分的工作。</p><p>  為了防止輸入信號(hào)過(guò)大而損壞后面的元器件,在輸入端加上由一個(gè)470電阻和兩個(gè)二極管組成的限幅保護(hù)電路。限幅二極管應(yīng)選用結(jié)電容小,開(kāi)關(guān)時(shí)間短

51、,容許的正向電流大且正向壓降小的管子,2DK17A開(kāi)關(guān)二極管是符合上述要求的一種。有時(shí)被測(cè)信號(hào)中含有較高的直流分量,為了保證通道放大器正常工作,輸入信號(hào)應(yīng)通過(guò)隔直流電容耦合到輸入級(jí)的輸入端,為此還要加上交、直流耦合切換開(kāi)關(guān)S1。</p><p>  圖2.7 信號(hào)放大整形電路</p><p>  2.3.3 單片機(jī)控制電路</p><p>  對(duì)單片機(jī)這部分的主要指

52、標(biāo)考慮如下:①由+5V電源供電,I/O口與TTL電平兼容,并有足夠數(shù)目的I/O口;②要有豐富的四則算術(shù)運(yùn)算和邏輯運(yùn)算指令,指令執(zhí)行速度要快;③片內(nèi)除RAM外還要有EPROM;④至少有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器;⑤有外部中斷輸入引腳;⑥具有串行通信口;⑦價(jià)格要低廉。</p><p>  根據(jù)以上條件,查閱相關(guān)資料,發(fā)現(xiàn)8位單片機(jī)AT89C51的指標(biāo)已經(jīng)能夠滿足要求。</p><p>  而對(duì)

53、于實(shí)驗(yàn)環(huán)境的限制,能選擇的CPLD有限,所以根據(jù)實(shí)驗(yàn)室的情況選用了XILINX公司的XC9572。</p><p>  由于等精度數(shù)字頻率計(jì)涉及到的計(jì)算包括加、減、乘、除,耗用的資源比較大。因此,我們選擇單片機(jī)和CPLD的結(jié)合來(lái)實(shí)現(xiàn)。單片機(jī)控制電路如圖2.8所示,其中單片機(jī)完成整個(gè)測(cè)量電路的測(cè)試控制、數(shù)據(jù)處理和顯示輸出;CPLD完成各種測(cè)試功能;鍵盤(pán)信號(hào)由89C51單片機(jī)進(jìn)行處理,它從CPLD讀回計(jì)數(shù)器數(shù)據(jù)并進(jìn)行

54、運(yùn)算,然后向顯示電路輸出測(cè)量結(jié)果。等精度數(shù)字頻率計(jì)電路系統(tǒng)原理框圖如圖2.8所示。</p><p>  系統(tǒng)的基本工作方式如下:</p><p>  (1) P2口是單片機(jī)與CPLD的數(shù)據(jù)傳送通信口,P0口為雙向控制口。P3口利用鍵盤(pán)顯示管理芯片ZLG7289作為數(shù)碼管顯示,實(shí)現(xiàn)數(shù)據(jù)顯示。系統(tǒng)的P1口設(shè)置5個(gè)功能鍵:占空比、脈寬、周期、頻率、自檢,進(jìn)行各測(cè)試功能的轉(zhuǎn)換。</p>

55、<p>  (2) 7個(gè)LED數(shù)碼管組成測(cè)量數(shù)據(jù)顯示器,另一個(gè)獨(dú)立的數(shù)碼管用于狀態(tài)顯示。</p><p>  (3) Fs為測(cè)頻標(biāo)準(zhǔn)頻率50MHz信號(hào)輸入端,由晶體振蕩源電路提供。</p><p>  (4) Fx為被測(cè)信號(hào)輸入,此待測(cè)信號(hào)是經(jīng)放大整形后輸入CPLD的。</p><p>  圖2.8 等精度數(shù)字頻率計(jì)電路系統(tǒng)原理框圖</p>

56、;<p>  2.3.4 標(biāo)準(zhǔn)頻率信號(hào)源</p><p>  本設(shè)計(jì)采用50MHZ的晶體振蕩器產(chǎn)生標(biāo)準(zhǔn)頻率方波信號(hào)(頻標(biāo))供數(shù)字測(cè)量電路使用。由公式(2-8)及其討論可知,多周期同步等精度測(cè)量法所達(dá)到的測(cè)量精度和系統(tǒng)時(shí)鐘源的精度量級(jí)相近。晶體振蕩器采用恒溫晶振,穩(wěn)定度可以達(dá)到為:2.0×107/24小時(shí)。</p><p>  2.3.5 數(shù)碼管顯示模塊</p&

57、gt;<p>  從實(shí)驗(yàn)條件等實(shí)際出發(fā)考慮,數(shù)碼管顯示模塊采用了ZLG7289。</p><p>  ZLG7289是一片具有串行接口的,可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管的顯示驅(qū)動(dòng)芯片,同時(shí)還可連接多達(dá)64鍵的鍵盤(pán)矩陣,單片即可完成LED顯示的全部功能。ZLG7289具有的特點(diǎn)和豐富的指令系統(tǒng),使得由其組成的LED顯示和鍵盤(pán)電路具有外圍電路簡(jiǎn)單,功能強(qiáng)大,使用方便,可靠性高,與MCU接口簡(jiǎn)單等特點(diǎn),是LE

58、D顯示和鍵盤(pán)電路的首選器件。</p><p>  ZLG7289與單片機(jī)的連接如下圖2.9所示。 </p><p>  圖2.9 ZLG7289與單片機(jī)的連接</p><p>  因?yàn)楸驹O(shè)計(jì)用等精度測(cè)頻的方法,預(yù)置門(mén)時(shí)間為1s,在標(biāo)準(zhǔn)頻率信號(hào)為50MHz的情況下,可以算出測(cè)量精度為電路中采用了8位LED顯示器.其中7個(gè)LED數(shù)碼管組成測(cè)量數(shù)據(jù)顯示器,另一個(gè)獨(dú)立的數(shù)碼

59、管用于狀態(tài)顯示。當(dāng)測(cè)頻率時(shí),有顯示指示,為了保證頻率計(jì)有足夠的顯示時(shí)間,并且在打開(kāi)門(mén)控信號(hào)之前,要先清零,以使測(cè)量數(shù)字計(jì)數(shù)器每次從零開(kāi)始計(jì)數(shù)。</p><p>  第三章 系統(tǒng)軟件設(shè)計(jì)</p><p>  設(shè)計(jì)包括頻率計(jì)的測(cè)頻模塊和利用對(duì)單片機(jī)的編程。單片機(jī)的編程又由三部分構(gòu)成:對(duì)CPLD的數(shù)據(jù)讀取及控制信號(hào)輸出,鍵盤(pán)電路的掃描以及數(shù)碼管顯示輸出。</p><p>

60、  3.1 CPLD測(cè)頻專用模塊的設(shè)計(jì)</p><p>  利用VHDL設(shè)計(jì)的測(cè)頻模塊主邏輯結(jié)構(gòu)如圖3.1所示,</p><p>  圖3.1 等精度頻率計(jì)主邏輯結(jié)構(gòu)圖</p><p>  圖3.1中,預(yù)置門(mén)控信號(hào)CL可由單片機(jī)發(fā)出,可以證明,在1秒至0.1秒間選擇的范圍內(nèi),CL的時(shí)間寬度對(duì)測(cè)頻精度幾乎沒(méi)有影響,在此設(shè)其寬度為T(mén)pr。BZH和TF模塊是兩個(gè)可控的32

61、位高速計(jì)數(shù)器,BENA和ENA分別是他們的允許信號(hào)端,高電平有效。標(biāo)準(zhǔn)頻率信號(hào)從BZH的時(shí)鐘輸入端BLCK輸入,設(shè)其頻率為Fs;經(jīng)整形后的被測(cè)信號(hào)從與BZH相似的32位計(jì)數(shù)器TF的時(shí)鐘輸入端TCLK輸入,設(shè)其真實(shí)頻率值為,被測(cè)量頻率為。測(cè)頻原理說(shuō)明如下:</p><p>  測(cè)頻開(kāi)始前,首先發(fā)出一個(gè)清零信號(hào)CLR,使兩個(gè)計(jì)數(shù)器和D的觸發(fā)器置零,同時(shí)通過(guò)信號(hào)ENA,禁止兩個(gè)計(jì)數(shù)器計(jì)數(shù)。這是一個(gè)初始化的操作。然后由單

62、片機(jī)發(fā)出允許測(cè)頻命令,即令預(yù)置門(mén)控信號(hào)CL為高電平,這時(shí)D觸發(fā)器要一直等到被測(cè)信號(hào)的上升沿通過(guò)時(shí)Q端才被置1(即令START為高電平),與此同時(shí),將同時(shí)啟動(dòng)計(jì)數(shù)器BZH和TF,進(jìn)入計(jì)數(shù)允許周期。在此期間,BZH和TF分別對(duì)被測(cè)信號(hào)(頻率為)和標(biāo)準(zhǔn)頻率信號(hào)(頻率為Fs)同時(shí)計(jì)數(shù)。當(dāng)Tpr秒后,預(yù)置門(mén)信號(hào)被單片機(jī)置為低電平,但此時(shí)</p><p>  兩個(gè)計(jì)數(shù)器并沒(méi)有停止計(jì)數(shù),一直等到被測(cè)信號(hào)的上升沿到來(lái)時(shí),才通過(guò)D

63、觸發(fā)器將這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。 </p><p>  被測(cè)頻率值為,標(biāo)準(zhǔn)頻率值為Fs,設(shè)在一次預(yù)置門(mén)時(shí)間Tpr中對(duì)被測(cè)信號(hào)計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)頻率信號(hào)的計(jì)數(shù)值為Ns,則下式成立:</p><p><b>  (3-1)</b></p><p>  不難得到測(cè)得的頻率為: FX=FS×NX/NS

64、 (3-2)</p><p>  最后通過(guò)控制SEL選擇信號(hào)和64位至8位的多路選擇器MUX,將計(jì)數(shù)器BHZ和TF中的兩個(gè)32位數(shù)據(jù)按照SEL[2..0]的編碼次序,分8次依次讀入單片機(jī),并按照各個(gè)模塊的計(jì)算公式進(jìn)行計(jì)算和顯示。</p><p>  3.1.1 頻率計(jì)CPLD部分的VHDL程序</p><p>  根據(jù)圖3.1的主邏輯結(jié)構(gòu)圖和圖3.2的測(cè)控

65、時(shí)序,以及測(cè)頻原理,可以寫(xiě)出相應(yīng)的VHDL功能描述。相應(yīng)的RTL電路圖如圖3.3。</p><p>  頻率計(jì)CPLD部分的VHDL程序設(shè)計(jì)如下:</p><p>  LIBRARY IEEE; --等精度頻率計(jì)CPLD設(shè)計(jì)部分</p><p>  USE IEEE.STD_LOGIC_1164.ALL;

66、 </p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p>  ENTITY etester IS </p><p>  PORT(BCLK:IN STD_LOGIC; --標(biāo)準(zhǔn)頻率時(shí)鐘信號(hào)clock2,50MHZ</p><p>  TCLK:IN STD_L

67、OGIC; --待測(cè)頻率時(shí)鐘信號(hào)</p><p>  CLR:IN STD_LOGIC; --清零和初始化信號(hào)</p><p>  CL:IN STD_LOGIC; --當(dāng)SPUL為高電平時(shí),CL為預(yù)置門(mén)控信號(hào),用于測(cè)頻計(jì)數(shù)</p>

68、;<p>  --時(shí)間控制當(dāng)SPUL為低電平時(shí),CL為測(cè)脈寬控制信號(hào) </p><p>  --CL高電平時(shí)測(cè)高電平脈寬而當(dāng)CL為低電平時(shí),測(cè)低電平脈寬</p><p>  SPUL:IN STD_LOGIC; --測(cè)頻或測(cè)脈寬控制</p><p>  STAR

69、T:OUT STD_LOGIC; --起始計(jì)數(shù)標(biāo)志信號(hào)</p><p>  EEND:OUT STD_LOGIC; --由低電平變到高電平時(shí)指示脈寬計(jì)數(shù)結(jié)束</p><p>  SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0); --數(shù)據(jù)讀出選

70、同控制</p><p>  DATA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --8位數(shù)據(jù)讀出</p><p>  END etester; </p><p>  ARCHITECTURE behav OF etester IS </p><p>  SIGNAL BZQ :

71、 STD_LOGIC_VECTOR(31 DOWNTO 0); --標(biāo)準(zhǔn)計(jì)數(shù)器</p><p>  SIGNAL TSQ : STD_LOGIC_VECTOR(31 DOWNTO 0); --測(cè)頻計(jì)數(shù)器</p><p>  SIGNAL ENA : STD_LOGIC;

72、 --計(jì)數(shù)使能</p><p>  SIGNAL MA, CLK1, CLK2, CLK3: STD_LOGIC; </p><p>  SIGNAL Q1, Q2, Q3, BENA, PUL: STD_LOGIC;</p><p>  SIGNAL SS: STD_LOGIC_VECTOR (1 DOWNTO 0); </p>&

73、lt;p><b>  BEGIN </b></p><p>  START <= ENA; </p><p>  DATA <= BZQ(7 DOWNTO 0) WHEN SEL="000" ELSE --標(biāo)準(zhǔn)頻率計(jì)數(shù)低8位輸出</p><p>  BZQ (15 DOWNTO 8) WHEN SE

74、L="001" ELSE </p><p>  BZQ (23 DOWNTO 16) WHEN SEL="010" ELSE </p><p>  BZQ(31 DOWNTO 24) WHEN SEL="011" ELSE --標(biāo)準(zhǔn)頻率計(jì)數(shù)值最高8位輸出</p><p>  TSQ(7 DOWN

75、TO 0) WHEN SEL="100" ELSE --待測(cè)頻率計(jì)數(shù)值最低8位輸出</p><p>  SQ (15 DOWNTO 8) WHEN SEL="101" ELSE </p><p>  TSQ (23 DOWNTO 16) WHEN SEL="110" ELSE </p><p&g

76、t;  TSQ(31 DOWNTO 24) WHEN SEL="111" ELSE --待測(cè)頻率計(jì)數(shù)值最高8位輸出</p><p>  TSQ (31 DOWNTO 24); </p><p>  BZH : PROCESS(BCLK, CLR) --標(biāo)準(zhǔn)頻率測(cè)試計(jì)數(shù)器,標(biāo)準(zhǔn)計(jì)數(shù)器</p><p><

77、;b>  BEGIN </b></p><p>  IF CLR = '1' THEN BZQ <= (OTHERS=>'0');</p><p>  ELSIF BCLK'EVENT AND BCLK = '1' THEN</p><p>  IF BENA = '1&#

78、39; THEN BZQ <= BZQ + 1; END IF;</p><p><b>  END IF; </b></p><p>  END PROCESS; </p><p>  TF : PROCESS(TCLK, CLR, ENA) --待測(cè)頻率計(jì)數(shù)器,測(cè)頻計(jì)數(shù)器</p><p&g

79、t;<b>  BEGIN </b></p><p>  IF CLR = '1' THEN TSQ <= (OTHERS=>‘0’); </p><p>  ELSIF TCLK'EVENT AND TCLK = '1' THEN </p><p>  IF ENA = '1'

80、; THEN TSQ <= TSQ + 1; END IF; </p><p><b>  END IF; </b></p><p>  END PROCESS; </p><p>  PROCESS (TCLK, CLR) </p><p><b>  BEGIN </b></p>

81、;<p>  IF CLR = '1' THEN ENA <= ‘0’; </p><p>  ELSIF TCLK'EVENT AND TCLK='1' THEN ENA <= CL; END IF; </p><p>  END PROCESS; </p><p>  MA<=(TCLK A

82、ND CL) OR NOT(TCLK OR CL) ; --測(cè)脈寬邏輯</p><p>  CLK1<=NOT MA ; CLK2<=MA AND Q1 ; CLK3<=NOT CLK2; SS<=Q2 & Q3;</p><p>  DD1: PROCESS (CLK1, CLR) </p><p>

83、;<b>  BEGIN</b></p><p>  IF CLR = '1' THEN Q1 <= ‘0’;</p><p>  ELSIF CLK1'EVENT AND CLK1 = '1' THEN Q1 <= ‘1’; </p><p><b>  END IF; </

84、b></p><p>  END PROCESS; </p><p>  DD2: PROCESS (CLK2, CLR) </p><p><b>  BEGIN </b></p><p>  IF CLR = '1' THEN Q2 <= ‘0’; </p><p&g

85、t;  ELSIF CLK2'EVENT AND CLK2 = '1' THEN Q2 <= ‘1’; END IF; </p><p>  END PROCESS; </p><p>  DD3: PROCESS (CLK3, CLR) </p><p><b>  BEGIN </b></p>&

86、lt;p>  IF CLR = '1' THEN Q3 <= ‘0’; </p><p>  ELSIF CLK3'EVENT AND CLK3 = '1' THEN Q3 <= ‘1’; END IF; </p><p>  END PROCESS; </p><p>  PUL<='1

87、9; WHEN SS="10" ELSE</p><p>  --當(dāng)SS=“10”時(shí),PUL高電平,允許標(biāo)準(zhǔn)計(jì)數(shù)器計(jì)數(shù)</p><p>  '0' ; --禁止計(jì)數(shù)</p><p>  EEND<='1&#

88、39; WHEN SS="11" ELSE</p><p>  --EEND為低電平時(shí),表示正在計(jì)數(shù),由低電平變到高電平</p><p>  '0'; --時(shí),表示計(jì)數(shù)結(jié)束,可以從標(biāo)準(zhǔn)計(jì)數(shù)器中讀數(shù)據(jù)了</p><p>  BENA<=ENA WHEN SPUL='1' E

89、LSE </p><p>  --標(biāo)準(zhǔn)計(jì)數(shù)器時(shí)鐘使能控制信號(hào),當(dāng)SPUL為1時(shí),測(cè)頻率</p><p>  PUL WHEN SPUL='0' ELSE --當(dāng)SPUL為0時(shí),測(cè)脈寬和占空比</p><p><b>  PUL; </b></p><p>  END b

90、ehav;</p><p>  利用VHDL設(shè)計(jì)的測(cè)頻模塊其中有關(guān)的接口信號(hào)規(guī)定如下:</p><p>  1、BCLK:標(biāo)準(zhǔn)頻率輸入信號(hào),50MHz。 </p><p>  2、TCLK:待測(cè)頻率輸入信號(hào),0.1Hz–10MHz。最高可以為50MHZ。 </p><p>  3、CLR:全局清0和初始化輸入,高電平有效,由單片機(jī)向CPLD發(fā)

91、出。 </p><p>  4、CL:預(yù)置門(mén)控制輸入,時(shí)間為1s,高電平有效,由單片機(jī)向CPLD發(fā)出。 </p><p>  5、SPUL:高電平測(cè)頻率,低電平測(cè)脈寬,由單片機(jī)向CPLD發(fā)出。 </p><p>  6、START:此信號(hào)由單片機(jī)讀取。在測(cè)頻時(shí),高電平時(shí)表示進(jìn)入計(jì)數(shù)周期,低電平時(shí)表示計(jì)數(shù)結(jié)束,單片計(jì)可以讀取CPLD中的計(jì)數(shù)。 </p>

92、<p>  7、EEND:在測(cè)脈寬期間(SPUL=‘0’),由低電平變?yōu)楦唠娖剑硎久}寬計(jì)數(shù)結(jié)束,EEND信號(hào)由單片機(jī)讀取。 </p><p>  8、DATA:計(jì)數(shù)數(shù)據(jù)輸出,8位,由單片機(jī)根據(jù)SEL選擇信號(hào)分別讀取。 </p><p>  9、SEL:計(jì)數(shù)數(shù)據(jù)讀出控制,3位,由單片機(jī)輸出控制。 </p><p>  當(dāng)SEL分別等于:“000”、“001

93、”、“010”、“011”;可由DATA分別讀出:BZQ[7..0]、[15..8]、[23..16]、[31..24]共32位。 </p><p>  當(dāng)SEL分別等于:“100”、“101”、“110”、“111”;可由DATA分別讀出:TSQ[7..0]、[15..8]、[23..16]、[31..24]共32位。</p><p>  3.1.2 頻率計(jì)CPLD部分的仿真</p

94、><p>  圖3.4和圖3.5分別是頻率測(cè)試仿真波形和脈寬測(cè)試仿真波形。</p><p>  從圖3.4可以看出,SPUL='1'時(shí),系統(tǒng)進(jìn)行等精度測(cè)頻。這時(shí),CLR一個(gè)正脈沖后,系統(tǒng)被初始化。然后CL被置為高電平,但這時(shí)兩個(gè)計(jì)數(shù)器并未開(kāi)始計(jì)數(shù)(START='0'),直到此后被測(cè)信號(hào)TCLK出現(xiàn)一個(gè)上升沿,START=‘1’時(shí)2個(gè)計(jì)數(shù)器同時(shí)啟動(dòng)分別對(duì)被測(cè)信號(hào)和

95、標(biāo)準(zhǔn)信號(hào)開(kāi)始計(jì)數(shù),其中BZQ和TSQ分別為標(biāo)準(zhǔn)頻率計(jì)數(shù)器和被測(cè)頻率計(jì)數(shù)器的計(jì)數(shù)值。由圖可見(jiàn),在CL變?yōu)榈碗娖胶?,?jì)數(shù)仍未停止,直到TCLK出現(xiàn)一個(gè)上升沿為止,這時(shí)START='0',可作為單片機(jī)了解計(jì)數(shù)結(jié)束的標(biāo)志信號(hào)。</p><p>  仿真波形中TCLK和BCLK的周期分別設(shè)置為10μs和500ns。由圖可見(jiàn),計(jì)數(shù)結(jié)果是,對(duì)TCLK的計(jì)數(shù)值是5,對(duì)BCLK的計(jì)數(shù)值是64(十六進(jìn)制)。通過(guò)控制S

96、EL就能按照8個(gè)8位將兩個(gè)計(jì)數(shù)器中的32位數(shù)讀入單片機(jī)中進(jìn)行計(jì)算。從圖中的波形可以看出,VHDL部分描述的測(cè)頻的功能完全正確。</p><p>  圖3.4 頻率/周期測(cè)量仿真圖</p><p>  圖3.5 脈寬/占空比測(cè)量仿真圖</p><p>  圖3.5中,取SPUL='0'時(shí),則系統(tǒng)進(jìn)行脈寬測(cè)試。為了便于觀察,圖中仿真波形中的TCLK和BC

97、LK的周期分別設(shè)置為75μs和500ns。由VHDL程序和RTL電路圖可以分析,CL和CLR的功能都發(fā)生了變化,前者為'1'時(shí)測(cè)信號(hào)高電平的脈寬,為'0'時(shí)測(cè)低電平的脈寬;而后者CLR變?yōu)椤?’時(shí)作系統(tǒng)初始化,由‘1’變?yōu)椤?’后啟動(dòng)電路系統(tǒng)的標(biāo)準(zhǔn)信號(hào)計(jì)數(shù)器BZQ準(zhǔn)備對(duì)標(biāo)準(zhǔn)頻率進(jìn)行計(jì)數(shù)。而允許計(jì)數(shù)的條件是此后出現(xiàn)的第一個(gè)脈寬的寬度。由圖3.5可見(jiàn),當(dāng)CL=‘1’,TCLK的高電平脈沖到來(lái)時(shí),即啟動(dòng)了BZQ

98、進(jìn)行計(jì)數(shù),而在TCLK的低電平到來(lái)時(shí)停止計(jì)數(shù),狀態(tài)信號(hào)EEND則由低電平變?yōu)楦唠娖?,告訴單片機(jī)計(jì)數(shù)結(jié)束。計(jì)數(shù)值可以通過(guò)SEL讀出,這里是4BH。</p><p>  由此不難算出,TCLK的高電平脈寬應(yīng)該等于4BH乘以BCLK的周期。改變CL為‘0’,又能測(cè)出TCLK的低電平脈寬,從而可以獲得TCLK的周期和占空比。</p><p>  3.2 單片機(jī)控制與運(yùn)算程序的設(shè)計(jì)</p>

99、;<p>  完成VHDL硬件語(yǔ)言編程,系統(tǒng)內(nèi)CPLD芯片中的邏輯資源尚缺一點(diǎn)即可大功告成,系統(tǒng)需要單片機(jī)為它實(shí)現(xiàn)控制,運(yùn)算,顯示等功能。所以,采用89C51單片機(jī)控制模塊對(duì)各種信號(hào)進(jìn)行處理并顯示。</p><p>  與單片機(jī)可以按照如下方式接口:</p><p>  (1) 單片機(jī)的P0口接八位數(shù)據(jù)DATA[7..0],負(fù)責(zé)讀取測(cè)頻數(shù)據(jù)。</p><p

100、>  (2) 單片機(jī)可以通過(guò)信號(hào)START(P2.7),指示計(jì)數(shù)是否結(jié)束,以確定何時(shí)可以讀取數(shù)據(jù)。</p><p>  (3) P2.0、P2.1、P2.2與SEL[2..0]相接,用于控制多路通道的數(shù)據(jù)選擇。當(dāng)SEL分別為“000”、“001”、“010”、“011”時(shí),由低八位到高八位讀出標(biāo)準(zhǔn)頻率計(jì)數(shù)值;當(dāng)SEL分別為“100”、“101”、“110”、“111”;由低八位到高八位讀出待測(cè)頻率計(jì)數(shù)值。&

101、lt;/p><p>  (4) EEND(P2.3)與START功能基本相同,當(dāng)其由低電平變到高電平使指示脈沖寬度計(jì)數(shù)結(jié)束。</p><p>  (5) P2.5和P2.6分別接控制信號(hào)CL和SPUL。CL和SPUL協(xié)同控制測(cè)試操作。即當(dāng)為‘1’時(shí),CL作為測(cè)脈寬控制信號(hào)。這時(shí),CL若為‘1’,測(cè)TCLK的高電平脈寬,而當(dāng)CL為‘0’,則測(cè)TCLK的低電平脈寬。然后分別從DATA數(shù)據(jù)口讀出BZ

102、H對(duì)標(biāo)準(zhǔn)頻率的計(jì)數(shù),即只需令SEL的取值分別為 “000”、 “001”、 “010”、 “011” 即可。</p><p>  (6) P0.0接清零信號(hào)CLR,高電平有效。每一測(cè)頻周期開(kāi)始時(shí),都應(yīng)該首先清零。</p><p>  3.2.1 單片機(jī)主程序的設(shè)計(jì)</p><p>  當(dāng)系統(tǒng)通過(guò)5V電源供電時(shí),自動(dòng)進(jìn)入自檢狀態(tài),由單片機(jī)發(fā)出按鍵掃描信號(hào)對(duì)各個(gè)按鍵進(jìn)行

103、掃描。系統(tǒng)進(jìn)行初始化后,此時(shí)當(dāng)某鍵按下時(shí),程序跳轉(zhuǎn)到相應(yīng)的子程序執(zhí)行功能,然后返回繼續(xù)執(zhí)行鍵盤(pán)掃描主程序。單片機(jī)控制主程序流程圖如圖3.6。</p><p>  圖3.6 單片機(jī)主程序流程圖</p><p>  3.2.2 頻率、周期計(jì)數(shù)子程序的設(shè)計(jì)</p><p>  如果按下測(cè)頻鍵,則開(kāi)始測(cè)量過(guò)程:首先,由單片機(jī)的P2.4發(fā)出一個(gè)清零信號(hào)P2.4=1,把計(jì)數(shù)使能

104、信號(hào)START的預(yù)置門(mén)控信號(hào)CL置成0。然后P2.5(CL控制端)給出一個(gè)高電平的脈沖,長(zhǎng)度控制在0.1秒至1秒之間。在此過(guò)程中,CPLD部分已經(jīng)完成測(cè)頻的任務(wù)。P2.5(CL控制端)下跳成0后,要有一個(gè)延遲時(shí)間單片機(jī)再開(kāi)始讀取CPLD信息,這個(gè)延遲由單片機(jī)控制,長(zhǎng)度要大于等于待測(cè)量信號(hào)的一個(gè)周期。然后就是讀取待測(cè)頻率的過(guò)程了,P0口負(fù)責(zé)讀取數(shù)據(jù)。 P2.0、P2.1、P2.2與SEL[2..0]相接,用于控制多路通道的數(shù)據(jù)選擇。當(dāng)SE

105、L分別為“000”、“001”、“010”、“011”時(shí),由低八位到高八位讀出標(biāo)準(zhǔn)頻率計(jì)數(shù)值;當(dāng)SEL分別為“100”、“101”、“110”、“111”;由低八位到高八位讀出待測(cè)頻率計(jì)數(shù)值。然后單片機(jī)計(jì)算(Fs/Ns)·Nx值,通過(guò)ZLG7289傳給LED顯示。</p><p>  在測(cè)量周期時(shí)只要將計(jì)算結(jié)果由頻率值取倒數(shù)轉(zhuǎn)換為周期值即可。</p><p>  圖3.7 頻率、

106、周期計(jì)數(shù)子程序流程圖</p><p>  圖3. 8 測(cè)周期子程序流程圖</p><p>  圖 3.9 測(cè)頻率子程序流程圖</p><p>  3.2.3 脈寬、占空比子程序的設(shè)計(jì)</p><p>  脈寬測(cè)量子程序與周期測(cè)量子程序基本一致,脈寬測(cè)量是將被測(cè)量信號(hào)的脈寬作為閘門(mén)信號(hào)對(duì)標(biāo)準(zhǔn)頻率計(jì)數(shù)。</p><p> 

107、 占空比子程序是分別測(cè)量出高低電平的脈寬計(jì)數(shù)值N1,N2,由公式</p><p>  占空比=N1/(N1+N2)*100%算出。</p><p>  圖3.10 脈寬、占空比計(jì)數(shù)子程序流程圖</p><p>  圖3.11 測(cè)脈寬子程序流程圖</p><p>  3.2.4 鍵盤(pán)掃描及數(shù)碼管顯示子程序的設(shè)計(jì)</p><p

108、>  鍵盤(pán)采用的是循環(huán)掃描的工作方式,當(dāng)有鍵輸入時(shí),將讀到的鍵值存入預(yù)存單元,用軟件延時(shí)10ms消除抖動(dòng),再讀鍵值,和原鍵值進(jìn)行比較,若不相同,則繼續(xù)進(jìn)入掃描,如相同,則跳轉(zhuǎn)到相應(yīng)的入口執(zhí)行子程序。</p><p>  單片機(jī)讀入測(cè)量結(jié)果后,還要根據(jù)等精度測(cè)頻原理進(jìn)行計(jì)算,才能得到最終的測(cè)量結(jié)果。</p><p>  圖3.12為鍵盤(pán)掃描子程序的流程圖。</p><

109、;p>  數(shù)碼管顯示部分采用的是ZLG7289。ZLG7289是一片具有串行接口的,可同時(shí)驅(qū)動(dòng)8位共陰式數(shù)碼管的顯示驅(qū)動(dòng)芯片,單片即可完成LED顯示。</p><p>  顯示子程序的流程圖如圖3.13所示。</p><p>  圖3.12 掃描子程序流程圖</p><p>  圖3.13 顯示子程序流程圖</p><p><b

110、>  總結(jié)</b></p><p>  1. 在系統(tǒng)總體設(shè)計(jì)方面,充分利用單片機(jī)和CPLD各自的優(yōu)勢(shì),將測(cè)控的主體分配給CPLD,既可滿足頻測(cè)對(duì)速度方面的要求和多I/O口的要求,同時(shí)利用單片機(jī)具有良好的人機(jī)接口和控制運(yùn)算的功能,可以較簡(jiǎn)單地實(shí)現(xiàn)鍵盤(pán)和顯示控制以及數(shù)據(jù)處理運(yùn)算。</p><p>  2. 在頻率測(cè)量方面,由于采用了等精度測(cè)頻法,使該系統(tǒng)具有以下特點(diǎn):① 相對(duì)

111、測(cè)量誤差與被測(cè)頻率的高低無(wú)關(guān);② 增大或可以增大Ns,減少測(cè)量誤差,提高測(cè)量精度;③ 測(cè)量精度與預(yù)置門(mén)寬度和標(biāo)準(zhǔn)頻率有關(guān),與被測(cè)信號(hào)的頻率無(wú)關(guān),預(yù)置門(mén)和常規(guī)測(cè)頻閘門(mén)時(shí)間相同而被測(cè)信號(hào)頻率不同的情況下,等精度測(cè)量法的測(cè)量精度不變。</p><p>  3. 在顯示方面,采用串行接口8 位LED 數(shù)碼管及64鍵鍵盤(pán)智能控制芯片ZLG7289,節(jié)約了I/O口,簡(jiǎn)化了驅(qū)動(dòng)電路的設(shè)計(jì)。</p><p&g

112、t;<b>  致謝</b></p><p>  三個(gè)月的時(shí)間很快過(guò)去了,在這里首先要感謝院、系領(lǐng)導(dǎo)給予的大力支持,為我們提供了良好的設(shè)計(jì)條件,特別要感謝指導(dǎo)老師——xx老師給予的悉心指導(dǎo)和不厭其煩的熱情幫助。在此謹(jǐn)向?qū)煴硎咀钪孕牡母兄x、并致以崇高的敬意。同時(shí)要感謝參加論文評(píng)審和答辯委員會(huì)的各位老師,感謝他們對(duì)我的論文提出了寶貴的建議。</p><p>  在過(guò)去的

113、這段時(shí)間中,我得到了來(lái)自各方面的熱情幫助,在此向在我學(xué)業(yè)生涯中所有幫助過(guò)我的朋友表示深深的謝意.</p><p><b>  致謝人:楊林娜</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張杰,楊艷麗,馬莉莉等. 基于單片機(jī)C語(yǔ)言的數(shù)字頻率計(jì)設(shè)計(jì)[J]. 內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào),2007,2

114、8(2):191~192.</p><p>  [2] 鄒道生,李銘,楊漢祥. 多功能數(shù)字頻率計(jì)的設(shè)計(jì)[J]. 贛南師范學(xué)院學(xué)報(bào),2004,3:16~18. </p><p>  [3] 李春樹(shù). 基于AT89C51單片機(jī)的等精度數(shù)顯頻率計(jì)[J]. 零陵學(xué)院學(xué)報(bào), 2003,24(2):50~54..</p><p>  [4] 王保強(qiáng),竇文,白紅. 高精度測(cè)頻方

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論