采用測頻原理的數字頻率計_第1頁
采用測頻原理的數字頻率計_第2頁
采用測頻原理的數字頻率計_第3頁
采用測頻原理的數字頻率計_第4頁
采用測頻原理的數字頻率計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、學號:式修理7次學應用設計課程名FPGA原理及應用題目采用測頻原理的數字頻率計學院信息工程學院專業(yè)通信工程班級姓名指導教師陳適2021年6月20日課程設計任務書學生姓名:專業(yè)班級:通信1405班指導教師:陳適工作單位:信息工程學院題目:采用測頻原理的數字頻率計初始條件:VHDL硬件描述語言,QuartusII開發(fā)環(huán)境要求完成的主要任務:1 .采用測頻法,設計一個4位十進制數字顯示的數字頻率計2 .其測量的范圍為19999KHz課程設計進度安排序號階段內容所需時間1力泵設計1天2軟件設計2天3系統(tǒng)調試1天4撰寫1天合計5天指導教師簽名:系主任或責任教師簽名:目錄摘要I.AbstractII1 F

2、PGA、VHDL以及QuartusII簡介1.1.1 FPGA簡介.1.1.2 VHDL簡介1.1.3 QuartusII簡介2.2頻率測量原理及方案3.2.1 設計要求3.2.2 測頻原理3.3系統(tǒng)設計4.3.1 系統(tǒng)實現(xiàn)方案提出及確定4.3.2 系統(tǒng)組成5.4數字頻率計VHDL設計與仿真6.5心得體會116參考文獻12附錄1.3摘要數字頻率計是采用數字電路制做成的能實現(xiàn)對周期性變化信號頻率測量的儀器.頻率計主要用于測量正弦波、矩形波、三角波和尖脈沖等周期信號的頻率值,其擴展功能可以測量信號的周期和脈沖寬度.數字頻率計是數字電路中的一個典型應用,實際的硬件設計用到的器件較多,連線比擬復雜,而

3、且會產生比擬大的延時,造成測量誤差.假設使用現(xiàn)場可編程門陣列FPGA來實現(xiàn),可使整個系統(tǒng)大大簡化,而且提升了系統(tǒng)的整體性能和可靠性.本文介紹了測頻原理,在此根底上描述了如何通過VHDL語言編程,在QuartusII仿真平臺上編譯、仿真、調試,設計出一個4位十進制數字顯示的數字頻率計.關鍵字:FPGA,數字電路,測頻法,數字頻率計AbstractDigitalfrequencymeterismadeofdigitalcircuitsystemcanachieveperiodicchangesignalfrequencymeasurementinstrument.Frequencymeterism

4、ainlyusedtomeasuresinewave,rectangularwave,trianglewaveandsharppulseandotherperiodicsignalfrequencyvalue.Itsexpansionfunctioncanmeasurethesignalcycleandpulsewidth.Digitalfrequencymeterisatypicalapplicationofdigitalcircuit,theactualhardwaredesignusedmoredevices,wiringismorecomplex,andwillproducerelat

5、ivelylargedelay,resultinginmeasurementerror.IfthefieldprogrammablegatearrayFPGAisused,thewholesystemcanbegreatlysimplified,andthewholeperformanceandreliabilityofthesystemcanbeimproved.Thispaperintroducestheprincipleoffrequencymeasurement,basedonthedescriptionofhowtousetheVHDLprogramminglanguage,inth

6、eQuartusIIsimulationplatformcompiler,simulationanddebugging,thedesignofadigitalfrequency4decimaldigitaldisplaymeter.Keywords:FPGA,digitalcircuit,frequencymeasuringmethod,digitalfrequencymeter1 FPGA、VHDL以及QuartusII簡介首先對設計所采用的可編程邏輯器件FPGA、VHDL和QuartusII進行簡單的介紹1.1 FPGA簡介FPGA是20世紀80年代中期出現(xiàn)的高密度可編程邏輯器件,它一般由

7、布線資源分隔的可編程邏輯單元構成陣列,又由可編程I/O單元圍繞陣列構成整個芯片,排列陣列的餓邏輯單元由布線通道中的可編程內連線連接起來實現(xiàn)一定的邏輯功能.一個FPGA包含豐富的具有快速系統(tǒng)速度的邏輯門、存放器和I/O組成.FPGA/CPLD芯片都是特殊的ASIC芯片,除了具有ASIC的特點外還有一下幾個優(yōu)點:隨著超大規(guī)模集成電路VLSI工藝的不斷提升,單一芯片內部可以容納上百萬個晶體管;FPGA/CPLD芯片出廠前100%都做過測試,不需要設計人員承當風險和費用;用戶可以反復地編程、擦除、使用或者在外圍電路不動的的情況下,用不同軟件就可實現(xiàn)不同的功能,用FPGA/CPLD試制樣片,能以最快的速

8、度占領市場.FPGA/CPLD軟件包中有各種輸入工具、仿真工具、幅員設計及編程器等全線產品,使電路設計人員在較短的時間內就可以完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作.1.2 VHDL簡介VHDL語言是一種用于電路設計的高級語言.它在80年代的后期出現(xiàn).最初是由美國國防部開發(fā)出來供美軍用來提升設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言VHDL的英文全寫是:VHSICVeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage譯成中文就是超高速集成電路硬件描述語言.因此它的應用主要是應用在數字電路的設計中.目前,它在中

9、國的應用多數是用在FPGA/CPLD/EPLD的設計中.當然在一些實力較為雄厚的單位,它也被用來設計ASIC.VHDL主要用于描述數字系統(tǒng)的結構,行為,功能和接口.除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言.VHDL的程序結構特點是將一項工程設計,或稱設計實體可以是一個元件,一個電路模塊或一個系統(tǒng)分成外部或稱可視局部,及端口和內部或稱不可視局部,既涉及實體的內部功能和算法完成局部.在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體.這種將設計實體分成內外局部的概念是VHDL系統(tǒng)設計的根本點.VHDL

10、主要特點有:1功能強大、設計靈活(2)支持廣泛、易于修改(3)強大的系統(tǒng)硬件描述水平(4)獨立于器件的設計、與工藝無關(5)很強的移植水平(6)易于共享和復用VHDL系統(tǒng)優(yōu)勢:(1)與其他的硬件描述語言相比,VHDL具有更強的行為描述水平,從而決定了他成為系統(tǒng)設計領域最正確的硬件描述語言.強大的行為描述水平是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證.(2)VHDL豐富的仿真語句和庫函數,使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬.(2)VHDL語句的行為描述水平和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能.符合

11、市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn).(3)對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設計轉變成門級網表.(4)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必治理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計.1.3QuartusII簡介QuartusII作為一種可編程邏輯的設計環(huán)境,由于其強大的設計水平和直觀易用的接口,越來越受到數字系統(tǒng)設計者的歡送.當前官方提供下載的最新版本是v13.0.QuartusII(3.0和更高版本)設計軟件是業(yè)界唯一提供FPGA和固定功能Har

12、dCopy器件統(tǒng)一設計流程的設計工具.工程師使用同樣的低價位工具對StratixFPGA進行功能驗證和原型設計,又可以設計HardCopyStratix器件用于批量成品.系統(tǒng)設計者現(xiàn)在能夠用QuartusII軟件評估HardCopyStratix器件的性能和功耗,相應地進行最大吞吐量設計.QuartusII可編程邏輯軟件屬于第四代PLD開發(fā)平臺.該平臺支持一個工作組環(huán)境下的設計要求,其中包括支持基于Internet的協(xié)作設計.Quartus平臺與Cadence.ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供給商的開發(fā)工具相兼容,改良了

13、軟件的LogicLock模塊設計功能,增添了FastFit編譯選項,推進了網絡編輯性能,而且提升了調試水平.2頻率測量原理及方案2.1 設計要求1 .采用測頻法,設計一個4位十進制數字顯示的數字頻率計2 .其測量的范圍為19999KHz2.2 測頻原理數字頻率計是用于測量信號頻率的電路.本設計采用測頻原理對數字頻率計進行設計,下面對測頻原理進行簡要介紹.測頻率時,以分頻后的時鐘信號作為閘門信號,由于輸入信號的頻率大于閘門信號頻率,所以在閘門信號周期內,計算輸入信號的周期數目,就可以計算出輸入信號的頻率值了.原理圖如圖1所示:被測信號閘門信號在確定的閘門時間號的頻率為:fx=Nx/Tw的數值Nx

14、有關.圖1原理圖Tw內,記錄被測信號的變化周期數或脈沖個數Nx,那么被測信這種方法的計數值會產生土個字誤差,測試精度與計數器中記錄3系統(tǒng)設計3.1 系統(tǒng)實現(xiàn)方案提出及確定方法一:采用小規(guī)模數字集成電路制作被測信號經過放大整形變換為脈沖信號后加到主控門的輸入端,時基信號經限制電路產生閘門信號送至主控門,只有在閘門信號采樣期間內輸入信號才通過主控門,假設時基信號周期為T,進入計數器的輸入脈沖數為N,那么被信號的測頻率其頻率F=N/T,其原理方框圖如圖2所示圖2方案一測頻原理圖方案二:采用單片機進行測頻限制單片機技術比擬成熟,功能也比擬強大,被測信號經放大整形后送入測頻電路,由單片機對測頻電路的輸出

15、信號進行處理,得出相應的數據送至顯示器顯示.原理方框圖如圖3所示.圖3單片機測頻電路原理圖采用這種方案優(yōu)點是依賴成熟的單片機技術、運算功能較強、軟件編程靈活、自由度大、設計本錢也較低,缺點是顯而易見的,在傳統(tǒng)的單片機設計系統(tǒng)中必須使用許多分立元件組成單片機的外圍電路,整個系統(tǒng)顯得十分復雜,并且單片機的頻率不能做得很高,使得測量精度大大降低.萬案三:采用現(xiàn)場可編程門陣列FPGA為限制核心采用現(xiàn)場可編程門陣列FPGA為限制核心,利用VHDL語言編程,下載燒制實現(xiàn).將所有器件集成在一塊芯片上,體積大大減小的同時還提升了穩(wěn)定性,可實現(xiàn)大規(guī)模和超大規(guī)模的集成電路,測頻測量精度高,測量頻率范圍大,而且編程

16、靈活、調試方便.綜合上述分析,方案三為本設計測量局部最正確選擇方案.3.2 系統(tǒng)組成如圖4所示,本系統(tǒng)包含輸入模塊,FPGA模塊,顯示模塊.輸入模塊包括基準時鐘,復位信號和被測信號.FPGA模塊是系統(tǒng)的核心局部,其包括分頻、7位十進制計數器、數據處理和動態(tài)譯碼.當系統(tǒng)正常工作時,分頻局部的作用是對基準時鐘進行分頻,得到一個閘門信號,作為7位十進制計數器的使能信號.數據處理局部用于取7位十進制計數器的有效高4位數據,送入動態(tài)顯示譯碼局部進行顯示譯碼.顯示模塊用于顯示頻率值.FPGA基準時鐘J分頻I復位信號被測信號7位十進制計數器數據處理態(tài)示碼動U譯圖4系統(tǒng)組成框圖4數字頻率計VHDL設計與仿真本

17、設計采用QuartusII13.1對數字頻率計進行設計.設計步驟如下:(1)翻開工程及設計輸入1)雙擊桌面QuertusII13.1的圖標翻開軟件;2)File>OpenProject翻開事先已經創(chuàng)立并保存的工程文件,文件及源代碼初始頁面如圖5所示;注意:文件夾要用英文命名圖5初始界面示意圖3)運行程序得到設置界面,此時需要先添加中間變量再設置各個變量參數的數據類型,運行設置圖如圖6所示;圖6運行設置圖存放器等參量如圖6所示,例如b1b7,bcd0bcd3等.這里我們將顯示類型設置為波形;clkl的值設置為100ns,顯示波形也設置為要添加的管腳、rtnclk的值設置為10.0ns,波形

18、;start的初始值為十進制顯示.1";b1b7、bcd、bcd0bcd3以及q和qq的數值類型都設置為(2)功能仿真1)保存設置參數后點擊界面上方的“運行按鈕,耐心等待幾分鐘(運行時長和參圖7仿真圖由輸入設置我們可以計算出理論值:Nx=5000X10=50000fx=50000/200=250仿真后輸出b3b2b1的值為253,與理論值相比擬存在很小的誤差,根本上可以認為是一致的,從而得出仿真結果正確的結論.2鼠標點擊左上方“調節(jié)圖標后光標變?yōu)椤?號,點擊鼠標左鍵放大圖片點擊鼠標右鍵縮小圖片調節(jié)界面以直觀得觀察輸入輸出,放大后的界面如圖8所示;圖8放大后的仿真圖由放大后的仿真圖,我

19、們可以清楚得看到q欄和qq欄的逐個計數,也可以很明顯得觀察到clk信號波形和clkl信號得波形關系.3點擊菜單欄的“Tools,從下拉列表里選擇“NetistViewers",再從下一級的下拉列表中選擇“RTLViewers便可得RTL圖,如圖9所示;(1IL-kF圖9RTL圖4通過調出綜合圖可以得到綜合的實驗數據,比方總的存放器個數Totalregisters以及RevisionName,Totalmemorybits等,FlowSummary截圖如圖10所示;圖10綜合圖5心得體會本設計采用FPGA技術,利用測頻法的原理和VHDL語言,采用自頂向下的設計方法,實現(xiàn)了1Hz10kH

20、z測量范圍的四位十進制的數字頻率計,并在QuartusII軟件平臺下對設計工程進行的了編譯和時序仿真.實驗結果說明,該系統(tǒng)能夠滿足本次設計的要求,并且具有測量誤差小,可靠性高的優(yōu)點.通過本次FPGA課程設計,我發(fā)現(xiàn)了自己的很多缺乏,發(fā)現(xiàn)了很多知識上的漏洞.同時也看到了自己的實踐經驗還是比擬缺乏,理論聯(lián)系實際的水平還急需提升.這次課程設計讓我學到了很多,不僅是穩(wěn)固了先前學的EDA技術的理論知識,而且也培養(yǎng)了我的動手水平,更令我的創(chuàng)造性思維得到拓展.在課程設計中一個人的力量是遠遠不夠的,真正的完成任務需要共同的智慧與勞動,團結協(xié)作是我們成功的一項非常重要的保證.在這個過程中,我也曾經由于實踐經驗的

21、缺乏失落過,也曾經為仿真成功而熱情高漲.我在本次課程設計中學到的另一個重要的品質是細心認真.在此次設計中,由于編程的時候沒有做到足夠的細心,導致一串代碼弄混了.但是密密麻麻的英文字母混在一起,我始終沒有發(fā)現(xiàn).最終在調試的時候,就出現(xiàn)了問題.只知道出現(xiàn)了問題,就是不知道到問題的根源在哪里,好長時間都沒有找出問題的所在.這也讓我真正的明白了科學的嚴謹性,它不允許出半點過失,否那么后果會是比擬麻煩的.做其他事情也一樣,都需要我們付出足夠的認真去對待,才能順利的完成.對我而言,知識上的收獲重要,精神上的豐收更加可喜.本次應用設計讓我知道了學無止境的道理.我們每一個人永遠不能滿足于現(xiàn)有的成就,人生就像在

22、爬山,一座山峰的后面還有更高的山峰在等著你.這次課程設計不僅夯實了我的理論根底,鍛煉了我的動手實踐做工程的水平,對今后的職業(yè)開展也有很大的參考價值.6參考文獻1劉睿強、陳鴻、鄧顯林.FPGA應用技術及實驗.北京理工大學出版社.2021.12顧巨峰、周浩洋.基于可編程邏輯器件的多功能數字頻率計.東南大學出版社.2002.53趙曙光、郭萬有.可編程邏輯器件原理、開發(fā)與應用.西安電子科技大學出版社,2000.14杜建國.VerilogHDL硬件描述語言.國防工業(yè)出版社.2021.8.5趙雅興.FPGA原理、設計與應用.天津大學出版社.1999.126李景華,杜玉遠.可編程邏輯器件與EDA技術.東北大

23、學出版社.2002.5附錄源代碼:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitypljisport(start:instd_logic;-復位信號clk:instd_logic;-系統(tǒng)時鐘clk1:instd_logic;-被測信號yy1:outstd_logic_vector(7downto0);-八段碼w1:outstd_logic_vector(3downto0);-數碼管位選信號endplj;signasignasignasignasignasignasignaarchitectu

24、rebehavofPLjisb1,b2,b3,b4,b5,b6,b7:std_logic_vector(3downto0);-十進制計數器-BCD碼存放器-秒分頻系數-動態(tài)掃描分頻系數-使能信號,有效被測信號-小數點bcd:std_logic_vector(3downto0);q:integerrange0to49999999;qq:integerrange0to499999;en,bclk:std_logic;sss:std_logic_vector(3downto0);bcd0,bcd1,bcd2,bcd3:std_logic_vector(3downto0);-存放7位十位計數器中有效的

25、高4位數據beginsecond:process(clk)-此進程產生一個持續(xù)時間為一秒的的閘門信號beginifstart='1'thenq<=0;elsifclk'eventandclk='1'thenifq<49999999thenq<=q+1;elseq<=49999999;endif;endif;ifq<49999999andstart='0'thenen<='1'elseen<='0'endif;endprocess;and2:process(en,cl

26、k1)-此進程得到7位十進制計數器的計數脈沖beginbclk<=clk1anden;endprocess;com:process(start,bclk)-此進程完成對被測信號計脈沖數beginifstart='1'then-復位b1<="0000"b2<="0000"b3<="0000"b4<="0000"b5<="0000"b6<="0000"b7<="0000"elsifbclk'

27、;eventandbclk='1'thenifb1="1001"thenb1<="0000"-此IF語句完成個位十進制計數ifb2="1001"thenb2<="0000"-此IF語句完成百位十進制計數ifb3="1001"thenb3<="0000"-此IF語句完成千位十進制計數ifb4="1001"thenb4<="0000"-此IF語句完成萬位十進制計數ifb5="1001&quo

28、t;THENb5<="0000"-此IF語句完成十萬位十進制計數ifb6="1001"thenb6<="0000"-此IF語句完成百萬位十進制計數ifb7="1001"thenb7<="0000"-此IF語句完成千萬位十進制計數elseb7<=b7+1;endif;elseb6<=b6+1;endif;elseb5<=b5+1;endif;elseb4<=b4+1;endif;elseb3<=b3+1;endif;elseb2<=b2+1;e

29、ndif;elseb1<=b1+1;endif;endif;endprocess;process(clk)-此進程把7位十進制計數器有效的高4位數據送如bcd03;并得到小數點信息beginifrising_edge(clk)thenifen='0'thenifb7>"0000"thenbcd3<=b7;bcd2<=b6;bcd1<=b5;bcd0<=b4;sss<="1110"elsifb6>"0000"thenbcd3<=b6;bcd2<=b5;bcd1&

30、lt;=b4;bcd0<=b3;sss<="1101"elsifb5>"0000"thenbcd3<=b5;bcd2<=b4;bcd1<=b3;bcd0<=b2;sss<="1011"elsebcd3<=b4;bcd2<=b3;bcd1<=b2;bcd0<=b1;sss<="1111"endif;endif;endif;endprocess;weixuan:process(clk)-此進程完成數據的動態(tài)顯示beginifclk'e

31、ventandclk='1'thenifqq<99999thenqq<=qq+1;bcd<=bcd3;w1<="0111"ifsss="0111"thenyy1(0)<='0'elseyy1(0)<='1'endif;elsifqq<199999thenqq<=qq+1;bcd<=bcd2;w1<="1011"ifsss="1011"thenyy1(0)<='0'elseyy1(0)<='1'endif;elsifqq<299999thenqq<=

溫馨提示

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

最新文檔

評論

0/150

提交評論