




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學應用設計報告學 號: 應 用 設 計 課 程 名FPGA原理及應用題 目采用測頻原理的數字頻率計學 院信息工程學院專 業通信工程班 級姓 名指導教師陳適 2017年6月20日課程設計任務書 學生姓名: 劉 專業班級: 通信1405班 指導教師: 陳適 工作單位: 信息工程學院 題 目: 采用測頻原理的數字頻率計 初始條件:VHDL硬件描述語言,Quartus II開發環境 要求完成的主要任務:1. 采用測頻法,設計一個4位十進制數字顯示的數字頻率計2. 其測量的范圍為19999KHz 課程設計進度安排序號階段內容所需時間1方案設計1天2軟件設計2天3系統調試1天4撰寫報告1天合 計
2、5天指導教師簽名: 年 月 日 系主任(或責任教師)簽名: 年 月 日目錄摘 要IAbstractII1 FPGA、VHDL以及Quartus II簡介11.1 FPGA簡介11.2 VHDL 簡介11.3 Quartus II簡介22 頻率測量原理及方案32.1設計要求32.2 測頻原理33 系統設計43.1 系統實現方案提出及確定43.2 系統組成54 數字頻率計VHDL設計與仿真65 心得體會116參考文獻12附錄13摘 要 數字頻率計是采用數字電路制做成的能實現對周期性變化信號頻率測量的儀器。頻率計主要用于測量正弦波、矩形波、三角波和尖脈沖等周期信號的頻率值,其擴展功能可以測量信號的周
3、期和脈沖寬度。數字頻率計是數字電路中的一個典型應用,實際的硬件設計用到的器件較多,連線比較復雜,而且會產生比較大的延時,造成測量誤差。若使用現場可編程門陣列FPGA來實現,可使整個系統大大簡化,而且提高了系統的整體性能和可靠性。 本文介紹了測頻原理,在此基礎上描述了如何通過VHDL語言編程,在Quartus II仿真平臺上編譯、仿真、調試,設計出一個4位十進制數字顯示的數字頻率計。關鍵字: FPGA, 數字電路,測頻法,數字頻率計Abstract Digital frequency meter is made of digital circuit system can achieve peri
4、odic change signal frequency measurement instrument. Frequency meter is mainly used to measure sine wave, rectangular wave, triangle wave and sharp pulse and other periodic signal frequency value. Its expansion function can measure the signal cycle and pulse width. Digital frequency meter is a typic
5、al application of digital circuit, the actual hardware design used more devices, wiring is more complex, and will produce relatively large delay, resulting in measurement error. If the field programmable gate array FPGA is used, the whole system can be greatly simplified, and the whole performance a
6、nd reliability of the system can be improved. This paper introduces the principle of frequency measurement, based on the description of how to use the VHDL programming language, in the Quartus II simulation platform compiler, simulation and debugging, the design of a digital frequency 4 decimal digi
7、tal display meter.Keywords: FPGA, digital circuit, frequency measuring method, digital frequency meter III1 FPGA、VHDL以及Quartus II簡介 首先對設計所采用的可編程邏輯器件FPGA、VHDL和Quartus II進行簡單的介紹。1.1 FPGA簡介 FPGA是20世紀80年代中期出現的高密度可編程邏輯器件,它一般由布線資源分隔的可編程邏輯單元構成陣列,又由可編程I/O單元圍繞陣列構成整個芯片,排列陣列的餓邏輯單元由布線通道中的可編程內連線連接起來實現一定的邏輯功能。一個F
8、PGA包含豐富的具有快速系統速度的邏輯門、寄存器和I/O組成。 FPGA/CPLD芯片都是特殊的ASIC芯片,除了具有ASIC的特點外還有一下幾個優點:隨著超大規模集成電路VLSI工藝的不斷提高,單一芯片內部可以容納上百萬個晶體管;FPGA/CPLD芯片出廠前100%都做過測試,不需要設計人員承擔風險和費用;用戶可以反復地編程、擦除、使用或者在外圍電路不動的的情況下,用不同軟件就可實現不同的功能,用FPGA/CPLD試制樣片,能以最快的速度占領市場。FPGA/CPLD軟件包中有各種輸入工具、仿真工具、版圖設計及編程器等全線產品,使電路設計人員在較短的時間內就可以完成電路的輸入、編譯、優化、仿真
9、,直至最后芯片的制作。1.2 VHDL 簡介 VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現。最初是由美國國防部開發出來供美軍用來提高設計的可靠性和縮減開發周期的一種使用范圍較小的設計語言VHDL的英文全寫是:VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.翻譯成中文就是超高速集成電路硬件描述語言。因此它的應用主要是應用在數字電路的設計中。目前,它在中國的應用多數是用在FPGA /CPLD/EPLD的設計中。當然在一些實力較為雄厚的單位,它也被用來設計ASIC。 VHDL主要用于描述
10、數字系統的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統)分成外部(或稱可視部分,及端口)和內部(或稱不可視部分),既涉及實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內部開發完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統設計的基本點。 VHDL主要特點有:(1)功能強大、設計靈活(2)支持廣泛、易于修改(3)強大的系統硬件描述能力(4)獨立于器件的設計、與工
11、藝無關(5)很強的移植能力(6)易于共享和復用 VHDL系統優勢:(1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規模電子系統的重要保證。(2)VHDL豐富的仿真語句和庫函數,使得在任何大系統的設計早期就能查驗設計系統的功能可行性,隨時可對設計進行仿真模擬。 (2)VHDL語句的行為描述能力和程序結構決定了他具有支持大規模設計的分解和已有設計的再利用功能。符合市場需求的大規模系統高效,高速的完成必須有多人甚至多個代發組共同并行工作才能實現。 (3)對于用VHDL完成的
12、一個確定的設計,可以利用EDA工具進行邏輯綜合和優化,并自動的把VHDL描述設計轉變成門級網表。 (4)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現的目標器件是什么,而進行獨立的設計。1.3 Quartus II簡介 Quartus II 作為一種可編程邏輯的設計環境, 由于其強大的設計能力和直觀易用的接口,越來越受到數字系統設計者的歡迎。當前官方提供下載的最新版本是v13.0。 Quartus II (3.0和更高版本)設計軟件是業界唯一提供FPGA和固定功能HardCopy器件統一設計流程的設計工具。工程師使用同樣的低價位工具對 Stratix FP
13、GA進行功能驗證和原型設計,又可以設計HardCopy Stratix器件用于批量成品。系統設計者現在能夠用Quartus II 軟件評估HardCopy Stratix器件的性能和功耗,相應地進行最大吞吐量設計。 Quartus II可編程邏輯軟件屬于第四代PLD開發平臺。該平臺支持一個工作組環境下的設計要求,其中包括支持基于Internet的協作設計。Quartus平臺與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應商的開發工具相兼容,改進了軟件的LogicLock 模塊設計功能,增添了FastFit編譯選項,
14、推進了網絡編輯性能,而且提升了調試能力。2 頻率測量原理及方案2.1設計要求1. 采用測頻法,設計一個4位十進制數字顯示的數字頻率計2. 其測量的范圍為19999KHz 2.2 測頻原理 數字頻率計是用于測量信號頻率的電路。本設計采用測頻原理對數字頻率計進行設計,下面對測頻原理進行簡要介紹。 測頻率時,以分頻后的時鐘信號作為閘門信號,因為輸入信號的頻率大于閘門信號頻率,所以在閘門信號周期內,計算輸入信號的周期數目,就可以計算出輸入信號的頻率值了。原理圖如圖1所示:閘門信號被測信號圖1 原理圖 在確定的閘門時間Tw內,記錄被測信號的變化周期數(或脈沖個數)Nx,則被測信號的頻率為:fx=Nx/T
15、w。這種方法的計數值會產生1個字誤差,測試精度與計數器中記錄的數值Nx有關。3 系統設計3.1 系統實現方案提出及確定方法一: 采用小規模數字集成電路制作被測信號經過放大整形變換為脈沖信號后加到主控門的輸入端,時基信號經控制電路產生閘門信號送至主控門,只有在閘門信號采樣期間內輸入信號才通過主控門,若時基信號周期為T,進入計數器的輸入脈沖數為N,則被信號的測頻率其頻率F=N/T,其原理方框圖如圖2所示顯示譯碼器計數器閘門整形放大被測信號 控制部分 圖2 方案一測頻原理圖方案二:采用單片機進行測頻控制單片機技術比較成熟,功能也比較強大,被測信號經放大整形后送入測頻電路,由單片機對測頻電路的輸出信號
16、進行處理,得出相應的數據送至顯示器顯示。原理方框圖如圖3所示。顯示單片機測頻電路信號整形待測信號晶 振圖3 單片機測頻電路原理圖 采用這種方案優點是依賴成熟的單片機技術、運算功能較強、軟件編程靈活、自由度大、設計成本也較低,缺點是顯而易見的,在傳統的單片機設計系統中必須使用許多分立元件組成單片機的外圍電路,整個系統顯得十分復雜,并且單片機的頻率不能做得很高,使得測量精度大大降低。方案三:采用現場可編程門陣列(FPGA)為控制核心 采用現場可編程門陣列(FPGA)為控制核心,利用VHDL語言編程,下載燒制實現。將所有器件集成在一塊芯片上,體積大大減小的同時還提高了穩定性,可實現大規模和超大規模的
17、集成電路,測頻測量精度高,測量頻率范圍大,而且編程靈活、調試方便。 綜合上述分析,方案三為本設計測量部分最佳選擇方案。3.2 系統組成如圖4所示,本系統包含輸入模塊,FPGA模塊,顯示模塊。輸入模塊包括基準時鐘,復位信號和被測信號。FPGA模塊是系統的核心部分,其包括分頻、7位十進制計數器、數據處理和動態譯碼。當系統正常工作時,分頻部分的作用是對基準時鐘進行分頻,得到一個閘門信號,作為7位十進制計數器的使能信號。數據處理部分用于取7位十進制計數器的有效高4位數據,送入動態顯示譯碼部分進行顯示譯碼。顯示模塊用于顯示頻率值。圖4 系統組成框圖4 數字頻率計VHDL設計與仿真 本設計采用Quartu
18、s II13.1對數字頻率計進行設計。設計步驟如下:(1)打開工程及設計輸入1)雙擊桌面Quertus II13.1的圖標打開軟件;2)FileOpen Project打開事先已經創建并保存的工程文件,文件及源代碼初始頁面如圖5所示;注意:文件夾要用英文命名圖5 初始界面示意圖3) 運行程序得到設置界面,此時需要先添加中間變量再設置各個變量參數的數據類型,運行設置圖如圖6所示;圖6 運行設置圖 需要添加的管腳、寄存器等參量如圖6所示,例如b1b7,bcd0bcd3等。這里我們將clk的值設置為10.0ns,顯示類型設置為波形;clk1的值設置為100ns,顯示波形也設置為波形;start的初始
19、值為“1”;b1b7、bcd、bcd0bcd3以及q和qq的數值類型都設置為十進制顯示。(2) 功能仿真 1)保存設置參數后點擊界面上方的“運行”按鈕,耐心等待幾分鐘(運行時長和參數設置有關)便會出現仿真界面,如圖7所示;圖7 仿真圖 由輸入設置我們可以計算出理論值:Nx=500010=50000fx=50000/200=250仿真后輸出b3b2b1的值為253,與理論值相比較存在很小的誤差,基本上可以認為是一致的,從而得出仿真結果正確的結論。 2)鼠標點擊左上方“調節”圖標后光標變為“+”號,點擊鼠標左鍵放大圖片(點擊鼠標右鍵縮小圖片)調節界面以直觀得觀察輸入輸出,放大后的界面如圖8所示;圖
20、8 放大后的仿真圖 由放大后的仿真圖,我們可以清晰得看到q欄和qq欄的逐個計數,也可以很明顯得觀察到clk信號波形和clk1信號得波形關系。 3)點擊菜單欄的“Tools”,從下拉列表里選擇“Netist Viewers”,再從下一級的下拉列表中選擇“RTL Viewers”便可得RTL圖,如圖9所示;圖9 RTL圖 4)通過調出綜合圖可以得到綜合的實驗數據,比如總的寄存器個數Total registers,以及Revision Name,Total memory bits等,Flow Summary截圖如圖10所示;圖10 綜合圖 5 心得體會 本設計采用FPGA技術,利用測頻法的原理和VH
21、DL語言,采用自頂向下的設計方法,實現了1Hz10kHz測量范圍的四位十進制的數字頻率計,并在Quartus II軟件平臺下對設計項目進行的了編譯和時序仿真。實驗結果表明,該系統能夠滿足本次設計的要求,并且具有測量誤差小,可靠性高的優點。 通過本次FPGA課程設計,我發現了自己的很多不足,發現了很多知識上的漏洞。同時也看到了自己的實踐經驗還是比較缺乏,理論聯系實際的能力還急需提高。這次課程設計讓我學到了很多,不僅是鞏固了先前學的EDA技術的理論知識,而且也培養了我的動手能力,更令我的創造性思維得到拓展。在課程設計中一個人的力量是遠遠不夠的,真正的完成任務需要共同的智慧與勞動,團結協作是我們成功
22、的一項非常重要的保證。在這個過程中,我也曾經因為實踐經驗的缺乏失落過,也曾經為仿真成功而熱情高漲。 我在本次課程設計中學到的另一個重要的品質是細心認真。在此次設計中,由于編程的時候沒有做到足夠的細心,導致一串代碼弄混了。但是密密麻麻的英文字母混在一起,我始終沒有發現。最終在調試的時候,就出現了問題。只知道出現了問題,就是不知道到問題的根源在哪里,好長時間都沒有找出問題的所在。這也讓我真正的明白了科學的嚴謹性,它不允許出半點差錯,否則后果會是比較麻煩的。做其他事情也一樣,都需要我們付出足夠的認真去對待,才能順利的完成。 對我而言,知識上的收獲重要,精神上的豐收更加可喜。本次應用設計讓我知道了學無
23、止境的道理。我們每一個人永遠不能滿足于現有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。這次課程設計不僅夯實了我的理論基礎,鍛煉了我的動手實踐做項目的能力,對今后的職業發展也有很大的參考價值。6參考文獻1劉睿強、陳鴻、鄧顯林.FPGA應用技術及實驗.北京理工大學出版社.2011.12顧巨峰、周浩洋.基于可編程邏輯器件的多功能數字頻率計.東南大學出版社.2002.53趙曙光、郭萬有.可編程邏輯器件原理、開發與應用.西安電子科技大學出版社,2000.14杜建國. Verilog HDL硬件描述語言.國防工業出版社.2008.8。5趙雅興FPGA原理、設計與應用天津大學出版社.199
24、9.126李景華,杜玉遠可編程邏輯器件與EDA技術東北大學出版社.2002.515附錄源代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity plj is port ( start:in std_logic; -復位信號 clk :in std_logic; -系統時鐘 clk1:in std_logic; -被測信號 yy1:out std_logic_vector(7 downto 0); -八段碼 w1 :out std_logic_vector(3 downto 0); -數
25、碼管位選信號end plj;architecture behav of PLj issignal b1,b2,b3,b4,b5,b6,b7:std_logic_vector(3 downto 0); -十進制計數器signal bcd:std_logic_vector(3 downto 0); -BCD碼寄存器signal q :integer range 0 to 49999999; -秒分頻系數 signal qq : integer range 0 to 499999; -動態掃描分頻系數signal en,bclk:std_logic; -使能信號,有效被測信號signal sss :
26、 std_logic_vector(3 downto 0); -小數點signal bcd0,bcd1,bcd2,bcd3 : std_logic_vector(3 downto 0); -寄存7位十位計數器中有效的高4位數據beginsecond:process(clk) -此進程產生一個持續時間為一秒的的閘門信號 begin if start=1 then q=0; elsif clkevent and clk=1 then if q49999999 then q=q+1; else q=49999999; end if; end if; if q49999999 and start=0
27、then en=1; else en=0; end if;end process;and2:process(en,clk1) -此進程得到7位十進制計數器的計數脈沖begin bclk=clk1 and en;end process; com:process(start,bclk) -此進程完成對被測信號計脈沖數begin if start=1 then -復位b1=0000;b2=0000;b3=0000;b4=0000;b5=0000;b6=0000;b7=0000; elsif bclkevent and bclk=1 then if b1=1001 then b1=0000; -此IF
28、語句完成個位十進制計數 if b2=1001 then b2=0000; -此IF語句完成百位十進制計數 if b3=1001 then b3=0000; -此IF語句完成千位十進制計數 if b4=1001 then b4=0000; -此IF語句完成萬位十進制計數 if b5=1001 THEN b5=0000; -此IF語句完成十萬位十進制計數 if b6=1001 then b6=0000; -此IF語句完成百萬位十進制計數 if b7=1001 then b7=0000; -此IF語句完成千萬位十進制計數 else b7=b7+1; end if; else b6=b6+1; end if; else b5=b5+1; end if; else b4=b4+1; end if; else b3=b3+1; end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版四年級上冊(道德與法治)6 我的家庭貢獻與責任教案設計
- 2024中石化(大連)石油化工研究院有限公司高層次人才招聘12人筆試參考題庫附帶答案詳解
- 常用量檢具培訓
- 大數據培訓的思考與未來展望
- 高速公路事故培訓課件
- 壁紙壁布施工培訓課程大綱
- 七年級語文上冊 第一單元 4《古代詩歌四首》聞王昌齡左遷龍標遙有此寄教學設計 新人教版
- 三年級數學上冊 7 長方形和正方形第3課時 周長配套教學設計 新人教版
- 人教版化學九年級上冊第三單元課題1《分子和原子》教學設計
- 菜鳥驛站崗前培訓
- 2021年湖北理工學院輔導員招聘考試題庫及答案解析
- 消防設備設施維護保養臺賬
- 神奇的植物王國課件
- 員工崗位技能考核評定表
- 項目部安全生產事故應急預案
- 普通沖床設備日常點檢標準作業指導書
- DBT29-265-2019 天津市市政基礎設施工程資料管理規程
- -城鄉規劃法-最新課件
- DB32T 4013-2021 第三方社會穩定風險評估技術規范
- 夏日泛舟海上 (3)
- ESC指南心包疾病
評論
0/150
提交評論