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