




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、河南工程學院EDA課程設(shè)計系 別電氣信息工程系專 業(yè)電子科學與技術(shù)班 級 0941班基于VeriIOg HDL數(shù)字頻率計設(shè)計與實現(xiàn)扌商要:在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測量方 案、測量結(jié)果都有十分密切的關(guān)系,因此頻率的測量就顯得更為重要。測量頻率 的方法有多種,其中電子計數(shù)器測量頻率具有精度高、使用方便、測量迅速,以 及便于實現(xiàn)測量過程自動化等優(yōu)點,是頻率測量的重要手段之一。電子計數(shù)器測 頻有兩種方式:一是直接測頻法,即在一定閘門時間內(nèi)測量被測信號的脈沖個數(shù); 二是間接測頻法,如周期測頻法。直接測頻法適用于高頻信號的頻率測量,間接測 頻法適用于低頻信號的頻率測量。本文
2、闡述了用VeriIOg HDL語言設(shè)計了一個 簡單的數(shù)字頻率計的過程關(guān)鍵詞:周期;EDA;VeriIOgHDL;數(shù)字頻率計;波形仿真目錄1引言。錯誤!未定義書簽。1. 1數(shù)字頻率訃概述喈誤!未定義書簽。1. 2頻率測量的思想和方法錯誤!未定義書簽。2Ve rilog HDL簡介錯誤!未定義書簽。2. 1 Ver訂Og HDL的簡介。錯誤!未定義書簽。2. 2方案比較103數(shù)字頻率計設(shè)計原理以及實現(xiàn)錯誤!未定義書簽。4總結(jié)。錯誤!未定義書簽。參考文獻嚅誤!未定義書簽。1引言在電子測量領(lǐng)域中,頻率測量的精確度是最髙的,可達IO- 1 0E-13數(shù)量級。因此,在 生產(chǎn)過程中許多物理量,例如溫度、壓力
3、、流量、液位、PH值、振動、位移、速度、加速 度,乃至各種氣體的百分比成分等均用傳感器轉(zhuǎn)換成信號頻率,然后用數(shù)字頻率計來測量, 以提髙精確度。國際上數(shù)字頻率計的分類很多。按功能分類,測量某種單一功能的汁數(shù)器。如頻率計數(shù) 器,只能專門用來測量高頻和微波頻率;時間計數(shù)器,是以測雖時間為基礎(chǔ)的訃數(shù)器,其測時 分辨力和準確度很高,可達ns數(shù)量級;特種訃數(shù)器,它具有特種功能,如可逆計數(shù)器、予萱 計數(shù)器、差值訃數(shù)器、倒數(shù)計數(shù)器等,用于工業(yè)和白控技術(shù)等方而。數(shù)字頻率計按頻段分類 低速計數(shù)器:最高計數(shù)頻率 1 OMH z ; (2)中速計數(shù)器:最高計數(shù)頻率IO-IOOMH Z :(3 )高速計數(shù)器:最高計數(shù)頻
4、率10 0 MHz: (4)微波頻率計數(shù)器:測頻范圍1-8 0 GHZ 或更高。單片機自問世以來,性能不斷提髙和完善,其資源又能滿足很多應(yīng)用場合的需要,加之單 片機具有集成度髙、功能強、速度快、體積小、功耗低、使用方便、價格低廉等特點,因此, 在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、髙級訃算器、家用電器等領(lǐng)域的 應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機應(yīng)用系統(tǒng)。單片機的潛力越來越被人們所 重視。特別是當前用CMOSl藝制成的各種單片機,由于功耗低,使用的溫度范圍大,抗干 擾能力強、能滿足一些特殊要求的應(yīng)用場合,更加擴大了單片機的應(yīng)用范用,也進一步促使 單片機性能的發(fā)展。1 .
5、1數(shù)字頻率計概述頻率計的基本原理是用一個頻率穩(wěn)泄度高的頻率源作為基準時鐘,對比測量其他信號的頻 率。通常情況下計算每秒內(nèi)待測信號的脈沖個數(shù),此時我們稱閘門時間為1秒。閘門時間也 可以大于或小于一秒。閘門時間越長,得到的頻率值就越準確,但閘門時間越長則沒測一次 頻率的間隔就越長。閘門時間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。本文數(shù)字頻率訃是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波,方波或其它周 期性變化的信號。如配以適當?shù)膫鞲衅?可以對多種物理量進行測試,比如機械振動的頻率, 轉(zhuǎn)速,聲音的頻率以及產(chǎn)品的計件等等。因此,數(shù)字頻率計是一種應(yīng)用很廣泛的儀器電子系 統(tǒng)非常廣泛的
6、應(yīng)用領(lǐng)域內(nèi),到處可見到處理禽散信息的數(shù)字電路。數(shù)字電路制造工業(yè)的進步,使得系統(tǒng)設(shè)計人員能在更小的空間內(nèi)實現(xiàn)更多的功能,從而提高 系統(tǒng)可靠性和速度。集成電路的類型很多,從大的方面可以分為模擬電路和數(shù)字集成電路2 大類。數(shù)字集成電路廣泛用于計算機、控制與測量系統(tǒng),以及其它電子設(shè)備中。一般說來, 數(shù)字系統(tǒng)中運行的電信號,英大小往往并不改變,但在實踐分布上卻有著嚴格的要求,這是 數(shù)字電路的一個特點。數(shù)字集成電路作為電子技術(shù)最重要的基礎(chǔ)產(chǎn)品之一,已廣泛地深入到 %個應(yīng)用領(lǐng)域仏1.2頻率測星的思想和方法1.頻率測量的基本思想測量被測信號在單位時間內(nèi)的脈沖個數(shù),英數(shù)字表達式其中:F為被測信號的頻率N為脈沖的
7、個數(shù)T為被測信號產(chǎn)生N個脈沖所需的時間頻率測量方法直接測呈:法:直接測雖被測信號的頻率,通過計數(shù)法來對被測信號在一泄時間內(nèi)的脈沖個數(shù)進行計數(shù)。直接廁靈法的結(jié)構(gòu)框圖如圖1.2. 1所示。圖1.2. 1直接測量法的結(jié)構(gòu)框圖誤差來源技術(shù)過程中最大存在著±1個字的量化誤差 對時間t的準確把握,主要包括準時鐘的時間準確性、整形電路、分頻電路以及技術(shù)時 間控制閘門的開關(guān)速度等因素。直接法測量的最大相對誤差可以表達為(df/f )max=±( 1N+ I G ) =± ( I 1/ft + G I )其中:N為脈沖的個數(shù),G為標準時鐘的頻率穩(wěn)左性,f為被測信號頻率,t為被測信號
8、產(chǎn)生N 個脈沖所需的時間。功能及技術(shù)指標頻率測量范圍:IOHz 1 OOMHZ測疑分辨率:IIlZ測量通道靈敏度:50mVpp通道輸入阻抗:不小于100 k 測量誤差:+1 測量結(jié)果顯示:6位數(shù)碼管顯示其中,被測信號可以有三種,分別是方波、三角波和正弦波;測量結(jié)果顯示采用六個數(shù)碼管來 顯示:量程為:0、9 99 9 9 9Hz、2 Ve rilog HDL 簡介2.1 Ve r i I Og HDL 的簡介Ver i IOg IlDL 是一種硬件描述語言(h a r dwa r e d e S Cri P t i o n IangUa g e)» 為了制作數(shù)位電路(數(shù)字電路)而用來描
9、述ASICS和FPGAS的設(shè)計之用。Verilog的設(shè) 計者想要以C程序語言(en: C Progran-Iming IangUage)為基礎(chǔ)設(shè)計一種語言,可以使 工程師比較熟悉跟容易接受。事實上,它產(chǎn)生與C程序語言類似的不嚴謹性質(zhì),并且大概 與PaSCaI很相像。這種語言跟傳統(tǒng)的程序設(shè)汁語言不同,在于它的程序敘述并非嚴格地線性(循序)執(zhí)行。Ve r ilog模式包含不同模組(modules)的階層關(guān)系。模組(modules)是輸出GnP U ts) 和輸入(OUtPUt S )所左義出來的一個集合。在每個模組中,有一串的電線(wires).暫存器 (r e g i SterS)和子模組(SU
10、bmOdUIeS)的左義。并且在每個模組里而,語言敘述大部分 都彼群組成為各種的執(zhí)行區(qū)塊(blocks),用來泄義該模組所產(chǎn)生的行為描述。在每個區(qū)塊(bl OCkS)IAJt使用begin和end的關(guān)鍵字來區(qū)隔開來,其中的敘述是循序被執(zhí)行。但是 同一個設(shè)計,不同的區(qū)塊間的執(zhí)行是平行的。這個語詳?shù)臄⑹鲋蛹鲜强珊铣?synthesizable)。如果在一個電路設(shè)計的模組 中僅包含可合成的敘述,那麼這個電路設(shè)計就可以被適當?shù)能浖?,轉(zhuǎn)換合成為電腦芯片的電路 1 ayou t o22方案比較在設(shè)訃過程中,小組的組員由于設(shè)汁思路不同選擇了兩種不同的設(shè)計方案,現(xiàn)將兩種設(shè)汁方 案呈述如下: 四位數(shù)碼管顯示
11、設(shè)計方案 六位數(shù)碼管顯示可調(diào)量程設(shè)計方案經(jīng)過比對兩種方案各有優(yōu)劣,第一種方案由于簡單,可操作性強;第二種方案量程大,實際意 義比較大,所以經(jīng)過商量,我們組決定兩種設(shè)計方案都做下來。3數(shù)字頻率計設(shè)計方案及實現(xiàn)方案一要測量待測信號的頻率,需要一個基準信號對英計數(shù)。我選擇了系統(tǒng)自帶的2MHz的時 鐘信號,通過分頻器產(chǎn)生0.5HZ的基準信號,然后利用此信號髙電平或低電平時對輸入信號 的上升沿計數(shù),結(jié)果即IS內(nèi)待測信號的上升沿數(shù),即頻率。關(guān)于量程的顯示,首先用IS的基準信號對待測信號汁數(shù),得到的訃數(shù)值需要進行判斷。 判斷過程如下: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:計數(shù)值;Iedr3:分別對應(yīng)量程xl,xl, X 100; en:選擇信號,用于選擇 基準時鐘)。通過en可以從三個分頻器產(chǎn)生的Is, 01 s. 0.0 Is三個中選擇一個合適的時鐘,通過訃數(shù)模塊得到計數(shù)值送到顯示模塊,最后的測量值為數(shù)碼管顯示值乘以量程代表值。els e begin Cnt=O;CI k =! elk;系統(tǒng)流程圖如下:系統(tǒng)采用自底向上的設(shè)計
13、方法,最底層采用V e TilogHDL硬件描述語言實現(xiàn),爾后生成模 塊,連接,調(diào)試。三.方案實現(xiàn)。由流程圖可以看到共分成8個模塊。C IoCkr3:三個分頻器,分別產(chǎn)生Is, 0 . 1 s,0. OIS的時鐘信號,以CIOCk 1為例,C lk_i n為系統(tǒng)時鐘,CIk為分頻產(chǎn)生信號。源代碼如下: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:計數(shù)模塊,用IS時鐘對待測信號計數(shù),UnknoWn為待測信號,C nt為計 數(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:判斷模塊,對計數(shù)值進行判斷,IedI3代表量程IOkHZt IOOkHz, IMHz, en用 來選擇基準信號。源代碼如下: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:通過en選擇基準信號,clld3為分頻產(chǎn)生的時鐘信號,通過en選出一個合適的CIk對待測信號計數(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:計數(shù),cl:T為淸零信號,輸入1淸零,CoUtI4為四個寄存器,分別存儲讓數(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各模塊編譯無誤后連線組成完整系統(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四.方案測試頂層圖形文件建立后,對系統(tǒng)進行仿真,由于仿真時對輸入輸出信號的頻率有要求,所以先對每個模塊進行仿貞"C IOCkI模塊,仿真波形如下:ET m- Bdl由于仿真對分頻有要求,因此這里只進行了低分頻,僅證明程序可進行分頻,此波形為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可見Ie d3為1,
31、符合判斷結(jié)果。3) se 1 e C t模塊,取e n = O 1 ,即選擇c 1 k2 ,仿真波形如由圖可見,輸岀C Ik頻率即為CIk2頻率,但是有一立延時。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模塊,在一個完整波形C Ik內(nèi)對UnknOW n計數(shù),c Ik周期為2us, U nknow n周期為20ns,計數(shù)轉(zhuǎ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汀皿幀唄測呱測呱測Ininol呱呱n呱呱呱呱
34、測五、系統(tǒng)框圖方案二數(shù)字頻率計允許測量信號的類型有三種:方波、三角波和正弦波,并且信號的測量通道靈敏度 為5 Om Vpp,為此,需要將被測信號放大整形成標準的TTL電平的方波型號,便于CPLD/F PGA對信號脈沖的計數(shù)。在按鍵的設(shè)訃中,需要考慮實際按鍵的消抖問題。標準時鐘為頻 率計測量提供精度相對比較髙的時基信號,其時間的穩(wěn)左性與精度將會直接影響到頻率計測 量的準確性。頻率計將測量的結(jié)果通過6位數(shù)碼管(LED)來顯示。數(shù)字頻率計中的C PLD / FPGA是頻率計的核心,主要實現(xiàn)在一左時間內(nèi),對被測信號的脈沖個數(shù)進行計算,并且轉(zhuǎn) 化為相應(yīng)的頻率值顯示在六個數(shù)碼管上。首先將系統(tǒng)分成七個模塊來
35、分別設(shè)汁仿真。分別有 以下七個模塊:經(jīng)過上述模塊化劃分后的結(jié)構(gòu)框如圖4. 1所示圖4.1模塊化劃分后的結(jié)構(gòu)計數(shù)模塊C O Unter:對包含被測信號頻率信息的脈沖進行計數(shù)門控模塊g at e_co n trol:根據(jù)量程,控制技術(shù)模塊計數(shù)。分頻模塊fdiv:將標準時鐘分頻,得到計數(shù)以及動態(tài)顯示所需的時鐘。寄存器模塊fl i p.latch:對計數(shù)模塊的計數(shù)值進行寄存。多路選擇模塊data_mux:根據(jù)動態(tài)選擇信號,選擇相應(yīng)的需要顯示的計數(shù)值動態(tài)為選擇模塊dis pse levt:輸出動態(tài)顯示中的位選信號 BCD譯碼模塊di S Pden o der:將BCD碼譯成數(shù)碼管的顯示數(shù)據(jù)計數(shù)模塊COU
36、nter該模塊主要完成對被測信號經(jīng)過放大整形后輸入到可編程邏輯器件的F-I N信號是現(xiàn) 在一左的時間下的計數(shù),采用六個異步BCD碼十進制汁數(shù)器來實現(xiàn)099 9 999范用的計 數(shù)。計數(shù)模塊的結(jié)構(gòu)框圖如圖4. 2. 1所示。"counterUII-ENQ53. 0CLRQ43 0FJNQ33.03Q23. 0-Q13.0Q03. 0F.OUTInStr廠圖4. 2. 1計數(shù)模塊的結(jié)構(gòu)框圖根拯模塊實現(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碼十進制計數(shù)器
41、的全局使能信號 CLR:異步BCD碼十進制計數(shù)器復位信號 F-I N :被測信號經(jīng)過放大與整形處理后的信號該模塊左義輸出端口如下: F_0UT:超出技術(shù)范圍0為99 9 99的輸出信號,用來指示提醒用戶選擇更大的量 Q0:計數(shù)器的最低位輸出 Q 3:計數(shù)器的第3位輸出 Q 1 :計數(shù)器的第5位輸出 Q4:計數(shù)器的第2位輸岀 Q2 :計數(shù)器的第4位輸岀 Q5:計數(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門控模塊g a teCO n trol門控模塊實現(xiàn)檢測外界量程的選擇,并且根據(jù)咼程輸出控制6位BCD碼十進制計算器的計數(shù)時鐘,以及在測量完一次信號頻率后,計數(shù)器訃數(shù)值淸零。計數(shù)器的涓零要與后級寄存器 的鎖存時刻做很好的時序配合。應(yīng)該實在計數(shù)器測量完一次信號頻率后,首先將數(shù)據(jù)鎖存到 寄存器,然后再將計數(shù)器值淸零,這樣可以驚醒下一次測量。門控模塊的結(jié)構(gòu)框圖如圖4.3. 1所示gatecontrolSWOLatCheENSWlCOUnter-CIr
43、SW2COUntereENf1hzdps1hzf10hzdp-s10hzf100hzdp-s100hzinst3圖4.3. 1門控模塊結(jié)構(gòu)框圖根據(jù)模塊實現(xiàn)的功能設(shè)計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)的 計數(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ù)基時鐘,提供輸出相應(yīng) 的汁數(shù)器計數(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 :程選擇開關(guān) f lhz: IHZ的標準時鐘輸入 HOhz: 1 OHZ的標準時鐘輸入 f 1 00 hz: IOOHZ的標準時鐘輸入該模塊立義輸入端口如下: LatCh_EN:用來是能寄存器所存數(shù)據(jù) Counter_Clr:用于計數(shù)器的淸零 Co u nter_EN:用于使能計數(shù)器開始計數(shù) dp_slhz:選擇9
48、99999H Z 程時,用于控制顯示中的小數(shù)點位巻 d P-SlOhz:選擇9 9 99.9 9HZ量程時,用于控制顯示中的小數(shù)點位置 dp_s IOOhz:選擇99. 9999II z 程時,用于控制顯示中的小數(shù)點位置在AItera公司的軟件工具QU a rtusll中編譯和波形仿真得到波形如圖4.3.2所示。8 hl £4i« ¼ b>>< Amo*、FtI>)> Y>* 4*U>分頻模塊f div分頻模塊在系統(tǒng)全局時鐘的驅(qū)動下,經(jīng)過分頻得到系統(tǒng)中所需要的多種頻率成分的時鐘 信號。實際的分頻模塊總共有四個分頻時鐘,在程
49、序上只需要改變其參數(shù)要求即可,所以在這 里只介紹50MHZ到1 MHZ的分頻,其余的不在介紹。分頻模塊的結(jié)構(gòu)框圖如圖4. 4.1所示。UIV Iclk.50MClklresetinst圖4 . 4. 1分頻模塊結(jié)構(gòu)框圖很摒模塊實現(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 ;/ / 總的時鐘是 50MOUtPUt CIkl : /分頻后輸出的時鐘IKHZreg c Ik 1 ;reg 31: O COUnt: /32 位的計數(shù)器a
50、IWayS ( P OSe d ge clk-50M Or n e ge d g e r eset) / /異步復位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)/ 判斷計時器記到了 50_0 O O 嗎 beginCOUn t <=32, d; / /計到5 O _0 O O計數(shù)器淸零C 1 kl<=clkl: /輸出的時鐘取反enden d b egine 1 Se COUnt<=count+ dl;/ 沒計到 50_Ooo
51、 計數(shù)器加一end / en d alwa y Senodule /結(jié)朿分頻模塊該模塊泄義輸入端口如下: Clk:全局系統(tǒng)時鐘信號該模塊定義輸出端口如下: c 1 kl為分頻信號 res e t為復位按鍵在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寄存器模塊實現(xiàn)每一個測量頻率時,汁數(shù)器汁算值的暫時存儲。寄存器模塊的結(jié)構(gòu)框圖如圖45. 1所示。inst2A53.OA43.OA33.OA23.OA13.OAO3.OClkQ53. OQ43.OO33. OQ23. OQ13. OQO3. OfliQ ledch圖45I寄存器模塊根據(jù)模塊實現(xiàn)的功能設(shè)計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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境災(zāi)害應(yīng)急響應(yīng)公眾參與重點基礎(chǔ)知識點歸納
- 如何有效進行房地產(chǎn)項目招投標
- 長短樁復合地基
- 手術(shù)匠心獨運 超酷手術(shù)操作步驟詳解
- 房地產(chǎn)項目開發(fā)中的公共關(guān)系管理
- 保險公司評選活動方案
- 保險培訓紅包活動方案
- 保險線上沙龍活動方案
- 信任經(jīng)濟學講座活動方案
- 信用關(guān)愛活動方案
- 2025-2030肺癌手術(shù)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 農(nóng)村飲水安全工程可行性研究報告
- 一級注冊建筑師真題含答案2025年
- 工業(yè)大數(shù)據(jù)的安全與隱私保護-洞察闡釋
- 上海教育版數(shù)學八年級上冊《直角三角形》導學案
- 數(shù)字經(jīng)濟背景下的財務(wù)共享中心建設(shè)
- 2025年安全月主要責任人講安全課件三:安全月主題宣講課件
- 病原微生物識別技巧試題及答案
- 初中語文第23課《“蛟龍”探?!氛n件-2024-2025學年統(tǒng)編版語文七年級下冊
- 烤串加盟合同協(xié)議
評論
0/150
提交評論