基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真-畢業(yè)設(shè)計(jì)_第1頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真-畢業(yè)設(shè)計(jì)_第2頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真-畢業(yè)設(shè)計(jì)_第3頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真-畢業(yè)設(shè)計(jì)_第4頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真-畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科畢業(yè)設(shè)計(jì)第36頁(yè)共36頁(yè)P(yáng)AGE基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)與仿真1引言1.1設(shè)計(jì)背景隨著計(jì)算機(jī)技術(shù)和半導(dǎo)體技術(shù)的發(fā)展,傳統(tǒng)的硬件電路電路設(shè)計(jì)方法已大大落后于當(dāng)今技術(shù)的發(fā)展,一種嶄新的、采用硬件描述語(yǔ)言的硬件電路設(shè)計(jì)方法已經(jīng)興起,這是電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域的一次重大變革。目前,廣泛使用的硬件描述語(yǔ)言VHDL(VerySpeedIntegratedCircuitHardwareDescriptionLanguage)和VerilogHDL;它們先后被批準(zhǔn)為國(guó)際標(biāo)準(zhǔn)語(yǔ)言。據(jù)統(tǒng)計(jì),目前在美國(guó)硅谷約有90%以上的ASIC和FPGA采用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì),VHDL的應(yīng)用已成為當(dāng)今以及未來(lái)EDA解決方案的核心,而且是復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)的核心。數(shù)字頻率計(jì)[1]是電子測(cè)量與儀表技術(shù)最基礎(chǔ)的電子儀表類別之一,它是一種用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率、周期、占空比的數(shù)字測(cè)量?jī)x器,是在數(shù)字電路中的一個(gè)典型應(yīng)用;實(shí)際的硬件設(shè)計(jì)的多功能數(shù)字頻率計(jì)用到的器件較多,連線比較復(fù)雜,而且會(huì)產(chǎn)生比較大的延時(shí),造成測(cè)量誤差、可靠性差,隨著復(fù)雜可編程邏輯器件(CPLD)的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運(yùn)用VHDL語(yǔ)言,將使整大大簡(jiǎn)化,提高整體個(gè)系統(tǒng)的性能和可靠性;它是計(jì)算機(jī)、通信設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器。采用VHDL編程設(shè)計(jì)實(shí)習(xí)的多功能數(shù)字頻率計(jì),具有體積小,可靠性高,功耗低的特點(diǎn);整個(gè)系統(tǒng)非常精簡(jiǎn),且具有靈活的現(xiàn)場(chǎng)可更改性。數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器,而且它是數(shù)字電壓必不可少的部件。當(dāng)今數(shù)字頻率計(jì)不僅是作為電壓表,計(jì)算機(jī),天線電廣播通訊設(shè)備,工藝過(guò)程自動(dòng)化裝置、多種儀表儀器與家庭電器等許多電子產(chǎn)品中的數(shù)據(jù)信息輸出顯示器反映到人們眼簾。集成數(shù)字頻率計(jì)由于所用元件少、投資少、體積小、功耗低,且可靠性高、功能強(qiáng)、易于設(shè)計(jì)和研發(fā),使得它具有技術(shù)上的實(shí)用性和應(yīng)用的廣泛性。不論從我們用的彩色電視機(jī)、電冰箱、DVD還有我們現(xiàn)在家庭常用到的數(shù)字電壓表數(shù)字萬(wàn)用表等等都包含有頻率計(jì)?,F(xiàn)在頻率計(jì)已是向數(shù)字智能方向發(fā)展,即可以很精確的讀數(shù)也精巧易于控制。數(shù)字頻率計(jì)已是現(xiàn)在頻率計(jì)發(fā)展的方向,它不僅可以很方便的讀數(shù)。而且還可以使頻率的測(cè)量范圍和測(cè)量準(zhǔn)確度上都比較先進(jìn).而且頻率計(jì)的使用已設(shè)計(jì)到很多的方面,數(shù)字衛(wèi)星,數(shù)字通訊等高科技的領(lǐng)域都有應(yīng)用,今天數(shù)字頻率計(jì)的發(fā)展已經(jīng)不僅僅是一個(gè)小電子產(chǎn)品的發(fā)展也是整個(gè)民族乃至整個(gè)國(guó)家的發(fā)展,所以頻率計(jì)的發(fā)展是一個(gè)整體的趨勢(shì)。1.2國(guó)內(nèi)外發(fā)展現(xiàn)狀及研究概況當(dāng)今社會(huì),隨著科技的進(jìn)步,電子技術(shù)得到了飛速的發(fā)展與應(yīng)用,數(shù)字系統(tǒng)的設(shè)計(jì)也有了很大的進(jìn)步,如今運(yùn)行速度快、在功能更加強(qiáng)大的基礎(chǔ)上更加便于使用攜帶成了發(fā)展的方向。60年代以來(lái),在半導(dǎo)體器件和計(jì)算機(jī)技術(shù)發(fā)展的基礎(chǔ)上,結(jié)合電測(cè)技術(shù)創(chuàng)造出了完全新的數(shù)字式儀表。它在測(cè)試方法、原理、儀器結(jié)構(gòu)和操作方法上完全與前面所講的模式式儀表不同,在質(zhì)的方面也有很大的飛躍,70年代以來(lái),把微型計(jì)算機(jī)的功能引入數(shù)字儀表,產(chǎn)生了新型智能化儀表,它具有程序控制、信息儲(chǔ)存數(shù)據(jù)處理和自動(dòng)檢修功能,使數(shù)字儀表向高準(zhǔn)確度、多功能、高可靠性和低價(jià)格方面大大邁進(jìn)了一步。近代的數(shù)字頻率計(jì)就其功能而言,早已超出了早期只能測(cè)量頻率的范疇,而具有測(cè)量周期、頻率比、脈沖時(shí)間、累加計(jì)數(shù)等用途,并能輸出標(biāo)準(zhǔn)頻率、時(shí)標(biāo)脈沖、閘門時(shí)間脈沖及編碼信號(hào)等,成為一機(jī)多能、測(cè)頻范圍寬、測(cè)量精度高、測(cè)量速度快、自動(dòng)化程度高、直接數(shù)字顯示、操作簡(jiǎn)便的常用電子儀器,它在教學(xué)、科研、生產(chǎn)、國(guó)防中得到廣泛使用?,F(xiàn)如今到處可見到處理離散信息的數(shù)字電路。數(shù)字電路制造工業(yè)的進(jìn)步,使得系統(tǒng)設(shè)計(jì)人員能在更小的空間內(nèi)實(shí)現(xiàn)更多的功能,從而提高系統(tǒng)可靠性和速度。而數(shù)字頻率計(jì)也有了廣泛的發(fā)展,從早期主要是擴(kuò)展測(cè)量范圍,提高測(cè)量精度、穩(wěn)定度等,到如今除通常通用頻率計(jì)所具有的功能外,還要有數(shù)據(jù)處理功能,統(tǒng)計(jì)分析功能,時(shí)域分析功能等等,或者包含電壓測(cè)量等其他功能。目前應(yīng)用現(xiàn)代技術(shù)可以輕松地將頻率計(jì)的測(cè)頻上限擴(kuò)展到微波頻段。1.3常用數(shù)字頻率計(jì)的測(cè)量方法全同步頻率測(cè)量法:在給出參考閘門信號(hào)后,通過(guò)一個(gè)脈沖同步檢測(cè)器檢測(cè)被測(cè)信號(hào)脈沖沿和標(biāo)準(zhǔn)時(shí)鐘信號(hào)脈沖沿的同步信息,當(dāng)它們同步就開始計(jì)時(shí);參考閘門關(guān)閉后,亦檢測(cè)被測(cè)信號(hào)脈沖沿和標(biāo)準(zhǔn)時(shí)鐘信號(hào)脈沖沿的同步信息,當(dāng)它們同步則停止計(jì)時(shí)。對(duì)于任意的標(biāo)準(zhǔn)時(shí)鐘和被測(cè)信號(hào),要找到兩者脈沖完全同步的時(shí)刻來(lái)開啟、關(guān)閉閘門是不現(xiàn)實(shí)的,但有可能找在實(shí)現(xiàn)脈沖同步檢測(cè)電路時(shí),也存在一個(gè)脈沖同步檢測(cè)的誤差范圍。若以這個(gè)脈沖同步檢測(cè)電路檢測(cè)到脈沖同步的時(shí)刻作為開關(guān)信號(hào),可以使得實(shí)際閘門的開關(guān)發(fā)生在標(biāo)準(zhǔn)時(shí)鐘和被測(cè)信號(hào)都足夠接近的時(shí)刻,從而達(dá)到計(jì)算值量化誤差的最小化。M/T法:是目前使用比較廣泛的一種頻率測(cè)量方法。其核心思想是通過(guò)閘門信號(hào)與被信號(hào)同步,將閘門時(shí)間T控制為被測(cè)信號(hào)周期的整數(shù)倍。M/T法通過(guò)提高標(biāo)準(zhǔn)時(shí)鐘頻率或加大門閘門時(shí)間來(lái)提高頻率測(cè)量精度,而全同步頻率測(cè)量法可以使用較低標(biāo)準(zhǔn)時(shí)鐘頻率、較短閘門時(shí)間來(lái)獲得較好的頻率測(cè)量精度。本文提出的全同步頻率測(cè)量方法可以在較低的標(biāo)準(zhǔn)時(shí)鐘頻率、較短的閘門時(shí)間條件下顯著提高頻率測(cè)量的精度,適用于各種頻率測(cè)量場(chǎng)合。

被除數(shù)與除數(shù)的倒數(shù)相乘法:即將除數(shù)作為寄存器的地址,其倒數(shù)的小數(shù)部分作為寄存器的內(nèi)容,通過(guò)一次寄存器尋址來(lái)計(jì)算除數(shù)的倒數(shù)。這種方法在一個(gè)時(shí)鐘周期內(nèi)即可完成一個(gè)完整的除法運(yùn)算,雖然速度較高,但對(duì)于多字節(jié)除法運(yùn)算,不僅程序復(fù)雜,而且占用資源較多。根據(jù)頻率計(jì)的實(shí)際情況,本設(shè)計(jì)采用串行除法運(yùn)算,利用多個(gè)時(shí)鐘周期完成一個(gè)完整的除法運(yùn)算,從而兼顧了頻率計(jì)對(duì)速度和資源兩方面的要求。高速串行BCD碼除法:是建立在BCD碼減法運(yùn)算基礎(chǔ)上的循環(huán)運(yùn)算。用被除數(shù)減除數(shù)得到部分余數(shù)的BCD碼,如果夠減,則使商加1;否則,余數(shù)和商同時(shí)左移四位,并記錄移位的次數(shù)m,根據(jù)對(duì)有效位數(shù)的不同要求,可以m進(jìn)行賦值,如果要求保留8位有效數(shù)字,則m=8。在這種循環(huán)除法運(yùn)算中,減少循環(huán)的次數(shù)是提高運(yùn)算速度比較有效的方法。在一般循環(huán)式除法運(yùn)算中,是從低位開始進(jìn)行循環(huán)相減,循環(huán)次數(shù)等于商。采用VHDL語(yǔ)言設(shè)計(jì)一個(gè)復(fù)雜的電路系統(tǒng),運(yùn)用自頂向下的設(shè)計(jì)思想,將系統(tǒng)按功能逐層分割的層次化設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。在頂層對(duì)內(nèi)部各功能塊的連接關(guān)系和對(duì)外的接口關(guān)系進(jìn)行了描述,而功能塊的邏輯功能和具體實(shí)現(xiàn)形式則由下一層模塊來(lái)描述。根據(jù)頻率計(jì)的系統(tǒng)原理框圖,運(yùn)用自頂向下的設(shè)計(jì)思想,設(shè)計(jì)的系統(tǒng)頂層電路圖。各功能模塊采用VHDL語(yǔ)言來(lái)描述。在計(jì)數(shù)模塊中,通過(guò)譯碼完成的信號(hào)和標(biāo)準(zhǔn)信號(hào)計(jì)數(shù)器的溢出信號(hào)對(duì)門控信號(hào)進(jìn)行控制??梢愿鶕?jù)不同的情況選擇門控信號(hào)的時(shí)間范圍,使設(shè)計(jì)具有一定的靈活性。2VHDL簡(jiǎn)述和QuartusII概述2.1VHDL的發(fā)展VHDL誕生于1982年。在1987年底,VHDL被IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言,自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡(jiǎn)稱87版)之后,各EDA公司相繼推出了自己的VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。而VerilogHDL是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具,1985年Moorby推出它的第三個(gè)商用仿真器VerilogXL,獲得了巨大的成功,從而使得VerilogHDL迅速得到推廣應(yīng)用。1989年CADENCE公司收購(gòu)了GDA公司公開發(fā)表了VerilogHDL,并成立LV1組織以促進(jìn)VerilogHDL成為IEEE標(biāo)準(zhǔn),即IEEEStandard1364-1995.VHDL的英文全名是VHSIC(VeryHighSpeedInteratedCircuit)HardareDescriptionLanguage,支持各種模式的設(shè)計(jì)方法:自頂向下與自底向上或混合方法,在面對(duì)當(dāng)今許多電子產(chǎn)品生命周期的縮短,需要多次重新設(shè)計(jì)以其融入最新技術(shù)、改變工藝等方面,VHDL具有良好的適應(yīng)性。用VHDL設(shè)計(jì)的最大優(yōu)點(diǎn)是設(shè)計(jì)者可以專心致力于其功能的實(shí)現(xiàn),而不需要對(duì)不影響功能的與工藝有關(guān)的因素花費(fèi)過(guò)多的時(shí)間和精力。2.2VHDL的特點(diǎn)VHDL語(yǔ)言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL程序組成部分由實(shí)體、構(gòu)造體、配置、包集合、庫(kù)5個(gè)部分組成。各組成部分的作用是:(1)實(shí)體:用于描述所設(shè)計(jì)的系統(tǒng)的外部接口信號(hào)。(2)構(gòu)造體:用于描述系統(tǒng)內(nèi)部結(jié)構(gòu)和行為。(3)配置:用于從庫(kù)中選取不同單元(器件)來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本。(4)包集合:存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等。(5)庫(kù):可由系統(tǒng)工程師生成或由ASIC芯片商提供,以便在設(shè)計(jì)中共享。VHDL語(yǔ)言能夠成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。所以VHDL具有如下系統(tǒng)優(yōu)勢(shì):(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。(6)VHDL語(yǔ)言支持自上而下(TopDown)和基于庫(kù)(LibraryBase)的設(shè)計(jì)方法,還支持同步電路、異步電路,F(xiàn)PGA以及其他隨機(jī)電路的設(shè)計(jì);(7)VHDL語(yǔ)言具有多層次描述系統(tǒng)硬件功能的能力可以從系統(tǒng)的數(shù)字模型直到門級(jí)電路,其高層次的行為描述可以與低層次的RTL描述和結(jié)構(gòu)描述混合使用,還可以自定義數(shù)據(jù),給編程人員帶來(lái)較大的自由和方便;(8)VHDL具有電路仿真與驗(yàn)證功能,可以保證設(shè)計(jì)的正確性,用戶甚至不必編寫如何測(cè)試向量便可以進(jìn)行源代碼級(jí)的調(diào)試,而且設(shè)計(jì)者可以非常方便地比較各種方案之間的可行性及其優(yōu)劣,不需要任何實(shí)際的電路實(shí)驗(yàn);(9)VHDL語(yǔ)言可以與工藝無(wú)關(guān)編程;(10)VHDL語(yǔ)言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。2.3VHDL語(yǔ)言結(jié)構(gòu)1.USE定義區(qū)1.USE定義區(qū)2.PACKAGGE定義區(qū)3.ENTITY定義區(qū)4.ARCHITECTURE定義區(qū)Component定義區(qū)信號(hào)定義DataFlow描述BehaviorProcess描述Structure描述5.CONFIGURATION定義區(qū)定義使用哪些自定義元件庫(kù)描述電路內(nèi)部的功能,說(shuō)明電路執(zhí)行什么動(dòng)作或功能決定哪一個(gè)architecture能被使用定義電路實(shí)體的外觀:I/O接口的規(guī)格定義元件庫(kù)圖2.1VHDL程序結(jié)構(gòu)框圖圖2.1中是VHDL的全部結(jié)構(gòu),但實(shí)際上并不需要全部結(jié)構(gòu),就像在許多設(shè)計(jì)項(xiàng)中大部分工程師只用到VHDL其中的30%的語(yǔ)法;通常圖2.2結(jié)構(gòu)才是基本和必須的。USE定義區(qū)ENTITY定義區(qū)ARCHITETURE定義區(qū)圖2.2VHDL程序基本結(jié)構(gòu)2.4集成開發(fā)軟件QuartusIIQuartusII是Altera公司推出的新一代開發(fā)軟件,適合于大規(guī)模邏輯電路設(shè)計(jì),其設(shè)計(jì)流概括為設(shè)計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)仿真和設(shè)計(jì)下載過(guò)程。QuartusII支持多種編輯輸入法,包括圖形編輯輸入法,VHDL,VerilogHDL和AHDL的文本編輯輸入法,符號(hào)編輯輸入法,以及內(nèi)存編輯輸入法。QuartusII與MATLAB和DSPBuilder結(jié)合可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)[9]實(shí)現(xiàn)的關(guān)鍵EDA工具,與SOPCBuilder結(jié)合,可實(shí)現(xiàn)SOPC系統(tǒng)開發(fā)。Quartus(R)II軟件中的工程由所有設(shè)計(jì)文件和與設(shè)計(jì)有關(guān)的設(shè)置組成??梢允褂肣uartusIIBlockEditor、TextEditor、MegaWizard(R)Plug-InManager(Tools菜單)和EDA設(shè)計(jì)輸入工具[10]建立包括Altera(R)宏功能模塊、參數(shù)化模塊庫(kù)(LPM)函數(shù)和知識(shí)產(chǎn)權(quán)(IP)函數(shù)在內(nèi)的設(shè)計(jì)。可以使用Settings對(duì)話框(Assignments菜單)和AssignmentEditor設(shè)定初始設(shè)計(jì)約束條件。如圖2.2所示為設(shè)計(jì)輸入流程圖。圖2.3設(shè)計(jì)輸入流程圖這次設(shè)計(jì)將以QuartusII軟件來(lái)進(jìn)行各個(gè)數(shù)據(jù)的操作,將仿真的圖形數(shù)據(jù)來(lái)分析該課題。本設(shè)計(jì)所選擇的QuartusII文本編輯輸入法,在文本編輯窗口中完成VHDL設(shè)計(jì)文件的編輯,然后對(duì)設(shè)計(jì)文件進(jìn)行編譯、仿真操作。此次設(shè)計(jì)中主要應(yīng)用到了QuartusII的VHDL語(yǔ)言的編程和圖形仿真。3系統(tǒng)設(shè)計(jì)方法概述3.1電子系統(tǒng)的設(shè)計(jì)方法現(xiàn)代電子系統(tǒng)一般由模擬子系統(tǒng)、數(shù)字子系統(tǒng)和微處理器子系統(tǒng)三大部分組成。從概念上講,凡是利用數(shù)字技術(shù)處理和傳輸信息的電子系統(tǒng)都可以稱為數(shù)字系統(tǒng)。傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)只能對(duì)電路板進(jìn)行設(shè)計(jì),通過(guò)設(shè)計(jì)電路板來(lái)實(shí)現(xiàn)系統(tǒng)功能[4]。利用EDA工具,采用可編程器件,通過(guò)設(shè)計(jì)芯片來(lái)實(shí)現(xiàn)系統(tǒng)功能,這種方法稱為基于芯片的設(shè)計(jì)方法。新的設(shè)計(jì)方法能夠由設(shè)計(jì)者定義器件的內(nèi)部邏輯,將原來(lái)由電路板設(shè)計(jì)完成的大部分工作放在芯片的設(shè)計(jì)中進(jìn)行。這樣不僅可以通過(guò)芯片設(shè)計(jì)實(shí)現(xiàn)多種數(shù)字邏輯系統(tǒng),而且由于管腳定義的靈活性,大大減輕了電路圖設(shè)計(jì)和電路板設(shè)計(jì)的工作量和難度,從而有效的增強(qiáng)了設(shè)計(jì)的靈活性,提高了工作效率。同時(shí),基于芯片的設(shè)計(jì)可以認(rèn)減少芯片的數(shù)量,縮小系統(tǒng)體積,降低能源消耗。如圖3.1[6]所示為電子系統(tǒng)的傳統(tǒng)設(shè)計(jì)方法和基于芯片的設(shè)計(jì)方法比照??删幊唐骷潭üδ茉删幊唐骷潭üδ茉娐钒宓脑O(shè)計(jì)芯片設(shè)計(jì) 電路板的設(shè)計(jì)芯片設(shè)計(jì)電子電路電子系統(tǒng) 電子電路電子系統(tǒng)〔a)傳統(tǒng)設(shè)計(jì)方法(b)基于芯片設(shè)計(jì)方法圖3.1電子系統(tǒng)的傳統(tǒng)設(shè)計(jì)方法和基于芯片的設(shè)計(jì)方法比照可編程邏輯器件和EDA技術(shù)給今天的硬件系統(tǒng)設(shè)計(jì)者提供了強(qiáng)有力的工具,使得電子系統(tǒng)的設(shè)計(jì)方法發(fā)生了質(zhì)的變化?,F(xiàn)在,只要擁有一臺(tái)計(jì)算機(jī)、一套相應(yīng)的EDA軟件和空白的可編程邏輯器件芯片,在實(shí)驗(yàn)室里就可以完成數(shù)字系統(tǒng)的設(shè)計(jì)和生產(chǎn)。3.2“自頂向下”與“自頂向上”的設(shè)計(jì)方法過(guò)去,電子產(chǎn)品設(shè)計(jì)的基本思路一直是先選用標(biāo)準(zhǔn)通用集成電路片,再由這些芯片和其他元件自下而上的構(gòu)成電路、子系統(tǒng)和系統(tǒng)。這樣設(shè)計(jì)出的電子系統(tǒng)所用元件的種類和數(shù)量均較多,體積與功耗大,可靠性差。隨著集成電路技術(shù)的不斷進(jìn)步,現(xiàn)在人們可以把數(shù)以億計(jì)的晶體管,幾萬(wàn)門、幾十萬(wàn)門、甚至幾百萬(wàn)門的電路集成在一塊芯片上。基于EDA技術(shù)的設(shè)計(jì)方法為“自頂向下”設(shè)計(jì),其步驟是采用可完全獨(dú)立于目標(biāo)器件芯片物理結(jié)構(gòu)的硬件描述語(yǔ)言,在系統(tǒng)的基本功能或行為級(jí)上對(duì)設(shè)計(jì)的產(chǎn)品進(jìn)行行為描述和定義,結(jié)合多層次的仿真技術(shù),在確保設(shè)計(jì)的可行性與正確性的前提下,完成功能確認(rèn)。然后利用EDA工具的邏輯綜合功能,把功能描述轉(zhuǎn)換為某一具體目標(biāo)芯片的網(wǎng)表文件,經(jīng)編程器下載到可編程目標(biāo)芯片中(如FPGA芯片),使該芯片能夠?qū)崿F(xiàn)設(shè)計(jì)要求的功能。這樣,一塊芯片就是一個(gè)數(shù)字電路系統(tǒng)[5]。使電路系統(tǒng)體積大大減小,可靠性得到提高。半導(dǎo)體集成電路己由早期的單元集成、部件電路集成發(fā)展到整機(jī)電各集成和系統(tǒng)電路集成。電子系統(tǒng)的設(shè)計(jì)方法也由過(guò)去的那種集成電路廠家提供通用芯片,整機(jī)系統(tǒng)用戶采用這些芯片組成電子系統(tǒng)的“bottom-up”(自底向上)方法改變?yōu)橐环N新的“top-down”(自頂向下)設(shè)計(jì)方法[7]。在這種新的設(shè)計(jì)方法中,由整機(jī)系統(tǒng)用戶對(duì)整個(gè)系統(tǒng)注行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路ASIC來(lái)實(shí)現(xiàn),且這些專用集成電路是由系統(tǒng)和電路設(shè)計(jì)師親自參與設(shè)計(jì)的,直至完成電路到芯片版圖的設(shè)計(jì),再交由IC工廠加工,或者是用可編程ASIC(例如CPLD和FPGA)現(xiàn)場(chǎng)編程實(shí)現(xiàn)。3.3數(shù)字頻率計(jì)系統(tǒng)組成系統(tǒng)主要由4個(gè)電路模塊組成,分別是:測(cè)頻控制信號(hào)發(fā)生器電路,計(jì)數(shù)模塊電路,動(dòng)態(tài)掃描電路sm和顯示譯碼驅(qū)動(dòng)電路。因?yàn)槭?位十進(jìn)制數(shù)字頻率計(jì),所以計(jì)數(shù)器需用4個(gè)。由于實(shí)驗(yàn)硬件要求所以設(shè)計(jì)一個(gè)動(dòng)態(tài)LED數(shù)碼管顯示即掃描模塊。當(dāng)系統(tǒng)正常工作時(shí),脈沖發(fā)生器提供的1HZ的輸入信號(hào),經(jīng)過(guò)測(cè)頻控制信號(hào)發(fā)生器進(jìn)行信號(hào)的變換,產(chǎn)生一個(gè)2秒的計(jì)數(shù)信號(hào)和一個(gè)清零信號(hào),被測(cè)信號(hào)被送入計(jì)數(shù)模塊,計(jì)數(shù)模塊對(duì)輸入的矩形波進(jìn)行計(jì)數(shù),然后將計(jì)數(shù)結(jié)果送入動(dòng)態(tài)掃描電路進(jìn)行選擇輸出,輸出結(jié)果由顯示譯碼驅(qū)動(dòng)電路將二進(jìn)制表示的(BCD碼)計(jì)數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的十進(jìn)制結(jié)果,在數(shù)碼管上可以看到計(jì)數(shù)結(jié)果。3.4目標(biāo)芯片EP1C3T100C目標(biāo)芯片[11]選用Altera公司生產(chǎn)的FPGA產(chǎn)品EP1C3T系列[9]中的EP1C3T100C,它具有高密度、低成本、低功率等特點(diǎn),利用EP1C3T系列CPLD可編程邏輯器件的EAB可在系統(tǒng)中實(shí)現(xiàn)邏輯功能和存貯功能。它采用了重復(fù)可構(gòu)造的CMOSSRAM工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)可結(jié)合眾多可編程器件來(lái)完成普通門陣列的宏功能。每一個(gè)EP1C3T器件均包括一個(gè)嵌入式陣列和一個(gè)邏輯陣列,因而設(shè)計(jì)人員可輕松地開發(fā)集存貯器、數(shù)字信號(hào)處理器及特殊邏輯等強(qiáng)大功能于一身的芯片。圖3.2EP1C3T100C芯片外觀圖4頻率計(jì)方案的設(shè)計(jì)4.1頻率計(jì)的基本原理頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對(duì)被測(cè)信號(hào)頻率進(jìn)行測(cè)量的電子測(cè)量?jī)x器。數(shù)字頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱閘門時(shí)間為1秒。閘門時(shí)間也可以大于或小于一秒。閘門時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長(zhǎng)則每測(cè)一次頻率的間隔就越長(zhǎng)。閘門時(shí)間越短,測(cè)的頻率值刷新就越快,但測(cè)得的頻率精度就受影響。數(shù)字頻率計(jì)的主要功能是測(cè)量周期信號(hào)的頻率。頻率是單位時(shí)間(1S)內(nèi)信號(hào)發(fā)生周期變化的次數(shù)。如果我們能在給定的1S時(shí)間內(nèi)對(duì)信號(hào)波形計(jì)數(shù),并將計(jì)數(shù)結(jié)果顯示出來(lái),就能讀取被測(cè)信號(hào)的頻率。數(shù)字頻率計(jì)首先必須獲得相對(duì)穩(wěn)定與準(zhǔn)確的時(shí)間,同時(shí)將被測(cè)信號(hào)轉(zhuǎn)換成幅度與波形均能被數(shù)字電路識(shí)別的脈沖信號(hào),然后通過(guò)計(jì)數(shù)器計(jì)算這一段時(shí)間間隔內(nèi)的脈沖個(gè)數(shù),將其換算后顯示出來(lái)。其最基本的工作原理可以簡(jiǎn)述為:當(dāng)被測(cè)信號(hào)在特定時(shí)間段T內(nèi)的周期個(gè)數(shù)為N時(shí),則被測(cè)信號(hào)的頻率f=N/T。頻率計(jì)主要由四個(gè)部分構(gòu)成:時(shí)基(T)電路、輸入電路、計(jì)數(shù)顯示電路以及控制電路。在一個(gè)測(cè)量周期過(guò)程中,被測(cè)周期信號(hào)在輸入電路中經(jīng)過(guò)放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個(gè)輸入端。主門的另外一個(gè)輸入端為時(shí)基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過(guò)主門,從而進(jìn)入計(jì)數(shù)器進(jìn)行計(jì)數(shù),計(jì)數(shù)器的顯示電路則用來(lái)顯示被測(cè)信號(hào)的頻率值,內(nèi)部控制電路則用來(lái)完成各種測(cè)量功能之間的切換并實(shí)現(xiàn)測(cè)量設(shè)置。頻率測(cè)量的基本原理是計(jì)算每秒鐘內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù).測(cè)頻的基本原理要求測(cè)頻控制信號(hào)發(fā)生器的計(jì)數(shù)使能信號(hào)能產(chǎn)生一個(gè)1s脈寬的周期信號(hào),并對(duì)頻率計(jì)的每一個(gè)計(jì)數(shù)器的使能端進(jìn)行同步控制。當(dāng)使能信號(hào)為高電平時(shí)允許計(jì)數(shù),為低電平時(shí)停止計(jì)數(shù),并保持其所計(jì)脈沖個(gè)數(shù)。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號(hào)的上跳沿將計(jì)數(shù)器在前1s的計(jì)數(shù)值鎖存進(jìn)鎖存器中,并由外部的7段譯碼器譯出,并穩(wěn)定顯示。鎖存信號(hào)之后,必須有一個(gè)清零信號(hào)對(duì)計(jì)數(shù)器進(jìn)行清零,為下1s的技術(shù)操作做準(zhǔn)備。其中控制信號(hào)頻率始終為1Hz,那么使能信號(hào)的脈寬正好為1s,可以用作技術(shù)閘門信號(hào)。然后根據(jù)測(cè)頻的時(shí)序要求,可得出鎖存信號(hào)和清零信號(hào)的邏輯描述。計(jì)數(shù)完成后,利用技術(shù)使能信號(hào)反向值的上跳沿產(chǎn)生一個(gè)鎖存信號(hào)。0.5s后,清零信號(hào)產(chǎn)生一個(gè)清零信號(hào)上跳沿。計(jì)數(shù)器的特殊之處是,有一時(shí)鐘使能輸入端,用于鎖存計(jì)數(shù)值。當(dāng)高電平時(shí)計(jì)數(shù)允許,低電平時(shí)計(jì)數(shù)禁止。鎖存器的設(shè)計(jì)要求:若已有24位BCD碼存于此模塊的輸入口,在鎖存信號(hào)的上跳沿后即被鎖存到寄存器內(nèi)部,并由寄存器的輸出端輸出,然后有實(shí)驗(yàn)箱上7段譯碼器譯成能在數(shù)碼管上顯示輸出的相應(yīng)數(shù)值。只要知道了N和T就可以求得頻率。常用數(shù)字頻率測(cè)量方法有M法、T法和M/T法。M法是在給定的閘門時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù),進(jìn)行換算得出被測(cè)信號(hào)的頻率。這種測(cè)量方法的測(cè)量精度取決于閘門時(shí)間和被測(cè)信號(hào)頻率。當(dāng)被測(cè)信號(hào)頻率較低時(shí)將產(chǎn)生較大誤差,除非閘門時(shí)間取得很大。所以這種方法比較適合測(cè)量高頻信號(hào)的頻率。T法是通過(guò)測(cè)量被測(cè)信號(hào)的周期然后換算出被測(cè)信號(hào)的頻率。這種測(cè)量方法的測(cè)量精度取決于被測(cè)信號(hào)的周期和計(jì)時(shí)精度,當(dāng)被測(cè)信號(hào)頻率較高時(shí),對(duì)計(jì)時(shí)精度的要求就很高。這種方法比較適合測(cè)量頻率較低的信號(hào)。M/T法具有以上兩種方法的優(yōu)點(diǎn),它通過(guò)測(cè)量被測(cè)信號(hào)數(shù)個(gè)周期的時(shí)間然后換算得出被測(cè)信號(hào)的頻率,可兼顧低頻與高頻信號(hào),提高了測(cè)量精度。但是,M法、T法和M/T法存在±1個(gè)字的計(jì)數(shù)誤差問(wèn)題:M法存在被測(cè)閘門內(nèi)±1個(gè)被測(cè)信號(hào)的脈沖個(gè)數(shù)誤差,T法或M/T法也存在±1個(gè)字的計(jì)時(shí)誤差。這個(gè)問(wèn)題成為限制測(cè)量精度提高的一個(gè)重要原因。所以我們?cè)谠O(shè)計(jì)之前必須要研究以往的設(shè)計(jì)方法,通過(guò)研究各種設(shè)計(jì)方法的優(yōu)點(diǎn)和實(shí)用性還有他們各自的設(shè)計(jì)需要如硬件和軟件的組成,我們通過(guò)研究可以看出,我發(fā)現(xiàn)通過(guò)用VHDL編程實(shí)現(xiàn)軟件的仿真,在各個(gè)模塊的共同作用下,通過(guò)對(duì)測(cè)量信號(hào)上升沿的計(jì)數(shù),我們可以簡(jiǎn)單,容易的讀出我們所測(cè)量的信號(hào)的頻率。4.2模塊的劃分根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,系統(tǒng)的組成框圖如圖4.1所示,包括時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊,以及待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊和鎖存與譯碼顯示控制電路模塊。時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路待測(cè)信號(hào)脈沖計(jì)數(shù)電路鎖存與譯碼顯示電路ENCLR待測(cè)信號(hào)F_IN標(biāo)準(zhǔn)時(shí)鐘CLK圖4.1數(shù)字頻率計(jì)的組成框圖(1)時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路的主要產(chǎn)生計(jì)數(shù)允許信號(hào)EN、清零信號(hào)CLR和鎖存信號(hào)LOCK。(2)待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊待測(cè)信號(hào)脈沖計(jì)數(shù)電路是對(duì)待測(cè)脈沖信號(hào)的頻率進(jìn)行測(cè)量,它可由4個(gè)十進(jìn)制加法計(jì)數(shù)器組成,其中EN為計(jì)數(shù)選通控制信號(hào),CLR為計(jì)數(shù)器清零信號(hào)。在計(jì)數(shù)器清零信號(hào)CLR清零后,當(dāng)計(jì)數(shù)選通控制信號(hào)EN有效時(shí),開始對(duì)待測(cè)信號(hào)進(jìn)行計(jì)數(shù)。如果計(jì)數(shù)選通控制信號(hào)EN的寬度為1s,那么計(jì)數(shù)結(jié)果就為待測(cè)信號(hào)的頻率;如果計(jì)數(shù)選通信號(hào)EN的寬度為100ms,那么待測(cè)信號(hào)的頻率等于計(jì)數(shù)結(jié)果10。(3)鎖存與譯碼顯示控制電路模塊鎖存與譯碼顯示控制電路用于實(shí)現(xiàn)記憶顯示,在測(cè)量過(guò)程中不刷新新的數(shù)據(jù),直到測(cè)量過(guò)程結(jié)束后,鎖存顯示測(cè)量結(jié)果,并且保存到下一次測(cè)量結(jié)束。鎖存與譯碼顯示電路的功能是對(duì)四位BCD碼進(jìn)行鎖存,并轉(zhuǎn)換為對(duì)應(yīng)的4組七段碼,用于驅(qū)動(dòng)數(shù)碼管。4.3頻率計(jì)的設(shè)計(jì)方案根據(jù)頻率計(jì)的測(cè)頻原理,可以選擇合適的時(shí)基信號(hào)即閘門時(shí)間,對(duì)輸入被測(cè)信號(hào)脈沖進(jìn)行計(jì)數(shù),實(shí)現(xiàn)測(cè)頻的目的。在這個(gè)設(shè)計(jì)前,我們加入了一項(xiàng)測(cè)試周期的功能。在實(shí)驗(yàn)過(guò)程中,要在頻率計(jì)提供的基信號(hào)和輸入信號(hào)之間做出選擇,充當(dāng)時(shí)基信號(hào)即閘門時(shí)間。當(dāng)測(cè)頻率的時(shí)候,要以輸入信號(hào)作為時(shí)鐘信號(hào),因?yàn)檩斎胄盘?hào)的頻率大于頻率計(jì)提供的基準(zhǔn)頻率,在頻率計(jì)提供的基準(zhǔn)信號(hào)周期內(nèi),計(jì)算輸入信號(hào)的周期數(shù)目,再乘以頻率計(jì)基準(zhǔn)頻率,就是輸入信號(hào)的頻率值了。此時(shí)的時(shí)基信號(hào)為頻率計(jì)的基準(zhǔn)信號(hào)。當(dāng)測(cè)周期的時(shí)候,要以頻率及提供的基準(zhǔn)信號(hào)作為時(shí)鐘信號(hào),因?yàn)轭l率及提供的時(shí)基頻率大于輸入信號(hào)的頻率,在輸入信號(hào)周期內(nèi),計(jì)算頻率計(jì)提供的基準(zhǔn)信號(hào)的周期數(shù)目,再乘以基準(zhǔn)信號(hào)頻率,就是輸入信號(hào)的周期值了。此時(shí)的時(shí)基信號(hào)為輸入信號(hào)。(1)時(shí)基的設(shè)計(jì)輸入信號(hào)是隨意的,沒法預(yù)知其頻率是多少,如何選取頻率計(jì)提供的基準(zhǔn)信號(hào)是關(guān)鍵。測(cè)量頻率時(shí),在某個(gè)擋進(jìn)行測(cè)量的時(shí)候,就需要提供該擋的時(shí)基。在10KHZ擋,該擋最大讀數(shù)為9.99KHZ,同時(shí)也說(shuō)明最小的讀數(shù)是0.0KHZ,所以提供的時(shí)基應(yīng)該是頻率為0.01KHZ的脈沖.同樣的方法100KHZ擋提供的時(shí)基應(yīng)該是頻率為0.1KHZ的脈沖,1MHZ擋提供的時(shí)基應(yīng)該是頻率為1KHZ的脈沖。同樣用到3個(gè)分頻器,但是節(jié)約了資源??梢钥紤]使用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)這3種時(shí)基,因?yàn)椴捎脿顟B(tài)機(jī)來(lái)控制時(shí)序很清楚,不容易出錯(cuò)。狀態(tài)機(jī)用1KHZ(周期為1ms)的脈沖信號(hào)觸發(fā),因?yàn)樗a(chǎn)的時(shí)基中,頻率最大的就是1KHZ的脈沖,要產(chǎn)生高電頻為10ms和1ms的脈沖信號(hào),可以采用100個(gè)狀態(tài)的狀態(tài)機(jī),從狀態(tài)1,狀態(tài)2……到狀態(tài)100.(2)計(jì)數(shù)器的設(shè)計(jì)各個(gè)檔之間的轉(zhuǎn)換應(yīng)遵循設(shè)計(jì)要求,要根據(jù)在時(shí)基有效時(shí)間內(nèi)的計(jì)數(shù)值進(jìn)行判斷。計(jì)數(shù)器可以直接定義成一個(gè)整形信號(hào),這樣計(jì)數(shù)器(即加1)就十分方便,只要使用語(yǔ)句“計(jì)數(shù)器<=計(jì)數(shù)器+1;”就可以。但這個(gè)計(jì)數(shù)值要作為顯示輸出,就要將這個(gè)計(jì)數(shù)器用個(gè)位、十位,百位分開表示,而且要遵循“加一逢十”的規(guī)則。這樣可以直接通過(guò)七段譯碼器進(jìn)行顯示。(3)模塊的劃分計(jì)數(shù)器在各個(gè)擋是被反復(fù)應(yīng)用的,如果在各個(gè)擋分別設(shè)計(jì)計(jì)數(shù)器,就造成資源的浪費(fèi),而且在測(cè)量周期和頻率時(shí),計(jì)數(shù)器的時(shí)鐘信號(hào)和輸入信號(hào)要進(jìn)行調(diào)換,但是計(jì)數(shù)功能是一樣的,所以將計(jì)數(shù)器設(shè)計(jì)成單獨(dú)的模塊。7段譯碼器在各位,十位,百位中也都被利用了,因此也將其設(shè)計(jì)成單獨(dú)的模塊,重復(fù)引用就不需要在3個(gè)顯示的時(shí)候重復(fù)書寫譯碼電路了。圖4.2四位十進(jìn)制頻率計(jì)頂層文件原理圖TESTCTL為測(cè)頻控制信號(hào)發(fā)生器。TESTCTL的計(jì)數(shù)使能信號(hào)TSTEN能產(chǎn)生一個(gè)1s寬的周期信號(hào),并對(duì)頻率計(jì)的每一計(jì)數(shù)器CNT10的ENA使能端進(jìn)行同步控制:當(dāng)TSTEN高電平時(shí)允許計(jì)數(shù)、低電平時(shí)停止計(jì)數(shù)REG4B為鎖存器。在信號(hào)Load的上升沿時(shí),立即對(duì)模塊的輸入口的數(shù)據(jù)鎖存到REG4B的內(nèi)部,并由REG4B的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會(huì)由于周期性的清零信號(hào)而不斷閃爍。CNT10為十進(jìn)制計(jì)數(shù)器。有一時(shí)鐘使能輸入端ENA,用于鎖定計(jì)數(shù)值。當(dāng)高電平時(shí)允許計(jì)數(shù),低電平時(shí)禁止計(jì)數(shù)。4.4系統(tǒng)的總體設(shè)計(jì)綜上所述,頻率計(jì)的總體系統(tǒng)可以設(shè)計(jì)為:當(dāng)系統(tǒng)正常工作時(shí),由系統(tǒng)時(shí)鐘提供的50MHz的輸入信號(hào),經(jīng)過(guò)信號(hào)源模塊,通過(guò)分頻器產(chǎn)生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時(shí)鐘輸入,其它不同的輸出頻率被作為顯示模塊的時(shí)鐘輸入,由控制模塊產(chǎn)生的計(jì)數(shù)使能信號(hào)和清零信號(hào)對(duì)計(jì)數(shù)模塊進(jìn)行控制,而由其產(chǎn)生的鎖存信號(hào)對(duì)鎖存模塊進(jìn)行控制,一旦計(jì)數(shù)使能信號(hào)為高電平,并且時(shí)鐘上升沿到來(lái),計(jì)數(shù)器便開始正常計(jì)數(shù),清零信號(hào)到來(lái)則計(jì)數(shù)清零,而當(dāng)鎖存信號(hào)為高電平時(shí),數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來(lái),數(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ì)的最終系統(tǒng)組成可以詳細(xì)劃分為六個(gè)模塊,分別是:信號(hào)源模塊、控制模塊、計(jì)數(shù)模塊、鎖存器模塊、譯碼模塊和顯示器模塊。信號(hào)源模塊對(duì)系統(tǒng)輸入的時(shí)鐘進(jìn)行分頻操作,獲得1HZ的信號(hào)作為控制模塊的時(shí)鐘輸入,和其他各種不同的頻率的信號(hào)作為顯示模塊的時(shí)鐘輸入。計(jì)數(shù)模塊在閘門時(shí)間內(nèi)對(duì)被測(cè)信號(hào)進(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)起來(lái)實(shí)現(xiàn)4位十進(jìn)制計(jì)數(shù)功能。數(shù)字鎖存器在固定時(shí)間基準(zhǔn)的后周期開始工作,即當(dāng)閘門計(jì)數(shù)時(shí)間結(jié)束,閘門下降沿到來(lái)時(shí),鎖存此時(shí)計(jì)數(shù)模塊的各項(xiàng)輸出。在信號(hào)LOAD的上升沿時(shí),立即對(duì)模塊的輸入口的數(shù)據(jù)鎖存到鎖存器的內(nèi)部,并由鎖存器的輸出端輸出,然后,譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會(huì)由于周期性的清零信號(hào)而不斷閃爍。數(shù)碼譯碼模塊主要是用來(lái)完成各種碼制之間的轉(zhuǎn)換。例如可用來(lái)完成BCD—十進(jìn)制數(shù)、十進(jìn)制數(shù)—BCD之間數(shù)制的轉(zhuǎn)換。顯示模塊則在七段數(shù)碼管片選信號(hào)控制下,將鎖存器保存的BCD碼數(shù)由譯碼模塊譯出后,以十進(jìn)制形式顯示。控制模塊是整個(gè)系統(tǒng)的控制部分,所有的控制信號(hào)幾乎都由此模塊產(chǎn)生,控制著其它幾個(gè)模塊的工作.控制模塊根據(jù)外部對(duì)系統(tǒng)的復(fù)位和開始等信號(hào),實(shí)現(xiàn)系統(tǒng)內(nèi)部的復(fù)位、開始測(cè)頻等功能,并通過(guò)優(yōu)化模塊的標(biāo)志信號(hào)實(shí)現(xiàn)連續(xù)無(wú)間斷的頻率測(cè)量.控制模塊首先通過(guò)對(duì)基準(zhǔn)時(shí)鐘分頻得到模塊所用時(shí)鐘,使所產(chǎn)生的測(cè)量開始指令脈沖的寬度符合基準(zhǔn)時(shí)間產(chǎn)生模塊的輸入要求,然后檢測(cè)各輸入信號(hào),確定各模塊的復(fù)位、測(cè)量、輸出等操作.當(dāng)控制模塊接收到優(yōu)化模塊的標(biāo)志信號(hào)時(shí),控制模塊先檢測(cè)在最新一次復(fù)位后是否已經(jīng)接受過(guò)系統(tǒng)開始測(cè)量脈沖信號(hào).若是,則輸出頻率測(cè)量開始脈沖信號(hào),使基準(zhǔn)時(shí)間產(chǎn)生模塊開始頻率測(cè)量,同時(shí)送到優(yōu)化模塊,復(fù)位優(yōu)化模塊的內(nèi)部變量,使優(yōu)化模塊能夠再次輸出反饋標(biāo)志信號(hào).這樣,系統(tǒng)只需在開始施加一次頻率測(cè)量開始脈沖信號(hào),即可實(shí)現(xiàn)連續(xù)不間斷的頻率測(cè)量.4.5各模塊的實(shí)現(xiàn)4.5.1測(cè)頻控制信號(hào)發(fā)生器的功能模塊及仿真測(cè)頻控制信號(hào)發(fā)生器的功能模塊如圖4.2所示。圖4.3測(cè)頻控制信號(hào)發(fā)生器的功能模塊圖頻率計(jì)的關(guān)鍵是設(shè)計(jì)一個(gè)測(cè)頻率控制信號(hào)發(fā)生器,產(chǎn)生測(cè)量頻率的控制時(shí)序??刂颇K是整個(gè)系統(tǒng)的控制部分,所有的控制信號(hào)幾乎都由此模塊產(chǎn)生,控制著其它幾個(gè)模塊的工作??刂颇K根據(jù)外部對(duì)系統(tǒng)的復(fù)位和開始等信號(hào),實(shí)現(xiàn)系統(tǒng)內(nèi)部的復(fù)位、開始測(cè)頻等功能,并通過(guò)優(yōu)化模塊的標(biāo)志信號(hào)實(shí)現(xiàn)連續(xù)無(wú)間斷的頻率測(cè)量??刂茣r(shí)鐘信號(hào)CLK取為1Hz,2分頻后即可產(chǎn)生一個(gè)脈寬為1秒的時(shí)鐘TSTEN,以此作為計(jì)數(shù)閘門信號(hào)。當(dāng)TSTEN為高電平時(shí),允許計(jì)數(shù);當(dāng)TSTEN由高電平變?yōu)榈碗娖剑ㄏ陆笛氐絹?lái))時(shí),應(yīng)產(chǎn)生一個(gè)鎖存信號(hào),將計(jì)數(shù)值保存起來(lái);鎖存數(shù)據(jù)后,還要在下次TSTEN上升沿到來(lái)之前產(chǎn)生零信號(hào)CLR_CNT,將計(jì)數(shù)器清零,為下次計(jì)數(shù)作準(zhǔn)備,如圖4.4所示為測(cè)頻控制信號(hào)仿真圖。圖4.4測(cè)頻控制信號(hào)仿真圖4.5.2十進(jìn)制計(jì)數(shù)器的功能模塊及仿真計(jì)數(shù)是一種最簡(jiǎn)單基本的運(yùn)算,計(jì)數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,計(jì)數(shù)器在數(shù)字系統(tǒng)中主要是對(duì)脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)測(cè)量、計(jì)數(shù)和控制的功能,同時(shí)兼有分頻功能,計(jì)數(shù)器是由基本的計(jì)數(shù)單元和一些控制門所組成,計(jì)數(shù)單元?jiǎng)t由一系列具有存儲(chǔ)信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。計(jì)數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計(jì)算機(jī)的控制器中對(duì)指令地址進(jìn)行計(jì)數(shù),以便順序取出下一條指令,在運(yùn)算器中作乘法、除法運(yùn)算時(shí)記下加法、減法次數(shù),又如在數(shù)字儀器中對(duì)脈沖的計(jì)數(shù)等等。計(jì)數(shù)器可以用來(lái)顯示產(chǎn)品的工作狀態(tài),一般來(lái)說(shuō)主要是用來(lái)表示產(chǎn)品已經(jīng)完成了多少份的折頁(yè)配頁(yè)工作。它主要的指標(biāo)在于計(jì)數(shù)器的位數(shù),常見的有3位和4位的。很顯然,3位數(shù)的計(jì)數(shù)器最大可以顯示到999,4位數(shù)的最大可以顯示到9999。十進(jìn)制計(jì)數(shù)器的功能模塊如圖4.5所示。圖4.5十進(jìn)制計(jì)數(shù)器的功能模塊圖該仿真的作用是實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)功能。從仿真圖4.6中可以得出,當(dāng)?shù)谝粋€(gè)CNT10計(jì)數(shù)輸出CQ=9時(shí),下一秒時(shí)鐘上升沿到來(lái)時(shí),將產(chǎn)生一個(gè)CARRY_OUT信號(hào)作為下一個(gè)CNT10的時(shí)鐘信號(hào),同時(shí)CQ清零,依次遞推到4個(gè)CNT10。圖4.6十進(jìn)制計(jì)數(shù)器仿真圖4.5.3四位鎖存器REG4B的設(shè)計(jì)和實(shí)現(xiàn)四位鎖存器的功能模塊圖圖4.7四位鎖存器的功能模塊圖鎖存器(Latch)是一種對(duì)脈沖電平敏感的存儲(chǔ)單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,就是把信號(hào)暫存以維持某種電平狀態(tài)。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設(shè)的不同步問(wèn)題,再其次是解決驅(qū)動(dòng)的問(wèn)題,最后是解決一個(gè)I/O口既能輸出也能輸入的問(wèn)題。仿真圖4.8的LOAD信號(hào)上升沿到來(lái)時(shí)將對(duì)輸入到內(nèi)部的CNT10計(jì)數(shù)信號(hào)進(jìn)行鎖存。當(dāng)輸入信號(hào)上升到時(shí)就會(huì)產(chǎn)生鎖存,否則,不進(jìn)行鎖存,該仿真在上升沿的時(shí)候,將其鎖存起來(lái),直到下個(gè)上升沿才會(huì)改變鎖存的數(shù)據(jù),如仿真在“0000”的時(shí)候上升,則對(duì)“0000”進(jìn)行鎖存。圖4.8四位鎖存器的仿真圖4.5.4系統(tǒng)時(shí)鐘分頻的功能模塊及仿真系統(tǒng)時(shí)鐘分頻的分頻功能模塊如圖4.9所示;圖4.9系統(tǒng)時(shí)鐘分頻的分頻功能模塊圖該模塊由系統(tǒng)時(shí)鐘分頻模塊[12]為TESTCTL的計(jì)數(shù)能使信號(hào)TSTEN產(chǎn)生一個(gè)1S脈寬的周期信號(hào),并對(duì)頻率計(jì)中的4位十進(jìn)制計(jì)數(shù)器CNT10的ENA使能端進(jìn)行同步控制。TSTEN高電平時(shí)允許計(jì)數(shù);當(dāng)?shù)碗娖綍r(shí)停止計(jì)數(shù),并保持其所計(jì)的脈沖數(shù)。在停止計(jì)數(shù)期間,從仿真圖4.10中可以看出,一個(gè)鎖存信號(hào)LOAD的上跳沿將計(jì)數(shù)器在前一秒的計(jì)數(shù)值鎖存進(jìn)鎖REG4B中,并由外部的十進(jìn)制7段數(shù)碼管顯示計(jì)數(shù)值。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,不會(huì)由于周期性的清零信號(hào)而不斷閃爍。鎖存信號(hào)后,必須有一個(gè)清零信號(hào)CLR_CNT對(duì)計(jì)數(shù)器進(jìn)行清零,為下一秒的計(jì)數(shù)操作做準(zhǔn)備。圖4.10系統(tǒng)時(shí)鐘分頻功能的仿真圖4.5.5數(shù)碼管譯碼的功能模塊及仿真數(shù)碼管譯碼的功能模塊如圖4.13所示。圖4.11數(shù)碼管譯碼的功能模塊數(shù)碼譯碼主要是用來(lái)完成各種碼制之間的轉(zhuǎn)換。例如可用來(lái)完成BCD—十進(jìn)制數(shù)、十進(jìn)制數(shù)—BCD之間數(shù)制的轉(zhuǎn)換。從圖4.11仿真圖可知,當(dāng)LED的輸入為“0X7E”數(shù)碼管就會(huì)顯示為“0”,當(dāng)LED的輸入為“0X06”數(shù)碼管就會(huì)顯示為“1”。圖4.14為數(shù)碼管譯碼顯示仿真圖。圖4.12數(shù)碼管譯碼仿真圖4.5.6數(shù)碼管顯示功能模塊及仿真LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過(guò)一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對(duì)應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對(duì)于共陰級(jí)的LED而言,低電平使能,在本設(shè)計(jì)中設(shè)計(jì)了一個(gè)3位的循環(huán)計(jì)數(shù)器,將計(jì)數(shù)結(jié)果輸入到譯碼器,譯碼結(jié)果輸出即可依次使能每個(gè)LED。例如:要讓8個(gè)LED同時(shí)工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)LED,并在使能每一個(gè)LED的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個(gè)LED同時(shí)工作。模塊的頂層圖如下所示。CNT計(jì)數(shù)產(chǎn)生掃描信號(hào)(位碼),LED模塊用于查表產(chǎn)生LED段碼輸出。數(shù)碼管顯示的功能模塊如圖4.13所示。圖4.13數(shù)碼管顯示的功能模塊圖用4個(gè)LED將待測(cè)頻率顯示出來(lái),將通過(guò)十進(jìn)制計(jì)數(shù)器的時(shí)鐘信號(hào)CLK,輸出為時(shí)鐘信號(hào)計(jì)數(shù)譯碼后的顯示驅(qū)動(dòng)端,在八段LED譯碼為對(duì)應(yīng)的八段二進(jìn)制編碼,并由數(shù)碼顯示器顯示出來(lái)。圖4.14數(shù)碼管顯示的仿真圖5下載測(cè)試程序設(shè)計(jì)好后進(jìn)行編譯保存,并參照FPGAstarter開發(fā)板原理圖,對(duì)其輸入輸出信號(hào)進(jìn)行管腳分配。FPGAstarter開發(fā)板原理圖如圖所示;圖5.1FPGAstarter開發(fā)板原理圖引腳鎖定結(jié)果如下;圖5.2引腳鎖定圖四位數(shù)字頻率計(jì)鎖定引腳后的電路圖;圖5.3四位數(shù)字頻率計(jì)電路圖將程序下載到FPGAstarter開發(fā)板中進(jìn)行驗(yàn)證;(1)當(dāng)所輸入的信號(hào)為10HZ時(shí)FPGA開發(fā)板數(shù)碼管上顯示如圖5.4所示;圖5.4輸入信號(hào)為10HZ時(shí)的實(shí)驗(yàn)圖(2)當(dāng)所輸入的信號(hào)為200HZ時(shí)FPGA開發(fā)板數(shù)碼管上顯示如圖5.5所示;圖5.5輸入信號(hào)為200HZ時(shí)的實(shí)驗(yàn)圖(3)當(dāng)所輸入的信號(hào)為4000HZ時(shí)FPGA開發(fā)板數(shù)碼管上顯示如圖5.6所示圖5.6輸入信號(hào)為4000HZ時(shí)的實(shí)驗(yàn)圖結(jié)論這次設(shè)計(jì)對(duì)頻率計(jì)進(jìn)行了系統(tǒng)的設(shè)計(jì)。通過(guò)FPGA運(yùn)用VHDL編程,利用FPGA(現(xiàn)場(chǎng)可編程門陣列)芯片設(shè)計(jì)了一個(gè)4位數(shù)字式等精度頻率計(jì),該頻率計(jì)的測(cè)量范圍為0-10kHZ,利用QUARTUSⅡ集成開發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到CPLD器件中,經(jīng)實(shí)際電路測(cè)試,仿真和實(shí)驗(yàn)結(jié)果表明,該頻率計(jì)有較高的實(shí)用性和可靠性,達(dá)到預(yù)期的結(jié)果。和傳統(tǒng)的頻率計(jì)相比,利用FPGA設(shè)計(jì)的頻率計(jì)簡(jiǎn)化了電路板設(shè)計(jì),提高了系統(tǒng)設(shè)計(jì)的實(shí)用性和可靠性,實(shí)現(xiàn)數(shù)字系統(tǒng)的軟件化,這也是數(shù)字邏輯設(shè)計(jì)的趨勢(shì)。在這次畢業(yè)設(shè)計(jì)中,雖然應(yīng)用的都是在書本上學(xué)過(guò)的知識(shí),但是只有應(yīng)用到實(shí)際中才算真正的學(xué)懂了這些知識(shí)。這次數(shù)字頻率計(jì)的涉及到了VHDL語(yǔ)言、QuartusII軟件,EDA技術(shù)等。涉及了微機(jī)原理和EDA所學(xué)的大部分內(nèi)容。通過(guò)這次畢業(yè)設(shè)計(jì)實(shí)踐鞏固了學(xué)過(guò)的知識(shí)并能夠較好的利用。畢業(yè)設(shè)計(jì)實(shí)踐不單是將所學(xué)的知識(shí)應(yīng)用于實(shí)際,在設(shè)計(jì)的過(guò)程中,只擁有理論知識(shí)是不夠的。邏輯思維、電路設(shè)計(jì)的步驟和方法、考慮問(wèn)題的思路和角度等也是很重要,需要我們著重注意鍛煉的能力。在這次設(shè)計(jì)中還發(fā)現(xiàn)理論與實(shí)際常常常存在很大差距,為了使電路正常工作,必須靈活運(yùn)用原理找出解決方法。在課題設(shè)計(jì)中,通過(guò)使用QuartusII這個(gè)完全集成化易學(xué)易用的可編程邏輯設(shè)計(jì)環(huán)境,利用VHDL語(yǔ)言設(shè)計(jì)完成4位十進(jìn)制數(shù)字頻率計(jì),能夠較好的測(cè)定所給頻率,并且具有自動(dòng)清零和自動(dòng)測(cè)試的功能,基本符合此次課程設(shè)計(jì)給出的要求。畢業(yè)設(shè)計(jì)中,除了對(duì)相關(guān)的專業(yè)知識(shí)以及相關(guān)的實(shí)驗(yàn)操作進(jìn)行了回顧,還有許多其他的收獲,比如在繪制論文中所需要的相關(guān)的電路圖的過(guò)程中,還學(xué)會(huì)使用word繪圖,這次畢業(yè)設(shè)計(jì)不但對(duì)本專業(yè)的相關(guān)基礎(chǔ)知識(shí)進(jìn)行了很好的復(fù)習(xí),還對(duì)原由書本上的知識(shí)進(jìn)行了拓展和延伸,畢業(yè)設(shè)計(jì)不但鍛煉了動(dòng)手能力,也鍛煉了處理問(wèn)題的能力,并且學(xué)會(huì)了許多新的知識(shí)。致謝首先,感謝幫助我完成設(shè)計(jì)的趙老師以及各位同學(xué),我選擇的論文是數(shù)字頻率計(jì)的設(shè)計(jì),在論文中我遇到了很多困難,通過(guò)這次對(duì)EDA課程設(shè)計(jì)的進(jìn)一步操作,能更好的在QuartusII上進(jìn)行VHDL程序的編譯及各個(gè)模塊的仿真,雖然在實(shí)際操作過(guò)程中由于粗心造成了程序的缺失和錯(cuò)誤,但都在老師和同學(xué)的幫助下一一解決了。很好地鞏固了我們學(xué)過(guò)的專業(yè)知識(shí),使我對(duì)數(shù)字系統(tǒng)結(jié)構(gòu)也有了更進(jìn)一步的了解和認(rèn)識(shí),同時(shí)對(duì)數(shù)據(jù)庫(kù)軟件、EDA技術(shù)、VHDL等系列知識(shí)都有了一定的了解。使用EDA技術(shù)開發(fā)頁(yè)面的能力也有了很大提高,也使我們把理論與實(shí)踐從真正意義上相結(jié)合了起來(lái),考驗(yàn)了我們借助互聯(lián)網(wǎng)絡(luò)搜集、查閱相關(guān)文獻(xiàn)資料、和組織材料的綜合能力。同時(shí)在這幾個(gè)月的時(shí)間里,我也參閱了大量的文獻(xiàn)、專著、和資料,才使我有了較為清晰的思路來(lái)完成本課題的設(shè)計(jì)。設(shè)計(jì)也引用了其中的部分內(nèi)容,在此,對(duì)這些文獻(xiàn)、專著和資料的作者和編著們表示感謝。在論文的撰寫和設(shè)計(jì)模塊的仿真過(guò)程中,我也得到了很多同學(xué)和朋友的幫助與支持,在這里一并表示感謝。同時(shí),也向我的家人致以真心的謝意!他們?cè)谖业拇髮W(xué)階段中給予我的一切是無(wú)法用言語(yǔ)來(lái)表達(dá)的。最后,衷心感謝各位評(píng)閱老師!感謝您們?cè)诎倜χ袇⑴c我的論文評(píng)閱工作。謝謝!參考文獻(xiàn)1周浩明.數(shù)字頻率計(jì).北京:水利電力出版社,1989,10~15.2陳炳權(quán),曾慶立.EDA技術(shù)與實(shí)用教程.湘潭:湘潭大學(xué)出版社,2004,4~45.3吳建新.基于量程自動(dòng)轉(zhuǎn)換的頻率計(jì)設(shè)計(jì).電子元器件應(yīng)用,2007,(9):25~30.4曹昕燕,周鳳臣.EDA技術(shù)試驗(yàn)與課程設(shè)計(jì).北京:清華大學(xué)出版社,2006,30~45.5徐志軍,王金明,尹廷輝,徐光輝,蘇勇.EDA技術(shù)與VHDL設(shè)計(jì).北京:電子工業(yè)出版社,2009,20~25.6劉欲曉,方強(qiáng),黃宛寧.EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實(shí)踐.北京:電子工業(yè)出版社,2009,11~14.7朱正偉.EDA技術(shù)及應(yīng)用.北京:清華大學(xué)出版社,2005,10~15.8柳春鋒.電子設(shè)計(jì)自動(dòng)化(EDA)教程.北京:北京理工大學(xué)出版社,2005,67~70.9潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程.北京:科學(xué)出版社,2005,25~28.10鄒彥.EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì).北京:電子工業(yè)出版社,2007,27~32.11王愉節(jié).電子技術(shù)實(shí)驗(yàn)指導(dǎo).貴州:貴州科技出版社,2004,55~58.12高吉祥.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì).南京:電子工業(yè)出版社,2005,17~23.13劉宇征.電子電路設(shè)計(jì)與制作.福建:福建科學(xué)技術(shù)出版社,2003,156~178.14林濤.數(shù)字電子技術(shù)基礎(chǔ).北京:清華大學(xué)出版社,2006,77~81.15張?jiān)サ?電子電路課程設(shè)計(jì).南京:河海大學(xué)出版社,2005,89~92.16王紫婷,吳蓉,張彩珍,吳曉春.EDA技術(shù)與應(yīng)用.蘭州:蘭州大學(xué)出版社,2003年17譚會(huì)生,張昌凡.EDA技術(shù)及應(yīng)用.西安:西安電子科技大學(xué)出版社,2004年4月18林敏,方穎立.VHDL數(shù)字系統(tǒng)設(shè)計(jì)與高層次綜合.北京:電子工業(yè)出版社,2002年19李國(guó)洪,沈明山.可編程器件EDA技術(shù)與實(shí)踐.北京:機(jī)械工業(yè)出版社,2004年7月20王鎖萍.電子設(shè)計(jì)自動(dòng)化教程.成都:電子科技大學(xué)出版社,2000年2月21周國(guó)富.現(xiàn)場(chǎng)可編程門陣列及應(yīng)用.電子技術(shù)應(yīng)用,1995年6月22潘松,王國(guó)棟.VHDL實(shí)用教程.成都:電子科技大學(xué)出版社,1999年12月23胡乾斌,李光斌,李玲,喻紅.單片微型計(jì)算機(jī)原理與應(yīng)用.武漢:華中科技大學(xué)出版社,2006年2月24李玉山.電子系統(tǒng)集成設(shè)計(jì)技術(shù).北京:電子工業(yè)出版社,2002年10月25(美)PeterJ.Ashenden.葛紅,黃河,吳繼明(譯).VHDL設(shè)計(jì)指南.北京:機(jī)械工業(yè)出版社,2005年6月26ByBernardGrob—ElectroniccircuitsandapplicationsGreggDivision—McGraw-Hill,1982—02.27ByHowardJohnsonandMartinGraham—High-SpeedDigitalDesign.PublishingHouseofElectronicsindustry,2003—08.

附錄數(shù)字頻率計(jì)各部分源程序(1)測(cè)頻控制信號(hào)發(fā)生器的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLKK:INSTD_LOGIC;--1HzCNT_EN,RST_CNT,LOAD:OUTSTD_LOGIC);ENDTESTCTL;ARCHITECTUREBEHAVOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIFCLKK'EVENTANDCLKK='1'THENDIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLKK,DIV2CLK)BEGINIFCLKK='0'ANDDIV2CLK='0'THENRST_CNT<='1';ELSERST_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;CNT_EN<=DIV2CLK;ENDBEHAV;(2)十進(jìn)制計(jì)數(shù)器CNT10源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK,RST,ENA:INSTD_LOGIC;OUTY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT10;ARCHITECTUREONEOFCNT10ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0):="0000";BEGINP_REG:PROCESS(CLK,RST,ENA)BEGINIFRST='1'THENCQI<="0000";ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<="0000";ENDIF;ENDIF;ENDIF;OUTY<=CQI;ENDPROCESSP_REG;COUT<=NOT(CQI(0)ANDCQI(3));ENDONE;(3)四位鎖存器的源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYREG4BISPORT(LOAD:INSTD_LOGIC;DIN:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC);ENDREG4B;ARCHITECTUREONEOFCNT10ISBEGINPROCESS(LOAD,DIN)BEGINIFLOAD’EVENTANDLOAD=’1’THENDOUT<=DIN;ENDIF;ENDPROCESS;ENDONE;(4)系統(tǒng)時(shí)鐘分頻的源程序如下;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYfenpinISPORT(CLK50:INSTD_LOGIC;Fre100KHz:OUTSTD_LOGIC;Fre1KHz:OUTSTD_LOGIC;Fre1Hz:OUTSTD_LOGIC);END;ARCHITECTUREoneOFfenpinissignalF1,F2,F3:STD_LOGIC;BEGINPROCESS(CLK50)VARIABLEQ1:STD_LOGIC_VECTOR(31DOWNTO0);--定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型VARIABLEQ2:STD_LOGIC_VECTOR(31DOWNTO0);--定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型VARIABLEQ3:STD_LOGIC_VECTOR(31DOWNTO0);--定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型BEGINIFRISING_EDGE(CLK50)THENQ1:=Q1+1;Q2:=Q2+1;Q3:=Q3+1;IFQ1>=20thenQ1:=(OTHERS=>'0');F1<=NOTF1;ENDIF;IFQ2>=12thenQ2:=(OTHERS=>'0');F2<=NOTF2;ENDIF;IFQ3=24thenQ3:=(OTHERS=>'0');F3<=NOTF3;ENDIF;ENDIF;ENDPROCESS;Fre100KHz<=F1;Fre1KHz<=F2;Fre1Hz<=F3;END;(5)數(shù)碼管譯碼的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYyimaISPORT(DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREbehavOFLED7IS--SIGNALLED7:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(DIN)BEGINCASEDINIS"0000"=>DOUT<="0111111";WHEN"0001"=>DOUT<="0000110";WHEN"0010"=>DOUT<="1011011";WHEN"0011"=>DOUT<="1001111";WHEN

"0100"=>DOUT<="1100110";WHEN"0101"=>DOUT<="1101101";WHEN"0110"=>DOUT<="1111101";WHEN"0111"=>DOUT<="0000111";WHEN"1000"=>DOUT<="1111111";WHEN"1001"=>DOUT<="1101111";WHEN"1010"=>DOUT<="1110111";WHEN"1011"=>DOUT<="1111100";WHEN"1100"=>DOUT<="0111001";WHEN"1101"=>DOUT<="1011110";WHEN"1110"=>DOUT<="1111001";WHEN"1111"=>DOUT<="1110001";WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehav;(6)數(shù)碼管顯示的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALLUSEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYwxxISPORT(CLK:INSTD_LOGIC;Q1,Q2,Q3,Q4:INSTD_LOGIC_VECTOR(7DOWNTO0);wx,dx:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;ARCHITECTUREBHVOFwxxISSIGNALTEMP1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP1:PROCESS(CLK)BEGINIF(TEMP1=”1000”)THENTEMP1<=”1000”;ELSIFCLK’EVENTANDCLK=’1’THENTEMP1<=TEMP1+1;ENDIF;CASETEMP1ISWHEN”0000”=>dx<=Q1;wx<="11111110";--WHEN"0000"=>WHEN"0001"=>dx<=Q2;wx<="11111101";--WHEN"0001"=> WHEM"0010"=>dx<=Q3; wx<="11111011";--WHEN"0010"=> WHEN"0011"=>dx<=Q4; wx<="11110111";--WHEN"0011"=> WHENOTHERS=>dx<=NULL;ENDCASE;ENDPROCESS;END;基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論