版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、2014-2015 學年第學年第 1 學期學期課程設計課程設計 題目:題目:基于基于 FPGAFPGA 的等精度數(shù)字頻率計設計的等精度數(shù)字頻率計設計 姓名:姓名:*學號:學號:201295014220201295014220 班級:班級:電氣六班電氣六班 摘摘 要要伴隨著集成電路(IC)技術的發(fā)展,電子設計自動化(EDA)逐漸成為重要的設計手段,已經(jīng)廣泛應用于模擬與數(shù)字電路系統(tǒng)等許多領域。電子設計自動化是一種實現(xiàn)電系統(tǒng)或電子產(chǎn)品自動化設計的技術,它與電子技術、微電子技術的發(fā)展密切相關,它吸收了計算機科學領域的大多數(shù)最新研究成果,以高性能的計算機作為工作平臺,促進了工程發(fā)展。數(shù)字頻率計是一種基本
2、的測量儀器。它被廣泛應用與航天、電子、測控等領域。采用等精度頻率測量方法具有測量精度保持恒定,不隨所測信號的變化而變化的特點。本文首先綜述了 EDA 技術的發(fā)展概況,F(xiàn)PGA/CPLD 開發(fā)的涵義、優(yōu)缺點,VHDL 語言的歷史及其優(yōu)點,概述了 EDA 軟件平臺QUARTUS;然后介紹了頻率測量的一般原理,利用等精度測量原理,通過 FPGA 運用 VHDL 編程,利用 FPGA(現(xiàn)場可編程門陣列)芯片設計了一個 8 位數(shù)字式等精度頻率計,該頻率計的測量范圍為 0-100MHZ,利用 QUARTUS 集成開發(fā)環(huán)境進行編輯、綜合、波形仿真,并下載到 CPLD 器件中,I經(jīng)實際電路測試,仿真和實驗結果
3、表明,該頻率計有較高的實用性和可靠性。 關鍵詞關鍵詞:電子設計自動化;VHDL 語言;頻率測量;數(shù)字頻率計 目目 錄錄摘 要.I目 錄.III1. 緒 論.11.2 基于 EDA 的 FPGA/ CPLD 開發(fā).2 1.3 硬件描述語言(HDL) .3VHDL 語言簡介 .31.4 QuartusII概述.42. 頻率測量.62.1 數(shù)字頻率計工作原理概述.6 2.2 采用等精度測量本章小結.83. 數(shù)字頻率計的系統(tǒng)設計與功能仿真.83.1 系統(tǒng)的總體設計.83.2 信號源模塊.9 3.3 鎖存器 .123.4 十進制計數(shù)器 .13II3.5顯示模塊.143.5.1 顯示模塊設計.143.52
4、 顯示電路.153.5.3 譯碼器.15本章小結.16結 論.16 附錄:頻率計頂層文件.18 信號源模塊源程序.19 32 位鎖存器源程序.19 有時鐘使能的十進制計數(shù)器的源程序.20 顯示模塊源程序.2101. . 緒緒 論論21 世紀人類將全面進入信息化社會,對微電子信息技術和微電子 VLSI 基礎技術將不斷提出更高的發(fā)展要求,微電子技術仍將繼續(xù)是 21 世紀若干年代中最為重要的和最有活力的高科技領域之一。而集成電路(IC)技術在微電子領域占有重要的地位。伴隨著 IC 技術的發(fā)展,電子設計自動化(Electronic Design Automation, EDA)己經(jīng)逐漸成為重要設計手段
5、,其廣泛應用于模擬與數(shù)字電路系統(tǒng)等許多領域。EDA 是指以計算機大規(guī)模可編程邏輯器件的開發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關開發(fā)軟件,自動完成用軟件方式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或專用集成芯片的一門新技術1。VHDL(超高速集成電路硬件描述語言)是由美國國防部開發(fā)的一種快速設計電路的工具,目前已經(jīng)成為 IEEE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標準硬件描述語言
6、。相比傳統(tǒng)的電路系統(tǒng)的設計方法,VHDL 具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top_Down)和基于庫(LibraryBased)的設計的特點,因此設計者可以不必了解硬件結構。從系統(tǒng)設計入手,在頂層進行系統(tǒng)方框圖的劃分和結構設計,在方框圖一級用 VHDL 對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的 CPLD 器件中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設計。數(shù)字頻率計是數(shù)字電路中的一個典型應用,實際的硬件設計用到的器件較多,連線比較復雜,而且會產(chǎn)生比較大的延時,造成測量誤差,可靠性差。
7、隨著復雜可編程邏輯器件(CPLD)的廣泛應用,以 EDA 工具作為開發(fā)手段,運用 VHDL 語言。將使整個系統(tǒng)大大簡化。提高整體的性能和可靠性。數(shù)字頻率計是通信設備、音、視頻等科研生產(chǎn)領域不可缺少的測量儀器。采用VHDL 編程設計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片 FPGA 芯片上實現(xiàn)。整個系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。本文用 VHDL 在 CPLD 器件上實現(xiàn)一種 8 位數(shù)字頻率計測頻系統(tǒng),能夠用十進制1數(shù)碼顯示被測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且能對其他多種頻率信號進行測量。具有體積小、可靠性高、功耗低
8、的特點。1.2 基于基于 EDA 的的 FPGA/ CPLD 開發(fā)開發(fā)我國的電子設計技術發(fā)展到今天,將面臨一次更大意義的突破,即 FPGA/CPLD ( Field Programmable Gate Array,現(xiàn)場可編程門陣列/Complex Programmable Logic Device,復雜可編程邏輯器件)在 EDA 基礎上的廣泛應用。從某種意義上說,新的電子系統(tǒng)運轉的物理機制又將回到原來的純數(shù)字電路結構,但卻是一種更高層次的循環(huán),它在更高層次上容納了過去數(shù)字技術的優(yōu)秀部分,對(Micro Chip Unit ) MCU 系統(tǒng)是一種揚棄,在電子設計的技術操作和系統(tǒng)構成的整體上發(fā)生了
9、質的飛躍。如果說 MCU 在邏輯的實現(xiàn)上是無限的話,那么 FPGA/CPLD 不但包括了 MCU 這一特點,而且可以觸及硅片電路線度的物理極限,并兼有串、并行工作方式,高速、高可靠性以及寬口徑適用性等諸多方面的特點。不但如此,隨著 EDA 技術的發(fā)展和 FPGA/CPLD 在深亞微米領域的進軍,它們與 MCU, MPU, DSP, A/D, D/A, RAM 和 ROM 等獨立器件間的物理與功能界限已日趨模糊。特別是軟/硬 IP 芯核(知識產(chǎn)權芯核;Intelligence Property Core,一種已注冊產(chǎn)權的電路設計)產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用及標準 FPGA 器件的呼之欲出,片上系
10、統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPLD 以其不可替代的地位及伴隨而來的極具知識經(jīng)濟特征的 IP 芯核產(chǎn)業(yè)的崛起,正越來越受到業(yè)內(nèi)人士的密切關注。FPGA/CPLDFPGA/CPLD 簡介簡介FPGA 和 CPLD 都是高密度現(xiàn)場可編程邏輯芯片,都能夠將大量的邏輯功能集成于一個單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復雜可編程邏輯器件CPLD 是由 PAL ( Programmable Array Logic,可編程數(shù)組邏輯)或 GAL ( Generic Array Logic,通用數(shù)組邏輯)發(fā)展而來的。它采用全局金屬互連導線,因而具有較大的延時可預測性,易于控制時序邏輯;但功耗
11、比較大?,F(xiàn)場可編程門陣列(FPGA)是由掩膜可編程門陣列(MPGA)和可編程邏輯器件二者演變而來的,并將它們的特性結合在一起,因此FPGA 既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。FPGA 通常由布線資源分隔的可編程邏輯單元(或宏單元)構成數(shù)組,又由可編程 I/O 單元圍繞數(shù)組構成整個芯片。其內(nèi)部資源是分段互聯(lián)的,因而延時不可預測,只有編程完畢后才能實際測量。CPLD 和 FPGA 建立內(nèi)部可編程邏輯連接關系的編程技術有三種:基于反熔絲技術的器件只允許對器件編程一次,編程后不能修改。其優(yōu)點是集成度、工作頻率和可靠2性都很高,適用于電磁輻射干擾較強的惡劣環(huán)境?;?E
12、EPROM 內(nèi)存技術的可編程邏輯芯片能夠重復編程 100 次以上,系統(tǒng)掉電后編程信息也不會丟失。編程方法分為在編程器上編程和用下載電纜編程。用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過 PC, SUN 工作站、ATE(自動測試儀)或嵌入式微處理器系統(tǒng),就能產(chǎn)生編程所用的標準 5V, 3.3V 或 2.5V 邏輯電平信號,也稱為 ISP ( In System Programmable)方式編程,其調試和維修也很方便。基于 SRAM 技術的器件編程數(shù)據(jù)存儲于器件的 RAM 區(qū)中,使之具有用戶設計的功能。在系統(tǒng)不加電時,編程數(shù)據(jù)存儲在EPROM、硬盤、或軟盤中。系統(tǒng)加電時將這些編程數(shù)
13、據(jù)實時寫入可編程器件,從而實現(xiàn)板級或系統(tǒng)級的動態(tài)配置。1.3 硬件描述語言硬件描述語言(HDL)(HDL)硬件描述語言(HDL)是相對于一般的計算機軟件語言如 C , Pascal 而言的。 HDL是用于設計硬件電子系統(tǒng)的計算機語言,它描述電子系統(tǒng)的邏輯功能、電路結構和連接方式。設計者可以利用 HDL 程序來描述所希望的電路系統(tǒng),規(guī)定其結構特征和電路的行為方式;然后利用綜合器和適配器將此程序變成能控制 FPGA 和 CPLD 內(nèi)部結構、并實現(xiàn)相應邏輯功能的門級或更底層的結構網(wǎng)表文件和下載文件。硬件描述語言具有以下幾個優(yōu)點:a.設計技術齊全,方法靈活,支持廣泛。b.加快了硬件電路的設計周期,降低
14、了硬件電路的設計難度。 c.采用系統(tǒng)早期仿真,在系統(tǒng)設計早期就可發(fā)現(xiàn)并排除存在的問題。d.語言設計與工藝技術無關。e.語言標準,規(guī)范,易與共享和復用。就FPGA/CPLD 開發(fā)來說,VHDL 語言是最常用和流行的硬件描述語言之一。本次設計選用的就是 VHDL 語言,下面將主要對 VHDL 語言進行介紹。VHDLVHDL 語言簡介語言簡介VHDL 是超高速集成電路硬件描述語言的英文字頭縮寫簡稱,其英文全名是 Very-High -Speed Integrated Circuit Hardware Description Language。它是在 70 80 年代中由美國國防部資助的 VHSIC(
15、超高速集成電路)項目開發(fā)的產(chǎn)品,誕生于 1982 年。1987 年底,VHDL 被 IEEE(The Institute of Electrical and Electronics Engineers)確認為標準硬件描述語言。自 IEEE 公布了 VHDL 的標準版本(IEEE std 1076-1987 標準)之后,各 EDA公司相繼推出了自己的 VHDL 設計環(huán)境。此后,VHDL 在電子設計領域受到了廣泛的接受,并逐步取代了原有的非標準 HDL。1993 年,IEEE 對 VHDL 進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展 VHDL 的內(nèi)容,公布了新版本的 VHDL,即3ANSI/
16、IEEE std 1076-1993 版本。1996 年 IEEE 1076.3 成為 VHDL 綜合標準。VHDL 主要用于描述數(shù)字系統(tǒng)的結構、行為、功能和接口,非常適用于可編程邏輯芯片的應用設計。與其它的 HDL 相比,VHDL 具有更強的行為描述能力,從而決定了它成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。就目前流行的 EDA 工具和 VHDL 綜合器而言,將基于抽象的行為描述風格的 VHDL 程序綜合成為具體的FPGA 和 CPLD 等目標器件的網(wǎng)表文件己不成問題。VHDL 語言在硬件設計領域的作用將與 C
17、 和 C+在軟件設計領域的作用一樣,在大規(guī)模數(shù)字系統(tǒng)的設計中,它將逐步取代如邏輯狀態(tài)表和邏輯電路圖等級別較低的繁瑣的硬件描述方法,而成為主要的硬件描述工具,它將成為數(shù)字系統(tǒng)設計領域中所有技術人員必須掌握的一種語言。VHDL和可編程邏輯器件的結合作為一種強有力的設計方式,將為設計者的產(chǎn)品上市帶來創(chuàng)紀錄的速度。1.4 QuartusII 概述概述QuartusII 是 Altera 提供的 FPGA/CPLD 開發(fā)集成環(huán)境,Altera 是世界上最大的可編程邏輯器件供應商之一。QuartusII 在 21 世紀初推出,是 Altera 前一代 FPGA/CPLD 集成開發(fā)環(huán)境 MAX+PLUSII
18、 的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。Altera 的 QuartusII 提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的需要,也是單芯片可編程系統(tǒng)(SOPC)設計的綜合性環(huán)境和 SOPC 開發(fā)的基本設計工具,并為 Altera DSP 開發(fā)包進行系統(tǒng)模型設計提供了集成組合環(huán)境。QuartusII 設計工具完全支持 VHDL、Verilog 的設計流程,其內(nèi)部嵌有 VHDL、Verilog 邏輯綜合器。QuartusII也可利用第三方的綜合工具。同樣,QuartusII 具備仿真功能,同時也支持第三方的仿真
19、工具,如 ModelSim。此外,QuartusII 與 MATLAB 和 DSP Builder 結合,可以進行基于 FPGA 的 DSP 系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。QuartusII 包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analsis & Synthesis) 、適配器(Fitter) 、裝配器(Assembler) 、時序分析器(Timing Analyzer) 、設計輔助模塊(Design Assistant) 、EDA 網(wǎng)表文件生成器(EDA Netlist Writer) 、編輯數(shù)據(jù)接口(Compiler Database Interface)等。可
20、以通過選擇 Start Compilation 來運行所有的編譯器模塊,也可以通過選擇 Start 單獨運行各個模塊。還可以通過選擇 Compiler Tool(Tools 菜單) ,在 Compiler Tool 窗口中運行該模塊來啟動編譯器模塊。在4Compiler Tool 窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。此外,QuartusII 還包含許多十分有用的 LPM(Library of Parameterized Modules)模塊,它們是復雜或高級系統(tǒng)構建的重要組成部分,在 SOPC 設計中被大量使用,也可以與 QuartusII 普通設計文件一起使用。A
21、ltera 提供的 LPM 函數(shù)均基于 Altera 器件的結構做了優(yōu)化設計。在許多實用情況中,必須使用宏功能模塊才可以使用一些 Altera特定器件的硬件功能,如各類片上存儲器、DSP 模塊、LVDS 驅動器、PLL 以及SERDES 和 DDIO 電路模塊等。QuartusII 編譯器支持的硬件描述語言有 VHDL(支持 VHDL87 及 VHDL97 標準)、Verilog HDL 及 AHDL(Altera HDL)。QuartusII 支持層次化設計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設計方式完成的模塊(元件)進行調用,從而解決了原理圖與 HDL 混合輸入設計的問題。在設計輸
22、入之后,QuartusII 的編譯器將給出設計輸入的錯誤報告??梢允褂?QuartusII帶有的 RTL Viewer 觀察綜合后的 RTL 圖。QuartusII 作為目前 CPLD/FPGA 開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。(1)繼承了 MAX+PLUSII 的優(yōu)點圖形輸入依然形象,圖形符號與 MAX+PLUSII 一樣符合數(shù)字電路的特點,大量 74系列器件符號使能初學者在較短的時間里利用圖形編輯設計出需要的電路。文本輸入幾乎和 MAX+PLUSII 相同,而且在文本的每一行都有行號,使用語言編寫的電路清晰易讀。低層編輯仍然采用 Chipview 方式,引腳排列位置映射了
23、實際器件引腳,只要簡單地鼠標拖放即可完成低層編輯。(2)支持的器件更多除了支持 MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K 等MAX+PLUSII 已經(jīng)支持的器件外,還支持PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix 等MAX+PLUSII 下無法支持的大容量高性能的器件。(3)增加了網(wǎng)絡編輯功能QuartusII 支持一個工作組環(huán)境下的設計要求,包括支持基于 Internet 的協(xié)作設計,與 Cadence、ExemplarLogi、MentorGraphics、Synopsys 和 Synpl
24、icity 等 EDA 供應商的5開發(fā)工具相兼容。(4)提升了調試能力QuartusII 增加了一個新的快速適配編譯選項,可保留最佳性能的設置,加快了編譯過程,可縮短 50%的編譯時間,對設計性能的影響小。(5)不足之處軟件結構龐大,使用復雜,不如 MAX+PLUSII 簡單、易學易用。2. . 頻率測量頻率測量2.1 數(shù)字頻率計工作原理概述數(shù)字頻率計工作原理概述數(shù)字頻率計的設計原理實際上是測量單位時間內(nèi)的周期數(shù)。 這種方法免去了實測以前的預測,同時節(jié)省了劃分頻段的時間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點。采用一個標準的基準時鐘,在單位時間(1s)
25、里對被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。由于閘門的起始和結束時刻對于信號來說是隨機的,將會有一個脈沖周期的量化誤差。進一步分析測量準確度:設待測信號脈沖周期為 Tx,頻率為 Fx,當測量時間為 T=1s 時,測量準確度為=Tx/T=1/Fx。由此可知直接測頻法的測量準確度與信號的頻率有關:當待測信號頻率較高時,測量準確度也較高,反之測量準確度也較低。因此直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變的要求。 為克服低頻段測量的不準確問題,采用門控信號和被測信號對計數(shù)器的使能信號進行雙重控制,大大提高了準確度。當門控信號為 1 時,使能信號并不為 1,只有被
26、測信號的上升沿到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù)。當門控信號變?yōu)?0 時,使能信號并不是立即改變,而是當被測信號的下一個上升沿到來時6才變?yōu)?0,計數(shù)器停止計數(shù)。因此測量的誤差最多為一個標準時鐘周期。當采用100MHz 的信號作為標準信號時,誤差最大為 0.01s。計算每秒鐘內(nèi)待測信號脈沖個數(shù)。這就要求計數(shù)使能信號 TSTEN 能產(chǎn)生一個 1 秒脈寬的周期信號,并對頻率計的每一計數(shù)器 cnt10 的 ENA 使能端進行同步控制。當TSTEN 為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號 LOAD 的上跳沿將計數(shù)器在前 1
27、 秒鐘的計數(shù)值鎖存進32 位鎖存器 REG32B 中,并由外部的譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須由清零信號 CLR_CNT 對計數(shù)器進行清零,為下一秒鐘的計數(shù)操作做準備。當系統(tǒng)正常工作時,脈沖發(fā)生器提供的 1 Hz 的輸入信號,經(jīng)過測頻控制信號發(fā)生器進行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進行計數(shù),將計數(shù)結果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅動電路將二進制表示的計數(shù)結果轉換成相應的能夠在數(shù)碼顯示管上可以顯示的十進制結果。在數(shù)碼顯示管上可以看到計數(shù)結果3。頻率測量方案采用等精度頻率測量法,測量精度保持恒
28、定,不隨所測信號的變化而變化。在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標準頻率信號。單片機受本身時鐘頻率和若干指令運算的限制,測頻速度較慢,無法滿足高速、高精度的測頻要求;而采用高集成度、高速的現(xiàn)場可編程門陣列 FPGA 為實現(xiàn)高速、高精度的測頻提供了保證。2.3.2 等精度測頻原理等精度測頻原理等精度測頻方法是在直接測頻方法的基礎上發(fā)展起來的。它的閘門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,避除了對被測信號計數(shù)所產(chǎn)生1 個字誤差,并且達到了在整個測試頻段的等精度測量。其測頻原理如圖2.1 所示。在測量過程中,有兩個計數(shù)器分別對標準信號和被測信號同時
29、計數(shù)。首先給出閘門開啟信號(預置閘門上升沿),此時計數(shù)器并不開始計數(shù),而是等到被測信號的上升沿到來時,計數(shù)器才真正開始計數(shù)。然后預置閘門關閉信號(下降沿)到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿到來時才結束計數(shù),完成一次測量過程??梢钥闯?,實際閘門時間 t 與預置閘門時間 t1 并不嚴格相等,但差值不超過被測信號的一個周期4。7圖 2.1 等精度測頻原理波形圖等精度測頻的實現(xiàn)方法可簡化為圖 2.2 所示。CNT1 和 CNT2 是兩個可控計數(shù)器,標準頻率信號從 CNT1 的時鐘輸入端 CLK 輸入;經(jīng)整形后的被測信號從 CNT2 的時鐘輸入端 CLK 輸入。當預置門控信號為高電平
30、時,經(jīng)整形后的被測信號的上升沿通過 D觸發(fā)器的 Q 端同時啟動 CNT1 和 CNT2。CNT1、CNT2 同時對標準頻率信號和經(jīng)整形后的被測信號進行計數(shù),分別為 NS與 NX。當預置門信號為低電平的時候,后而來的被測信號的上升沿將使兩個計數(shù)器同時關閉,所測得的頻率為(FS/NS)*NX。則等精度測量方法測量精度與預置門寬度的標準頻率有關,與被測信號的頻率無關。在預置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量法的測量精度不變。圖 2.2 等精度測頻實現(xiàn)原理圖本章小結本章小結本章從各個方面說明了頻率計的工作原理,對等精度頻率計的實現(xiàn),在理論上起到了作用。 3. 數(shù)字頻率計
31、的系統(tǒng)設計與功能仿真3.1 系統(tǒng)的總體設計系統(tǒng)的總體設計當系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的 100MHz 的輸入信號,經(jīng)過信號源模塊,8先通過 100 分頻產(chǎn)生 1MHZ 的時鐘信號,再將 1MHZ 的時鐘信號分頻產(chǎn)生多種頻率輸出,其中 1HZ 的輸出頻率被作為控制模塊的時鐘輸入,7812HZ 的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號 testen 和清零信號 clr 對計數(shù)模塊進行控制,而由其產(chǎn)生的鎖存信號 load 對鎖存模塊進行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當鎖存信號為高電平時,數(shù)據(jù)便被鎖存器鎖
32、存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅動電路將二進制表示的計數(shù)結果轉換成相應的能夠在數(shù)碼顯示管上可以顯示的十進制結果。在數(shù)碼顯示管上可以看到計數(shù)結果。數(shù)字頻率計的原理框圖如圖 3.1 所示。主要由 5 個模塊組成,分別是:信號源模塊、控制模塊、計數(shù)模塊、鎖存器模塊和顯示器模塊6。圖 3.1 數(shù)字頻率計的原理框圖根據(jù)數(shù)字頻率計的系統(tǒng)原理,cnt 控制信號發(fā)生器。testctl 的計數(shù)使能信號 testen能產(chǎn)生一個 1 s 寬的周期信號,并對頻率計的每一計數(shù)器 Cnt10 的 ENA 使能端進行同步控制:當 testen 高電平時允許計數(shù)、低電平
33、時停止計數(shù)。reg32b 為鎖存器。在信號 load 的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到reg32b 的內(nèi)部,并由 reg32b 的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會由于周期性的清零信號而不斷閃爍。 Cnt10 為十進制計數(shù)器。有一時鐘使能輸入端 ENA,用于鎖定計數(shù)值。當高電平時允許計數(shù),低電平時禁止計數(shù)。將八個十進制計數(shù)器 Cnt10 級聯(lián)起來實現(xiàn) 8 位十進制計數(shù)功能2,7 。9 disply 為七段譯碼顯示驅動電路,可以將頻率計數(shù)的結果譯成能在數(shù)碼管上顯示的相對應的阿拉伯數(shù)字,便于讀取測量的結果。為了實現(xiàn)系統(tǒng)功能,測頻控制
34、信號發(fā)生器 testctl、計數(shù)器 Cnt10、鎖存器 reg32b 存在一個工作時序的問題,設計時需要綜合考慮。8位數(shù)字頻率計的頂層框圖(endfreq.bdf),設計實現(xiàn)包括信號源模塊(F1MHZ、CNT)、頻率計模塊(FREQ)和顯示模塊(display)三大模塊。下面分別介紹三個模塊的結構和實現(xiàn)方法。 3.2 信號源模塊信號源模塊信號源是為了產(chǎn)生 1MHz 的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進行分頻的模塊,設計源代碼 PIN1MHZ.VHD 對輸入系統(tǒng)時鐘clk(50MHz)進行分頻產(chǎn)生 1MHz 信號。PIN1MHZ 的封裝圖如 3.2 所示,圖中 CL
35、KIN 為接入的 100MHZ 信號,圖中CLKOUT 為接到 CNT 的 CLK 的 1MHZ 的信號。clkin clkoutPIN1MHZ_1inst圖3.2 PIN1MHZ封裝圖PIN1MHZ 的工作時序仿真圖如圖 3.3 所示。圖 3.3 信號源模塊仿真圖從 PIN1MHZ 的工作時序仿真圖可以看出:由系統(tǒng)時鐘提供的 100MHz 的輸入信號,經(jīng)過信號源模塊,通過 100 分頻產(chǎn)生 1MHZ 的時鐘信號,達到了設計所需的預期效果。3.3 分頻器分頻器此程序要求將1MHZ的輸入頻率分別進行21分頻(產(chǎn)生500KHZ的輸出頻freq500k)、23分頻(產(chǎn)生125 KHZ的輸出頻率fre
36、q125k)、25 分頻(產(chǎn)生31250HZ的輸出頻freq31250)、1027分頻(產(chǎn)生7812HZ的輸出頻率freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)、211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。 CNT的封裝圖如圖3.4,圖中CLK為PIN1MHZ輸入的1MHZ信號,freq1為輸出給控制信號發(fā)生器的1HZ信號,7812HZ的輸出頻率freq7812被作為顯示模塊的時鐘輸入,freq 488、freq1953、freq31250、freq125K、freq500K作為待測信號。clkfreq1fre
37、q488freq1953freq7812freq31250freq125kfreq500kcntinst圖3.4CNT封裝圖CNT 的工作時序仿真圖如圖 3.5 所示。圖 3.5 CNT 的時序仿真圖當 1MHZ 頻率波形輸入后,分別產(chǎn)生了設計所需要的 500KHZ 的輸出頻freq500k,125 KHZ 的輸出頻率 freq125k,31250HZ 的輸出頻 freq31250,7812HZ 的輸出頻率 freq7812,1953HZ 的輸出頻率 freq1953,488HZ 的輸出頻率 freq488,1HZ 的輸出頻率 freq1。3.4 測頻控制信號產(chǎn)生器測頻控制信號產(chǎn)生器控制模塊的
38、作用是產(chǎn)生測頻所需要的各種控制信號??刂菩盘柕臉藴瘦斎霑r鐘為1HZ,每兩個時鐘周期進行一次頻率測量。該模塊產(chǎn)生的 3 個控制信號,分別為TSTEN,LOAD,CLR_CNT.CLR_CNT 信號用于在每次測量開始時,對計數(shù)器進行復位,11以清除上次測量的結果,該復位信號高電平有效,持續(xù)半個時鐘周期的時間。TSTEN為計數(shù)允許信號,在 TSTEN 信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進行測量,測量時間恰為一個時鐘周期(正好為單位時間 1s),在此時間里被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號
39、而不斷閃爍。在每一次測量開始時,都必須重新對計數(shù)器清 07。測頻控制產(chǎn)生器如圖 3.6,圖中 CLK 接 CNT 的 FREQ1 的 1HZ 的信號,TSTEN 為計數(shù)允許信號,接計數(shù)器 CNT10 的 ENA,CLR_CNT 信號用于在每次測量開始時,對計數(shù)器進行復位,接計數(shù)器 CNT10 的 CLR,LOAD 接鎖存器的 LOAD。CLKTSTENCLR_CNTLOADTESTCTLinst圖 3.6 TESTCTL 的封裝圖測頻控制信號發(fā)生器 TESTCTL 的工作時序圖,控制模塊的幾個控制信號的時序關系圖如圖 3.7 所示。圖3.7 TESTCTL的時序仿真圖從圖中可看出,計數(shù)使能信號
40、 TSTEN 在 1s 的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號 LOAD,隨后產(chǎn)生清 0 信號上跳沿 CLR_CNT。為了產(chǎn)生這個時序圖需首先建立一個由 D 觸發(fā)器構成的二分頻器,在每次時鐘 CLK 上升沿到來時令其翻轉。其中,控制信號時鐘 clk 的頻率取 1HZ,而信號 TSTEN 的脈寬恰好為 1s,可以用作閘門信號。此時,根據(jù)測頻的時序要求,可得出信號 LOAD 和 CLR_CNT 的邏輯描述。由圖可知,在計數(shù)完成后,計數(shù)使能信號 TETEN 在 1s 的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號 LOAD,0.5s 后,CLR_CNT 產(chǎn)生一個請零信號上跳沿。123.5
41、 鎖存器鎖存器鎖存器模塊也是必不可少的,測量模塊測量完成后,在load信號的上升沿時刻將測量值鎖存到寄存器中,然后輸出到顯示模塊。鎖存器是起數(shù)據(jù)保持的作用,它將會把數(shù)據(jù)保存到下次觸發(fā)或復位。主要是主從觸發(fā)器組成的。用于存儲數(shù)據(jù)來進行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時間不變化,直到新的數(shù)據(jù)將其替換。鎖存器REG32B的封裝如圖3.8,圖中LOAD接控制測頻產(chǎn)生器TESTCTL的LOAD,而DIN31.0接計數(shù)器CNT10的CQ3.0,DOUT31.0接顯示器display的in端。LOADDIN31.0DOUT31.0REG32Binst圖3.8 REG32B的封裝圖32 位鎖存器 REG32B 的
42、工作時序圖如圖 3.9。圖 3.9 REG32B 的時序仿真圖本程序是用來實現(xiàn)鎖存器模塊的功能,但它的程序相當簡單,在鎖存信號 load 的上升沿到來時,鎖存器將測量值鎖存到寄存器,然后輸出到顯示模塊。但從仿真圖 3.9中可以明顯的看出,鎖存輸出并不是立即進行的,而是經(jīng)歷了一個短暫的延時,這是由于硬件引起的。3.6 十進制十進制計數(shù)器計數(shù)器計數(shù)器模塊是由 8 個帶有異步清零端,進位信號輸出的模為 10 的計數(shù)模塊級連而成。通過(freq.vhd)進行元件例化實現(xiàn)。此十進制計數(shù)器的特殊之處是,有一時鐘使能輸入端 ENA,用于鎖定計數(shù)器。當高電平計數(shù)允許,低電平時計數(shù)禁止。計數(shù)器模塊用于對輸入信號
43、的脈沖進行計數(shù),該模塊必須有計數(shù)允許、異步清零等端口,以便于控制模塊對其進行控制。CNT10 的封裝如圖 3.10,其中 CLR 為復位接 TESTCTL 的 CLR_CNT 端,ENA接 TESTCTL 的 TSTEN 端,CQ3.0接鎖存器的 DOUT31.0端。13CLKCLRENACQ3.0CARRY_OUTCNT10inst圖 3.10 CNT10 的封裝圖有時鐘使能的十進制計數(shù)器CNT10的工作時序仿真如圖3.11。圖 3.11 CNT10 的時序仿真圖此程序模塊實現(xiàn)的功能是帶使能端的 10 進制計數(shù)。程序要求只有當使能端信號為高電平時計數(shù)器才能正常工作,每個時鐘的上升沿到來時計數(shù)
44、器加 1,因為這里要實現(xiàn)的是 10 進制計數(shù),所以當計數(shù)到 10 時計數(shù)器清零,同時產(chǎn)生進位信號,這里的進位信號僅為一個脈沖信號,一旦計數(shù)從 10 變?yōu)?1,脈沖信號立即變?yōu)榈碗娖?。同時該計數(shù)器也應帶有清零信號,一旦清零信號為高電平,計數(shù)器立即清零。3.7顯示模塊顯示模塊3.7.1 顯示模塊設計顯示模塊設計LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進制數(shù)轉換為與LED顯示對應的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能,在本設計中設計了一個3位的循環(huán)計數(shù)器,將計數(shù)結果輸入到譯碼器,譯碼結果輸出即可依次
45、使能每個LED。例如:要讓8個LED同時工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個LED,并在使能每一個LED的同時,輸入所需顯示的數(shù)據(jù)對應的8位段碼。雖然8個LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個LED同時工作。display 模塊的頂層圖如下所示。CNT計數(shù)產(chǎn)生掃描信號(位碼),LED模塊用于查表產(chǎn)生LED段碼輸出。圖3.12位display的封裝圖。圖中in0in7接鎖存器的DOUT31.0端。14in73.0in63.0in53.0in43.0in33.0in23.0in13.0in03.0clklout76.0SEL2.0displayinst圖3.12 displ
46、ay的封裝圖display 工作時序圖如下圖 3.13。圖 3.13 disply 工作時序圖用 8 個 LED 將待測頻率顯示出來,將通過十進制計數(shù)器的時鐘信號 CLK,輸出為時鐘信號計數(shù)譯碼后的顯示驅動端,在八段 LED 譯碼為對應的八段二進制編碼,并由數(shù)碼顯示器顯示出來。圖 3.13 中為相應二進制編碼與相對應的屏顯數(shù)字。3.7.2 顯示電路顯示電路圖 3.14 display 硬件結構圖15此部分如圖 3.14,圖中主要由 07 循環(huán)累加器、3-8 譯碼器、BCD-7 段顯示譯碼器、8 選 1 多路數(shù)據(jù)開關和 8 個 LED 顯示器組成的掃描數(shù)碼顯示器。3.7.3 譯碼器譯碼器7413
47、8 譯碼器作為數(shù)據(jù)分配器的功能表如表 1 所示。表 1 74LS138 編碼器作為數(shù)據(jù)分配器的功能表輸入輸出EN1 EN2B EN2A C B AY0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 X X X X 1 1 1 1 1 1 1 1 1 0 D 0 0 0 D 1 1 1 1 1 1 1 1 0 D 0 0 1 1 D 1 1 1 1 1 1 1 0 D 0 1 0 1 1 D 1 1 1 1 1 1 0 D 0 1 1 1 1 1 D 1 1 1 1 1 0 D 1 0 0 1 1 1 1 D 1 1 1 1 0 D 1 0 1 1 1 1 1 1 D 1 1 1 0 D 1
48、 1 0 1 1 1 1 1 1 D 1 1 0 D 1 1 1 1 1 1 1 1 1 1 D 74LS138 的 3 個譯碼輸入 C、B、A 用做數(shù)據(jù)分配器的地址輸入,8 個輸出 Y0Y7用做 8 路數(shù)據(jù)輸出,3 個輸入控制端中的 EN2A用做數(shù)據(jù)輸入端,EN2B接地,EN1 用做使能端6。當 EN1=1,允許數(shù)據(jù)分配,若需要將輸入數(shù)據(jù)轉送至輸出端 Y2,地址輸入應為 CBA=010,由功能表可得: (3-1)21222()ABAYGGGCBAG而其余輸出端均為高電平。因此,當?shù)刂?CBA=010 時,只有輸出端 Y2 得到與輸入相同的數(shù)據(jù)波形。 本章小結本章小結本章介紹了頻率計的各個軟件
49、組成模塊,通過運用 QUARTUS 集成開發(fā)環(huán)境對各功能模塊進行編輯、綜合、波形仿真,對各功能模塊的的仿真圖,及其仿真功能做了基本講解,對本設計的實現(xiàn)起到了主要作用。16結結 論論本設計對等精度頻率計進行了系統(tǒng)的設計。首先介紹了頻率測量的一般方法,著重介紹等精度測頻原理并進行了誤差分析,利用等精度測量原理,通過 FPGA 運用VHDL 編程,利用 FPGA(現(xiàn)場可編程門陣列)芯片設計了一個 8 位數(shù)字式等精度頻率計,該頻率計的測量范圍為 0-100MHZ,利用 QUARTUS 集成開發(fā)環(huán)境進行編輯、綜合、波形仿真,并下載到 CPLD 器件中,經(jīng)實際電路測試,仿真和實驗結果表明,該頻率計有較高的
50、實用性和可靠性,達到預期的結果。和傳統(tǒng)的頻率計相比,利用FPGA 設計的頻率計簡化了電路板設計,提高了系統(tǒng)設計的實用性和可靠性,實現(xiàn)數(shù)字系統(tǒng)的軟件化,這也是數(shù)字邏輯設計的趨勢。本次畢業(yè)設計中,我除了對相關的專業(yè)知識以及相關的實驗操作進行了回顧,還有許多其他的收獲,比如在繪制論文中所需要的相關的電路圖的過程中,我還學會使用word繪圖,這次畢業(yè)設計不但讓我對本專業(yè)的相關基礎知識進行了很好的復習,還對原由書本上的知識進行了拓展和延伸,畢業(yè)設計不但鍛煉了我的動手能力,也鍛煉了我處理問題的能力,并且學會了許多新的知識。17 附錄: 頻率計頂層文件clkfreq1freq488freq1953freq7
51、812freq31250freq125kfreq500kcntinstCLKCLRENACQ3.0CARRY_OUTCNT10inst1CLKCLRENACQ3.0CARRY_OUTCNT10inst2CLKCLRENACQ3.0CARRY_OUTCNT10inst3CLKCLRENACQ3.0CARRY_OUTCNT10inst4CLKCLRENACQ3.0CARRY_OUTCNT10inst5CLKCLRENACQ3.0CARRY_OUTCNT10inst6CLKCLRENACQ3.0CARRY_OUTCNT10inst7CLKCLRENACQ3.0CARRY_OUTCNT10inst8i
52、n73.0in63.0in53.0in43.0in33.0in23.0in13.0in03.0clklout76.0SEL2.0displayinst9clkin clkoutPIN1MHZ_1inst10LOADDIN31.0DOUT31.0REG32Binst11CLKTSTENCLR_CNTLOADTESTCTLinst12VCCclkINPUTlout76.0OUTPUTsel2.0OUTPUTSD3.0SD7.4SD11.8SD19.16SD23.20SD27.24SD31.28SD15.12sd31.0dout31.018 信號源模塊源程序信號源模塊源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PIN1MHZ_1 IS PORT (clkin : IN STD_LOGIC; clkout : OUT STD_LOGIC); END PIN1MHZ_1; ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN PROCESS(clkin) variable cnttemp : INTEGER RANGE 0 TO 99; BEGIN IF cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告的制作和刊登行業(yè)相關項目經(jīng)營管理報告
- 廢水回用技術行業(yè)營銷策略方案
- 廣告設計行業(yè)相關項目經(jīng)營管理報告
- 蜂箱用木格子市場發(fā)展前景分析及供需格局研究預測報告
- 自行車剎車操縱閘把市場分析及投資價值研究報告
- 皮制長外衣商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 電打字機細分市場深度研究報告
- 為保護數(shù)據(jù)進行計算機安全威脅分析行業(yè)市場調研分析報告
- 廣告分發(fā)行業(yè)營銷策略方案
- 牙科用貴金屬合金市場發(fā)展前景分析及供需格局研究預測報告
- 鋁型材擠壓車間操作流程及作業(yè)指導書
- 青山處處埋忠骨 教案
- 投標書服裝范文
- 美國博物館教育研究
- 3.6《推動社會發(fā)展的印刷術》課件
- 《百合花》《哦香雪》聯(lián)讀+探究詩化特征
- 部編版五年級上冊《我的長生果》公開課一等獎優(yōu)秀課件
- 小學道法二 我自豪 我是中國人課件
- 人民調解培訓課件(共32張PPT)
- 小學部編版五年級語文上冊教案(全)
- 《工業(yè)革命與工廠制度》
評論
0/150
提交評論