

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于FPGA的等精度頻率計的設(shè)計</p><p><b> 摘 要</b></p><p> 伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計自動化(EDA)逐漸成為重要的設(shè)計手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計自動化是一種實現(xiàn)電系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計算機(jī)科學(xué)領(lǐng)域的
2、大多數(shù)最新研究成果,以高性能的計算機(jī)作為工作平臺,促進(jìn)了工程發(fā)展。</p><p> 數(shù)字頻率計是一種基本的測量儀器。它被廣泛應(yīng)用與航天、電子、測控等領(lǐng)域。采用等精度頻率測量方法具有測量精度保持恒定,不隨所測信號的變化而變化的特點。本文首先綜述了EDA技術(shù)的發(fā)展概況,F(xiàn)PGA/CPLD開發(fā)的涵義、優(yōu)缺點,VHDL語言的歷史及其優(yōu)點,概述了EDA軟件平臺QUARTUSⅡ;然后介紹了頻率測量的一般原理,利用等精度測
3、量原理,通過FPGA運用VHDL編程,利用FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計了一個8位數(shù)字式等精度頻率計,該頻率計的測量范圍為0-100MHZ,利用QUARTUS Ⅱ集成開發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到CPLD器件中,經(jīng)實際電路測試,仿真和實驗結(jié)果表明,該頻率計有較高的實用性和可靠性。 </p><p> 關(guān)鍵詞:電子設(shè)計自動化;VHDL語言;頻率測量;數(shù)字頻率計</p><p&
4、gt;<b> Abstract</b></p><p> The Electronic Design Automation (EDA) technology has become an important design method of analog and digital circuit system as the integrated circuit's growing.
5、 The EDA technology, which is closely connected with the electronic technology, microelectronics technology and computer science, can be used in designing electronic product automatically. </p><p> Digital
6、frequency meter is a basic measuring instruments. It is widely used in aerospace, electronics, monitoring and other fields. With equal precision frequency measurement accuracy to maintain a constant, and not with the mea
7、sured signal varies.We firstly present some background information of EDA, FPGA/CPLD,VHDL and the EDA software platform QUARTUS Ⅱin this thesis;then introduced the general principle of frequency measurement, utilization
8、of precision measuring principle, using VHDL program</p><p> Keywords: Electronic Design Automation,VHDL, Frequency measurement,digital frequency meter</p><p><b> 目 錄</b></p>
9、<p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 目 錄III</b></p><p><b> 1. 緒 論1</b></p><p> 1.1 電子設(shè)計自動化(EDA)發(fā)展概述2&l
10、t;/p><p> 1.1.1什么是電子設(shè)計自動化(EDA )2</p><p> 1.1.2EDA的發(fā)展歷史2</p><p> 1.2 基于EDA的FPGA/ CPLD開發(fā)4</p><p> 1.2.1FPGA/CPLD簡介4</p><p> 1.2.2用FPGA/CPLD進(jìn)行開發(fā)的優(yōu)缺點5&
11、lt;/p><p> 1.3 硬件描述語言(HDL)7</p><p> 1.3.1VHDL語言簡介7</p><p> 1.3.2利用VHDL語言開發(fā)的優(yōu)點8</p><p> 1.4 QuartusII概述9</p><p> 2. 頻率測量11</p><p> 2
12、.1 數(shù)字頻率計工作原理概述11</p><p> 2.2 測頻原理及誤差分析12</p><p> 2.3.1常用測頻方案12</p><p> 2.3.2等精度測頻原理12</p><p> 2.3.3誤差分析13</p><p><b> 本章小結(jié)14</b><
13、;/p><p> 3. 數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真15</p><p> 3.1 系統(tǒng)的總體設(shè)計15</p><p> 3.2 信號源模塊16</p><p> 3.3 分頻器17</p><p> 3.4 測頻控制信號產(chǎn)生器18</p><p> 3.5 鎖存
14、器19</p><p> 3.6 十進(jìn)制計數(shù)器19</p><p> 3.7顯示模塊20</p><p> 3.7.1顯示模塊設(shè)計20</p><p> 3.7.2顯示電路21</p><p> 3.7.3譯碼器22</p><p><b> 本章小結(jié)22
15、</b></p><p><b> 結(jié) 論23</b></p><p><b> 致 謝24</b></p><p><b> 參考文獻(xiàn)25</b></p><p> 附錄一 頻率計頂層文件26</p><p> 附錄
16、二 信號源模塊源程序27</p><p> 附錄三 分頻器源程序28</p><p> 附錄四 測頻控制信號發(fā)生器源程序30</p><p> 附錄五 32位鎖存器源程序32</p><p> 附錄六 有時鐘使能的十進(jìn)制計數(shù)器的源程序33</p><p> 附錄七 顯示模塊源程序35&
17、lt;/p><p><b> 1. 緒 論</b></p><p> 21世紀(jì)人類將全面進(jìn)入信息化社會,對微電子信息技術(shù)和微電子VLSI基</p><p> 礎(chǔ)技術(shù)將不斷提出更高的發(fā)展要求,微電子技術(shù)仍將繼續(xù)是21世紀(jì)若干年代中</p><p> 最為重要的和最有活力的高科技領(lǐng)域之一。而集成電路(IC)技術(shù)在微電子
18、領(lǐng)</p><p> 域占有重要的地位。伴隨著IC技術(shù)的發(fā)展,電子設(shè)計自動化(Electronic Design </p><p> Automation, EDA)己經(jīng)逐漸成為重要設(shè)計手段,其廣泛應(yīng)用于模擬與數(shù)字電</p><p><b> 路系統(tǒng)等許多領(lǐng)域。</b></p><p> EDA是指以計算機(jī)大規(guī)
19、??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)開發(fā)軟件,自動完成用軟件方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)[1]。</p><p> VHDL(超高速集成電路硬件描述語言)是由美國國防部開發(fā)的一種快速設(shè)計電路的工具,目前已經(jīng)成為IE
20、EE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top_Down)和基于庫(LibraryBased)的設(shè)計的特點,因此設(shè)計者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級用VHDL對電路的行為進(jìn)行描述,并進(jìn)行仿真和糾
21、錯,然后在系統(tǒng)一級進(jìn)行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的CPLD器件中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計。</p><p> 數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差,可靠性差。隨著復(fù)雜可編程邏輯器件(CPLD)的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運用VHDL語言。將使整個系統(tǒng)大
22、大簡化。提高整體的性能和可靠性。</p><p> 數(shù)字頻率計是通信設(shè)備、音、視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用VHDL編程設(shè)計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片F(xiàn)PGA芯片上實現(xiàn)。整個系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。</p><p> 本文用VHDL在CPLD器件上實現(xiàn)一種8 位數(shù)字頻率計測頻系統(tǒng),能夠用十進(jìn)制數(shù)碼顯示被
23、測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且能對其他多種頻率信號進(jìn)行測量。具有體積小、可靠性高、功耗低的特點。</p><p> 1.1 電子設(shè)計自動化(EDA)發(fā)展概述</p><p> 1.1.1什么是電子設(shè)計自動化(EDA )</p><p> 在電子設(shè)計技術(shù)領(lǐng)域,可編程邏輯器件(如PLD, GAL)的應(yīng)用,已有了</p&g
24、t;<p> 很好的普及。這些器件為數(shù)字系統(tǒng)的設(shè)計帶來極大的靈活性。由于這類器件可</p><p> 以通過軟件編程而對其硬件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),使得硬件的設(shè)計可以</p><p> 如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、</p><p> 設(shè)計過程、乃至設(shè)計觀念??v觀可編程邏輯器件的發(fā)展史,它在結(jié)構(gòu)原理、集
25、</p><p> 成規(guī)模、下載方式、邏輯設(shè)計手段等方面的每一次進(jìn)步都為現(xiàn)代電子設(shè)計技術(shù)</p><p> 的革命與發(fā)展提供了不可或缺的強(qiáng)大動力。隨著可編程邏輯器件集成規(guī)模不斷</p><p> 擴(kuò)大,自身功能的不斷完善和計算機(jī)輔助設(shè)計技術(shù)的提高,在現(xiàn)代電子系統(tǒng)設(shè)</p><p> 計領(lǐng)域中的EDA便應(yīng)運而生了。</p>
26、<p> 電子設(shè)計自動化(EDA)是一種實現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機(jī)作為工作平臺,是20世紀(jì)90年代初從 CAD(計算機(jī)輔助設(shè)計)、CAM(計算機(jī)輔助制造)、CAT(計算機(jī)輔助測試)和CAE(計算機(jī)輔助工程)的概念發(fā)展而來的。EDA技術(shù)就是以計算機(jī)為工具,在EDA軟件平臺上,根據(jù)硬件描述語言HDL完成的設(shè)計文件,自
27、動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局線、仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。設(shè)計者的工作僅限于利用軟件的方式來完成對系統(tǒng)硬件功能的描述,在EDA工具的幫助下和應(yīng)用相應(yīng)的FPGA/CPLD器件,就可以得到最后的設(shè)計結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效。當(dāng)然,這里的所謂EDA主要是指數(shù)字系統(tǒng)的自動化設(shè)計,因為這一領(lǐng)域的軟硬件方面的技術(shù)已比較成熟,應(yīng)用的普及程度也比
28、較大。而仿真電子系統(tǒng)的EDA正在進(jìn)入實用,其初期的EDA工具不一定需要硬件描述語言。此外,從應(yīng)用的廣度和深度來說,由于電子信息領(lǐng)域的全面數(shù)字化,</p><p> 1.1.2EDA的發(fā)展歷史</p><p> EDA技術(shù)的發(fā)展始于70年代,至今經(jīng)歷了三個階段。電子線路的CAD(計算機(jī)輔助計)是EDA發(fā)展的初級階段,是高級EDA系統(tǒng)的重要組成部分。它利用計算機(jī)的圖形編輯、分析和存儲等能力
29、,協(xié)助工程師設(shè)計電子系統(tǒng)的電路圖、印制電路板和集成電路板圖;采用二維圖形編輯與分析,主要解決電子線路設(shè)計后期的大量重復(fù)性工作,可以減少設(shè)計人員的繁瑣重復(fù)勞動,但自動化程度低,需要人工干預(yù)整個設(shè)計過程。這類專用軟件大多以微機(jī)為工作平臺,易于學(xué)用,設(shè)計中小規(guī)模電子系統(tǒng)可靠有效,現(xiàn)仍有很多這類專用軟件被廣泛應(yīng)用于工程設(shè)計。80年代初期,EDA技術(shù)開始設(shè)計過程的分析,推出了以仿真(邏輯模擬、定時分析和故障仿真)和自動布局與布線為核心的EDA產(chǎn)品
30、,這一階段的EDA已把三維圖形技術(shù)、窗口技術(shù)、計算機(jī)操作系統(tǒng)、網(wǎng)絡(luò)數(shù)據(jù)交換、數(shù)據(jù)庫與進(jìn)程管理等一系列計算機(jī)學(xué)科的最新成果引入電子設(shè)計,形成了 CAE—計算機(jī)輔助工程。也就是所謂的EDA技術(shù)中級階段。其主要特征是具備了自動布局布線和電路的計算機(jī)仿真、分析和驗證功能。其作用已不僅僅是輔助設(shè)計,而且可以代替人進(jìn)行某種思維。CAE這種以原理圖為基礎(chǔ)的EDA系統(tǒng),雖然直觀,且易于理解,但對</p><p> 圖1.1給出
31、了上述三個階段的示意圖。</p><p> 圖1.1 EDA發(fā)展階段示意圖</p><p> 1.2 基于EDA的FPGA/ CPLD開發(fā)</p><p> 我國的電子設(shè)計技術(shù)發(fā)展到今天,將面臨一次更大意義的突破,即 </p><p> FPGA/CPLD ( Field Programmable Gate Array,現(xiàn)場可編程
32、門陣列/Complex </p><p> Programmable Logic Device,復(fù)雜可編程邏輯器件)在EDA基礎(chǔ)上的廣泛應(yīng)用。</p><p> 從某種意義上說,新的電子系統(tǒng)運轉(zhuǎn)的物理機(jī)制又將回到原來的純數(shù)字電路結(jié)</p><p> 構(gòu),但卻是一種更高層次的循環(huán),它在更高層次上容納了過去數(shù)字技術(shù)的優(yōu)秀</p><p>
33、 部分,對(Micro Chip Unit ) MCU系統(tǒng)是一種揚棄,在電子設(shè)計的技術(shù)操作</p><p> 和系統(tǒng)構(gòu)成的整體上發(fā)生了質(zhì)的飛躍。如果說MCU在邏輯的實現(xiàn)上是無限的</p><p> 話,那么FPGA/CPLD不但包括了MCU這一特點,而且可以觸及硅片電路線</p><p> 度的物理極限,并兼有串、并行工作方式,高速、高可靠性以及寬口徑適用性&
34、lt;/p><p> 等諸多方面的特點。不但如此,隨著EDA技術(shù)的發(fā)展和FPGA/CPLD在深亞微</p><p> 米領(lǐng)域的進(jìn)軍,它們與MCU, MPU, DSP, A/D, D/A, RAM和ROM等獨立</p><p> 器件間的物理與功能界限已日趨模糊。特別是軟/硬IP芯核(知識產(chǎn)權(quán)芯核;Intelligence Property Core,一種已注冊產(chǎn)權(quán)
35、的電路設(shè)計)產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用及標(biāo)準(zhǔn)FPGA器件的呼之欲出,片上系統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPLD以其不可替代的地位及伴隨而來的極具知識經(jīng)濟(jì)特征的IP芯核產(chǎn)業(yè)的崛起,正越來越受到業(yè)內(nèi)人士的密切關(guān)注。</p><p> 1.2.1FPGA/CPLD簡介</p><p> FPGA和CPLD都是高密度現(xiàn)場可編程邏輯芯片,都能夠?qū)⒋罅康倪壿嫻?lt;/p><
36、;p> 能集成于一個單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復(fù)雜可編</p><p> 程邏輯器件CPLD是由PAL ( Programmable Array Logic,可編程數(shù)組邏輯)或</p><p> GAL ( Generic Array Logic,通用數(shù)組邏輯)發(fā)展而來的。它采用全局金屬互連</p><p> 導(dǎo)線,因而具有較大的
37、延時可預(yù)測性,易于控制時序邏輯;但功耗比較大。現(xiàn)</p><p> 場可編程門陣列(FPGA)是由掩膜可編程門陣列(MPGA)和可編程邏輯器件</p><p> 二者演變而來的,并將它們的特性結(jié)合在一起,因此FPGA既有門陣列的高邏</p><p> 輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。FPGA通常由布線資</p><p&g
38、t; 源分隔的可編程邏輯單元(或宏單元)構(gòu)成數(shù)組,又由可編程I/O單元圍繞</p><p> 數(shù)組構(gòu)成整個芯片。其內(nèi)部資源是分段互聯(lián)的,因而延時不可預(yù)測,只有編程</p><p> 完畢后才能實際測量。</p><p> CPLD和FPGA建立內(nèi)部可編程邏輯連接關(guān)系的編程技術(shù)有三種:基于反熔絲技術(shù)的器件只允許對器件編程一次,編程后不能修改。其優(yōu)點是集成度、工
39、作頻率和可靠性都很高,適用于電磁輻射干擾較強(qiáng)的惡劣環(huán)境?;贓EPROM內(nèi)存技術(shù)的可編程邏輯芯片能夠重復(fù)編程100次以上,系統(tǒng)掉電后編程信息也不會丟失。編程方法分為在編程器上編程和用下載電纜編程。用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過PC, SUN工作站、ATE(自動測試儀)或嵌入式微處理器系統(tǒng),就能產(chǎn)生編程所用的標(biāo)準(zhǔn)5V, 3.3V或2.5V邏輯電平信號,也稱為ISP ( In System Programmabl
40、e)方式編程,其調(diào)試和維修也很方便?;赟RAM技術(shù)的器件編程數(shù)據(jù)存儲于器件的RAM區(qū)中,使之具有用戶設(shè)計的功能。在系統(tǒng)不加電時,編程數(shù)據(jù)存儲在EPROM、硬盤、或軟盤中。系統(tǒng)加電時將這些編程數(shù)據(jù)實時寫入可編程器件,從而實現(xiàn)板級或系統(tǒng)級的動態(tài)配置。</p><p> 1.2.2用FPGA/CPLD進(jìn)行開發(fā)的優(yōu)缺點</p><p> 我們認(rèn)為,基于EDA技術(shù)的FPGA/CPLD器件的開發(fā)
41、應(yīng)用可以從根本上解</p><p> 決MCU所遇到的問題。與MCU相比,F(xiàn)PGA/CPLD的優(yōu)勢是多方面的和根本</p><p><b> 性的:</b></p><p> (1).編程方式簡便、先進(jìn)。FPGA/CPLD產(chǎn)品越來越多地采用了先進(jìn)的 </p><p> IEEE1149.1邊界掃描測試(BST)技
42、術(shù)(由聯(lián)合測試行動小組,JTAG開發(fā))和 </p><p> ISP(在系統(tǒng)配置編程方式)。在+5 V工作電平下可隨時對正在工作的系統(tǒng)上的 </p><p> FPGA/CPLD進(jìn)行全部或部分地在系統(tǒng)編程,并可進(jìn)行所謂菊花鏈?zhǔn)蕉嘈酒?lt;/p><p> 行編程,對于SRAM結(jié)構(gòu)的FPGA,其下載編程次數(shù)幾乎沒有限制(如Altera</p><
43、;p> 公司的FLEXIOK系列)。這種編程方式可輕易地實現(xiàn)紅外編程、超聲編程或無</p><p> 線編程,或通過電話線遠(yuǎn)程在線編程。這些功能在工控、智能儀器儀表、通訊</p><p> 和軍事上有特殊用途。</p><p> (2).高速。FPGA/CPLD的時鐘延遲可達(dá)納秒級,結(jié)合其并行工作方式,在</p><p> 超
44、高速應(yīng)用領(lǐng)域和實時測控方面有非常廣闊的應(yīng)用前景。</p><p> (3).高可靠性。在高可靠應(yīng)用領(lǐng)域,MCU的缺憾為FPGA/CPLD的應(yīng)用留</p><p> 下了很大的用武之地。除了不存在MCU所特有的復(fù)位不可靠與PC可能跑飛</p><p> 等固有缺陷外,F(xiàn)PGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同</p><p&
45、gt; 一芯片中,從而大大縮小了體積,易于管理和屏蔽。</p><p> (4).開發(fā)工具和設(shè)計語言標(biāo)準(zhǔn)化,開發(fā)周期短。由于FPGA/CPLD的集成規(guī)</p><p> 模非常大,集成度可達(dá)數(shù)百萬門。因此,F(xiàn)PGA/ CPLD的設(shè)計開發(fā)必須利用功</p><p> 能強(qiáng)大的EDA工具,通過符合國際標(biāo)準(zhǔn)的硬件描述語言(如VHDL或 </p>&l
46、t;p> Verilog-HDL)來進(jìn)行電子系統(tǒng)設(shè)計和產(chǎn)品開發(fā)。由于開發(fā)工具的通用性、設(shè)計語言</p><p> 的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用的FPGA/ CPLD器件的硬件結(jié)構(gòu)沒有關(guān)</p><p> 系,所以設(shè)計成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎</p><p> 可用于任何型號的FPGA/ CPLD中,由此還可以以知識產(chǎn)權(quán)
47、的方式得到確認(rèn),并</p><p> 被注冊成為所謂的IP芯核,從而使得片上系統(tǒng)的產(chǎn)品設(shè)計效率大幅度提高。由</p><p> 于相應(yīng)的EDA軟件功能完善而強(qiáng)大,仿真方式便捷而實時,開發(fā)過程形象而</p><p> 直觀,兼之硬件因素涉及甚少,因此可以在很短時間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)</p><p> 計,這正是產(chǎn)品快速進(jìn)入市場的最寶
48、貴的特征。美國TI公司認(rèn)為,一個ASIC 80 </p><p> %的功能可用IP芯核等現(xiàn)成邏輯合成。EDA專家預(yù)言,未來的大系統(tǒng)的FPGA/ </p><p> CPLD設(shè)計僅僅是各類再應(yīng)用邏輯與IP芯核的拼裝,其設(shè)計周期最少僅數(shù)分鐘。</p><p> (5).功能強(qiáng)大,應(yīng)用廣闊。目前,F(xiàn)PGA/ CPLD可供選擇范圍很大,可根</p>&
49、lt;p> 據(jù)不同的應(yīng)用選用不同容量的芯片。利用它們可實現(xiàn)幾乎任何形式的數(shù)字電路</p><p> 或數(shù)字系統(tǒng)的設(shè)計。隨著這類器件的廣泛應(yīng)用和成本的大幅度下降,F(xiàn)PGA/ </p><p> CPLD在系統(tǒng)中的直接應(yīng)用率正直逼ASIC的開發(fā)。</p><p> 同時,F(xiàn)PGA/CPLD設(shè)計方法也有其局限性。這主要體現(xiàn)在以下幾點:</p>
50、<p> (1).FPGA/CPLD設(shè)計軟件一般需要對電路進(jìn)行邏輯綜合優(yōu)化(Logic Synthesis & Optimization),以得到易于實現(xiàn)的結(jié)果,因此,最終設(shè)計和原始設(shè)計之間在邏輯實現(xiàn)和時延方面具有一定的差異。從而使傳統(tǒng)設(shè)計方法中經(jīng)常采用的一些電路形式(特別是一些異步時序電路)在FPGA/CPLD設(shè)計方法中并不適用。這就要求設(shè)計人員更加了解FPGA/CPLD設(shè)計軟件的特點,才能得到優(yōu)化的設(shè)計。<
51、/p><p> (2).FPGA一般采用查找表(LUT)結(jié)構(gòu)(Xilinx), AND-OR結(jié)構(gòu)(Altera)或多路</p><p> 選擇器結(jié)構(gòu)(Actel),這些結(jié)構(gòu)的優(yōu)點是可編程性,缺點是時延過大,造成原</p><p> 始設(shè)計中同步信號之間發(fā)生時序偏移。同時,如果電路較大,需要經(jīng)過劃分才</p><p> 能實現(xiàn),由于引出端的
52、延遲時間,更加大了延遲時間和時序偏移。時延問題是 </p><p> ASIC設(shè)計當(dāng)中常見的問題,要精確地控制電路的時延是非常困難的,特別是</p><p> 在像FPGA/CPLD這樣的可編程邏輯當(dāng)中。</p><p> (3).FPGA/CPLD的容量和I/O數(shù)目都是有限的,因此,一個較大的電路必</p><p> 須經(jīng)過邏輯劃分
53、((Logic Partition)才能用多個FPGA/CPLD芯片實現(xiàn),劃分算法</p><p> 的優(yōu)劣直接影響設(shè)計的性能。</p><p> (4).由于目標(biāo)系統(tǒng)的PCB板的修改代價很高,用戶一般希望能夠在固定引出端分配的前提下對電路進(jìn)行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情況下,微小的修改往往會降低芯片的布通率。</p><p> (5
54、).早期的FPGA芯片不能實現(xiàn)內(nèi)存、模擬電路等一些特殊形式的電路。</p><p> 最新的一些FPGA產(chǎn)品集成了通用的RAM結(jié)構(gòu)。但這種結(jié)構(gòu)要么利用率不</p><p> 高,要么不完全符合設(shè)計者的需要。這種矛盾來自于FPGA本身的結(jié)構(gòu)局限性,</p><p> 短期內(nèi)很難得到很好的解決。</p><p> (6).盡管FPGA實現(xiàn)
55、了ASIC設(shè)計的硬件仿真,但是由于FPGA和門陣列、</p><p> 標(biāo)準(zhǔn)單元等傳統(tǒng)ASIC形式的延時特性不盡相同,在將FPGA設(shè)計轉(zhuǎn)向其它 </p><p> ASIC設(shè)計時,仍然存在由于延時不匹配造成設(shè)計失敗的可能性。針對這個問</p><p> 題,國際上出現(xiàn)了用FPGA數(shù)組對ASIC進(jìn)行硬件仿真的系統(tǒng)(如Quickturn</p>&l
56、t;p> 公司的硬件仿真系統(tǒng))。這種專用的硬件仿真系統(tǒng)利用軟硬件結(jié)合的方法,用 </p><p> FPGA數(shù)組實現(xiàn)了ASIC快速原型,接入系統(tǒng)進(jìn)行測試。該系統(tǒng)可以接受指定</p><p> 的測試點,在FPGA數(shù)組中可以直接觀測(就像軟件模擬中一樣),所以大大</p><p> 提高了仿真的準(zhǔn)確性和效率。</p><p>
57、1.3 硬件描述語言(HDL)</p><p> 硬件描述語言(HDL)是相對于一般的計算機(jī)軟件語言如C , Pascal而言的。 </p><p> HDL是用于設(shè)計硬件電子系統(tǒng)的計算機(jī)語言,它描述電子系統(tǒng)的邏輯功能、電</p><p> 路結(jié)構(gòu)和連接方式。設(shè)計者可以利用HDL程序來描述所希望的電路系統(tǒng),規(guī)</p><p> 定其
58、結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序變成能控</p><p> 制FPGA和CPLD內(nèi)部結(jié)構(gòu)、并實現(xiàn)相應(yīng)邏輯功能的門級或更底層的結(jié)構(gòu)網(wǎng)表</p><p> 文件和下載文件。硬件描述語言具有以下幾個優(yōu)點:a.設(shè)計技術(shù)齊全,方法靈</p><p> 活,支持廣泛。b.加快了硬件電路的設(shè)計周期,降低了硬件電路的設(shè)計難度。 </p>
59、<p> c.采用系統(tǒng)早期仿真,在系統(tǒng)設(shè)計早期就可發(fā)現(xiàn)并排除存在的問題。d.語言設(shè)</p><p> 計與工藝技術(shù)無關(guān)。e.語言標(biāo)準(zhǔn),規(guī)范,易與共享和復(fù)用。就FPGA/CPLD開</p><p> 發(fā)來說,VHDL語言是最常用和流行的硬件描述語言之一。本次設(shè)計選用的就</p><p> 是VHDL語言,下面將主要對VHDL語言進(jìn)行介紹。</p
60、><p> 1.3.1VHDL語言簡介</p><p> VHDL是超高速集成電路硬件描述語言的英文字頭縮寫簡稱,其英文全名是Very-High -Speed Integrated Circuit Hardware Description Language。它是在70 ~ 80年代中由美國國防部資助的VHSIC(超高速集成電路)項目開發(fā)的產(chǎn)品,誕生于1982年。1987年底,VHDL被IE
61、EE(The Institute of Electrical and Electronics Engineers)確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本((IEEE std 1076-1987標(biāo)準(zhǔn))之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境。此后,VHDL在電子設(shè)計領(lǐng)域受到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)HDL。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容
62、,公布了新版本的VHDL,即ANSI/IEEE std 1076-1993版本。1996年IEEE 1076.3成為VHDL綜合標(biāo)準(zhǔn)。</p><p> VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適用于可編程邏輯芯片的應(yīng)用設(shè)計。與其它的HDL相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電
63、子系統(tǒng)的重要保證。就目前流行的EDA工具和VHDL綜合器而言,將基于抽象的行為描述風(fēng)格的VHDL程序綜合成為具體的FPGA和CPLD等目標(biāo)器件的網(wǎng)表文件己不成問題。VHDL語言在硬件設(shè)計領(lǐng)域的作用將與C和C++在軟件設(shè)計領(lǐng)域的作用一樣,在大規(guī)模數(shù)字系統(tǒng)的設(shè)計中,它將逐步取代如邏輯狀態(tài)表和邏輯電路圖等級別較低的繁瑣的硬件描述方法,而成為主要的硬件描述工具,它將成為數(shù)字系統(tǒng)設(shè)計領(lǐng)域中所有技術(shù)人員必須掌握的一種語言。VHDL和可編程邏輯器件的
64、結(jié)合作為一種強(qiáng)有力的設(shè)計方式,將為設(shè)計者的產(chǎn)品上市帶來創(chuàng)紀(jì)錄的速度。</p><p> 1.3.2利用VHDL語言開發(fā)的優(yōu)點</p><p> VHDL語言與其它HDL語言相比有一些自己的特色,下面作一簡要說明。</p><p> (1)設(shè)計功能強(qiáng)、方法靈活、支持廣泛。VDHL語言可以支持自上而下 </p><p> ( Top_Do
65、wn)的設(shè)計方法,它具有功能強(qiáng)大的語言結(jié)構(gòu),可用簡潔明確的代碼</p><p> 描述來進(jìn)行復(fù)雜控制邏輯的設(shè)計,可以支持同步電路、異步電路、以及其它隨</p><p> 機(jī)電路的設(shè)計。其范圍之廣是其它HDL語言所不能比擬的。此外,VHDL語言</p><p> 可以自定義數(shù)據(jù)類型,這也給編程人員帶來了較大的自由和方便。</p><p>
66、 (2)系統(tǒng)硬件描述能力強(qiáng)。VHDL語言具有多層次的設(shè)計描述功能,可以從</p><p> 系統(tǒng)的數(shù)學(xué)模型直到門級電路,支持設(shè)計庫和可重復(fù)使用的組件生成,它支持</p><p> 階層設(shè)計且提供模塊設(shè)計的創(chuàng)建。VHDL語言能進(jìn)行系統(tǒng)級的硬件描述是它的</p><p><b> 一個最突出的優(yōu)點。</b></p><p
67、> (3)可以進(jìn)行與工藝無關(guān)編程。VHDL語言設(shè)計系統(tǒng)硬件時,沒有嵌入描述</p><p> 與工藝相關(guān)的信息,不會因為工藝變化而使描述過時。與工藝技術(shù)有關(guān)的參數(shù)可</p><p> 通過VHDL提供的類屬加以描述,工藝改變時,只需修改相應(yīng)程序中的類屬參數(shù)即可。</p><p> (4)VHDL語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。VHDL既是IEEE承認(rèn)的
68、標(biāo)</p><p> 準(zhǔn),故VHDL的設(shè)計描述可以被不同的EDA設(shè)計工具所支持。從一個仿真工</p><p> 具移植到另一個仿真工具,從一個綜合工具移植到另一個綜合工具,從一個工</p><p> 作平臺移植到另一個工作平臺去執(zhí)行。這意味著同一個VHDL設(shè)計描述可以在</p><p> 不同的設(shè)計項目中采用,方便了設(shè)計成果的設(shè)計和交
69、流。另外,VHDL語言的</p><p> 語法比較規(guī)范,從而其可讀性比較好,給閱讀和使用都帶來了極大的好處。</p><p> (5)方便ASIC移植。VHDL語言的效率之一,就是如果你的設(shè)計是被綜合</p><p> 到一個 CPLD或FPGA的話,則可以使你設(shè)計的產(chǎn)品以最快速度上市。當(dāng)產(chǎn)品</p><p> 的產(chǎn)量達(dá)到相當(dāng)
70、的數(shù)量時,采用VHDL進(jìn)行的設(shè)計可以很容易轉(zhuǎn)成用專用集成</p><p> 電路(ASIC)來實現(xiàn),僅僅需要更換不同的庫重新進(jìn)行綜合。由于VHDL是一</p><p> 個成熟的定義型語言,可以確保ASIC廠商交付優(yōu)良質(zhì)量的器件產(chǎn)品。此外,</p><p> 由于工藝技術(shù)的進(jìn)步,需要采用更先進(jìn)的工藝時,仍可以采用原來的VHDL代</p><
71、p><b> 碼。</b></p><p> 1.4 QuartusII概述</p><p> QuartusII是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應(yīng)商之一。QuartusII在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+PLUSII的更新?lián)Q代產(chǎn)品,其界面友好,使用
72、便捷。它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處理和器件編程。</p><p> Altera的QuartusII提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為Altera DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計提供了集成組合環(huán)境。QuartusII設(shè)計工具完全支持VHDL、Verilog的設(shè)計流程,其內(nèi)
73、部嵌有VHDL、Verilog邏輯綜合器。QuartusII也可利用第三方的綜合工具。同樣,QuartusII具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。</p><p> QuartusII包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analsis &am
74、p; Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設(shè)計輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)、編輯數(shù)據(jù)接口(Compiler Database Interface)等??梢酝ㄟ^選擇Start Compilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選
75、擇Compiler Tool(Tools菜單),在Compiler Tool窗口中運行該模塊來啟動編譯器模塊。在Compiler Tool窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。</p><p> 此外,QuartusII還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被大量使用,
76、也可以與QuartusII普通設(shè)計文件一起使用。Altera提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能,如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路模塊等。</p><p> QuartusII編譯器支持的硬件描述語言有VHDL(支持VHDL’87及VHDL’97標(biāo)準(zhǔn))、Veri
77、log HDL及AHDL(Altera HDL)。</p><p> QuartusII支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計的問題。在設(shè)計輸入之后,QuartusII的編譯器將給出設(shè)計輸入的錯誤報告??梢允褂肣uartusII帶有的RTL Viewer觀察綜合后的RTL圖。</p><p>
78、 QuartusII作為目前CPLD/FPGA開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。</p><p> (1)繼承了MAX+PLUSII的優(yōu)點</p><p> 圖形輸入依然形象,圖形符號與MAX+PLUSII一樣符合數(shù)字電路的特點,大量74系列器件符號使能初學(xué)者在較短的時間里利用圖形編輯設(shè)計出需要的電路。文本輸入幾乎和MAX+PLUSII相同,而且在文本的每一行都有行號,
79、使用語言編寫的電路清晰易讀。低層編輯仍然采用Chipview方式,引腳排列位置映射了實際器件引腳,只要簡單地鼠標(biāo)拖放即可完成低層編輯。</p><p> (2)支持的器件更多</p><p> 除了支持MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K等MAX+PLUSII已經(jīng)支持的器件外,還支持PEX20K、APEX20KE、AREXII、EXCALIB
80、UR-ARM、Mercury、Stratix等MAX+PLUSII下無法支持的大容量高性能的器件。</p><p> (3)增加了網(wǎng)絡(luò)編輯功能</p><p> QuartusII支持一個工作組環(huán)境下的設(shè)計要求,包括支持基于Internet的協(xié)作設(shè)計,與Cadence、ExemplarLogi、MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具
81、相兼容。</p><p> (4)提升了調(diào)試能力</p><p> QuartusII增加了一個新的快速適配編譯選項,可保留最佳性能的設(shè)置,加快了編譯過程,可縮短50%的編譯時間,對設(shè)計性能的影響小。</p><p><b> (5)不足之處</b></p><p> 軟件結(jié)構(gòu)龐大,使用復(fù)雜,不如MAX+PLUS
82、II簡單、易學(xué)易用。</p><p><b> 2. 頻率測量</b></p><p> 2.1 數(shù)字頻率計工作原理概述</p><p> 數(shù)字頻率計的設(shè)計原理實際上是測量單位時間內(nèi)的周期數(shù)。這種方法免去了實測以前的預(yù)測,同時節(jié)省了劃分頻段的時間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點。<
83、;/p><p> 采用一個標(biāo)準(zhǔn)的基準(zhǔn)時鐘,在單位時間(1s)里對被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率。由于閘門的起始和結(jié)束時刻對于信號來說是隨機(jī)的,將會有一個脈沖周期的量化誤差。進(jìn)一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為Tx,頻率為Fx,當(dāng)測量時間為T=1s時,測量準(zhǔn)確度為&=Tx/T=1/Fx。由此可知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時,測量準(zhǔn)確度也較高,反之測量準(zhǔn)確度也較低。因此直
84、接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變的要求。 為克服低頻段測量的不準(zhǔn)確問題,采用門控信號和被測信號對計數(shù)器的使能信號進(jìn)行雙重控制,大大提高了準(zhǔn)確度。當(dāng)門控信號為1時,使能信號并不為1,只有被測信號的上升沿到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù)。當(dāng)門控信號變?yōu)?時,使能信號并不是立即改變,而是當(dāng)被測信號的下一個上升沿到來時才變?yōu)?,計數(shù)器停止計數(shù)。因此測量的誤差最多為一個標(biāo)
85、準(zhǔn)時鐘周期。當(dāng)采用100MHz的信號作為標(biāo)準(zhǔn)信號時,誤差最大為0.01μs。</p><p> 計算每秒鐘內(nèi)待測信號脈沖個數(shù)。這就要求計數(shù)使能信號TSTEN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計的每一計數(shù)器cnt10的ENA使能端進(jìn)行同步控制。當(dāng)TSTEN為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒鐘的計數(shù)值鎖存進(jìn)32位鎖存器
86、REG32B中,并由外部的譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須由清零信號CLR_CNT對計數(shù)器進(jìn)行清零,為下一秒鐘的計數(shù)操作做準(zhǔn)備。</p><p> 當(dāng)系統(tǒng)正常工作時,脈沖發(fā)生器提供的1 Hz的輸入信號,經(jīng)過測頻控制信號發(fā)生器進(jìn)行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進(jìn)行計數(shù),將計數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動
87、電路將二進(jìn)制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果[3]。</p><p> 2.2 測頻原理及誤差分析</p><p> 2.3.1常用測頻方案</p><p><b> 頻率測量方案</b></p><p> 方案一:采用周期法。通過測量待測信號的周
88、期并求其倒數(shù),需要有標(biāo)準(zhǔn)倍的頻率,在待測信號的一個周期內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù),這種方法的計數(shù)值會產(chǎn)生最大為±1個脈沖誤差,并且測試精度與計數(shù)器中記錄的數(shù)值有關(guān),為了保證測試精度,測周期法僅適用于低頻信號的測量。</p><p> 方案二:采用直接測頻法。直接測頻法就是在確定的閘門時間內(nèi),記錄被測信號的脈沖個數(shù)。由于閘門時間通常不是待測信號的整數(shù)倍,這種方法的計數(shù)值也會產(chǎn)生最大為±1個脈沖誤
89、差。進(jìn)一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為Tx,頻率為Fx,當(dāng)測量時間為T=1s時,測量準(zhǔn)確度為&=Tx/T=1/Fx。由此可知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時,測量準(zhǔn)確度也較高,反之測量準(zhǔn)確度也較低。因此直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變的要求。</p><p> 方案三:采用等精度頻率測量法,測量精度保持恒定,不隨所測信號的變化而變
90、化。在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標(biāo)準(zhǔn)頻率信號。單片機(jī)受本身時鐘頻率和若干指令運算的限制,測頻速度較慢,無法滿足高速、高精度的測頻要求;而采用高集成度、高速的現(xiàn)場可編程門陣列FPGA為實現(xiàn)高速、高精度的測頻提供了保證。</p><p> 本設(shè)計所采用的測頻方法就是等精度頻率測量法,下面我們將對等精度頻率測量法做進(jìn)一步介紹。</p><p> 2.3.2等精度測
91、頻原理</p><p> 等精度測頻方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。它的閘門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,避除了對被測信號計數(shù)所產(chǎn)生±1個字誤差,并且達(dá)到了在整個測試頻段的等精度測量。其測頻原理如圖2.1所示。在測量過程中,有兩個計數(shù)器分別對標(biāo)準(zhǔn)信號和被測信號同時計數(shù)。首先給出閘門開啟信號(預(yù)置閘門上升沿),此時計數(shù)器并不開始計數(shù),而是等到被測信號的上升沿
92、到來時,計數(shù)器才真正開始計數(shù)。然后預(yù)置閘門關(guān)閉信號(下降沿)到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿到來時才結(jié)束計數(shù),完成一次測量過程??梢钥闯?,實際閘門時間t與預(yù)置閘門時間t1并不嚴(yán)格相等,但差值不超過被測信號的一個周期[4]。</p><p> 圖2.1 等精度測頻原理波形圖</p><p> 等精度測頻的實現(xiàn)方法可簡化為圖2.2所示。CNT1和CNT2是兩個可控計
93、數(shù)器,標(biāo)準(zhǔn)頻率信號從CNT1的時鐘輸入端CLK輸入;經(jīng)整形后的被測信號從CNT2的時鐘輸入端CLK輸入。當(dāng)預(yù)置門控信號為高電平時,經(jīng)整形后的被測信號的上升沿通過D觸發(fā)器的Q端同時啟動CNT1和CNT2。CNT1、CNT2同時對標(biāo)準(zhǔn)頻率信號和經(jīng)整形后的被測信號進(jìn)行計數(shù),分別為NS與NX。當(dāng)預(yù)置門信號為低電平的時候,后而來的被測信號的上升沿將使兩個計數(shù)器同時關(guān)閉,所測得的頻率為(FS/NS)*NX。則等精度測量方法測量精度與預(yù)置門寬度的標(biāo)準(zhǔn)
94、頻率有關(guān),與被測信號的頻率無關(guān)。在預(yù)置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量法的測量精度不變。</p><p> 圖2.2 等精度測頻實現(xiàn)原理圖</p><p><b> 2.3.3誤差分析</b></p><p> 設(shè)在一次實際閘門時間t中計數(shù)器對被測信號的計數(shù)值為Nx,對標(biāo)準(zhǔn)信號的計數(shù)值為Ns。標(biāo)準(zhǔn)信號的
95、頻率為fs,則被測信號的頻率如式(2-1):</p><p> fx=(Nx/Ns)·fs (2-1)</p><p> 由式1-1可知,若忽略標(biāo)頻fs的誤差,則等精度測頻可能產(chǎn)生的相對誤差如式(2-2): </p><p> δ=(|fxe-fx|/fxe)×100%
96、 (2-2)</p><p> 其中fxe為被測信號頻率的準(zhǔn)確值。</p><p> 在測量中,由于fx計數(shù)的起停時間都是由該信號的上升沿觸發(fā)的,在閘門時間t內(nèi)對fx的計數(shù)Nx無誤差(t=NxTx);對fs的計數(shù)Ns最多相差一個數(shù)的誤差,即|ΔNs|≤1,其測量頻率如式(2-3):</p><p> fxe=[Nx/(N
97、s+ΔNs)]·fs (2-3)</p><p> 將式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):</p><p> δ=|ΔNs|/Ns≤1/Ns=1/(t·fs) (2-4)</p><p> 由上式可以看出,測量頻率的相
98、對誤差與被測信號頻率的大小無關(guān),僅與閘門時間和標(biāo)準(zhǔn)信號頻率有關(guān),即實現(xiàn)了整個測試頻段的等精度測量。閘門時間越長,標(biāo)準(zhǔn)頻率越高,測頻的相對誤差就越小。標(biāo)準(zhǔn)頻率可由穩(wěn)定度好、精度高的高頻率晶體振蕩器產(chǎn)生,在保證測量精度不變的前提下,提高標(biāo)準(zhǔn)信號頻率,可使閘門時間縮短,即提高測試速度[5]。</p><p><b> 本章小結(jié)</b></p><p> 本章從各個方面說
99、明了頻率計的工作原理,介紹了頻率測量的原理和誤差的分析,通過對各種頻率測量方法的比對,對等精度頻率計的實現(xiàn),在理論上起到了作用。 </p><p> 3. 數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真</p><p> 3.1 系統(tǒng)的總體設(shè)計</p><p> 當(dāng)系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的100MHz的輸入信號,經(jīng)過信號源模塊,先通過100分頻產(chǎn)生1MHZ的時鐘信
100、號,再將1MHZ的時鐘信號分頻產(chǎn)生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時鐘輸入,7812HZ的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號testen和清零信號clr對計數(shù)模塊進(jìn)行控制,而由其產(chǎn)生的鎖存信號load對鎖存模塊進(jìn)行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當(dāng)鎖存信號為高電平時,數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來
101、,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進(jìn)制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果。數(shù)字頻率計的原理框圖如圖3.1所示。主要由5個模塊組成,分別是:信號源模塊、控制模塊、計數(shù)模塊、鎖存器模塊和顯示器模塊[6]。</p><p> 圖3.1 數(shù)字頻率計的原理框圖</p><p> 根據(jù)數(shù)字頻率計的系統(tǒng)原理,cnt控
102、制信號發(fā)生器。testctl的計數(shù)使能信號testen能產(chǎn)生一個1 s寬的周期信號,并對頻率計的每一計數(shù)器Cnt10的ENA使能端進(jìn)行同步控制:當(dāng)testen高電平時允許計數(shù)、低電平時停止計數(shù)。</p><p> reg32b為鎖存器。在信號load的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到reg32b的內(nèi)部,并由reg32b的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù)
103、,不會由于周期性的清零信號而不斷閃爍。 Cnt10為十進(jìn)制計數(shù)器。有一時鐘使能輸入端ENA,用于鎖定計數(shù)值。當(dāng)高電平時允許計數(shù),低電平時禁止計數(shù)。將八個十進(jìn)制計數(shù)器Cnt10級聯(lián)起來實現(xiàn)8 位十進(jìn)制計數(shù)功能[2,7] 。 disply為七段譯碼顯示驅(qū)動電路,可以將頻率計數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的相對應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測量的結(jié)果。</p><p> 為了實現(xiàn)系統(tǒng)功能,
104、測頻控制信號發(fā)生器testctl、計數(shù)器Cnt10、鎖存器reg32b存在一個工作時序的問題,設(shè)計時需要綜合考慮。</p><p> 8位數(shù)字頻率計的頂層框圖(endfreq.bdf),設(shè)計實現(xiàn)包括信號源模塊(F1MHZ、CNT)、頻率計模塊(FREQ)和顯示模塊(display)三大模塊。下面分別介紹三個模塊的結(jié)構(gòu)和實現(xiàn)方法。 </p><p> 3.2 信號源模塊</p&g
105、t;<p> 信號源是為了產(chǎn)生1MHz 的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進(jìn)行分頻的模塊,設(shè)計源代碼PIN1MHZ.VHD 對輸入系統(tǒng)時鐘clk(50MHz)進(jìn)行分頻產(chǎn)生1MHz 信號。</p><p> PIN1MHZ的封裝圖如3.2所示,圖中CLKIN為接入的100MHZ信號,圖中CLKOUT為接到CNT的CLK的1MHZ的信號。</p><
106、p> 圖3.2 PIN1MHZ封裝圖</p><p> PIN1MHZ的工作時序仿真圖如圖3.3所示。</p><p> 圖3.3信號源模塊仿真圖</p><p> 從PIN1MHZ的工作時序仿真圖可以看出:由系統(tǒng)時鐘提供的100MHz的輸入信號,經(jīng)過信號源模塊,通過100分頻產(chǎn)生1MHZ的時鐘信號,達(dá)到了設(shè)計所需的預(yù)期效果。</p>&
107、lt;p><b> 3.3 分頻器</b></p><p> 此程序要求將1MHZ的輸入頻率分別進(jìn)行21分頻(產(chǎn)生500KHZ的輸出頻freq500k)、23分頻(產(chǎn)生125 KHZ的輸出頻率freq125k)、25 分頻(產(chǎn)生31250HZ的輸出頻freq31250)、27分頻(產(chǎn)生7812HZ的輸出頻率freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)
108、、211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。 </p><p> CNT的封裝圖如圖3.4,圖中CLK為PIN1MHZ輸入的1MHZ信號,freq1為輸出給控制信號發(fā)生器的1HZ信號,7812HZ的輸出頻率freq7812被作為顯示模塊的時鐘輸入,freq 488、freq1953、freq31250、freq125K、freq500K作為待測信號。&l
109、t;/p><p> 圖3.4CNT封裝圖</p><p> CNT的工作時序仿真圖如圖3.5所示。</p><p> 圖3.5 CNT的時序仿真圖</p><p> 當(dāng)1MHZ頻率波形輸入后,分別產(chǎn)生了設(shè)計所需要的500KHZ的輸出頻freq500k,125 KHZ的輸出頻率freq125k,31250HZ的輸出頻freq31250,7
110、812HZ的輸出頻率freq7812,1953HZ的輸出頻率freq1953,488HZ的輸出頻率freq488,1HZ的輸出頻率freq1。</p><p> 3.4 測頻控制信號產(chǎn)生器</p><p> 控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號??刂菩盘柕臉?biāo)準(zhǔn)輸入時鐘為1HZ,每兩個時鐘周期進(jìn)行一次頻率測量。該模塊產(chǎn)生的3個控制信號,分別為TSTEN,LOAD,CLR_CNT
111、.CLR_CNT信號用于在每次測量開始時,對計數(shù)器進(jìn)行復(fù)位,以清除上次測量的結(jié)果,該復(fù)位信號高電平有效,持續(xù)半個時鐘周期的時間。TSTEN為計數(shù)允許信號,在TSTEN信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進(jìn)行測量,測量時間恰為一個時鐘周期(正好為單位時間1s),在此時間里被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。在每一次測量
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga等精度頻率計設(shè)計
- 基于fpga的等精度頻率計設(shè)計
- 基于fpga的等精度頻率計設(shè)計
- 基于fpga的等精度頻率計的設(shè)計
- 基于fpga的等精度頻率計的設(shè)計
- 畢業(yè)論文--基于fpga的等精度頻率計的設(shè)計
- 畢業(yè)論文--基于fpga的等精度頻率計的設(shè)計
- 基于fpga的等精度頻率計設(shè)計與實現(xiàn)
- 基于fpga的高精度頻率計設(shè)計
- 基于fpga的等精度數(shù)字頻率計設(shè)計
- 基于fpga的等精度數(shù)字頻率計設(shè)計畢業(yè)論文設(shè)計
- 等精度頻率計畢業(yè)設(shè)計說明書
- 等精度頻率計
- 基于內(nèi)嵌cortex-m3內(nèi)核fpga的等精度頻率計設(shè)計
- 基于單片機(jī)與fpga的等精度頻率計的設(shè)計與研究
- 基于單片機(jī)的等精度頻率計設(shè)計 (1)
- 基于fpga的verilog頻率計設(shè)計
- 頻率計畢業(yè)設(shè)計
- 基于cpld的頻率計設(shè)計畢業(yè)設(shè)計
- 基于fpga的頻率計的設(shè)計【畢業(yè)論文】
評論
0/150
提交評論