等精度測頻原理頻率計_第1頁
等精度測頻原理頻率計_第2頁
等精度測頻原理頻率計_第3頁
等精度測頻原理頻率計_第4頁
等精度測頻原理頻率計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

-.z.----.可修編.學(xué)號:課程設(shè)計題目采用等精度測頻原理的頻率計學(xué)院信息工程學(xué)院專業(yè)通信工程專業(yè)班級姓名指導(dǎo)教師2015年1月15日課程設(shè)計任務(wù)書學(xué)生**:專業(yè)班級:指導(dǎo)教師:工作單位:信息工程學(xué)院題目:采用等精度測頻原理的頻率計初始條件:本設(shè)計既可以使用集成譯碼器、計數(shù)器、定時器、脈沖發(fā)生器和必要的門電路等。本設(shè)計也可以使用單片機系統(tǒng)構(gòu)建多功能數(shù)字鐘。用數(shù)碼管顯示時間計數(shù)值。要求完成的主要任務(wù):(包括課程設(shè)計工作量及技術(shù)要求,以及說明書撰寫等具體要求)1、課程設(shè)計工作量:1周。2、技術(shù)要求:=1\*GB3①設(shè)計一個等精度測頻原理的頻率計。=2\*GB3②頻率測量*圍1~9999。③其精度為10的-4次方。④用四位帶小數(shù)點數(shù)碼管顯示其頻率。⑤具有超量程、欠量程提示功能。⑥確定設(shè)計方案,按功能模塊的劃分選擇元、器件和中小規(guī)模集成電路,設(shè)計分電路,畫出總體電路原理圖,闡述基本原理。3、查閱至少5篇參考文獻。按《**理工大學(xué)課程設(shè)計工作規(guī)*》要求撰寫設(shè)計報告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)*。時間安排:1、2014年12月5日集中,作課設(shè)具體實施計劃與課程設(shè)計報告格式的要求說明。2、2014年12月6日,查閱相關(guān)資料,學(xué)習(xí)電路的工作原理。2、2014年12月7日至2014年12月31日,方案選擇和電路設(shè)計。2、2015年1月1日至2015年1月6日,電路調(diào)試和設(shè)計說明書撰寫。3、2015年1月7日上交課程設(shè)計成果及報告,同時進行答辯。課設(shè)答疑地點:鑒主15樓電子科學(xué)與技術(shù)實驗室。指導(dǎo)教師簽名:年月日系主任(或責(zé)任教師)簽名:年月日.z.摘要伴隨著集成電路(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),它吸收了計算機科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作為工作平臺,促進了工程發(fā)展。數(shù)字頻率計是一種基本的測量儀器。它被廣泛應(yīng)用與航天、電子、測控等領(lǐng)域。采用等精度頻率測量方法具有測量精度保持恒定,不隨所測信號的變化而變化的特點。本文首先綜述了EDA技術(shù)的發(fā)展概況,F(xiàn)PGA/CPLD開發(fā)的涵義、優(yōu)缺點,VHDL語言的歷史及其優(yōu)點,概述了EDA軟件平臺QUARTUSⅡ;然后介紹了頻率測量的一般原理,利用等精度測量原理,通過FPGA運用VHDL編程,利用FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計了一個8位數(shù)字式等精度頻率計,該頻率計的測量*圍為0-100MHZ,利用QUARTUSⅡ集成開發(fā)環(huán)境進行編輯、綜合、波形仿真,并下載到CPLD器件中,經(jīng)實際電路測試,仿真和實驗結(jié)果表明,該頻率計有較高的實用性和可靠性。關(guān)鍵詞:電子設(shè)計自動化;VHDL語言;頻率測量;數(shù)字頻率計AbstractTheElectronicDesignAutomation(EDA)technologyhasbeeanimportantdesignmethodofanaloganddigitalcircuitsystemastheintegratedcircuit'sgrowing.TheEDAtechnology,whichiscloselyconnectedwiththeelectronictechnology,microelectronicstechnologyandputerscience,canbeusedindesigningelectronicproductautomatically.Digitalfrequencymeterisabasicmeasuringinstruments.Itiswidelyusedinaerospace,electronics,monitoringandotherfields.Withequalprecisionfrequencymeasurementaccuracytomaintainaconstant,andnotwiththemeasuredsignalvaries.WefirstlypresentsomebackgroundinformationofEDA,FPGA/CPLD,VHDLandtheEDAsoftwareplatformQUARTUSⅡinthisthesis;thenintroducedthegeneralprincipleoffrequencymeasurement,utilizationofprecisionmeasuringprinciple,usingVHDLprogramming,useofFPGA(FieldProgrammableGateArray)chipdesignsuchastheprecisionofadigitalfrequencymeter,thisfrequencymeter'smeasuringrangeis0-100MHZ,useQUARTUSⅡintegrateddevelopmentenvironmentforediting,synthesis,wavesimulation,anddownloadtotheCPLDdevice,bytheactualcircuittesting,simulationande*perimentalresultsshowthatthefrequencymeterhashighpracticalandreliability.Keywords:ElectronicDesignAutomation,VHDL,Frequencymeasurement,digitalfrequencymeter目錄摘要IAbstractII目錄III1.緒論11.1電子設(shè)計自動化(EDA)發(fā)展概述21.1.1什么是電子設(shè)計自動化(EDA)21.1.2EDA的發(fā)展歷史21.2基于EDA的FPGA/CPLD開發(fā)41.2.1FPGA/CPLD簡介41.2.2用FPGA/CPLD進行開發(fā)的優(yōu)缺點51.3硬件描述語言(HDL)71.3.1VHDL語言簡介71.3.2利用VHDL語言開發(fā)的優(yōu)點81.4QuartusII概述92.頻率測量112.1數(shù)字頻率計工作原理概述112.2測頻原理及誤差分析122.3.1常用測頻方案122.3.2等精度測頻原理122.3.3誤差分析13本章小結(jié)143.數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真153.1系統(tǒng)的總體設(shè)計153.2信號源模塊163.3分頻器173.4測頻控制信號產(chǎn)生器183.5鎖存器193.6十進制計數(shù)器193.7顯示模塊203.7.1顯示模塊設(shè)計203.7.2顯示電路213.7.3譯碼器22本章小結(jié)22結(jié)論23參考文獻25附錄一頻率計頂層文件26附錄二信號源模塊源程序27附錄三分頻器源程序28附錄四測頻控制信號發(fā)生器源程序30附錄五32位鎖存器源程序32附錄六有時鐘使能的十進制計數(shù)器的源程序33附錄七顯示模塊源程序35-.z.1.緒論21世紀(jì)人類將全面進入信息化社會,對微電子信息技術(shù)和微電子VLSI基礎(chǔ)技術(shù)將不斷提出更高的發(fā)展要求,微電子技術(shù)仍將繼續(xù)是21世紀(jì)若干年代中最為重要的和最有活力的高科技領(lǐng)域之一。而集成電路(IC)技術(shù)在微電子領(lǐng)域占有重要的地位。伴隨著IC技術(shù)的發(fā)展,電子設(shè)計自動化(ElectronicDesignAutomation,EDA)己經(jīng)逐漸成為重要設(shè)計手段,其廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。EDA是指以計算機大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)開發(fā)軟件,自動完成用軟件方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)[1]。VHDL(超高速集成電路硬件描述語言)是由美國國防部開發(fā)的一種快速設(shè)計電路的工具,目前已經(jīng)成為IEEE(TheInstituteofElectricalandElectronicsEngineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法,VHDL具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top_Down)和基于庫(LibraryBased)的設(shè)計的特點,因此設(shè)計者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計入手,在頂層進行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級用VHDL對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的CPLD器件中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計。數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差,可靠性差。隨著復(fù)雜可編程邏輯器件(CPLD)的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運用VHDL語言。將使整個系統(tǒng)大大簡化。提高整體的性能和可靠性。數(shù)字頻率計是通信設(shè)備、音、視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用VHDL編程設(shè)計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片F(xiàn)PGA芯片上實現(xiàn)。整個系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。本文用VHDL在CPLD器件上實現(xiàn)一種8位數(shù)字頻率計測頻系統(tǒng),能夠用十進制數(shù)碼顯示被測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且能對其他多種頻率信號進行測量。具有體積小、可靠性高、功耗低的特點。1.1電子設(shè)計自動化(EDA)發(fā)展概述什么是電子設(shè)計自動化(EDA)在電子設(shè)計技術(shù)領(lǐng)域,可編程邏輯器件(如PLD,GAL)的應(yīng)用,已有了很好的普及。這些器件為數(shù)字系統(tǒng)的設(shè)計帶來極大的靈活性。由于這類器件可以通過軟件編程而對其硬件的結(jié)構(gòu)和工作方式進行重構(gòu),使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程、乃至設(shè)計觀念??v觀可編程邏輯器件的發(fā)展史,它在結(jié)構(gòu)原理、集成規(guī)模、下載方式、邏輯設(shè)計手段等方面的每一次進步都為現(xiàn)代電子設(shè)計技術(shù)的革命與發(fā)展提供了不可或缺的強大動力。隨著可編程邏輯器件集成規(guī)模不斷擴大,自身功能的不斷完善和計算機輔助設(shè)計技術(shù)的提高,在現(xiàn)代電子系統(tǒng)設(shè)計領(lǐng)域中的EDA便應(yīng)運而生了。電子設(shè)計自動化(EDA)是一種實現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計算機科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作為工作平臺,是20世紀(jì)90年代初從CAD(計算機輔助設(shè)計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,在EDA軟件平臺上,根據(jù)硬件描述語言HDL完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(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)用的普及程度也比較大。而仿真電子系統(tǒng)的EDA正在進入實用,其初期的EDA工具不一定需要硬件描述語言。此外,從應(yīng)用的廣度和深度來說,由于電子信息領(lǐng)域的全面數(shù)字化,基于EDA的數(shù)字系統(tǒng)的設(shè)計技術(shù)具有更大的應(yīng)用市場和更緊迫的需求性。EDA的發(fā)展歷史EDA技術(shù)的發(fā)展始于70年代,至今經(jīng)歷了三個階段。電子線路的CAD(計算機輔助計)是EDA發(fā)展的初級階段,是高級EDA系統(tǒng)的重要組成部分。它利用計算機的圖形編輯、分析和存儲等能力,協(xié)助工程師設(shè)計電子系統(tǒng)的電路圖、印制電路板和集成電路板圖;采用二維圖形編輯與分析,主要解決電子線路設(shè)計后期的大量重復(fù)性工作,可以減少設(shè)計人員的繁瑣重復(fù)勞動,但自動化程度低,需要人工干預(yù)整個設(shè)計過程。這類專用軟件大多以微機為工作平臺,易于學(xué)用,設(shè)計中小規(guī)模電子系統(tǒng)可靠有效,現(xiàn)仍有很多這類專用軟件被廣泛應(yīng)用于工程設(shè)計。80年代初期,EDA技術(shù)開始設(shè)計過程的分析,推出了以仿真(邏輯模擬、定時分析和故障仿真)和自動布局與布線為核心的EDA產(chǎn)品,這一階段的EDA已把三維圖形技術(shù)、窗口技術(shù)、計算機操作系統(tǒng)、網(wǎng)絡(luò)數(shù)據(jù)交換、數(shù)據(jù)庫與進程管理等一系列計算機學(xué)科的最新成果引入電子設(shè)計,形成了CAE—計算機輔助工程。也就是所謂的EDA技術(shù)中級階段。其主要特征是具備了自動布局布線和電路的計算機仿真、分析和驗證功能。其作用已不僅僅是輔助設(shè)計,而且可以代替人進行*種思維。CAE這種以原理圖為基礎(chǔ)的EDA系統(tǒng),雖然直觀,且易于理解,但對復(fù)雜的電子設(shè)計很難達到要求,也不宜于設(shè)計的優(yōu)化。所以,90年代出現(xiàn)了以自動綜合器和硬件描述語言為基礎(chǔ),全面支持電子設(shè)計自動化的ESDA(電子系統(tǒng)設(shè)計自動化),即高級EDA階段、也就是目前常說的EDA。過去傳統(tǒng)的電子系統(tǒng)電子產(chǎn)品的設(shè)計方法是采用自底而上(Bottom_Up)的程序,設(shè)計者先對系統(tǒng)結(jié)構(gòu)分塊,直接進行電路級的設(shè)計。這種設(shè)計方式使設(shè)計者不能預(yù)測下一階段的問題,而且每一階段是否存在問題,往往在系統(tǒng)整機調(diào)試時才確定,也很難通過局部電路的調(diào)整使整個系統(tǒng)達到既定的功能和指針,不能保證設(shè)計一舉成功。EDA技術(shù)高級階段采用一種新的設(shè)計概念:自頂而下(Top_Down)的設(shè)計程序和并行工程(Concurrentengineering)的設(shè)計方法,設(shè)計者的精力主要集中在所要電子產(chǎn)品的準(zhǔn)確定義上,EDA系統(tǒng)去完成電子產(chǎn)品的系統(tǒng)級至物理級的設(shè)計。此階段EDA技術(shù)的主要特征是支持高級語言對系統(tǒng)進行描述,高層次綜合(HighLevelSynthesis)理論得到了巨大的發(fā)展,可進行系統(tǒng)級的仿真和綜合。圖1.1給出了上述三個階段的示意圖。圖1.1EDA發(fā)展階段示意圖1.2基于EDA的FPGA/CPLD開發(fā)我國的電子設(shè)計技術(shù)發(fā)展到今天,將面臨一次更大意義的突破,即FPGA/CPLD(FieldProgrammableGateArray,現(xiàn)場可編程門陣列/ple*ProgrammableLogicDevice,復(fù)雜可編程邏輯器件)在EDA基礎(chǔ)上的廣泛應(yīng)用。從*種意義上說,新的電子系統(tǒng)運轉(zhuǎn)的物理機制又將回到原來的純數(shù)字電路結(jié)構(gòu),但卻是一種更高層次的循環(huán),它在更高層次上容納了過去數(shù)字技術(shù)的優(yōu)秀部分,對(MicroChipUnit)MCU系統(tǒng)是一種揚棄,在電子設(shè)計的技術(shù)操作和系統(tǒng)構(gòu)成的整體上發(fā)生了質(zhì)的飛躍。如果說MCU在邏輯的實現(xiàn)上是無限的話,則FPGA/CPLD不但包括了MCU這一特點,而且可以觸及硅片電路線度的物理極限,并兼有串、并行工作方式,高速、高可靠性以及寬口徑適用性等諸多方面的特點。不但如此,隨著EDA技術(shù)的發(fā)展和FPGA/CPLD在深亞微米領(lǐng)域的進軍,它們與MCU,MPU,DSP,A/D,D/A,RAM和ROM等獨立器件間的物理與功能界限已日趨模糊。特別是軟/硬IP芯核(知識產(chǎn)權(quán)芯核;IntelligencePropertyCore,一種已注冊產(chǎn)權(quán)的電路設(shè)計)產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用及標(biāo)準(zhǔn)FPGA器件的呼之欲出,片上系統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPLD以其不可替代的地位及伴隨而來的極具知識經(jīng)濟特征的IP芯核產(chǎn)業(yè)的崛起,正越來越受到業(yè)內(nèi)人士的密切關(guān)注。FPGA/CPLD簡介FPGA和CPLD都是高密度現(xiàn)場可編程邏輯芯片,都能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復(fù)雜可編程邏輯器件CPLD是由PAL(ProgrammableArrayLogic,可編程數(shù)組邏輯)或GAL(GenericArrayLogic,通用數(shù)組邏輯)發(fā)展而來的。它采用全局金屬互連導(dǎo)線,因而具有較大的延時可預(yù)測性,易于控制時序邏輯;但功耗比較大。現(xiàn)場可編程門陣列(FPGA)是由掩膜可編程門陣列(MPGA)和可編程邏輯器件二者演變而來的,并將它們的特性結(jié)合在一起,因此FPGA既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。FPGA通常由布線資源分隔的可編程邏輯單元(或宏單元)構(gòu)成數(shù)組,又由可編程I/O單元圍繞數(shù)組構(gòu)成整個芯片。其內(nèi)部資源是分段互聯(lián)的,因而延時不可預(yù)測,只有編程完畢后才能實際測量。CPLD和FPGA建立內(nèi)部可編程邏輯連接關(guān)系的編程技術(shù)有三種:基于反熔絲技術(shù)的器件只允許對器件編程一次,編程后不能修改。其優(yōu)點是集成度、工作頻率和可靠性都很高,適用于電磁輻射干擾較強的惡劣環(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(InSystemProgrammable)方式編程,其調(diào)試和維修也很方便?;赟RAM技術(shù)的器件編程數(shù)據(jù)存儲于器件的RAM區(qū)中,使之具有用戶設(shè)計的功能。在系統(tǒng)不加電時,編程數(shù)據(jù)存儲在EPROM、硬盤、或軟盤中。系統(tǒng)加電時將這些編程數(shù)據(jù)實時寫入可編程器件,從而實現(xiàn)板級或系統(tǒng)級的動態(tài)配置。用FPGA/CPLD進行開發(fā)的優(yōu)缺點我們認為,基于EDA技術(shù)的FPGA/CPLD器件的開發(fā)應(yīng)用可以從根本上解決MCU所遇到的問題。與MCU相比,F(xiàn)PGA/CPLD的優(yōu)勢是多方面的和根本性的:(1).編程方式簡便、先進。FPGA/CPLD產(chǎn)品越來越多地采用了先進的IEEE1149.1邊界掃描測試(BST)技術(shù)(由聯(lián)合測試行動小組,JTAG開發(fā))和ISP(在系統(tǒng)配置編程方式)。在+5V工作電平下可隨時對正在工作的系統(tǒng)上的FPGA/CPLD進行全部或部分地在系統(tǒng)編程,并可進行所謂菊花鏈?zhǔn)蕉嘈酒芯幊?,對于SRAM結(jié)構(gòu)的FPGA,其下載編程次數(shù)幾乎沒有限制(如Altera公司的FLE*IOK系列)。這種編程方式可輕易地實現(xiàn)紅外編程、超聲編程或無線編程,或通過線遠程在線編程。這些功能在工控、智能儀器儀表、通訊和軍事上有特殊用途。(2).高速。FPGA/CPLD的時鐘延遲可達納秒級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控方面有非常廣闊的應(yīng)用前景。(3).高可靠性。在高可靠應(yīng)用領(lǐng)域,MCU的缺憾為FPGA/CPLD的應(yīng)用留下了很大的用武之地。除了不存在MCU所特有的復(fù)位不可靠與PC可能跑飛等固有缺陷外,F(xiàn)PGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同一芯片中,從而大大縮小了體積,易于管理和屏蔽。(4).開發(fā)工具和設(shè)計語言標(biāo)準(zhǔn)化,開發(fā)周期短。由于FPGA/CPLD的集成規(guī)模非常大,集成度可達數(shù)百萬門。因此,F(xiàn)PGA/CPLD的設(shè)計開發(fā)必須利用功能強大的EDA工具,通過符合國際標(biāo)準(zhǔn)的硬件描述語言(如VHDL或Verilog-HDL)來進行電子系統(tǒng)設(shè)計和產(chǎn)品開發(fā)。由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用的FPGA/CPLD器件的硬件結(jié)構(gòu)沒有關(guān)系,所以設(shè)計成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用于任何型號的FPGA/CPLD中,由此還可以以知識產(chǎn)權(quán)的方式得到確認,并被注冊成為所謂的IP芯核,從而使得片上系統(tǒng)的產(chǎn)品設(shè)計效率大幅度提高。由于相應(yīng)的EDA軟件功能完善而強大,仿真方式便捷而實時,開發(fā)過程形象而直觀,兼之硬件因素涉及甚少,因此可以在很短時間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)計,這正是產(chǎn)品快速進入市場的最寶貴的特征。美國TI公司認為,一個ASIC80%的功能可用IP芯核等現(xiàn)成邏輯合成。EDA專家預(yù)言,未來的大系統(tǒng)的FPGA/CPLD設(shè)計僅僅是各類再應(yīng)用邏輯與IP芯核的拼裝,其設(shè)計周期最少僅數(shù)分鐘。(5).功能強大,應(yīng)用廣闊。目前,F(xiàn)PGA/CPLD可供選擇*圍很大,可根據(jù)不同的應(yīng)用選用不同容量的芯片。利用它們可實現(xiàn)幾乎任何形式的數(shù)字電路或數(shù)字系統(tǒng)的設(shè)計。隨著這類器件的廣泛應(yīng)用和成本的大幅度下降,F(xiàn)PGA/CPLD在系統(tǒng)中的直接應(yīng)用率正直逼ASIC的開發(fā)。同時,F(xiàn)PGA/CPLD設(shè)計方法也有其局限性。這主要體現(xiàn)在以下幾點:(1).FPGA/CPLD設(shè)計軟件一般需要對電路進行邏輯綜合優(yōu)化(LogicSynthesis&Optimization),以得到易于實現(xiàn)的結(jié)果,因此,最終設(shè)計和原始設(shè)計之間在邏輯實現(xiàn)和時延方面具有一定的差異。從而使傳統(tǒng)設(shè)計方法中經(jīng)常采用的一些電路形式(特別是一些異步時序電路)在FPGA/CPLD設(shè)計方法中并不適用。這就要求設(shè)計人員更加了解FPGA/CPLD設(shè)計軟件的特點,才能得到優(yōu)化的設(shè)計。(2).FPGA一般采用查找表(LUT)結(jié)構(gòu)(*ilin*),AND-OR結(jié)構(gòu)(Altera)或多路選擇器結(jié)構(gòu)(Actel),這些結(jié)構(gòu)的優(yōu)點是可編程性,缺點是時延過大,造成原始設(shè)計中同步信號之間發(fā)生時序偏移。同時,如果電路較大,需要經(jīng)過劃分才能實現(xiàn),由于引出端的延遲時間,更加大了延遲時間和時序偏移。時延問題是ASIC設(shè)計當(dāng)中常見的問題,要精確地控制電路的時延是非常困難的,特別是在像FPGA/CPLD這樣的可編程邏輯當(dāng)中。(3).FPGA/CPLD的容量和I/O數(shù)目都是有限的,因此,一個較大的電路必須經(jīng)過邏輯劃分((LogicPartition)才能用多個FPGA/CPLD芯片實現(xiàn),劃分算法的優(yōu)劣直接影響設(shè)計的性能。(4).由于目標(biāo)系統(tǒng)的PCB板的修改代價很高,用戶一般希望能夠在固定引出端分配的前提下對電路進行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情況下,微小的修改往往會降低芯片的布通率。(5).早期的FPGA芯片不能實現(xiàn)內(nèi)存、模擬電路等一些特殊形式的電路。最新的一些FPGA產(chǎn)品集成了通用的RAM結(jié)構(gòu)。但這種結(jié)構(gòu)要么利用率不高,要么不完全符合設(shè)計者的需要。這種矛盾來自于FPGA本身的結(jié)構(gòu)局限性,短期內(nèi)很難得到很好的解決。(6).盡管FPGA實現(xiàn)了ASIC設(shè)計的硬件仿真,但是由于FPGA和門陣列、標(biāo)準(zhǔn)單元等傳統(tǒng)ASIC形式的延時特性不盡相同,在將FPGA設(shè)計轉(zhuǎn)向其它ASIC設(shè)計時,仍然存在由于延時不匹配造成設(shè)計失敗的可能性。針對這個問題,國際上出現(xiàn)了用FPGA數(shù)組對ASIC進行硬件仿真的系統(tǒng)(如Quickturn公司的硬件仿真系統(tǒng))。這種專用的硬件仿真系統(tǒng)利用軟硬件結(jié)合的方法,用FPGA數(shù)組實現(xiàn)了ASIC快速原型,接入系統(tǒng)進行測試。該系統(tǒng)可以接受指定的測試點,在FPGA數(shù)組中可以直接觀測(就像軟件模擬中一樣),所以大大提高了仿真的準(zhǔn)確性和效率。1.3硬件描述語言(HDL)硬件描述語言(HDL)是相對于一般的計算機軟件語言如C,Pascal而言的。HDL是用于設(shè)計硬件電子系統(tǒng)的計算機語言,它描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。設(shè)計者可以利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定其結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序變成能控制FPGA和CPLD內(nèi)部結(jié)構(gòu)、并實現(xiàn)相應(yīng)邏輯功能的門級或更底層的結(jié)構(gòu)網(wǎng)表文件和下載文件。硬件描述語言具有以下幾個優(yōu)點:a.設(shè)計技術(shù)齊全,方法靈活,支持廣泛。b.加快了硬件電路的設(shè)計周期,降低了硬件電路的設(shè)計難度。c.采用系統(tǒng)早期仿真,在系統(tǒng)設(shè)計早期就可發(fā)現(xiàn)并排除存在的問題。d.語言設(shè)計與工藝技術(shù)無關(guān)。e.語言標(biāo)準(zhǔn),規(guī)*,易與共享和復(fù)用。就FPGA/CPLD開發(fā)來說,VHDL語言是最常用和流行的硬件描述語言之一。本次設(shè)計選用的就是VHDL語言,下面將主要對VHDL語言進行介紹。VHDL語言簡介VHDL是超高速集成電路硬件描述語言的英文字頭縮寫簡稱,其英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage。它是在70~80年代中由美國國防部資助的VHSIC(超高速集成電路)項目開發(fā)的產(chǎn)品,誕生于1982年。1987年底,VHDL被IEEE(TheInstituteofElectricalandElectronicsEngineers)確認為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本((IEEEstd1076-1987標(biāo)準(zhǔn))之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境。此后,VHDL在電子設(shè)計領(lǐng)域受到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)HDL。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即ANSI/IEEEstd1076-1993版本。1996年IEEE1076.3成為VHDL綜合標(biāo)準(zhǔn)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適用于可編程邏輯芯片的應(yīng)用設(shè)計。與其它的HDL相比,VHDL具有更強的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(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和可編程邏輯器件的結(jié)合作為一種強有力的設(shè)計方式,將為設(shè)計者的產(chǎn)品上市帶來創(chuàng)紀(jì)錄的速度。利用VHDL語言開發(fā)的優(yōu)點VHDL語言與其它HDL語言相比有一些自己的特色,下面作一簡要說明。(1)設(shè)計功能強、方法靈活、支持廣泛。VDHL語言可以支持自上而下(Top_Down)的設(shè)計方法,它具有功能強大的語言結(jié)構(gòu),可用簡潔明確的代碼描述來進行復(fù)雜控制邏輯的設(shè)計,可以支持同步電路、異步電路、以及其它隨機電路的設(shè)計。其*圍之廣是其它HDL語言所不能比擬的。此外,VHDL語言可以自定義數(shù)據(jù)類型,這也給編程人員帶來了較大的自由和方便。(2)系統(tǒng)硬件描述能力強。VHDL語言具有多層次的設(shè)計描述功能,可以從系統(tǒng)的數(shù)學(xué)模型直到門級電路,支持設(shè)計庫和可重復(fù)使用的組件生成,它支持階層設(shè)計且提供模塊設(shè)計的創(chuàng)建。VHDL語言能進行系統(tǒng)級的硬件描述是它的一個最突出的優(yōu)點。(3)可以進行與工藝無關(guān)編程。VHDL語言設(shè)計系統(tǒng)硬件時,沒有嵌入描述與工藝相關(guān)的信息,不會因為工藝變化而使描述過時。與工藝技術(shù)有關(guān)的參數(shù)可通過VHDL提供的類屬加以描述,工藝改變時,只需修改相應(yīng)程序中的類屬參數(shù)即可。(4)VHDL語言標(biāo)準(zhǔn)、規(guī)*,易于共享和復(fù)用。VHDL既是IEEE承認的標(biāo)準(zhǔn),故VHDL的設(shè)計描述可以被不同的EDA設(shè)計工具所支持。從一個仿真工具移植到另一個仿真工具,從一個綜合工具移植到另一個綜合工具,從一個工作平臺移植到另一個工作平臺去執(zhí)行。這意味著同一個VHDL設(shè)計描述可以在不同的設(shè)計項目中采用,方便了設(shè)計成果的設(shè)計和交流。另外,VHDL語言的語法比較規(guī)*,從而其可讀性比較好,給閱讀和使用都帶來了極大的好處。(5)方便ASIC移植。VHDL語言的效率之一,就是如果你的設(shè)計是被綜合到一個CPLD或FPGA的話,則可以使你設(shè)計的產(chǎn)品以最快速度上市。當(dāng)產(chǎn)品的產(chǎn)量達到相當(dāng)?shù)臄?shù)量時,采用VHDL進行的設(shè)計可以很容易轉(zhuǎn)成用專用集成電路(ASIC)來實現(xiàn),僅僅需要更換不同的庫重新進行綜合。由于VHDL是一個成熟的定義型語言,可以確保ASIC廠商交付優(yōu)良質(zhì)量的器件產(chǎn)品。此外,由于工藝技術(shù)的進步,需要采用更先進的工藝時,仍可以采用原來的VHDL代碼。1.4QuartusII概述QuartusII是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應(yīng)商之一。QuartusII在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MA*+PLUSII的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。Altera的QuartusII提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為AlteraDSP開發(fā)包進行系統(tǒng)模型設(shè)計提供了集成組合環(huán)境。QuartusII設(shè)計工具完全支持VHDL、Verilog的設(shè)計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。QuartusII也可利用第三方的綜合工具。同樣,QuartusII具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSPBuilder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。QuartusII包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analsis&Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(TimingAnalyzer)、設(shè)計輔助模塊(DesignAssistant)、EDA網(wǎng)表文件生成器(EDANetlistWriter)、編輯數(shù)據(jù)接口(pilerDatabaseInterface)等??梢酝ㄟ^選擇Startpilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇pilerTool(Tools菜單),在pilerTool窗口中運行該模塊來啟動編譯器模塊。在pilerTool窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。此外,QuartusII還包含許多十分有用的LPM(LibraryofParameterizedModules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被大量使用,也可以與QuartusII普通設(shè)計文件一起使用。Altera提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能,如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路模塊等。QuartusII編譯器支持的硬件描述語言有VHDL(支持VHDL’87及VHDL’97標(biāo)準(zhǔn))、VerilogHDL及AHDL(AlteraHDL)。QuartusII支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計的問題。在設(shè)計輸入之后,QuartusII的編譯器將給出設(shè)計輸入的錯誤報告??梢允褂肣uartusII帶有的RTLViewer觀察綜合后的RTL圖。QuartusII作為目前CPLD/FPGA開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。(1)繼承了MA*+PLUSII的優(yōu)點圖形輸入依然形象,圖形符號與MA*+PLUSII一樣符合數(shù)字電路的特點,大量74系列器件符號使能初學(xué)者在較短的時間里利用圖形編輯設(shè)計出需要的電路。文本輸入幾乎和MA*+PLUSII相同,而且在文本的每一行都有行號,使用語言編寫的電路清晰易讀。低層編輯仍然采用Chipview方式,引腳排列位置映射了實際器件引腳,只要簡單地鼠標(biāo)拖放即可完成低層編輯。(2)支持的器件更多除了支持MA*3000、MA*7000、FLE*6000、FLE*10KE、ACE*1K等MA*+PLUSII已經(jīng)支持的器件外,還支持PE*20K、APE*20KE、ARE*II、E*CALIBUR-ARM、Mercury、Strati*等MA*+PLUSII下無法支持的大容量高性能的器件。(3)增加了網(wǎng)絡(luò)編輯功能QuartusII支持一個工作組環(huán)境下的設(shè)計要求,包括支持基于Internet的協(xié)作設(shè)計,與Cadence、E*emplarLogi、MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。(4)提升了調(diào)試能力QuartusII增加了一個新的快速適配編譯選項,可保留最佳性能的設(shè)置,加快了編譯過程,可縮短50%的編譯時間,對設(shè)計性能的影響小。(5)不足之處軟件結(jié)構(gòu)龐大,使用復(fù)雜,不如MA*+PLUSII簡單、易學(xué)易用。2.頻率測量2.1數(shù)字頻率計工作原理概述數(shù)字頻率計的設(shè)計原理實際上是測量單位時間內(nèi)的周期數(shù)。這種方法免去了實測以前的預(yù)測,同時節(jié)省了劃分頻段的時間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點。采用一個標(biāo)準(zhǔn)的基準(zhǔn)時鐘,在單位時間(1s)里對被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。由于閘門的起始和結(jié)束時刻對于信號來說是隨機的,將會有一個脈沖周期的量化誤差。進一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為T*,頻率為F*,當(dāng)測量時間為T=1s時,測量準(zhǔn)確度為&=T*/T=1/F*。由此可知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時,測量準(zhǔn)確度也較高,反之測量準(zhǔn)確度也較低。因此直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變的要求。

為克服低頻段測量的不準(zhǔn)確問題,采用門控信號和被測信號對計數(shù)器的使能信號進行雙重控制,大大提高了準(zhǔn)確度。當(dāng)門控信號為1時,使能信號并不為1,只有被測信號的上升沿到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù)。當(dāng)門控信號變?yōu)?時,使能信號并不是立即改變,而是當(dāng)被測信號的下一個上升沿到來時才變?yōu)?,計數(shù)器停止計數(shù)。因此測量的誤差最多為一個標(biāo)準(zhǔn)時鐘周期。當(dāng)采用100MHz的信號作為標(biāo)準(zhǔn)信號時,誤差最大為0.01μs。計算每秒鐘內(nèi)待測信號脈沖個數(shù)。這就要求計數(shù)使能信號TSTEN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計的每一計數(shù)器t10的ENA使能端進行同步控制。當(dāng)TSTEN為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒鐘的計數(shù)值鎖存進32位鎖存器REG32B中,并由外部的譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須由清零信號CLR_T對計數(shù)器進行清零,為下一秒鐘的計數(shù)操作做準(zhǔn)備。當(dāng)系統(tǒng)正常工作時,脈沖發(fā)生器提供的1Hz的輸入信號,經(jīng)過測頻控制信號發(fā)生器進行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進行計數(shù),將計數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果[3]。2.2測頻原理及誤差分析常用測頻方案頻率測量方案方案一:采用周期法。通過測量待測信號的周期并求其倒數(shù),需要有標(biāo)準(zhǔn)倍的頻率,在待測信號的一個周期內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù),這種方法的計數(shù)值會產(chǎn)生最大為±1個脈沖誤差,并且測試精度與計數(shù)器中記錄的數(shù)值有關(guān),為了保證測試精度,測周期法僅適用于低頻信號的測量。方案二:采用直接測頻法。直接測頻法就是在確定的閘門時間內(nèi),記錄被測信號的脈沖個數(shù)。由于閘門時間通常不是待測信號的整數(shù)倍,這種方法的計數(shù)值也會產(chǎn)生最大為±1個脈沖誤差。進一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為T*,頻率為F*,當(dāng)測量時間為T=1s時,測量準(zhǔn)確度為&=T*/T=1/F*。由此可知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時,測量準(zhǔn)確度也較高,反之測量準(zhǔn)確度也較低。因此直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變的要求。方案三:采用等精度頻率測量法,測量精度保持恒定,不隨所測信號的變化而變化。在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標(biāo)準(zhǔn)頻率信號。單片機受本身時鐘頻率和若干指令運算的限制,測頻速度較慢,無法滿足高速、高精度的測頻要求;而采用高集成度、高速的現(xiàn)場可編程門陣列FPGA為實現(xiàn)高速、高精度的測頻提供了保證。本設(shè)計所采用的測頻方法就是等精度頻率測量法,下面我們將對等精度頻率測量法做進一步介紹。等精度測頻原理等精度測頻方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。它的閘門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,避除了對被測信號計數(shù)所產(chǎn)生±1個字誤差,并且達到了在整個測試頻段的等精度測量。其測頻原理如圖2.1所示。在測量過程中,有兩個計數(shù)器分別對標(biāo)準(zhǔn)信號和被測信號同時計數(shù)。首先給出閘門開啟信號(預(yù)置閘門上升沿),此時計數(shù)器并不開始計數(shù),而是等到被測信號的上升沿到來時,計數(shù)器才真正開始計數(shù)。然后預(yù)置閘門關(guān)閉信號(下降沿)到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿到來時才結(jié)束計數(shù),完成一次測量過程??梢钥闯?,實際閘門時間t與預(yù)置閘門時間t1并不嚴(yán)格相等,但差值不超過被測信號的一個周期[4]。圖2.1等精度測頻原理波形圖等精度測頻的實現(xiàn)方法可簡化為圖2.2所示。T1和T2是兩個可控計數(shù)器,標(biāo)準(zhǔn)頻率信號從T1的時鐘輸入端CLK輸入;經(jīng)整形后的被測信號從T2的時鐘輸入端CLK輸入。當(dāng)預(yù)置門控信號為高電平時,經(jīng)整形后的被測信號的上升沿通過D觸發(fā)器的Q端同時啟動T1和T2。T1、T2同時對標(biāo)準(zhǔn)頻率信號和經(jīng)整形后的被測信號進行計數(shù),分別為NS與N*。當(dāng)預(yù)置門信號為低電平的時候,后而來的被測信號的上升沿將使兩個計數(shù)器同時關(guān)閉,所測得的頻率為(FS/NS)*N*。則等精度測量方法測量精度與預(yù)置門寬度的標(biāo)準(zhǔn)頻率有關(guān),與被測信號的頻率無關(guān)。在預(yù)置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量法的測量精度不變。圖2.2等精度測頻實現(xiàn)原理圖誤差分析設(shè)在一次實際閘門時間t中計數(shù)器對被測信號的計數(shù)值為N*,對標(biāo)準(zhǔn)信號的計數(shù)值為Ns。標(biāo)準(zhǔn)信號的頻率為fs,則被測信號的頻率如式(2-1):f*=(N*/Ns)·fs(2-1)由式1-1可知,若忽略標(biāo)頻fs的誤差,則等精度測頻可能產(chǎn)生的相對誤差如式(2-2):δ=(|f*e-f*|/f*e)×100%(2-2)其中f*e為被測信號頻率的準(zhǔn)確值。在測量中,由于f*計數(shù)的起停時間都是由該信號的上升沿觸發(fā)的,在閘門時間t內(nèi)對f*的計數(shù)N*無誤差(t=N*T*);對fs的計數(shù)Ns最多相差一個數(shù)的誤差,即|ΔNs|≤1,其測量頻率如式(2-3):f*e=[N*/(Ns+ΔNs)]·fs(2-3)將式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):δ=|ΔNs|/Ns≤1/Ns=1/(t·fs)(2-4)由上式可以看出,測量頻率的相對誤差與被測信號頻率的大小無關(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]。本章小結(jié)本章從各個方面說明了頻率計的工作原理,介紹了頻率測量的原理和誤差的分析,通過對各種頻率測量方法的比對,對等精度頻率計的實現(xiàn),在理論上起到了作用。3.數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真3.1系統(tǒng)的總體設(shè)計當(dāng)系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的100MHz的輸入信號,經(jīng)過信號源模塊,先通過100分頻產(chǎn)生1MHZ的時鐘信號,再將1MHZ的時鐘信號分頻產(chǎn)生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時鐘輸入,7812HZ的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號testen和清零信號clr對計數(shù)模塊進行控制,而由其產(chǎn)生的鎖存信號load對鎖存模塊進行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當(dāng)鎖存信號為高電平時,數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果。數(shù)字頻率計的原理框圖如圖3.1所示。主要由5個模塊組成,分別是:信號源模塊、控制模塊、計數(shù)模塊、鎖存器模塊和顯示器模塊[6]。圖3.1數(shù)字頻率計的原理框圖根據(jù)數(shù)字頻率計的系統(tǒng)原理,t控制信號發(fā)生器。testctl的計數(shù)使能信號testen能產(chǎn)生一個1s寬的周期信號,并對頻率計的每一計數(shù)器t10的ENA使能端進行同步控制:當(dāng)testen高電平時允許計數(shù)、低電平時停止計數(shù)。reg32b為鎖存器。在信號load的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到reg32b的內(nèi)部,并由reg32b的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會由于周期性的清零信號而不斷閃爍。

t10為十進制計數(shù)器。有一時鐘使能輸入端ENA,用于鎖定計數(shù)值。當(dāng)高電平時允許計數(shù),低電平時禁止計數(shù)。將八個十進制計數(shù)器t10級聯(lián)起來實現(xiàn)8位十進制計數(shù)功能[2,7]。

disply為七段譯碼顯示驅(qū)動電路,可以將頻率計數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的相對應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測量的結(jié)果。為了實現(xiàn)系統(tǒng)功能,測頻控制信號發(fā)生器testctl、計數(shù)器t10、鎖存器reg32b存在一個工作時序的問題,設(shè)計時需要綜合考慮。8位數(shù)字頻率計的頂層框圖(endfreq.bdf),設(shè)計實現(xiàn)包括信號源模塊(F1MHZ、T)、頻率計模塊(FREQ)和顯示模塊(display)三大模塊。下面分別介紹三個模塊的結(jié)構(gòu)和實現(xiàn)方法。3.2信號源模塊信號源是為了產(chǎn)生1MHz的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進行分頻的模塊,設(shè)計源代碼PIN1MHZ.VHD對輸入系統(tǒng)時鐘clk(50MHz)進行分頻產(chǎn)生1MHz信號。PIN1MHZ的封裝圖如3.2所示,圖中CLKIN為接入的100MHZ信號,圖中CLKOUT為接到T的CLK的1MHZ的信號。圖3.2PIN1MHZ封裝圖PIN1MHZ的工作時序仿真圖如圖3.3所示。圖3.3信號源模塊仿真圖從PIN1MHZ的工作時序仿真圖可以看出:由系統(tǒng)時鐘提供的100MHz的輸入信號,經(jīng)過信號源模塊,通過100分頻產(chǎn)生1MHZ的時鐘信號,達到了設(shè)計所需的預(yù)期效果。3.3分頻器此程序要求將1MHZ的輸入頻率分別進行21分頻(產(chǎn)生500KHZ的輸出頻freq500k)、23分頻(產(chǎn)生125KHZ的輸出頻率freq125k)、25分頻(產(chǎn)生31250HZ的輸出頻freq31250)、27分頻(產(chǎn)生7812HZ的輸出頻率freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)、211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。T的封裝圖如圖3.4,圖中CLK為PIN1MHZ輸入的1MHZ信號,freq1為輸出給控制信號發(fā)生器的1HZ信號,7812HZ的輸出頻率freq7812被作為顯示模塊的時鐘輸入,freq488、freq1953、freq31250、freq125K、freq500K作為待測信號。圖3.4T封裝圖T的工作時序仿真圖如圖3.5所示。圖3.5T的時序仿真圖當(dāng)1MHZ頻率波形輸入后,分別產(chǎn)生了設(shè)計所需要的500KHZ的輸出頻freq500k,125KHZ的輸出頻率freq125k,31250HZ的輸出頻freq31250,7812HZ的輸出頻率freq7812,1953HZ的輸出頻率freq1953,488HZ的輸出頻率freq488,1HZ的輸出頻率freq1。3.4測頻控制信號產(chǎn)生器控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號。控制信號的標(biāo)準(zhǔn)輸入時鐘為1HZ,每兩個時鐘周期進行一次頻率測量。該模塊產(chǎn)生的3個控制信號,分別為TSTEN,LOAD,CLR_T.CLR_T信號用于在每次測量開始時,對計數(shù)器進行復(fù)位,以清除上次測量的結(jié)果,該復(fù)位信號高電平有效,持續(xù)半個時鐘周期的時間。TSTEN為計數(shù)允許信號,在TSTEN信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進行測量,測量時間恰為一個時鐘周期(正好為單位時間1s),在此時間里被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。在每一次測量開始時,都必須重新對計數(shù)器清0[7]。測頻控制產(chǎn)生器如圖3.6,圖中CLK接T的FREQ1的1HZ的信號,TSTEN為計數(shù)允許信號,接計數(shù)器T10的ENA,CLR_T信號用于在每次測量開始時,對計數(shù)器進行復(fù)位,接計數(shù)器T10的CLR,LOAD接鎖存器的LOAD。圖3.6TESTCTL的封裝圖測頻控制信號發(fā)生器TESTCTL的工作時序圖,控制模塊的幾個控制信號的時序關(guān)系圖如圖3.7所示。圖3.7TESTCTL的時序仿真圖從圖中可看出,計數(shù)使能信號TSTEN在1s的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號LOAD,隨后產(chǎn)生清0信號上跳沿CLR_T。為了產(chǎn)生這個時序圖需首先建立一個由D觸發(fā)器構(gòu)成的二分頻器,在每次時鐘CLK上升沿到來時令其翻轉(zhuǎn)。其中,控制信號時鐘clk的頻率取1HZ,而信號TSTEN的脈寬恰好為1s,可以用作閘門信號。此時,根據(jù)測頻的時序要求,可得出信號LOAD和CLR_T的邏輯描述。由圖可知,在計數(shù)完成后,計數(shù)使能信號TETEN在1s的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號LOAD,0.5s后,CLR_T產(chǎn)生一個請零信號上跳沿。3.5鎖存器鎖存器模塊也是必不可少的,測量模塊測量完成后,在load信號的上升沿時刻將測量值鎖存到寄存器中,然后輸出到顯示模塊。鎖存器是起數(shù)據(jù)保持的作用,它將會把數(shù)據(jù)保存到下次觸發(fā)或復(fù)位。主要是主從觸發(fā)器組成的。用于存儲數(shù)據(jù)來進行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時間不變化,直到新的數(shù)據(jù)將其替換。鎖存器REG32B的封裝如圖3.8,圖中LOAD接控制測頻產(chǎn)生器TESTCTL的LOAD,而DIN[31..0]接計數(shù)器T10的CQ[3..0],DOUT[31..0]接顯示器display的in端。圖3.8REG32B的封裝圖32位鎖存器REG32B的工作時序圖如圖3.9。圖3.9REG32B的時序仿真圖本程序是用來實現(xiàn)鎖存器模塊的功能,但它的程序相當(dāng)簡單,在鎖存信號load的上升沿到來時,鎖存器將測量值鎖存到寄存器,然后輸出到顯示模塊。但從仿真圖3.9中可以明顯的看出,鎖存輸出并不是立即進行的,而是經(jīng)歷了一個短暫的延時,這是由于硬件引起的。3.6十進制計數(shù)器計數(shù)器模塊是由8個帶有異步清零端,進位信號輸出的模為10的計數(shù)模塊級連而成。通過(freq.vhd)進行元件例化實現(xiàn)。此十進制計數(shù)器的特殊之處是,有一時鐘使能輸入端ENA,用于鎖定計數(shù)器。當(dāng)高電平計數(shù)允許,低電平時計數(shù)禁止。計數(shù)器模塊用于對輸入信號的脈沖進行計數(shù),該模塊必須有計數(shù)允許、異步清零等端口,以便于控制模塊對其進行控制。T10的封裝如圖3.10,其中CLR為復(fù)位接TESTCTL的CLR_T端,ENA接TESTCTL的TSTEN端,CQ[3..0]接鎖存器的DOUT[31..0]端。圖3.10T10的封裝圖有時鐘使能的十進制計數(shù)器T10的工作時序仿真如圖3.11。圖3.11T10的時序仿真圖此程序模塊實現(xiàn)的功能是帶使能端的10進制計數(shù)。程序要求只有當(dāng)使能端信號為高電平時計數(shù)器才能正常工作,每個時鐘的上升沿到來時計數(shù)器加1,因為這里要實現(xiàn)的是10進制計數(shù),所以當(dāng)計數(shù)到10時計數(shù)器清零,同時產(chǎn)生進位信號,這里的進位信號僅為一個脈沖信號,一旦計數(shù)從10變?yōu)?,脈沖信號立即變?yōu)榈碗娖?。同時該計數(shù)器也應(yīng)帶有清零信號,一旦清零信號為高電平,計數(shù)器立即清零。顯示模塊顯示模塊設(shè)計LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進制數(shù)轉(zhuǎn)換為與LED顯示對應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能,在本設(shè)計中設(shè)計了一個3位的循環(huán)計數(shù)器,將計數(shù)結(jié)果輸入到譯碼器,譯碼結(jié)果輸出即可依次使能每個LED。例如:要讓8個LED同時工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個LED,并在使能每一個LED的同時,輸入所需顯示的數(shù)據(jù)對應(yīng)的8位段碼。雖然8個LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個LED同時工作。display模塊的頂層圖如下所示。T計數(shù)產(chǎn)生掃描信號(位碼),LED模塊用于查表產(chǎn)生LED段碼輸出。圖3.12位display的封裝圖。圖中in0~in7接鎖存器的DOUT[31..0]端。圖3.12display的封裝圖display工作時序圖如下圖3.13。圖3.13disply工作時序圖用8個LED將待測頻率顯示出來,將通過十進制計數(shù)器的時鐘信號CLK,輸出為時鐘信號計數(shù)譯碼后的顯示驅(qū)動端,在八段LED譯碼為對應(yīng)的八段二進制編碼,并由數(shù)碼顯示器顯示出來。圖3.13中為相應(yīng)二進制編碼與相對應(yīng)的屏顯數(shù)字。顯示電路圖3.14display硬件結(jié)構(gòu)圖此部分如圖3.14,圖中主要由0~7循環(huán)累加器、3-8譯碼器、BCD-7段顯示譯碼器、8選1多路數(shù)據(jù)開關(guān)和8個LED顯示器組成的掃描數(shù)碼顯示器。譯碼器74138譯碼器作為數(shù)據(jù)分配器的功能表如表1所示。表174LS138編碼器作為數(shù)據(jù)分配器的功能表輸入輸出EN1EN2BEN2ACBAY0Y1Y2Y3Y4Y5Y6Y700****1111111110D000D111111110D0011D11111110D01011D1111110D011111D111110D1001111D11110D10111111D1110D110111111D110D1111111111D74LS138的3個譯碼輸入C、B、A用做數(shù)據(jù)分配器的地址輸入,8個輸出Y0~Y7用做8路數(shù)據(jù)輸出,3個輸入控制端中的EN2A用做數(shù)據(jù)輸入端,EN2B接地,EN1用做使能端[6]。當(dāng)EN1=1,允許數(shù)據(jù)分配,若需要將輸入數(shù)據(jù)轉(zhuǎn)送至輸出端Y2,地址輸入應(yīng)為CBA=010,由功能表可得:(3-1)而其余輸出端均為高電平。因此,當(dāng)?shù)刂稢BA=010時,只有輸出端Y2得到與輸入相同的數(shù)據(jù)波形。本章小結(jié)本章介紹了頻率計的各個軟件組成模塊,通過運用QUARTUSⅡ集成開發(fā)環(huán)境對各功能模塊進行編輯、綜合、波形仿真,對各功能模塊的的仿真圖,及其仿真功能做了基本講解,對本設(shè)計的實現(xiàn)起到了主要作用。結(jié)論本設(shè)計對等精度頻率計進行了系統(tǒng)的設(shè)計。首先介紹了頻率測量的一般方法,著重介紹等精度測頻原理并進行了誤差分析,利用等精度測量原理,通過FPGA運用VHDL編程,利用FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計了一個8位數(shù)字式等精度頻率計,該頻率計的測量*圍為0-100MHZ,利用QUARTUSⅡ集成開發(fā)環(huán)境進行編輯、綜合、波形仿真,并下載到CPLD器件中,經(jīng)實際電路測試,仿真和實驗結(jié)果表明,該頻率計有較高的實用性和可靠性,達到預(yù)期的結(jié)果。和傳統(tǒng)的頻率計相比,利用FPGA設(shè)計的頻率計簡化了電路板設(shè)計,提高了系統(tǒng)設(shè)計的實用性和可靠性,實現(xiàn)數(shù)字系統(tǒng)的軟件化,這也是數(shù)字邏輯設(shè)計的趨勢。這次課程設(shè)計不但讓我對本專業(yè)的相關(guān)基礎(chǔ)知識進行了很好的復(fù)習(xí),還對原由書本上的知識進行了拓展和延伸,不但鍛煉了我的動手能力,也鍛煉了我處理問題的能力,學(xué)會了許多新的知識。參考文獻[1]江國強.EDA技術(shù)與應(yīng)用.:電子工業(yè),2011年7月[2]譚會生,*昌凡.EDA技術(shù)及應(yīng)用.**:**電子科技大學(xué),2011年7月[3]王伶俐,周學(xué)功,王穎.系統(tǒng)級FPGA設(shè)計與應(yīng)用.:清華大學(xué),2012年1月[4]李國洪,沈明山.可編程器件EDA技術(shù)與實踐.:機械工業(yè),2004年7月[5]王鎖萍.電子設(shè)計自動化教程.**:電子科技大學(xué),2000年2月[6]*川等.StepByStep現(xiàn)場可編程門陣列設(shè)計入門與進階,2008年10月[7](美)肖特.喬蘆峰(譯).VHDL大學(xué)實用教程.電子科技大學(xué),2011年9月[8]胡乾斌,李光斌,李玲,喻紅.單片微型計算機原理與應(yīng)用.**:華中科技大學(xué),2014年1月[9]李玉山,來新泉.電子系統(tǒng)集成設(shè)計技術(shù).:電子工業(yè),2002年10月[10](美)PeterJ.Ashenden.葛紅,黃河,吳繼明(譯).VHDL設(shè)計指南.:機械工業(yè),2005年6月附錄一頻率計頂層文件附錄二信號源模塊源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPIN1MHZ_1ISPORT(clkin:INSTD_LOGIC;clkout:OUTSTD_LOGIC);ENDPIN1MHZ_1;ARCHITECTUREAOFPIN1MHZ_1ISBEGINPROCESS(clkin)variablettemp:INTEGERRANGE0TO99;BEGINIFclkin='1'ANDclkin'eventTHENIFttemp=99THENttemp:=0;ELSEIFttemp<50THENclkout<='1';ELSEclkout<='0';ENDIF;ttemp:=ttemp+1;ENDIF;ENDIF;ENDPROCESS;ENDA; 附錄三分頻器源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitytisport(clk:instd_logic;--1MHz輸入freq1:outstd_logic;--1Hz輸出 freq488:outstd_logic;--488Hz輸出 freq1953:outstd_logic;--1953Hz輸出 freq7812:outstd_logic;--7812Hz輸出 freq31250:outstd_logic;--31250Hz輸出 freq125k:outstd_logic;--125KHz輸出 freq500k:outstd_logic);--500KHz輸出endt;architecturebehvoftissignaltemp:std_logic_vector(19downto0);beginprocess(clk)beginifclk'eventandclk='1'theniftemp="111"thentemp<="000";elsetemp<=temp+1;endif;endif;endprocess;freq1<=temp(19);freq488<=temp(10);freq1953<=temp(8);freq7812<=temp(6);freq31250<=temp(4);freq125k<=temp(2);freq500k<=temp(0);endbehv;附錄四測頻控制信號發(fā)生器源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz測頻控制時鐘TSTEN:OUTSTD_LOGIC;--計數(shù)器時鐘使能CLR_T:OUTSTD_LOGIC; --計數(shù)器清零LOAD:OUTSTD_LOGIC); --輸出鎖存信號ENDTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;SIGNALCLR:STD_LOGIC;SIGNALloadt:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'--1HZ時鐘二分頻 THENDIV2CLK<=NOTDIV2CLK;ENDIF;

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論