国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于 FPG A的多功能等精度頻率計(jì)的設(shè)計(jì)

2010-01-29 03:15李紅麗馬耀鋒
中州大學(xué)學(xué)報(bào) 2010年6期
關(guān)鍵詞:測頻數(shù)碼管計(jì)數(shù)

李紅麗,馬耀鋒

(1.中州大學(xué)實(shí)驗(yàn)管理中心,鄭州 450044;2.中州大學(xué)信息工程學(xué)院,鄭州 450044)

1.引言

基于傳統(tǒng)測頻原理[1]的頻率計(jì)將隨被測信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測頻精度,不隨所測信號(hào)的變化而變化,而且在整個(gè)測頻區(qū)域能保持恒定的測頻精度。本課題利用 EDA技術(shù),基于 KHF-5型 CPLD/FPGA實(shí)驗(yàn)開發(fā)系統(tǒng)上的 Altera公司的 EP1K100QC208-3芯片來進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)等精度頻率計(jì)的研究。這使得設(shè)計(jì)過程大大簡化,縮短了開發(fā)周期,減小了電路系統(tǒng)的體積,同時(shí)也有利于保證頻率計(jì)具有較高的精度和較好的可靠性。

2.等精度測頻原理

等精度測頻[2]的實(shí)現(xiàn)方法可以用圖 1來簡化說明。

圖 1 等精度測頻原理框圖

圖 1的門控信號(hào)是可預(yù)置的寬度為 Tpr的一個(gè)脈沖。COUNT1和 COUNT2是兩個(gè)可控計(jì)數(shù)器。標(biāo)準(zhǔn)頻率信號(hào)從COUNT1的時(shí)鐘輸入端 CLK輸入,其頻率為 Fo,待測信號(hào)從COUNT2的時(shí)鐘輸入端 CLK輸入,設(shè)其實(shí)際頻率為 Fxe,測量頻率為 Fx。

當(dāng)門控信號(hào)為高電平時(shí),被測信號(hào)的上沿通過D觸發(fā)器的Q端同時(shí)啟動(dòng)計(jì)數(shù)器 COUNT1和COUNT2。對(duì)被測信號(hào) Fx和標(biāo)準(zhǔn)頻率信號(hào) Fo同時(shí)計(jì)數(shù)。當(dāng)門控信號(hào)為低電平時(shí),隨后而至的被測信號(hào)的上沿將使這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。

3.系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

3.1 預(yù)處理部分

為了獲得 1s的預(yù)置門時(shí)間寬度,需要對(duì) 50MHz標(biāo)準(zhǔn)進(jìn)行 100M分頻,即分得頻率為 0.5Hz,脈寬為 1s的脈沖。而這可由 4個(gè) 100分頻器級(jí)聯(lián)獲得。所以需要設(shè)計(jì)一個(gè) 100分頻器 FreDiv100。為了便于自測與自校,在上面所設(shè)計(jì)的100分頻模塊的基礎(chǔ)上設(shè)計(jì)了占空比可調(diào)的 100分頻模塊FreDiv1_99,實(shí)現(xiàn) 100分頻,并根據(jù) ABCDEFG等 7個(gè)按鍵的二進(jìn)制組合來產(chǎn)生占空比為 1%到 99%的脈沖。為實(shí)現(xiàn)等精度原理中的D觸發(fā)器,其在本設(shè)計(jì)中單獨(dú)設(shè)計(jì)成一個(gè) D觸發(fā)器模塊D_Drigger。因該觸發(fā)器是由觸發(fā)時(shí)鐘輸入信號(hào)S觸發(fā)的,故其輸出信號(hào) Q的脈寬為觸發(fā)時(shí)鐘輸入信號(hào) S的周期的整數(shù)倍。

3.2 測量部分

因?yàn)闇y量頻率與測量周期的原理和所需要計(jì)數(shù)的對(duì)象是一樣的,在至少 1s里分別對(duì)被測信號(hào)和標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),所以在本設(shè)計(jì)中,頻率與周期的測量共用一個(gè)計(jì)數(shù)模塊Counter。而脈寬和占空比的測量都是在被測信號(hào)的 100個(gè)連續(xù)周期里對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù)的,只是它們計(jì)數(shù)的時(shí)間段不一樣,即對(duì)應(yīng)脈寬的計(jì)數(shù)值僅僅需在該 100個(gè)周期里的正脈寬里對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),而對(duì)占空比則不僅僅需要在那100個(gè)正脈寬里對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行,還需要在該完整的 100個(gè)周期里對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),也就是說,對(duì)脈寬的測量和占空比的測量都需要在該 100個(gè)周期里的正脈寬里對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),基于這一點(diǎn),我們應(yīng)該把脈寬和占空比的測量集成到一個(gè)脈寬和占空比同步累加計(jì)數(shù)模塊 CounADD。

3.3 控制部分

控制部分在本設(shè)計(jì)里,只是進(jìn)行測量功能的切換,這并不包括對(duì)自校功能的控制。因?yàn)樽孕9δ艿目刂婆c切換并不需要單獨(dú)的模塊,那只需一個(gè)按鍵與一些邏輯門就可以的了,所以控制部分就只設(shè)計(jì)了一個(gè)功能切換控制模塊 Swap,實(shí)現(xiàn)頻率測量、周期測量、脈寬測量和占空比測量的切換。

3.4 數(shù)據(jù)處理部分

圖 2 等精度頻率、周期、脈寬測量儀的頂層原理圖

由于需要對(duì)前面測量模塊計(jì)得的數(shù)值進(jìn)行運(yùn)算并加以碼制轉(zhuǎn)換和譯碼才能得到最終的測量結(jié)果,在本設(shè)計(jì)中,我們設(shè)計(jì)了數(shù)據(jù)處理需要用到的 32位二進(jìn)制乘法器Multiplier和 32位二進(jìn)制除法器 Divider32。

3.5 顯示部分

由于最終結(jié)果是由數(shù)碼管以十進(jìn)制數(shù)顯示的,而在之前的測量部分和數(shù)據(jù)處理部分里所用的數(shù)制都是二進(jìn)制數(shù),因此我們設(shè)計(jì)了二進(jìn)制碼轉(zhuǎn)換成 BCD碼模塊 B2BCD,把二進(jìn)制數(shù)碼轉(zhuǎn)換成十進(jìn)制數(shù)碼。另外,在本設(shè)計(jì)中,設(shè)計(jì)了 8個(gè)7段數(shù)碼管的位選擇器 Position Select,數(shù)碼管段碼選通模塊Decode,數(shù)碼管 (共陰極)譯碼顯示模塊 Display來實(shí)現(xiàn) 8個(gè)動(dòng)態(tài)數(shù)碼管的“掃描式”顯示。

3.6 頂層原理圖

根據(jù)前面所述各模塊組成等精度頻率、周期、脈寬測量儀的頂層原理圖如圖 2所示。

在圖 2的輸入和輸出引腳說明如下:

LY為自校功能的切換開關(guān),當(dāng)其為 0時(shí),用頻率為 0.5MHz的標(biāo)準(zhǔn)脈沖進(jìn)行自校;當(dāng)其為 1時(shí),用頻率為 5KHz的標(biāo)準(zhǔn)脈沖進(jìn)行自校。

CLK為標(biāo)準(zhǔn)時(shí)鐘 50MHz的輸入端,SIG為被測信號(hào)的測量輸入端,START為測量開始控制開關(guān),當(dāng)其為 1時(shí),真正的測量開始。

1、2、3 、4、5、6和 7是配合 LY開關(guān)使用的 ,即用它們對(duì)不同脈寬范圍和占空比范圍在實(shí)際上的測試與自校,主要是通過它們來改變自校信號(hào)的占空比以檢測本設(shè)計(jì)能否完成指標(biāo)中 1%到 99%的占空比的測試功能。

ALARM為計(jì)數(shù)溢出警報(bào),計(jì)數(shù)超過或等于 4 294 967 295時(shí),即計(jì)數(shù)的開放時(shí)間大于或等于 85 899 345 900ns警報(bào)響起表示所測量的頻率超出量程,以此來計(jì)算,本設(shè)計(jì)的頻率測量范圍應(yīng)為 0.0012Hz-85 899 345 900Hz(85GHz),可實(shí)際上,由于數(shù)碼管的顯示位數(shù)不夠,所以那是看不到的。

H、W則是測量功能的切換控制開關(guān),當(dāng) H、W都沒有按下時(shí)進(jìn)行的是頻率測量;當(dāng) H按下、W沒有按下時(shí)進(jìn)行的是周期測量;當(dāng) H沒有按下、W按下時(shí)進(jìn)行的是脈寬測量;當(dāng)H、W都按下時(shí)進(jìn)行的則是占空比測量。

SEL[2..0]是輸出到芯片上 38譯碼器的,Q1[6..0]是輸出到靜態(tài)數(shù)碼管 1的,Q2[6..0]是輸出到靜態(tài)數(shù)碼管 2的,Q3[6..0]則是輸出到動(dòng)態(tài)數(shù)碼管的。

4.軟件仿真與硬件測試

這里給出兩個(gè)主要測量模塊頻率和周期同步計(jì)數(shù)模塊Counter及脈寬和占空比同步累加計(jì)數(shù)模塊 CounADD在 QUARTUSII6.0上時(shí)序仿真波形圖分別如圖 3、圖 4所示。

圖 3 頻率和周期同步計(jì)數(shù)模塊 Counter時(shí)序波形

圖 3中 CLK的周期為 6ns,SIG的周期為 10ns。從上面的波形仿真圖可以看出,對(duì)標(biāo)準(zhǔn)信號(hào) CLK進(jìn)行計(jì)數(shù)的計(jì)數(shù)值QA和對(duì)待測信號(hào) SIG進(jìn)行計(jì)數(shù)的計(jì)數(shù)值 QB的起始和終止都受 EN的控制,且呈現(xiàn)出一致性。

圖 4 脈寬和占空比同步累加計(jì)數(shù)模塊 CounADD時(shí)序波形

在圖 4中,SIG的周期為 72ns(脈寬為 36ns),CLK的周期為 14ns(脈寬為 7ns),QA、QB分別為在 100個(gè) SIG的正脈寬和周期里對(duì) CLK的計(jì)數(shù)值。從圖 4中可得出,36×100÷14=257≈256,511×14+49=7203,其中 49為開始對(duì) CLK進(jìn)行計(jì)數(shù)前的時(shí)間,即第 4個(gè) CLK上升沿前的時(shí)間,3×14+7=7×7=49。另外,值得注意的是,QA、QB的計(jì)數(shù)起始和終止在本模塊中是同步的,這保證了測量的一致性和精度。

最后,在最終的硬件測試中記錄的幾組數(shù)據(jù):

在 LY=0,START=0時(shí),測得頻率為 0.5MHz(顯示 5 000 000),周期為 2us(顯示 200),脈寬為 0.99us(顯示 99),占空比為 50%(顯示 50)。另外,在 1234567的組合改變時(shí),測得脈寬和占空比都隨之變化,但脈寬總比理論值少 1,占空比測量正確。

在 LY=1,START=0時(shí),測得頻率為 5KHz(顯示 50 000),周期為 200us(顯示 20000),脈寬為 99.99us(顯示9999),占空比為 50%(顯示 50)。另外,在 1234567的組合改變時(shí),測得脈寬和占空比都隨之變化,但脈寬總比理論值少 1;占空比則能正確測量,1%和 99%也可以測量得出。

針對(duì)上述兩種情況,可分析得出,就以上兩組數(shù)據(jù)而言,本設(shè)計(jì)的誤差是穩(wěn)定的,脈寬的測量只有 0.01us的誤差,而頻率和周期則實(shí)現(xiàn) 0誤差。

在 START=1時(shí),測得的幾組數(shù)據(jù)如表 1所示。

表 1 硬件測試結(jié)果

5.結(jié)束語

本設(shè)計(jì)根據(jù)等精度測頻原理(高精度恒誤差測頻原理),以浙江天煌科技實(shí)業(yè)有限公司的“KHF-5型 CPLD/FPGA實(shí)驗(yàn)開發(fā)系統(tǒng)”為硬件基礎(chǔ),采用 VHDL語言進(jìn)行設(shè)計(jì),所選用的設(shè)計(jì)器件為 Altera公司的 EP1K100QC208-3。從仿真和實(shí)測結(jié)果可以看出該系統(tǒng)不但具有較高的測量精度,而且在整個(gè)頻率區(qū)域保持恒定的測量精度。

[1]謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測試 [M].武漢:華中科技大學(xué)出版社,2003.

[2]潘松.EDA技術(shù)與 VHDL[M].2版.北京:清華大學(xué)出版社,2007.

猜你喜歡
測頻數(shù)碼管計(jì)數(shù)
STM32頻率測量誤差分析與比較
古人計(jì)數(shù)
基于51單片機(jī)的分?jǐn)?shù)計(jì)數(shù)器設(shè)計(jì)
微課教學(xué)設(shè)計(jì)之“數(shù)碼管動(dòng)態(tài)顯示”
遞歸計(jì)數(shù)的六種方式
古代的計(jì)數(shù)方法
Arduino編程
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
結(jié)繩計(jì)數(shù)
基于LPC11c14的勵(lì)磁控制器設(shè)計(jì)
都兰县| 汤原县| 广元市| 繁峙县| 鄂托克旗| 游戏| 伊川县| 克拉玛依市| 杂多县| 全南县| 永胜县| 中西区| 乾安县| 江西省| 资兴市| 淅川县| 丘北县| 黎平县| 广宁县| 鹿邑县| 都昌县| 苍山县| 深圳市| 新绛县| 苗栗县| 安仁县| 临猗县| 思南县| 萝北县| 黄龙县| 资溪县| 汉沽区| 威远县| 精河县| 安吉县| 麻阳| 海门市| 延津县| 汝南县| 安丘市| 三亚市|