版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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ì)是電子測量領(lǐng)域中最常見的測量儀器之一。它可以測量方波和正弦波的頻率、周期和脈沖寬度等時(shí)間參數(shù)。</p><p> 本設(shè)計(jì)是由單片機(jī)控制的數(shù)字頻率計(jì)設(shè)計(jì)。本文在討論頻率測量的常用方法與原理的基礎(chǔ)上,闡述了等精度測頻系統(tǒng)的設(shè)計(jì)。系統(tǒng)包括穩(wěn)壓電源電路、信號(hào)放大整形電路、測頻電路、單片機(jī)電路模塊、標(biāo)準(zhǔn)頻率信號(hào)源、鍵盤模
3、塊、數(shù)碼顯示模塊等。采用軟硬件結(jié)合的方法,頻率、周期、脈寬和占空比的計(jì)算由單片機(jī)89C51完成,外圍電路其數(shù)字電路部分使用了CPLD,并采用VHDL語言進(jìn)行設(shè)計(jì)描述,其輸入通道由模擬電路來實(shí)現(xiàn)。</p><p> 系統(tǒng)將單片機(jī)AT89C51的控制靈活性及CPLD芯片的現(xiàn)場可編程性相結(jié)合,不但大大縮短了開發(fā)研制周期,而且使本系統(tǒng)具有結(jié)構(gòu)緊湊、體積小、可靠性高、測頻范圍寬、精度高等優(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ā)展趨勢</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 頻率測量的方法的研究</p><p
10、> 2.1.1 數(shù)字化直接測量頻率的原理</p><p> 2.1.2 數(shù)字化直接測量周期的原理</p><p> 2.1.3 多周期同步等精度測量的原理</p><p> 2.2 實(shí)驗(yàn)方案的確定</p><p> 2.2.1 測量方法的確定</p><p> 2.2.2 頻率測量模塊的方法
11、</p><p> 2.2.3 周期測量模塊的方法</p><p> 2.2.4 脈沖寬度測量模塊的方法</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測頻專用模塊的設(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 鍵盤掃
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ā)展趨勢</p><p> 隨著大規(guī)模集成電路技術(shù)的發(fā)展及電子產(chǎn)品市場運(yùn)作節(jié)奏的進(jìn)一步加快,涉及諸如計(jì)算機(jī)應(yīng)用、通信、智能儀表、醫(yī)用設(shè)備、軍事、民用電器等領(lǐng)域的現(xiàn)代電子設(shè)計(jì)技術(shù)已邁入一個(gè)全新的階段。</p><p> 在電子測量中,頻率的測量精確度是非常高的。利用計(jì)數(shù)法測量頻率具有精度高、使用方便、容易實(shí)現(xiàn)測量過程自動(dòng)化等一系列突出優(yōu)點(diǎn),已成為目前頻率測量
16、的重要方法。人們將許多參數(shù)的測量轉(zhuǎn)換為頻率量來測量和處理。</p><p> 傳統(tǒng)的頻率計(jì)通常采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,在使用過程中存在電路結(jié)構(gòu)復(fù)雜,測量精度低、故障率高、維護(hù)不易等問題,其產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測量低頻信號(hào)時(shí)不宜直接使用。頻率測量在科技研究和實(shí)際應(yīng)用中的作用日益重要。測量的數(shù)字化、智能化是當(dāng)前測量技術(shù)發(fā)展的趨勢。</p><p> 1.2
17、 課題研究的意義與作用</p><p> 數(shù)字頻率計(jì)數(shù)器又稱通用計(jì)數(shù)器,是電子測量領(lǐng)域中最常見的測量儀器之一。它可以測量正弦波的頻率(周期),脈沖波的頻率(周期),脈沖寬度等時(shí)間參數(shù)。</p><p> 隨著單片機(jī)技術(shù)的不斷發(fā)展,用單片機(jī)通過軟件設(shè)計(jì),采用適當(dāng)?shù)乃惴ㄈ〈@部分電路不僅能彌補(bǔ)上述不足,而且性能也將大有提高。針對(duì)普通頻率計(jì)存在讀數(shù)難、測量精度不高等問題, 目前采用單片機(jī)控制
18、的數(shù)字頻率計(jì), 用于測量方波、正弦波或其它脈沖信號(hào)的頻率, 并用數(shù)字顯示, 具有精度高、測量迅速、讀數(shù)方便等優(yōu)點(diǎn), 已經(jīng)在電子測量領(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ì)比測量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱閘門時(shí)間為1秒。</p><p> 閘門時(shí)間也可以大于或小于一秒。閘門時(shí)間越長,得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長,則每測一次頻率的間隔就越長。閘門時(shí)間越短,測的頻率值刷新就越快,但測得的頻率精度就受
20、影響。</p><p> 數(shù)字頻率計(jì)是用數(shù)字顯示被測信號(hào)頻率的儀器,被測信號(hào)可以是正弦波,方波或其它周期性變化的信號(hào)。</p><p> 1.4 系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)</p><p> 基于傳統(tǒng)測頻原理的頻率計(jì)的測量精度將隨被測信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測量精度,而且在整個(gè)測頻區(qū)域內(nèi)保持恒定的測試精度。</p&
21、gt;<p> 課題要求運(yùn)用單片機(jī)或者CPLD技術(shù),結(jié)合傳統(tǒng)直接測量頻率方法和等精度測量頻率的方法,實(shí)現(xiàn)高頻和低頻的測量,本系統(tǒng)設(shè)計(jì)的基本指標(biāo)如下。</p><p> 1.4.1 基本指標(biāo)</p><p> (1) 頻率:10Hz~30MHz</p><p> (2) 閘門時(shí)間為0.1秒、1秒</p><p> (3)
22、實(shí)現(xiàn)對(duì)頻率、周期和時(shí)間間隔的測量功能</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%,測試誤差≤1%。</p>
23、;<p> 第二章 系統(tǒng)硬件設(shè)計(jì)</p><p> 2.1頻率測量的方法的研究</p><p> 2.1.1 數(shù)字化直接測量頻率的原理</p><p> 無論頻率、周期還是時(shí)間間隔的數(shù)字化測量,均是基于主門(閘門)加計(jì)數(shù)器的結(jié)構(gòu)而實(shí)現(xiàn)的,圖2.1(a)示出了這種計(jì)數(shù)式直接測頻的原理框圖。其中主門(閘門)具有“與門”的邏輯功能。主門(閘門)的一個(gè)
24、輸入端送入的是頻率為的窄脈沖,它是由被測信號(hào)經(jīng)A通道放大整形后得到的。主門(閘門)的另一個(gè)輸入端送來的是來自門控雙穩(wěn)的閘門時(shí)間信號(hào)Ts。因?yàn)殚T控雙穩(wěn)是受時(shí)基(標(biāo)準(zhǔn)頻率)信號(hào)控制的,所以Ts即準(zhǔn)確又穩(wěn)定。設(shè)計(jì)時(shí)通過晶體震蕩器和分頻器的配合,可以獲得10S、1S、0.1S等閘門時(shí)間。由于主門(閘門)的“與”功能,它的輸出端只有在閘門信號(hào)Ts有效時(shí)間才有頻率的窄脈沖輸出,并送到計(jì)數(shù)器去計(jì)數(shù)。設(shè)計(jì)數(shù)器的值為N,由頻率定義式可以計(jì)算得到被測信號(hào)頻
25、率為=N/Ts (2-1)</p><p> 其原理框圖和時(shí)序圖如圖2.1所示。</p><p><b> 直接測頻法原理框圖</b></p><p> ?。╞) 直接測頻法時(shí)序圖</p><p> 圖2.1 (a)直接測頻法原理框圖; (b)直接測頻法時(shí)序圖</p><
26、p> 由式(2-1)可知,當(dāng)閘門時(shí)間T為1S時(shí),N值即為被測量信號(hào)的頻率。該測量方法由于主門的開啟時(shí)間與被測信號(hào)之間不同步,而使計(jì)數(shù)值N帶有±1量化誤差;且當(dāng)被測信號(hào)頻率越低時(shí),該量化誤差的影響越大。若再考慮由晶體振蕩器引起的閘門時(shí)間誤差,對(duì)式(2-1)進(jìn)行誤差的累積與合成運(yùn)算后,可以得到直接測量測頻率誤差的計(jì)算公式如下:</p><p><b> ?。?-2)</b>&l
27、t;/p><p> 上式右邊第一項(xiàng)為量化誤差的相對(duì)值,其中=±1;第二項(xiàng)為閘門時(shí)間的相對(duì)誤差,數(shù)值上等于晶體振蕩器基準(zhǔn)頻率的相對(duì)不確定度。在一定時(shí),閘門時(shí)間T越長,測量準(zhǔn)確度越高。而當(dāng)T選定后,越高,由于±1誤差對(duì)測量結(jié)果的影響減小,測量準(zhǔn)確度越高。但是隨著±1誤差的影響的減小,閘門時(shí)間(也即基準(zhǔn)頻率)自身的準(zhǔn)確度對(duì)測量結(jié)果的影響不可忽略,這時(shí)可以認(rèn)為是計(jì)數(shù)式直接測頻率準(zhǔn)確度的極限。&
28、lt;/p><p> 2.1.2 數(shù)字化直接測量周期的原理</p><p> 雖然直接測頻法可以測出單位時(shí)間內(nèi)脈沖的個(gè)數(shù)即頻率,但是對(duì)于較低頻率的信號(hào)其檢測誤差會(huì)大大增大,解決辦法就是改直接測頻法為直接測周期法。圖2.2(a)為計(jì)數(shù)式直接測周期的原理框圖。與測頻原理框圖相比,其中門控雙穩(wěn)改由輸入信號(hào)放大、整形和分頻后的脈沖控制,所以閘門時(shí)間的寬度就等于k倍被測信號(hào)的周期k;而主門的另一個(gè)輸
29、入端,送入由晶體震蕩器和分頻器產(chǎn)生的周期為T0的時(shí)標(biāo)脈沖信號(hào)。由于主門的“與”功能,它的輸出端只有在閘門信號(hào)k期間有時(shí)標(biāo)脈沖輸出,并送到計(jì)數(shù)器去計(jì)數(shù),計(jì)數(shù)器的值為N。不難看出,被測信號(hào)的周期為: (2-3) 其原理框圖和時(shí)序圖如圖2.2所示:</p><p><b> 測周期法原理框圖</b></p><p> ?。╞)測周期法時(shí)序圖</p>
30、<p> 圖2.2 (a)測周期法原理框圖; (b)測周期法時(shí)序圖</p><p> 與計(jì)數(shù)式測頻率相似,由于和T0之間也不是同步的,所以計(jì)數(shù)值N也帶有±1量化誤差;此外由于晶振的不確定度,時(shí)標(biāo)的周期T0也存在誤差;最后,由于被測輸入信號(hào)噪聲的影響,使經(jīng)B通道放大整形后的脈沖周期中還引入了一種觸發(fā)誤差。對(duì)式(2-3)進(jìn)行誤差的積累和合成運(yùn)算,可以得到測周期誤差的計(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為被測信號(hào)與噪聲比,可由公式R=20㏒計(jì)算(單位為dB)。要降低觸發(fā)誤差就必須增大信噪比R,并采用多周期測量,還可以在整形電路中采用具有滯回特性電路來減小噪聲的影響。 </p><p>
32、 在倍率k和時(shí)標(biāo)T0固定時(shí),與測頻率相反,測量周期的誤差隨被測信號(hào)的頻率升高而增大,此外由于有限的信噪比,使觸發(fā)誤差成為影響測量周期準(zhǔn)確度的主要因素。采用多周期測量可以有效的降低觸發(fā)誤差的影響。 </p><p> 2.1.3 多周期同步等精度測量的原理</p><p> 無論是直接測頻法還是測周期法,都無法保證閘門信號(hào)和另一信號(hào)的首尾實(shí)現(xiàn)同步,這就難以保證獲得較高的測量精度,其誤差
33、在一個(gè)脈沖之內(nèi)。由此,當(dāng)引入多周期同步等精度測量法時(shí),可以較好的解決這個(gè)問題。</p><p> 多周期同步等精度測量法的原理是:電路需引入一個(gè)比被測信號(hào)頻率高若干倍的內(nèi)部時(shí)基信號(hào),測量結(jié)果的誤差范圍便在這一個(gè)時(shí)基信號(hào)范圍內(nèi)。首先由相應(yīng)的控制電路給出閘門開啟信號(hào),此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù),而是等到被測信號(hào)的上升沿到來時(shí)才真正開始計(jì)數(shù)。然后,兩組計(jì)數(shù)器分別對(duì)被測信號(hào)和時(shí)基信號(hào)脈沖計(jì)數(shù),當(dāng)控制電路給出閘門關(guān)閉信號(hào),此
34、時(shí)計(jì)數(shù)器并不停止計(jì)數(shù),而是等到被測信號(hào)的上升沿到來時(shí)才真正停止計(jì)數(shù)。圖2.3中為輸入信號(hào)頻率,為時(shí)鐘脈沖的頻率。A、B兩個(gè)計(jì)數(shù)器在同一閘門時(shí)間T內(nèi)分別對(duì)和進(jìn)行計(jì)數(shù),計(jì)數(shù)器A的計(jì)數(shù)值,計(jì)數(shù)器B的計(jì)數(shù)值為。由于NA/fx=N/fc=T,則被測頻率和周期分別為:</p><p><b> (2-7)</b></p><p> 式(2-6)中=1/,為時(shí)鐘的周期。圖2.3
35、中同步電路(D觸發(fā)器)的作用在于使計(jì)數(shù)閘門信號(hào)與被測信號(hào)同步,實(shí)現(xiàn)同步開門,并且開門時(shí)間T準(zhǔn)確地等于被測信號(hào)周期的整數(shù)倍,故式(2-6)、(2-7)中的計(jì)數(shù)沒有±1量化誤差。計(jì)數(shù)器雖然有量化誤差,但由于很高,遠(yuǎn)大于1,所以的±1量化誤差的相對(duì)值(±1/)很小,且該誤差與被測頻率無關(guān),因此在整個(gè)測頻范圍內(nèi),多周期同步等精度測量法能夠?qū)崿F(xiàn)等精度的測量。該測試方法需要的除法功能運(yùn)算,對(duì)于使用微處理器的儀器來說,是
36、不難實(shí)現(xiàn)的。</p><p> 考慮計(jì)數(shù)值的±1量化誤差、時(shí)鐘的不確定度和同步門的觸發(fā)誤差時(shí),根據(jù)式(2-6)和式(2-7)可以推導(dǎo)出倒數(shù)計(jì)數(shù)器的測頻、測周期誤差的計(jì)算公式:</p><p><b> (2-8)</b></p><p> 上式中R=20㏒,為被測信號(hào)與噪聲比,k為多周期倍率。與式(2-2)、(2-4)相比較,式
37、(2-8)中沒有對(duì)被測信號(hào)計(jì)數(shù)引起的±1量化誤差,只有計(jì)數(shù)器在同步門T周期的±1計(jì)數(shù)誤差/,而且與被測量信號(hào)的頻率無關(guān),即在整個(gè)測量頻段上是等精度的。這時(shí)多周期同步等精度測量法的測頻、測周期的精度在整個(gè)測量頻段上均可達(dá)到量級(jí)。</p><p> 其原理框圖和時(shí)序圖如圖2.3所示。</p><p> ?。╝)多周期同步等精度測量法原理框</p><p
38、> ?。╞)多周期同步等精度測量法時(shí)序圖</p><p> 圖2.3 (a)多周期同步等精度測量法原理框圖; (b) 多周期同步等精度測量法時(shí)序圖</p><p> 2.2 實(shí)驗(yàn)方案的確定</p><p> 2.2.1 測量方法的確定 </p><p> 經(jīng)過2.1節(jié)對(duì)頻率測量和周期測量方法的分析,得知直接測量法不可能滿足該
39、任務(wù)所要求的測量精度,只要采用多周期同步等精度測量法就可以直接讀出被測信號(hào)的周期值或者頻率值,在中界頻率附近能達(dá)到較高的測量精度?;谝陨嫌懻?,決定選用多周期同步測量法來實(shí)現(xiàn)該數(shù)字頻率計(jì)。</p><p> 2.2.2 頻率測量模塊的方法</p><p> 頻率測量模塊我們選擇等精度測頻法,其實(shí)現(xiàn)方式可用圖2.4來說明。 </p><p> 圖2.4 等精度測
40、頻原理圖</p><p> 當(dāng)方波預(yù)置門控信號(hào)由底變?yōu)楦唠娖綍r(shí),經(jīng)整形后的別測信號(hào)上升沿啟動(dòng)D觸發(fā)器,由D觸發(fā)器的R段同時(shí)啟動(dòng)可控計(jì)數(shù)器 CNTI和CNT2同時(shí)計(jì)數(shù),當(dāng)預(yù)置門為低電平時(shí),隨后而至的被測信號(hào)使可控計(jì)數(shù)器同時(shí)關(guān)閉。設(shè)Fx為整形后的被測信號(hào),F(xiàn)s為基準(zhǔn)頻率信號(hào),若在一次預(yù)置門高電平脈寬時(shí)間內(nèi)被測信號(hào)計(jì)數(shù)值為NX,基準(zhǔn)頻率計(jì)數(shù)值NS,則有:Fx=(Fs/NS)NX</p><p>
41、; 2.2.3 周期測量模塊的方法</p><p> 周期測量與頻率測量完全相同,只是在進(jìn)行計(jì)算時(shí)公式不同,用周期T代換等精度頻率測量公式中的頻率因數(shù)即可。</p><p> 計(jì)算公式為 (2-15)</p><p> 式中,為被測信號(hào)周期的測量值,、分別與(1—2)式中的Ns、含義相同。</p><p> 2.2.
42、4 脈沖寬度測量模塊的方法</p><p> 在進(jìn)行脈沖寬度測量時(shí),首先經(jīng)信號(hào)處理電路進(jìn)行處理,限制只有信號(hào)的50%幅度及其以上部分才能輸入數(shù)字測量部分。脈沖邊沿被處理得非常陡峭,然后送入測量計(jì)數(shù)器進(jìn)行測量。</p><p> 測量電路在檢測到脈沖信號(hào)的上升沿時(shí)打開計(jì)數(shù)器,在下降沿是關(guān)閉計(jì)數(shù)器,設(shè)脈沖寬度為Twx,計(jì)算公式為:Twx=Nx/fs。</p><p>
43、; 2.2.5 周期脈沖信號(hào)占空比測量模塊</p><p> 測一個(gè)脈沖信號(hào)的脈寬,記其值為Twx1;信號(hào)反相后,再測一次脈寬并記錄其值Twx2,通過以下公式汁算:</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ì)待測信號(hào)進(jìn)行放大和整形,以便作為CPLD的輸入信號(hào)。</p>
45、<p> (2) 測頻電路。是測頻的核心電路模塊,由CPLD器件擔(dān)任。</p><p> (3) 單片機(jī)電路模塊。用于控制CPLD的測頻操作和讀取測頻數(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) 鍵盤模塊??梢杂?個(gè)鍵執(zhí)行測試控制,一個(gè)是復(fù)位鍵,其余是命令鍵。</p><p> (6) 數(shù)碼顯示模塊??梢杂?個(gè)數(shù)碼管顯示測試結(jié)果,最高可表示百萬分之一的精度。</p><p> 2.3.1 穩(wěn)壓電源電路</p><p> 本項(xiàng)設(shè)計(jì)要求的電源均為±5V的直流穩(wěn)壓電源。7905空載時(shí)測量輸出在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)和電壓比較器所要求的輸入電壓的最小壓擺率來決定。在本通道中,電壓比較器整形級(jí)是設(shè)計(jì)過零觸發(fā)方式的,因此必須對(duì)輸入信號(hào)過零處的壓擺率予以審查。,從輸入級(jí)到第二放大級(jí)其帶寬大于10MHz的指標(biāo)要求完全可以達(dá)到的。</p><p> 因?yàn)槟M通道部分所用的器件都是帶寬高速器件,為了防止
49、寄生振蕩,在每個(gè)器件的電源引腳附近到地之間均需要加上去耦電容,每組去耦電容由兩種電容并聯(lián)起來,以取得良好的寬頻帶寬去耦效果。其中容量小的(0.1μF)用陶瓷電容,對(duì)高頻分量有良好的去耦作用;容量大的(6.8μF)用鉭電解電容,對(duì)低頻分量有良好的去耦作用。</p><p> 整形級(jí)選用輸出為TTL電平的高速集成雙壓比較器MAX902來構(gòu)成,它比TTL電路有觸發(fā)靈敏度高、因而可降低放大級(jí)增益的優(yōu)點(diǎn);上面已討論過,根
50、據(jù)手冊(cè)提示,使用高速電壓比較器時(shí)必須保證輸入信號(hào)的壓擺率大于手冊(cè)上所給的最小容許值,以免在比較器輸出信號(hào)的前后沿部位產(chǎn)生振蕩。此外電源引腳附近也需要加接良好的去耦電容,布線短,數(shù)字電源和模擬電源的接地要分開,以免比較器輸出端的數(shù)字信號(hào)干擾模擬電路部分的工作。</p><p> 為了防止輸入信號(hào)過大而損壞后面的元器件,在輸入端加上由一個(gè)470電阻和兩個(gè)二極管組成的限幅保護(hù)電路。限幅二極管應(yīng)選用結(jié)電容小,開關(guān)時(shí)間短
51、,容許的正向電流大且正向壓降小的管子,2DK17A開關(guān)二極管是符合上述要求的一種。有時(shí)被測信號(hào)中含有較高的直流分量,為了保證通道放大器正常工作,輸入信號(hào)應(yīng)通過隔直流電容耦合到輸入級(jí)的輸入端,為此還要加上交、直流耦合切換開關(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é)合來實(shí)現(xiàn)。單片機(jī)控制電路如圖2.8所示,其中單片機(jī)完成整個(gè)測量電路的測試控制、數(shù)據(jù)處理和顯示輸出;CPLD完成各種測試功能;鍵盤信號(hào)由89C51單片機(jī)進(jìn)行處理,它從CPLD讀回計(jì)數(shù)器數(shù)據(jù)并進(jìn)行
54、運(yùn)算,然后向顯示電路輸出測量結(jié)果。等精度數(shù)字頻率計(jì)電路系統(tǒng)原理框圖如圖2.8所示。</p><p> 系統(tǒng)的基本工作方式如下:</p><p> (1) P2口是單片機(jī)與CPLD的數(shù)據(jù)傳送通信口,P0口為雙向控制口。P3口利用鍵盤顯示管理芯片ZLG7289作為數(shù)碼管顯示,實(shí)現(xiàn)數(shù)據(jù)顯示。系統(tǒng)的P1口設(shè)置5個(gè)功能鍵:占空比、脈寬、周期、頻率、自檢,進(jìn)行各測試功能的轉(zhuǎn)換。</p>
55、<p> (2) 7個(gè)LED數(shù)碼管組成測量數(shù)據(jù)顯示器,另一個(gè)獨(dú)立的數(shù)碼管用于狀態(tài)顯示。</p><p> (3) Fs為測頻標(biāo)準(zhǔn)頻率50MHz信號(hào)輸入端,由晶體振蕩源電路提供。</p><p> (4) Fx為被測信號(hào)輸入,此待測信號(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ù)字測量電路使用。由公式(2-8)及其討論可知,多周期同步等精度測量法所達(dá)到的測量精度和系統(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鍵的鍵盤矩陣,單片即可完成LED顯示的全部功能。ZLG7289具有的特點(diǎn)和豐富的指令系統(tǒng),使得由其組成的LED顯示和鍵盤電路具有外圍電路簡單,功能強(qiáng)大,使用方便,可靠性高,與MCU接口簡單等特點(diǎn),是LE
58、D顯示和鍵盤電路的首選器件。</p><p> ZLG7289與單片機(jī)的連接如下圖2.9所示。 </p><p> 圖2.9 ZLG7289與單片機(jī)的連接</p><p> 因?yàn)楸驹O(shè)計(jì)用等精度測頻的方法,預(yù)置門時(shí)間為1s,在標(biāo)準(zhǔn)頻率信號(hào)為50MHz的情況下,可以算出測量精度為電路中采用了8位LED顯示器.其中7個(gè)LED數(shù)碼管組成測量數(shù)據(jù)顯示器,另一個(gè)獨(dú)立的數(shù)碼
59、管用于狀態(tài)顯示。當(dāng)測頻率時(shí),有顯示指示,為了保證頻率計(jì)有足夠的顯示時(shí)間,并且在打開門控信號(hào)之前,要先清零,以使測量數(shù)字計(jì)數(shù)器每次從零開始計(jì)數(shù)。</p><p> 第三章 系統(tǒng)軟件設(shè)計(jì)</p><p> 設(shè)計(jì)包括頻率計(jì)的測頻模塊和利用對(duì)單片機(jī)的編程。單片機(jī)的編程又由三部分構(gòu)成:對(duì)CPLD的數(shù)據(jù)讀取及控制信號(hào)輸出,鍵盤電路的掃描以及數(shù)碼管顯示輸出。</p><p>
60、 3.1 CPLD測頻專用模塊的設(shè)計(jì)</p><p> 利用VHDL設(shè)計(jì)的測頻模塊主邏輯結(jié)構(gòu)如圖3.1所示,</p><p> 圖3.1 等精度頻率計(jì)主邏輯結(jié)構(gòu)圖</p><p> 圖3.1中,預(yù)置門控信號(hào)CL可由單片機(jī)發(fā)出,可以證明,在1秒至0.1秒間選擇的范圍內(nèi),CL的時(shí)間寬度對(duì)測頻精度幾乎沒有影響,在此設(shè)其寬度為Tpr。BZH和TF模塊是兩個(gè)可控的32
61、位高速計(jì)數(shù)器,BENA和ENA分別是他們的允許信號(hào)端,高電平有效。標(biāo)準(zhǔn)頻率信號(hào)從BZH的時(shí)鐘輸入端BLCK輸入,設(shè)其頻率為Fs;經(jīng)整形后的被測信號(hào)從與BZH相似的32位計(jì)數(shù)器TF的時(shí)鐘輸入端TCLK輸入,設(shè)其真實(shí)頻率值為,被測量頻率為。測頻原理說明如下:</p><p> 測頻開始前,首先發(fā)出一個(gè)清零信號(hào)CLR,使兩個(gè)計(jì)數(shù)器和D的觸發(fā)器置零,同時(shí)通過信號(hào)ENA,禁止兩個(gè)計(jì)數(shù)器計(jì)數(shù)。這是一個(gè)初始化的操作。然后由單
62、片機(jī)發(fā)出允許測頻命令,即令預(yù)置門控信號(hào)CL為高電平,這時(shí)D觸發(fā)器要一直等到被測信號(hào)的上升沿通過時(shí)Q端才被置1(即令START為高電平),與此同時(shí),將同時(shí)啟動(dòng)計(jì)數(shù)器BZH和TF,進(jìn)入計(jì)數(shù)允許周期。在此期間,BZH和TF分別對(duì)被測信號(hào)(頻率為)和標(biāo)準(zhǔn)頻率信號(hào)(頻率為Fs)同時(shí)計(jì)數(shù)。當(dāng)Tpr秒后,預(yù)置門信號(hào)被單片機(jī)置為低電平,但此時(shí)</p><p> 兩個(gè)計(jì)數(shù)器并沒有停止計(jì)數(shù),一直等到被測信號(hào)的上升沿到來時(shí),才通過D
63、觸發(fā)器將這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。 </p><p> 被測頻率值為,標(biāo)準(zhǔn)頻率值為Fs,設(shè)在一次預(yù)置門時(shí)間Tpr中對(duì)被測信號(hào)計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)頻率信號(hào)的計(jì)數(shù)值為Ns,則下式成立:</p><p><b> (3-1)</b></p><p> 不難得到測得的頻率為: FX=FS×NX/NS
64、 (3-2)</p><p> 最后通過控制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的測控
65、時(shí)序,以及測頻原理,可以寫出相應(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; --待測頻率時(shí)鐘信號(hào)</p><p> CLR:IN STD_LOGIC; --清零和初始化信號(hào)</p><p> CL:IN STD_LOGIC; --當(dāng)SPUL為高電平時(shí),CL為預(yù)置門控信號(hào),用于測頻計(jì)數(shù)</p>
68、;<p> --時(shí)間控制當(dāng)SPUL為低電平時(shí),CL為測脈寬控制信號(hào) </p><p> --CL高電平時(shí)測高電平脈寬而當(dāng)CL為低電平時(shí),測低電平脈寬</p><p> SPUL:IN STD_LOGIC; --測頻或測脈寬控制</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); --測頻計(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 --待測頻率計(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 --待測頻率計(jì)數(shù)值最高8位輸出</p><p> TSQ (31 DOWNTO 24); </p><p> BZH : PROCESS(BCLK, CLR) --標(biāo)準(zhǔn)頻率測試計(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) --待測頻率計(jì)數(shù)器,測頻計(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) ; --測脈寬邏輯</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í),測頻率</p><p> PUL WHEN SPUL='0' ELSE --當(dāng)SPUL為0時(shí),測脈寬和占空比</p><p><b> PUL; </b></p><p> END b
90、ehav;</p><p> 利用VHDL設(shè)計(jì)的測頻模塊其中有關(guān)的接口信號(hào)規(guī)定如下:</p><p> 1、BCLK:標(biāo)準(zhǔn)頻率輸入信號(hào),50MHz。 </p><p> 2、TCLK:待測頻率輸入信號(hào),0.1Hz–10MHz。最高可以為50MHZ。 </p><p> 3、CLR:全局清0和初始化輸入,高電平有效,由單片機(jī)向CPLD發(fā)
91、出。 </p><p> 4、CL:預(yù)置門控制輸入,時(shí)間為1s,高電平有效,由單片機(jī)向CPLD發(fā)出。 </p><p> 5、SPUL:高電平測頻率,低電平測脈寬,由單片機(jī)向CPLD發(fā)出。 </p><p> 6、START:此信號(hào)由單片機(jī)讀取。在測頻時(shí),高電平時(shí)表示進(jìn)入計(jì)數(shù)周期,低電平時(shí)表示計(jì)數(shù)結(jié)束,單片計(jì)可以讀取CPLD中的計(jì)數(shù)。 </p>
92、<p> 7、EEND:在測脈寬期間(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分別是頻率測試仿真波形和脈寬測試仿真波形。</p><p> 從圖3.4可以看出,SPUL='1'時(shí),系統(tǒng)進(jìn)行等精度測頻。這時(shí),CLR一個(gè)正脈沖后,系統(tǒng)被初始化。然后CL被置為高電平,但這時(shí)兩個(gè)計(jì)數(shù)器并未開始計(jì)數(shù)(START='0'),直到此后被測信號(hào)TCLK出現(xiàn)一個(gè)上升沿,START=‘1’時(shí)2個(gè)計(jì)數(shù)器同時(shí)啟動(dòng)分別對(duì)被測信號(hào)和
95、標(biāo)準(zhǔn)信號(hào)開始計(jì)數(shù),其中BZQ和TSQ分別為標(biāo)準(zhǔn)頻率計(jì)數(shù)器和被測頻率計(jì)數(shù)器的計(jì)數(shù)值。由圖可見,在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。由圖可見,計(jì)數(shù)結(jié)果是,對(duì)TCLK的計(jì)數(shù)值是5,對(duì)BCLK的計(jì)數(shù)值是64(十六進(jìn)制)。通過控制S
96、EL就能按照8個(gè)8位將兩個(gè)計(jì)數(shù)器中的32位數(shù)讀入單片機(jī)中進(jìn)行計(jì)算。從圖中的波形可以看出,VHDL部分描述的測頻的功能完全正確。</p><p> 圖3.4 頻率/周期測量仿真圖</p><p> 圖3.5 脈寬/占空比測量仿真圖</p><p> 圖3.5中,取SPUL='0'時(shí),則系統(tǒng)進(jìn)行脈寬測試。為了便于觀察,圖中仿真波形中的TCLK和BC
97、LK的周期分別設(shè)置為75μs和500ns。由VHDL程序和RTL電路圖可以分析,CL和CLR的功能都發(fā)生了變化,前者為'1'時(shí)測信號(hào)高電平的脈寬,為'0'時(shí)測低電平的脈寬;而后者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可見,當(dāng)CL=‘1’,TCLK的高電平脈沖到來時(shí),即啟動(dòng)了BZQ
98、進(jìn)行計(jì)數(shù),而在TCLK的低電平到來時(shí)停止計(jì)數(shù),狀態(tài)信號(hào)EEND則由低電平變?yōu)楦唠娖剑嬖V單片機(jī)計(jì)數(shù)結(jié)束。計(jì)數(shù)值可以通過SEL讀出,這里是4BH。</p><p> 由此不難算出,TCLK的高電平脈寬應(yīng)該等于4BH乘以BCLK的周期。改變CL為‘0’,又能測出TCLK的低電平脈寬,從而可以獲得TCLK的周期和占空比。</p><p> 3.2 單片機(jī)控制與運(yùn)算程序的設(shè)計(jì)</p>
99、;<p> 完成VHDL硬件語言編程,系統(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é)讀取測頻數(shù)據(jù)。</p><p
100、> (2) 單片機(jī)可以通過信號(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”;由低八位到高八位讀出待測頻率計(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é)同控制測試操作。即當(dāng)為‘1’時(shí),CL作為測脈寬控制信號(hào)。這時(shí),CL若為‘1’,測TCLK的高電平脈寬,而當(dāng)CL為‘0’,則測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,高電平有效。每一測頻周期開始時(shí),都應(yīng)該首先清零。</p><p> 3.2.1 單片機(jī)主程序的設(shè)計(jì)</p><p> 當(dāng)系統(tǒng)通過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í)行鍵盤掃描主程序。單片機(jī)控制主程序流程圖如圖3.6。</p><p> 圖3.6 單片機(jī)主程序流程圖</p><p> 3.2.2 頻率、周期計(jì)數(shù)子程序的設(shè)計(jì)</p><p> 如果按下測頻鍵,則開始測量過程:首先,由單片機(jī)的P2.4發(fā)出一個(gè)清零信號(hào)P2.4=1,把計(jì)數(shù)使能
104、信號(hào)START的預(yù)置門控信號(hào)CL置成0。然后P2.5(CL控制端)給出一個(gè)高電平的脈沖,長度控制在0.1秒至1秒之間。在此過程中,CPLD部分已經(jīng)完成測頻的任務(wù)。P2.5(CL控制端)下跳成0后,要有一個(gè)延遲時(shí)間單片機(jī)再開始讀取CPLD信息,這個(gè)延遲由單片機(jī)控制,長度要大于等于待測量信號(hào)的一個(gè)周期。然后就是讀取待測頻率的過程了,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”;由低八位到高八位讀出待測頻率計(jì)數(shù)值。然后單片機(jī)計(jì)算(Fs/Ns)·Nx值,通過ZLG7289傳給LED顯示。</p><p> 在測量周期時(shí)只要將計(jì)算結(jié)果由頻率值取倒數(shù)轉(zhuǎn)換為周期值即可。</p><p> 圖3.7 頻率、
106、周期計(jì)數(shù)子程序流程圖</p><p> 圖3. 8 測周期子程序流程圖</p><p> 圖 3.9 測頻率子程序流程圖</p><p> 3.2.3 脈寬、占空比子程序的設(shè)計(jì)</p><p> 脈寬測量子程序與周期測量子程序基本一致,脈寬測量是將被測量信號(hào)的脈寬作為閘門信號(hào)對(duì)標(biāo)準(zhǔn)頻率計(jì)數(shù)。</p><p>
107、 占空比子程序是分別測量出高低電平的脈寬計(jì)數(shù)值N1,N2,由公式</p><p> 占空比=N1/(N1+N2)*100%算出。</p><p> 圖3.10 脈寬、占空比計(jì)數(shù)子程序流程圖</p><p> 圖3.11 測脈寬子程序流程圖</p><p> 3.2.4 鍵盤掃描及數(shù)碼管顯示子程序的設(shè)計(jì)</p><p
108、> 鍵盤采用的是循環(huán)掃描的工作方式,當(dāng)有鍵輸入時(shí),將讀到的鍵值存入預(yù)存單元,用軟件延時(shí)10ms消除抖動(dòng),再讀鍵值,和原鍵值進(jìn)行比較,若不相同,則繼續(xù)進(jìn)入掃描,如相同,則跳轉(zhuǎn)到相應(yīng)的入口執(zhí)行子程序。</p><p> 單片機(jī)讀入測量結(jié)果后,還要根據(jù)等精度測頻原理進(jìn)行計(jì)算,才能得到最終的測量結(jié)果。</p><p> 圖3.12為鍵盤掃描子程序的流程圖。</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)勢,將測控的主體分配給CPLD,既可滿足頻測對(duì)速度方面的要求和多I/O口的要求,同時(shí)利用單片機(jī)具有良好的人機(jī)接口和控制運(yùn)算的功能,可以較簡單地實(shí)現(xiàn)鍵盤和顯示控制以及數(shù)據(jù)處理運(yùn)算。</p><p> 2. 在頻率測量方面,由于采用了等精度測頻法,使該系統(tǒng)具有以下特點(diǎn):① 相對(duì)
111、測量誤差與被測頻率的高低無關(guān);② 增大或可以增大Ns,減少測量誤差,提高測量精度;③ 測量精度與預(yù)置門寬度和標(biāo)準(zhǔn)頻率有關(guān),與被測信號(hào)的頻率無關(guān),預(yù)置門和常規(guī)測頻閘門時(shí)間相同而被測信號(hào)頻率不同的情況下,等精度測量法的測量精度不變。</p><p> 3. 在顯示方面,采用串行接口8 位LED 數(shù)碼管及64鍵鍵盤智能控制芯片ZLG7289,節(jié)約了I/O口,簡化了驅(qū)動(dòng)電路的設(shè)計(jì)。</p><p&g
112、t;<b> 致謝</b></p><p> 三個(gè)月的時(shí)間很快過去了,在這里首先要感謝院、系領(lǐng)導(dǎo)給予的大力支持,為我們提供了良好的設(shè)計(jì)條件,特別要感謝指導(dǎo)老師——xx老師給予的悉心指導(dǎo)和不厭其煩的熱情幫助。在此謹(jǐn)向?qū)煴硎咀钪孕牡母兄x、并致以崇高的敬意。同時(shí)要感謝參加論文評(píng)審和答辯委員會(huì)的各位老師,感謝他們對(duì)我的論文提出了寶貴的建議。</p><p> 在過去的
113、這段時(shí)間中,我得到了來自各方面的熱情幫助,在此向在我學(xué)業(yè)生涯中所有幫助過我的朋友表示深深的謝意.</p><p><b> 致謝人:楊林娜</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張杰,楊艷麗,馬莉莉等. 基于單片機(jī)C語言的數(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] 李春樹. 基于AT89C51單片機(jī)的等精度數(shù)顯頻率計(jì)[J]. 零陵學(xué)院學(xué)報(bào), 2003,24(2):50~54..</p><p> [4] 王保強(qiáng),竇文,白紅. 高精度測頻方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的智能電子計(jì)數(shù)器的設(shè)計(jì)畢業(yè)論文
- 電子專業(yè)畢業(yè)論文-基于單片機(jī)的智能電子計(jì)數(shù)器的設(shè)計(jì)
- 電子計(jì)數(shù)器的畢業(yè)設(shè)計(jì)
- 畢業(yè)論文--光電計(jì)數(shù)器設(shè)計(jì)及制作
- 頻率計(jì)數(shù)器電路設(shè)計(jì)畢業(yè)論文
- 紅外線自動(dòng)計(jì)數(shù)器的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文范文——單片機(jī)手動(dòng)計(jì)數(shù)器
- 畢業(yè)論文范文——單片機(jī)手動(dòng)計(jì)數(shù)器
- 畢業(yè)論文--基于proteus仿真的頻率計(jì)數(shù)器
- 畢業(yè)論文--基于proteus仿真的頻率計(jì)數(shù)器
- 電子計(jì)數(shù)器的測頻方法
- 機(jī)械電子工程畢業(yè)論文-基于單片機(jī)的生產(chǎn)線成品計(jì)數(shù)器設(shè)計(jì)
- 環(huán)形計(jì)數(shù)器和扭環(huán)形計(jì)數(shù)器設(shè)計(jì)
- 基于at89s52單片機(jī)的紅外計(jì)數(shù)器畢業(yè)論文
- 電子計(jì)數(shù)器課程設(shè)計(jì)報(bào)告
- 頻率計(jì)數(shù)器的設(shè)計(jì)論文
- 計(jì)數(shù)器的原理
- 設(shè)計(jì)的cmos計(jì)數(shù)器與傳統(tǒng)的計(jì)數(shù)器的比較
- 光電計(jì)數(shù)器
- 電子課程設(shè)計(jì)-雙通道計(jì)數(shù)器
評(píng)論
0/150
提交評(píng)論