基于Verilog-HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Verilog-HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Verilog-HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Verilog-HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Verilog-HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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、河南工程學(xué)院EDA課程設(shè)計(jì)系 別電氣信息工程系專 業(yè)電子科學(xué)與技術(shù)班 級(jí) 0941班基于VeriIOg HDL數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)扌商要:在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方 案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。測(cè)量頻率 的方法有多種,其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速,以 及便于實(shí)現(xiàn)測(cè)量過(guò)程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè) 頻有兩種方式:一是直接測(cè)頻法,即在一定閘門(mén)時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù); 二是間接測(cè)頻法,如周期測(cè)頻法。直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,間接測(cè) 頻法適用于低頻信號(hào)的頻率測(cè)量。本文

2、闡述了用VeriIOg HDL語(yǔ)言設(shè)計(jì)了一個(gè) 簡(jiǎn)單的數(shù)字頻率計(jì)的過(guò)程關(guān)鍵詞:周期;EDA;VeriIOgHDL;數(shù)字頻率計(jì);波形仿真目錄1引言。錯(cuò)誤!未定義書(shū)簽。1. 1數(shù)字頻率訃概述喈誤!未定義書(shū)簽。1. 2頻率測(cè)量的思想和方法錯(cuò)誤!未定義書(shū)簽。2Ve rilog HDL簡(jiǎn)介錯(cuò)誤!未定義書(shū)簽。2. 1 Ver訂Og HDL的簡(jiǎn)介。錯(cuò)誤!未定義書(shū)簽。2. 2方案比較103數(shù)字頻率計(jì)設(shè)計(jì)原理以及實(shí)現(xiàn)錯(cuò)誤!未定義書(shū)簽。4總結(jié)。錯(cuò)誤!未定義書(shū)簽。參考文獻(xiàn)嚅誤!未定義書(shū)簽。1引言在電子測(cè)量領(lǐng)域中,頻率測(cè)量的精確度是最髙的,可達(dá)IO- 1 0E-13數(shù)量級(jí)。因此,在 生產(chǎn)過(guò)程中許多物理量,例如溫度、壓力

3、、流量、液位、PH值、振動(dòng)、位移、速度、加速 度,乃至各種氣體的百分比成分等均用傳感器轉(zhuǎn)換成信號(hào)頻率,然后用數(shù)字頻率計(jì)來(lái)測(cè)量, 以提髙精確度。國(guó)際上數(shù)字頻率計(jì)的分類很多。按功能分類,測(cè)量某種單一功能的汁數(shù)器。如頻率計(jì)數(shù) 器,只能專門(mén)用來(lái)測(cè)量高頻和微波頻率;時(shí)間計(jì)數(shù)器,是以測(cè)雖時(shí)間為基礎(chǔ)的訃數(shù)器,其測(cè)時(shí) 分辨力和準(zhǔn)確度很高,可達(dá)ns數(shù)量級(jí);特種訃數(shù)器,它具有特種功能,如可逆計(jì)數(shù)器、予萱 計(jì)數(shù)器、差值訃數(shù)器、倒數(shù)計(jì)數(shù)器等,用于工業(yè)和白控技術(shù)等方而。數(shù)字頻率計(jì)按頻段分類 低速計(jì)數(shù)器:最高計(jì)數(shù)頻率 1 OMH z ; (2)中速計(jì)數(shù)器:最高計(jì)數(shù)頻率IO-IOOMH Z :(3 )高速計(jì)數(shù)器:最高計(jì)數(shù)頻

4、率10 0 MHz: (4)微波頻率計(jì)數(shù)器:測(cè)頻范圍1-8 0 GHZ 或更高。單片機(jī)自問(wèn)世以來(lái),性能不斷提髙和完善,其資源又能滿足很多應(yīng)用場(chǎng)合的需要,加之單 片機(jī)具有集成度髙、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),因此, 在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、髙級(jí)訃算器、家用電器等領(lǐng)域的 應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來(lái)越被人們所 重視。特別是當(dāng)前用CMOSl藝制成的各種單片機(jī),由于功耗低,使用的溫度范圍大,抗干 擾能力強(qiáng)、能滿足一些特殊要求的應(yīng)用場(chǎng)合,更加擴(kuò)大了單片機(jī)的應(yīng)用范用,也進(jìn)一步促使 單片機(jī)性能的發(fā)展。1 .

5、1數(shù)字頻率計(jì)概述頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)泄度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻 率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱閘門(mén)時(shí)間為1秒。閘門(mén)時(shí)間也 可以大于或小于一秒。閘門(mén)時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門(mén)時(shí)間越長(zhǎng)則沒(méi)測(cè)一次 頻率的間隔就越長(zhǎng)。閘門(mén)時(shí)間越短,測(cè)的頻率值刷新就越快,但測(cè)得的頻率精度就受影響。本文數(shù)字頻率訃是用數(shù)字顯示被測(cè)信號(hào)頻率的儀器,被測(cè)信號(hào)可以是正弦波,方波或其它周 期性變化的信號(hào)。如配以適當(dāng)?shù)膫鞲衅?可以對(duì)多種物理量進(jìn)行測(cè)試,比如機(jī)械振動(dòng)的頻率, 轉(zhuǎn)速,聲音的頻率以及產(chǎn)品的計(jì)件等等。因此,數(shù)字頻率計(jì)是一種應(yīng)用很廣泛的儀器電子系 統(tǒng)非常廣泛的

6、應(yīng)用領(lǐng)域內(nèi),到處可見(jiàn)到處理禽散信息的數(shù)字電路。數(shù)字電路制造工業(yè)的進(jìn)步,使得系統(tǒng)設(shè)計(jì)人員能在更小的空間內(nèi)實(shí)現(xiàn)更多的功能,從而提高 系統(tǒng)可靠性和速度。集成電路的類型很多,從大的方面可以分為模擬電路和數(shù)字集成電路2 大類。數(shù)字集成電路廣泛用于計(jì)算機(jī)、控制與測(cè)量系統(tǒng),以及其它電子設(shè)備中。一般說(shuō)來(lái), 數(shù)字系統(tǒng)中運(yùn)行的電信號(hào),英大小往往并不改變,但在實(shí)踐分布上卻有著嚴(yán)格的要求,這是 數(shù)字電路的一個(gè)特點(diǎn)。數(shù)字集成電路作為電子技術(shù)最重要的基礎(chǔ)產(chǎn)品之一,已廣泛地深入到 %個(gè)應(yīng)用領(lǐng)域仏1.2頻率測(cè)星的思想和方法1.頻率測(cè)量的基本思想測(cè)量被測(cè)信號(hào)在單位時(shí)間內(nèi)的脈沖個(gè)數(shù),英數(shù)字表達(dá)式其中:F為被測(cè)信號(hào)的頻率N為脈沖的

7、個(gè)數(shù)T為被測(cè)信號(hào)產(chǎn)生N個(gè)脈沖所需的時(shí)間頻率測(cè)量方法直接測(cè)呈:法:直接測(cè)雖被測(cè)信號(hào)的頻率,通過(guò)計(jì)數(shù)法來(lái)對(duì)被測(cè)信號(hào)在一泄時(shí)間內(nèi)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)。直接廁靈法的結(jié)構(gòu)框圖如圖1.2. 1所示。圖1.2. 1直接測(cè)量法的結(jié)構(gòu)框圖誤差來(lái)源技術(shù)過(guò)程中最大存在著±1個(gè)字的量化誤差 對(duì)時(shí)間t的準(zhǔn)確把握,主要包括準(zhǔn)時(shí)鐘的時(shí)間準(zhǔn)確性、整形電路、分頻電路以及技術(shù)時(shí) 間控制閘門(mén)的開(kāi)關(guān)速度等因素。直接法測(cè)量的最大相對(duì)誤差可以表達(dá)為(df/f )max=±( 1N+ I G ) =± ( I 1/ft + G I )其中:N為脈沖的個(gè)數(shù),G為標(biāo)準(zhǔn)時(shí)鐘的頻率穩(wěn)左性,f為被測(cè)信號(hào)頻率,t為被測(cè)信號(hào)

8、產(chǎn)生N 個(gè)脈沖所需的時(shí)間。功能及技術(shù)指標(biāo)頻率測(cè)量范圍:IOHz 1 OOMHZ測(cè)疑分辨率:IIlZ測(cè)量通道靈敏度:50mVpp通道輸入阻抗:不小于100 k 測(cè)量誤差:+1 測(cè)量結(jié)果顯示:6位數(shù)碼管顯示其中,被測(cè)信號(hào)可以有三種,分別是方波、三角波和正弦波;測(cè)量結(jié)果顯示采用六個(gè)數(shù)碼管來(lái) 顯示:量程為:0、9 99 9 9 9Hz、2 Ve rilog HDL 簡(jiǎn)介2.1 Ve r i I Og HDL 的簡(jiǎn)介Ver i IOg IlDL 是一種硬件描述語(yǔ)言(h a r dwa r e d e S Cri P t i o n IangUa g e)» 為了制作數(shù)位電路(數(shù)字電路)而用來(lái)描

9、述ASICS和FPGAS的設(shè)計(jì)之用。Verilog的設(shè) 計(jì)者想要以C程序語(yǔ)言(en: C Progran-Iming IangUage)為基礎(chǔ)設(shè)計(jì)一種語(yǔ)言,可以使 工程師比較熟悉跟容易接受。事實(shí)上,它產(chǎn)生與C程序語(yǔ)言類似的不嚴(yán)謹(jǐn)性質(zhì),并且大概 與PaSCaI很相像。這種語(yǔ)言跟傳統(tǒng)的程序設(shè)汁語(yǔ)言不同,在于它的程序敘述并非嚴(yán)格地線性(循序)執(zhí)行。Ve r ilog模式包含不同模組(modules)的階層關(guān)系。模組(modules)是輸出GnP U ts) 和輸入(OUtPUt S )所左義出來(lái)的一個(gè)集合。在每個(gè)模組中,有一串的電線(wires).暫存器 (r e g i SterS)和子模組(SU

10、bmOdUIeS)的左義。并且在每個(gè)模組里而,語(yǔ)言敘述大部分 都彼群組成為各種的執(zhí)行區(qū)塊(blocks),用來(lái)泄義該模組所產(chǎn)生的行為描述。在每個(gè)區(qū)塊(bl OCkS)IAJt使用begin和end的關(guān)鍵字來(lái)區(qū)隔開(kāi)來(lái),其中的敘述是循序被執(zhí)行。但是 同一個(gè)設(shè)計(jì),不同的區(qū)塊間的執(zhí)行是平行的。這個(gè)語(yǔ)詳?shù)臄⑹鲋蛹鲜强珊铣?synthesizable)。如果在一個(gè)電路設(shè)計(jì)的模組 中僅包含可合成的敘述,那麼這個(gè)電路設(shè)計(jì)就可以被適當(dāng)?shù)能浖?,轉(zhuǎn)換合成為電腦芯片的電路 1 ayou t o22方案比較在設(shè)訃過(guò)程中,小組的組員由于設(shè)汁思路不同選擇了兩種不同的設(shè)計(jì)方案,現(xiàn)將兩種設(shè)汁方 案呈述如下: 四位數(shù)碼管顯示

11、設(shè)計(jì)方案 六位數(shù)碼管顯示可調(diào)量程設(shè)計(jì)方案經(jīng)過(guò)比對(duì)兩種方案各有優(yōu)劣,第一種方案由于簡(jiǎn)單,可操作性強(qiáng);第二種方案量程大,實(shí)際意 義比較大,所以經(jīng)過(guò)商量,我們組決定兩種設(shè)計(jì)方案都做下來(lái)。3數(shù)字頻率計(jì)設(shè)計(jì)方案及實(shí)現(xiàn)方案一要測(cè)量待測(cè)信號(hào)的頻率,需要一個(gè)基準(zhǔn)信號(hào)對(duì)英計(jì)數(shù)。我選擇了系統(tǒng)自帶的2MHz的時(shí) 鐘信號(hào),通過(guò)分頻器產(chǎn)生0.5HZ的基準(zhǔn)信號(hào),然后利用此信號(hào)髙電平或低電平時(shí)對(duì)輸入信號(hào) 的上升沿計(jì)數(shù),結(jié)果即IS內(nèi)待測(cè)信號(hào)的上升沿?cái)?shù),即頻率。關(guān)于量程的顯示,首先用IS的基準(zhǔn)信號(hào)對(duì)待測(cè)信號(hào)汁數(shù),得到的訃數(shù)值需要進(jìn)行判斷。 判斷過(guò)程如下:0<cn t < 1 0 000,量程 10kHz, IedI

12、滅,en= 01 0000< C nt<l 0 OOOOt 量程 10 0 kHz, I ed2滅,en=l。1 000 0 0<cnt<10 0 0000,量程 1 MHz, Ied 3 滅,e n=2(ent:計(jì)數(shù)值;Iedr3:分別對(duì)應(yīng)量程xl,xl, X 100; en:選擇信號(hào),用于選擇 基準(zhǔn)時(shí)鐘)。通過(guò)en可以從三個(gè)分頻器產(chǎn)生的Is, 01 s. 0.0 Is三個(gè)中選擇一個(gè)合適的時(shí)鐘,通過(guò)訃數(shù)模塊得到計(jì)數(shù)值送到顯示模塊,最后的測(cè)量值為數(shù)碼管顯示值乘以量程代表值。els e begin Cnt=O;CI k =! elk;系統(tǒng)流程圖如下:系統(tǒng)采用自底向上的設(shè)計(jì)

13、方法,最底層采用V e TilogHDL硬件描述語(yǔ)言實(shí)現(xiàn),爾后生成模 塊,連接,調(diào)試。三.方案實(shí)現(xiàn)。由流程圖可以看到共分成8個(gè)模塊。C IoCkr3:三個(gè)分頻器,分別產(chǎn)生Is, 0 . 1 s,0. OIS的時(shí)鐘信號(hào),以CIOCk 1為例,C lk_i n為系統(tǒng)時(shí)鐘,CIk為分頻產(chǎn)生信號(hào)。源代碼如下:mo d UIe C 1 OCkI(C 1 i n , C Ik): CIOCkl;多一 ClknClICinputCo U tput elk;reg CI k ;reg 25:0 ent:aIway S (posed g e CIk_in)Cnt = C n t ÷ 1 ; / (5

14、0 mhz 1 hz=50000000, cnt< 5000000 0 /if(cnt <24 99 9 9 9 9) 2-1=2 4 999 9 99)endendmodule2 ) COUn t 1:計(jì)數(shù)模塊,用IS時(shí)鐘對(duì)待測(cè)信號(hào)計(jì)數(shù),UnknoWn為待測(cè)信號(hào),C nt為計(jì) 數(shù)值。源代碼如下:mod UIeCO Un t 1 (CllG UnknOW n, Cnt);inpu t elk, Un k nown;OUtPUt 24:0 C nt;COUrlt 1ii ClkCntP3.0i UnknQWn in丸reg 24: 0 t emp;Oreg 24: OlC nt:aI

15、wa y s ( p os e d ge Unk nown)begi nOif (Clk)be g ino temP <= t emp+2b' 10;endOeI S eDbeg i n4 if (temp> O ) g o beg i noC n t<=temp;。Oendtemp<=O:>e ndmo d u Ie3) judge:判斷模塊,對(duì)計(jì)數(shù)值進(jìn)行判斷,IedI3代表量程IOkHZt IOOkHz, IMHz, en用 來(lái)選擇基準(zhǔn)信號(hào)。源代碼如下:m O dule judge (Cntl Ie d 1, 1 ed2, led3, e n );in

16、put 24: 0 C nt;OUtPU t IedL 1 e d2, led3;OUtPUt 1: 0 en;re g l:0en;reg IedL 1 e d 2, 1 ed 3 ;al way S ( 1 )begini f (cnt<10 0 00)Dbegi nIedK= 1 :1 ed2<= O ;led3<=O ;e n <=2, bOO;Oendelse i f (c nt<100000& & c n t > 1 OOO O )1 edl<= O ;D1 ed2<= 1 :1 e d 3 <二 O ;en&l

17、t;=2t bl;endel s eObeg i nIed 1 <=0 ;Oled2 V = O;4ed3<=l;-en<= 2, bl ;e ndelsebeg i nIed 1 <=0;I ed2<=0:led3<=0;endende ndmo d UIe4 ) SeI e Ct:通過(guò)en選擇基準(zhǔn)信號(hào),clld3為分頻產(chǎn)生的時(shí)鐘信號(hào),通過(guò)en選出一個(gè)合適的CIk對(duì)待測(cè)信號(hào)計(jì)數(shù)。源代碼如下:modu 1 e SeIeCt (C 1 k 1, c 1 k2t C 1 k 3 l e n, CIk);input CIk 1 , clk2, CIk 3 :inp

18、 U t 1: 0 en:OUtPU t elk:reg elk;a IWa y S ( 1 )i f (e n =O)begi nCI k <=c 1 k 1;Dendels eOb e ginai f (en= 1 )> begina C 1 k<=clk2;o endOeISeObeg i n4f (en=2)beginCI k < = c 1 k3:o e nden dende n dm o dule5)CGUnt2:計(jì)數(shù),cl:T為淸零信號(hào),輸入1淸零,CoUtI4為四個(gè)寄存器,分別存儲(chǔ)讓數(shù) 值的四位數(shù)。源代碼如下:mod U Ie C o unt2 (C 1

19、 k, UnknO Wn, C o utl, C o ut2» cout3, CO U t4» c 1 r);input elk, Un k no¼rn, clr;iCIkOoUtl 3.0.9UnkQQwnut23.OGlrut33.OTI iut43.Orurit2, inst1o U tput 3: 0 c o ut 1 , co u t2, C out3, C OUt 4 ; reg -3: 0 numl, num2, num3, num4;reg 3:0 COUt 1 , COU t 2t c OUt 3 , co u t4;a IWayS (PO S

20、edge UnknOWn)i f (!c I r)b e g inif(clk)e ginif (numl>=9)Z e ginn U ml<=0:if (num2>=9 )o begi no num2<=0;。if ( n u m3>=9)beginn u m 3二0;i f(num4>=9)Obe g inOn um4<= 0 ;Oendelsenum4<= n um4+l;o en dOe ISeD num3<=num 3 + 1 ;endelsenum2<=num2+l;endeISeOnUmI<= n uml+1;en

21、dels ebeginif ( n UmI I n um2 num3 I : n um4) g be g i nbeginyou t K= n UIn1;3COUt 2 <= n UnI2;4 C out3<=num3;co U t 4<=num 4 :dend4 numl<= 0 :o num2<=0;。 n Um3V= 0:。nu m4<=0:4 enddels eYOUtl <=0;。cout2<=0;«COUt 3<=0;o COUt 4<=0;。endendel s ebeg i nACO U tl< = O

22、:ocout2<=0;oC o ut3< = 0;aCOUt 4<= O :>ende n d mo d u Ie 6) : d a t a _mux數(shù)值選擇模塊mo d ul e dat a _mux(disp-select, AO, AIt A2, A3, Q);o U tput 3:0 Q:input 1 : 0 JdiSP_ S elec t ;i nput 3:0 AO, Al, A 2 , A3;reg 3: 0 Q;always ( d i SP-SeIeC t , A3, A 2, Al, A 0 , Q)be g i nCaSeO2' bl 1

23、 : Q <= A 3 ;。2' b 1 0 : Q <= A2 ;2, b 0 1 : Q <= Al;2,b00: Q <= AO;o default: Q <= 4'b0;e ndcas eende ndmod UIe7 ) :di s p s e IeCt 位選模塊m o dule d i s p s e IeC t (C I k , di s P-SeI e ct, Q);OUtPUt 3:0. Q;o UtPUt 1:0 d i SP-SeIe C t;i npu t elk;reg 3:0 Q;r eg 1:0 d i S P-SeI

24、eC t : data-mux.di5p-select1A1p.2p.DA? 3.0Q3.0 inst. dispselectCIk disp-sel ect 1 .00(3.0二 in sta I wa y s (PO S edge C Ik)b eginif(d i S p_s e IeCt < 2' b 1 1)ad is p _s e IeC t <= di s P-Se IeCt + 2, b 1;eIS edisp-SeIeCt <= 2'b0 ;xras e (disp-SeIeCt)2,bll: Q <= 4, bl 1 1 ;2,bl0

25、: Q <= 4,bl011;2, bOl: Q <= 4,b 1 10 1;。2, bOO: Q <= 4, b 111 O :d e fault: Q <= 4 , b 1 111;en d c a s eendendmoduledPdeCQderdisp-select1.0data-outp.OCIk T I 8):disp d ec o der顯示模塊,每位輸出轉(zhuǎn)換為七段數(shù)碼管顯示。源代碼如下: m o dule dispdecoder (disp-sele c t, da t a_o u t, cl k , d ata_ i n);OU

26、tPU t6:0 d a t a_o ut;input1:0 d i SP-SeIect;in P Utelk;i n putL3: 0 data _in;re g 6:0 dat a_out;aIway S (c 1 k , dis P-SeIeCtf da t a_i n , data_OUt)beg ini f (c 1 k )CaSe ( d a t a _ i n)O : data_OU t <= 7, b 10 O OOO O ;/ /O。1 : data_OU t <= 7 , bl 1 11001;/12 : d ata_o U t <= 7, b O 1 O

27、 Ol O 0:/23 : da t a_o u t <=7 Z b0110000;/3。4 : d a ta_ o U t <= 7, b0011001;/4-5 : da t a.out <= 7f b 0100100;/5。6: data_OUt <= 7* b 10 1 1 111:/ / 6C7 : data_o u t <=7, b 000 1 1 1 1;/78 :da t a-out <= 7fbl 1 111 1 1 ;/8a9 : data_ o Ut < =7fbll 0 1 1 11;/ / 9 d e fau 1 t : d

28、ataout <= 7* bl000000;e ndcas e e nd e ndmodule各模塊編譯無(wú)誤后連線組成完整系統(tǒng)。頂層電路圖如下:.!=>7MC<F1r'-nnt"CM(«m2f£/«<CHTGl fJ_=叩訶n<wCi dp !"( £9QPDVrlU I¾¾"-r7wde-irt1 0ct<4ui)8.1)* gr©. QCiiJn gr"CkJn oktrip), jInIrifCKCdUlIp 0)U*r<X<

29、;W1 羽 OJOW創(chuàng)<5 OJSeJ; CkcIu.SQp.I聊Al*JP-OIP!*P糾ruf - .f >» H> ,ms/ i»)Vl*w at400 0 n»4OT0rw*| »|PCry< i62XSrCInlffYd22Z25re Xhi4* 蛍 M阿 hllCIk四.方案測(cè)試頂層圖形文件建立后,對(duì)系統(tǒng)進(jìn)行仿真,由于仿真時(shí)對(duì)輸入輸出信號(hào)的頻率有要求,所以先對(duì)每個(gè)模塊進(jìn)行仿貞"C IOCkI模塊,仿真波形如下:ET m- Bdl由于仿真對(duì)分頻有要求,因此這里只進(jìn)行了低分頻,僅證明程序可進(jìn)行分頻,此波形為10分

30、頻,輸入周期為20ns,輸出2 OOns,結(jié)果正確* 2) j Ud ge 模塊,取 Cnt19二 0,即 Cn t =52 4 288Hz (100k, 1M),仿真波形如下:LPLL今Tam3(9 m也rrtLX0 C<b t01(0» KO)M KOXCwC20三<t9E.翊<tcma>t(i) <v*.C)5)<t>tCK)<otcn)<atC)-<at(ll)L>-<cxi(lD)g心】心®心Y心a】心<10<uCllL<oS1&CSGHJWl応3可見(jiàn)Ie d3為1,

31、符合判斷結(jié)果。3) se 1 e C t模塊,取e n = O 1 ,即選擇c 1 k2 ,仿真波形如由圖可見(jiàn),輸岀C Ik頻率即為CIk2頻率,但是有一立延時(shí)。4 ) d ata_InUX模塊,disp_sele c t輸入為11, Q取值為A3,波形正確SIaUIfttioa r>cd*: Tlrbin¢1U4)PS80 9 uw160. O v>S-IO. P u>320 P n>4. O tt<90 ,0 n5M<Le10 OI2°S3 AaD Ie:1CCA0 AlB OlOlCoLX IOQJ A2B <KaoBLSSJ

32、 A3B :QOOL<j>ZB 8D BOOOl-QOJF '>22-QfZ)I i>23-QClJB >Z<LQCoJ上25EJlctB 111ZaftzH 11»I>>2TL 0a (Il14 IMs<fir Tinw IaDraFanta: ICfi81 n IrtlfllvJ 14S 81 r<2 SQiI: 0 PiEed5) d ispsel e C t位選模塊,根據(jù)輸入波形掃描位碼,GeulA<> cod Tir*lo<< »IPCBrurSl 7 PaSlatl:En

33、ei 9 M eo.o n» IaJ IO uo.o j<jo IO M eo.c6) COUntl模塊,在一個(gè)完整波形C Ik內(nèi)對(duì)UnknOW n計(jì)數(shù),c Ik周期為2us, U nknow n周期為20ns,計(jì)數(shù)轉(zhuǎn)換為十進(jìn)制后為100,結(jié)果正確。SiBvlatib T*efr*5Maitei Tme 8<r.TOusTfPor詢:IXnUc IrteIV1O.OjSIefltEnd I)Ue'NIUe at1.0 US>26cD(2 CGt ur>4Ol H 1. 17 ul.8 21.S WB 0U 0汀皿幀唄測(cè)呱測(cè)呱測(cè)Ininol呱呱n呱呱呱呱

34、測(cè)五、系統(tǒng)框圖方案二數(shù)字頻率計(jì)允許測(cè)量信號(hào)的類型有三種:方波、三角波和正弦波,并且信號(hào)的測(cè)量通道靈敏度 為5 Om Vpp,為此,需要將被測(cè)信號(hào)放大整形成標(biāo)準(zhǔn)的TTL電平的方波型號(hào),便于CPLD/F PGA對(duì)信號(hào)脈沖的計(jì)數(shù)。在按鍵的設(shè)訃中,需要考慮實(shí)際按鍵的消抖問(wèn)題。標(biāo)準(zhǔn)時(shí)鐘為頻 率計(jì)測(cè)量提供精度相對(duì)比較髙的時(shí)基信號(hào),其時(shí)間的穩(wěn)左性與精度將會(huì)直接影響到頻率計(jì)測(cè) 量的準(zhǔn)確性。頻率計(jì)將測(cè)量的結(jié)果通過(guò)6位數(shù)碼管(LED)來(lái)顯示。數(shù)字頻率計(jì)中的C PLD / FPGA是頻率計(jì)的核心,主要實(shí)現(xiàn)在一左時(shí)間內(nèi),對(duì)被測(cè)信號(hào)的脈沖個(gè)數(shù)進(jìn)行計(jì)算,并且轉(zhuǎn) 化為相應(yīng)的頻率值顯示在六個(gè)數(shù)碼管上。首先將系統(tǒng)分成七個(gè)模塊來(lái)

35、分別設(shè)汁仿真。分別有 以下七個(gè)模塊:經(jīng)過(guò)上述模塊化劃分后的結(jié)構(gòu)框如圖4. 1所示圖4.1模塊化劃分后的結(jié)構(gòu)計(jì)數(shù)模塊C O Unter:對(duì)包含被測(cè)信號(hào)頻率信息的脈沖進(jìn)行計(jì)數(shù)門(mén)控模塊g at e_co n trol:根據(jù)量程,控制技術(shù)模塊計(jì)數(shù)。分頻模塊fdiv:將標(biāo)準(zhǔn)時(shí)鐘分頻,得到計(jì)數(shù)以及動(dòng)態(tài)顯示所需的時(shí)鐘。寄存器模塊fl i p.latch:對(duì)計(jì)數(shù)模塊的計(jì)數(shù)值進(jìn)行寄存。多路選擇模塊data_mux:根據(jù)動(dòng)態(tài)選擇信號(hào),選擇相應(yīng)的需要顯示的計(jì)數(shù)值動(dòng)態(tài)為選擇模塊dis pse levt:輸出動(dòng)態(tài)顯示中的位選信號(hào) BCD譯碼模塊di S Pden o der:將BCD碼譯成數(shù)碼管的顯示數(shù)據(jù)計(jì)數(shù)模塊COU

36、nter該模塊主要完成對(duì)被測(cè)信號(hào)經(jīng)過(guò)放大整形后輸入到可編程邏輯器件的F-I N信號(hào)是現(xiàn) 在一左的時(shí)間下的計(jì)數(shù),采用六個(gè)異步BCD碼十進(jìn)制汁數(shù)器來(lái)實(shí)現(xiàn)099 9 999范用的計(jì) 數(shù)。計(jì)數(shù)模塊的結(jié)構(gòu)框圖如圖4. 2. 1所示。"counterUII-ENQ53. 0CLRQ43 0FJNQ33.03Q23. 0-Q13.0Q03. 0F.OUTInStr廠圖4. 2. 1計(jì)數(shù)模塊的結(jié)構(gòu)框圖根拯模塊實(shí)現(xiàn)的功能設(shè)訃VeriIOg HDL源代碼如下:CLR, F_IN, Fj)UT,Q0,Q3, Q2,Q1,modu IeCOU nte r (EN,OUtPUt 3:0Q5, Q4,Q0;O

37、U tput F_ O UT:in p u t EN;i npu t C L R : input F_IN;reg 3: 0 Q5, Q4, Q3,Q2,QbQO ;reg Fj)UT;reg F-OUt0, F_OU t 1, F_out2 ,F-OU t 3, F_ o u t 4 ;a 1 W ays (POS edge F_I N)b egi nQ1,Q2, Q 3 , Q4, Q5);1 , bO)&&(Qo != 4, bl001)beginQO <= Q O + 4' b0001;oF_OUT <= bO:ende Is eb e gin期O

38、<= Af bOO O O;i f(E N = b 1 )&& (CLR1 ,b) && (Ql != 4,bl00 1 )a b egi nO Q 1 <二 Ql + 4' b0001;F_OUT <= l'b;endelseif (EN =二 f bl) && (CLR =b e ginQ4 <= Q4 + 4,b0 0 01;Q 1 <= 4, b 000 0 ;。if (EN = ItbI) && (CLR =二 l,b)&& (Q2!二 4, blOO 1 )

39、begin。 Q2 <二 Q2 + 4, b 0 001:FJ)UT <=1 ,b;endO e ISe。beg i n。Q2 <= 4,b00 0 0;。 if(EN 二= l'bl)&& (CLR =bO)ft(Q3 ! = 4,bl0 0 1 )O beginQ3 <= Q3 + 4,b00 0 1;。 Fj)UT <= 1 z b ;O end。el s e。begi n。Q3 <= 4, b 0 0 0 0 ;a if (EN =二 rbl)&&(CLR = 1,b) &&(Q4!二 4,bl

40、001)。 FJ)UT <= bO :。 endA e 1 Seabeg i nOQ4 <= 4, bOOOO:i f ( (EN = lz bl) && (CLR =二 bO) &&(Q5!= 4, b 1 00 1)be g inQ 5 <= Q5 + 4,b0001:F.OUT <= bO;Dendaelsebe g inQ5 <= 4, b 0000; g F_OUT <= bl;en de nden dendendb eginendend mod U Ieend該模塊雄義輸入端口如下: EN:異步BCD碼十進(jìn)制計(jì)數(shù)器

41、的全局使能信號(hào) CLR:異步BCD碼十進(jìn)制計(jì)數(shù)器復(fù)位信號(hào) F-I N :被測(cè)信號(hào)經(jīng)過(guò)放大與整形處理后的信號(hào)該模塊左義輸出端口如下: F_0UT:超出技術(shù)范圍0為99 9 99的輸出信號(hào),用來(lái)指示提醒用戶選擇更大的量 Q0:計(jì)數(shù)器的最低位輸出 Q 3:計(jì)數(shù)器的第3位輸出 Q 1 :計(jì)數(shù)器的第5位輸出 Q4:計(jì)數(shù)器的第2位輸岀 Q2 :計(jì)數(shù)器的第4位輸岀 Q5:計(jì)數(shù)器的第1位輸出在AIte r a公司的軟件工具QUartU S I I中編譯和波形仿真得到波形如圖4. 2. 2所 /Jx o.4 rit¼川9"*>A八“:<lwH*0c*EYWOi*卜 S 0.豈&l

42、t; 6 % 埠:M "t << .tq ? 'L «1IuMC1訃數(shù)模塊C o Unter的仿貞.波形圖42.2門(mén)控模塊g a teCO n trol門(mén)控模塊實(shí)現(xiàn)檢測(cè)外界量程的選擇,并且根據(jù)咼程輸出控制6位BCD碼十進(jìn)制計(jì)算器的計(jì)數(shù)時(shí)鐘,以及在測(cè)量完一次信號(hào)頻率后,計(jì)數(shù)器訃數(shù)值淸零。計(jì)數(shù)器的涓零要與后級(jí)寄存器 的鎖存時(shí)刻做很好的時(shí)序配合。應(yīng)該實(shí)在計(jì)數(shù)器測(cè)量完一次信號(hào)頻率后,首先將數(shù)據(jù)鎖存到 寄存器,然后再將計(jì)數(shù)器值淸零,這樣可以驚醒下一次測(cè)量。門(mén)控模塊的結(jié)構(gòu)框圖如圖4.3. 1所示gatecontrolSWOLatCheENSWlCOUnter-CIr

43、SW2COUntereENf1hzdps1hzf10hzdp-s10hzf100hzdp-s100hzinst3圖4.3. 1門(mén)控模塊結(jié)構(gòu)框圖根據(jù)模塊實(shí)現(xiàn)的功能設(shè)計(jì)Veri 1 Og HDL源代碼如下:InOdUlega t e_C o ntrol (aSWO, SWl, SW2,o f 1 h z, f IOhZt f 10 0 hz,3LatCh-ENtaCO U nter_C lr>a C OUn t er-EN,aXlP_ S lhz, dp_s IOhz, d P_SIOO h Z);OUtPUt Lat C h_EN;OU t PUt COUnte r_C 1 r :o Ut

44、PU t C OUnt e r_E N :OUtPUt d P _sl h z, dp_s 1 0 h z, d p _ s 10 0 hz;input SW 0 , SWIt SW2 ;input f Ih z f IOhz, f 1 OOhz;reg dp_ S IhZt dp_slOhz, dp-slOO h Z ;reg fref;reg Wire- 1 ;reg Wi r e_ 2 ;/初始化輸入以及中間量in i t i alb e g infref <= b 0 ;W i re_l <= 1 ' b;Wire_2<= 1, b;end/ /根據(jù)不同的外界

45、量程選擇,選擇相應(yīng)的 計(jì)數(shù)基時(shí)鐘always (SWO Or SWI Or SW2o rf 1 hz Or f IOhZ Or f IOOhZ) beginif (SW 2 = bl)beginf r ef <= fl 0 hz;dp_ S Ihz, d p_slOhz, d PeSIOOhz<=3, b 0 0 1;endelse i f (SWI = bl)beginfre f <= fl Ohz;d P _SIhz, d P -SIOhz, dp_ S IOOhz <= 3,b010:endel se i f (SW 0 = 1' b 1 )b e g i

46、nfref <= flhz;dp_slhz, d P -SI 0 hz, d p_s 1OOhz <=3, b 100:endend/根據(jù)不同的訃數(shù)基時(shí)鐘,提供輸出相應(yīng) 的汁數(shù)器計(jì)數(shù)值的淸除脈沖與鎖存器鎖存 脈沖alw ays© (POSed g e fref)b e ginWir e _1<= ! Wi r e_l;endalwa y S ©(negedge fref)be g inWir e _2 <= wire-l;endass i g n C o U nter-EN = Wi r e_1 ;assi g n LatC h _EN=(ICOU

47、nter-EN)& W i r e _ 2 ;as S i gn C o u n t er_CI r = ( ! COUnter _EN) & (! La t Ch-EN) (! Wire _2);e ndmodule該模塊龍義輸入端如下: SWO. SWK SW2 :程選擇開(kāi)關(guān) f lhz: IHZ的標(biāo)準(zhǔn)時(shí)鐘輸入 HOhz: 1 OHZ的標(biāo)準(zhǔn)時(shí)鐘輸入 f 1 00 hz: IOOHZ的標(biāo)準(zhǔn)時(shí)鐘輸入該模塊立義輸入端口如下: LatCh_EN:用來(lái)是能寄存器所存數(shù)據(jù) Counter_Clr:用于計(jì)數(shù)器的淸零 Co u nter_EN:用于使能計(jì)數(shù)器開(kāi)始計(jì)數(shù) dp_slhz:選擇9

48、99999H Z 程時(shí),用于控制顯示中的小數(shù)點(diǎn)位巻 d P-SlOhz:選擇9 9 99.9 9HZ量程時(shí),用于控制顯示中的小數(shù)點(diǎn)位置 dp_s IOOhz:選擇99. 9999II z 程時(shí),用于控制顯示中的小數(shù)點(diǎn)位置在AItera公司的軟件工具QU a rtusll中編譯和波形仿真得到波形如圖4.3.2所示。8 hl £4i« ¼ b>>< Amo*、FtI>)> Y>* 4*U>分頻模塊f div分頻模塊在系統(tǒng)全局時(shí)鐘的驅(qū)動(dòng)下,經(jīng)過(guò)分頻得到系統(tǒng)中所需要的多種頻率成分的時(shí)鐘 信號(hào)。實(shí)際的分頻模塊總共有四個(gè)分頻時(shí)鐘,在程

49、序上只需要改變其參數(shù)要求即可,所以在這 里只介紹50MHZ到1 MHZ的分頻,其余的不在介紹。分頻模塊的結(jié)構(gòu)框圖如圖4. 4.1所示。UIV Iclk.50MClklresetinst圖4 . 4. 1分頻模塊結(jié)構(gòu)框圖很摒模塊實(shí)現(xiàn)的功能設(shè)if- Veril Og H DL源代碼如下:mo d u I e div 1 (clk-50M, ClkL re S e t ): / 端口的左義inp U t CIk_50M, re s e t ;/ / 總的時(shí)鐘是 50MOUtPUt CIkl : /分頻后輸出的時(shí)鐘IKHZreg c Ik 1 ;reg 31: O COUnt: /32 位的計(jì)數(shù)器a

50、IWayS ( P OSe d ge clk-50M Or n e ge d g e r eset) / /異步復(fù)位be g inif (! r e se t )beg i nClk 1 <, d O :COUnt = 3 2 , d;endelse i f (COUnt=3 2 , d 5 0_000)/ 判斷計(jì)時(shí)器記到了 50_0 O O 嗎 beginCOUn t <=32, d; / /計(jì)到5 O _0 O O計(jì)數(shù)器淸零C 1 kl<=clkl: /輸出的時(shí)鐘取反enden d b egine 1 Se COUnt<=count+ dl;/ 沒(méi)計(jì)到 50_Ooo

51、 計(jì)數(shù)器加一end / en d alwa y Senodule /結(jié)朿分頻模塊該模塊泄義輸入端口如下: Clk:全局系統(tǒng)時(shí)鐘信號(hào)該模塊定義輸出端口如下: c 1 kl為分頻信號(hào) res e t為復(fù)位按鍵在Altera公司的軟件工具QUar tusll中編譯和波形仿真得到波形如圖4.4. 2所J euxr< X* 1 v4rH'亍 » X 45 <0 I © AI vl.vwW125 M<*<15<X応"&10eo>LK». 3I 4 I O I圖4.4.2分頻模塊的仿真波形 寄存器模塊f IiPJa t Ch寄存器模塊實(shí)現(xiàn)每一個(gè)測(cè)量頻率時(shí),汁數(shù)器汁算值的暫時(shí)存儲(chǔ)。寄存器模塊的結(jié)構(gòu)框圖如圖45. 1所示。inst2A53.OA43.OA33.OA23.OA13.OAO3.OClkQ53. OQ43.OO33. OQ23. OQ13. OQO3. OfliQ ledch圖45I寄存器模塊根據(jù)模塊實(shí)現(xiàn)的功能設(shè)計(jì)VerilOg H DL源代碼如下:mo d UIe f IiP_ I atch(clk, AO,Al ,A2,A3, A4,A5, Q0, Qb Q2,Q3,Q4, Q5);OUt PUt 3:0 QOt Q 1 , Q2, Q

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論