2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  本文主要論述了利用FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)進(jìn)行測(cè)頻計(jì)數(shù),單片機(jī)實(shí)施控制實(shí)現(xiàn)頻率計(jì)的設(shè)計(jì)過程。該頻率計(jì)利用等精度的設(shè)計(jì)方法,克服了基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度隨被測(cè)信號(hào)頻率的下降而降低的缺點(diǎn)。等精度的測(cè)量方法不但具有較高的測(cè)量精度,而且在整個(gè)頻率區(qū)域保持恒定

2、的測(cè)試精度。</p><p>  設(shè)計(jì)中用一塊FPGA芯片(型號(hào)為CycloneⅡ的EP2C5T144C8N)完成各種時(shí)序邏輯控制、計(jì)數(shù)功能。在QuartusⅡ平臺(tái)上,用VHDL語言編程完成了FPGA的軟件設(shè)計(jì)、編譯、調(diào)試、仿真和下載。用STC89C52RC單片機(jī)作為系統(tǒng)的主控部件,實(shí)現(xiàn)整個(gè)電路的測(cè)試信號(hào)控制,數(shù)據(jù)運(yùn)算處理和控制數(shù)碼管的顯示輸出。系統(tǒng)將單片機(jī)的控制靈活性及FPGA芯片的現(xiàn)場(chǎng)可編程性相結(jié)合,不但大大

3、縮短了開發(fā)研制周期,而且使本系統(tǒng)具有結(jié)構(gòu)緊湊、體積小,可靠性高,測(cè)頻范圍寬、精度高等優(yōu)點(diǎn)。</p><p>  文章詳細(xì)論述了系統(tǒng)自上而下的設(shè)計(jì)方法及各部分硬件電路組成及單片機(jī)、FPGA的軟件編程設(shè)計(jì)。使用杭州康芯KX-7C5T型EDA實(shí)驗(yàn)開發(fā)與電子設(shè)計(jì)學(xué)習(xí)板為主的實(shí)驗(yàn)環(huán)境下,配合單片機(jī)最小系統(tǒng)對(duì)軟硬件進(jìn)行仿真和驗(yàn)證,達(dá)到了較高的測(cè)量精度和測(cè)量速度。</p><p>  關(guān)鍵詞:FPGA,

4、VHDL,頻率計(jì),單片機(jī),STC89C52RC</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p><b>  第一章 概 論1</b></p><p>  1.1課題研究的目的和意義1</p>&

5、lt;p>  1.2 測(cè)量原理1</p><p>  1.3 系統(tǒng)設(shè)計(jì)指標(biāo)3</p><p>  第二章 硬件電路設(shè)計(jì)5</p><p>  2.1 系統(tǒng)頂層電路設(shè)計(jì)5</p><p>  2.2 FPGA測(cè)頻模塊邏輯設(shè)計(jì)5</p><p>  2.3 單片機(jī)主控模塊6</p><

6、p>  2.4 外圍電路設(shè)計(jì)8</p><p>  第三章 軟件設(shè)計(jì)11</p><p>  3.1 Quartus II概述11</p><p>  3.2 VHDL語言簡(jiǎn)介12</p><p>  3.3 頻率計(jì)FPGA模塊的頂層設(shè)計(jì)12</p><p>  3.4 頻率計(jì)FPGA模塊的仿真14&

7、lt;/p><p>  3.5 單片機(jī)的C語言編程15</p><p>  第四章 系統(tǒng)測(cè)試17</p><p>  4.1 測(cè)頻精度分析17</p><p>  4.2實(shí)驗(yàn)測(cè)試數(shù)據(jù)18</p><p><b>  第五章 總結(jié)19</b></p><p><

8、b>  致 謝21</b></p><p><b>  參考文獻(xiàn)23</b></p><p><b>  第一章 概 論</b></p><p>  1.1課題研究的目的和意義</p><p>  測(cè)頻一直以來都是電子和通訊系統(tǒng)工作的重要手段之一。高精度的測(cè)頻儀有著廣泛的市場(chǎng)

9、前景。以往的測(cè)頻儀都是在低頻段利用測(cè)周期的方法、高頻段用測(cè)頻率的方法,其精度往往會(huì)隨著被測(cè)頻率的下降而下降。</p><p>  基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且在整個(gè)測(cè)頻區(qū)域內(nèi)保持恒定的測(cè)試精度。所以等精度頻率計(jì)有研究的價(jià)值。</p><p><b>  1.2 測(cè)量原理</

10、b></p><p>  等精度測(cè)頻法:其實(shí)現(xiàn)方法可用主控結(jié)構(gòu)圖1-1和波形圖1-2來說明。</p><p>  圖1-1 等精度頻率計(jì)主控結(jié)構(gòu)圖</p><p>  圖1-2 頻率計(jì)測(cè)控時(shí)序</p><p>  圖1-1中的“預(yù)置門信號(hào)”CL由單片機(jī)發(fā)出,CL的時(shí)間寬度對(duì)測(cè)頻精度幾乎沒有影響,在此設(shè)其寬度為Tpr。BZH和TF模塊是兩

11、個(gè)可控的32位高速計(jì)數(shù)器,EN為它們的技術(shù)允許信號(hào)端,高電平有效。</p><p>  標(biāo)準(zhǔn)頻率信號(hào)從BZH的時(shí)鐘輸入端BCLK輸入,設(shè)其頻率為Fs;經(jīng)放大整形后的被測(cè)信號(hào)從與BZH相似的32位計(jì)數(shù)器TF的時(shí)鐘輸入端TCLK輸入,設(shè)其真實(shí)頻率值為Fxe,被測(cè)頻率為Fx。測(cè)頻原理說明如下:</p><p>  測(cè)頻開始前,首先發(fā)出一個(gè)清零信號(hào)CLR,使兩個(gè)計(jì)數(shù)器和D觸發(fā)器清零,同時(shí)通過信號(hào)E

12、N,禁止兩個(gè)計(jì)數(shù)器計(jì)數(shù)。這是一個(gè)初始化操作。如果系統(tǒng)啟動(dòng)不能正常清零,可以由外部的按鍵強(qiáng)制清零。</p><p>  然后由單片機(jī)發(fā)出允許測(cè)頻信號(hào),即令預(yù)置門控信號(hào)CL為高電平(把圖1-1和圖1-2結(jié)合起來看),這時(shí)D觸發(fā)器要一直等到被測(cè)信號(hào)的上升沿通過時(shí)Q端才被置1(即令START為高電平),與此同時(shí),將同時(shí)啟動(dòng)計(jì)數(shù)器BZH和TF,進(jìn)入圖1-2所示的“計(jì)數(shù)允許周期”。在此期間,BZH和TF分別對(duì)被測(cè)信號(hào)(頻率為

13、Fx)和標(biāo)準(zhǔn)頻率信號(hào)(Fs=100MHz)同時(shí)計(jì)數(shù)。當(dāng)Tpr秒后,預(yù)置門信號(hào)被單片機(jī)置為低電平,但此時(shí)兩個(gè)計(jì)數(shù)器仍沒有停止計(jì)數(shù),一直等到隨后而至的被測(cè)信號(hào)的上升沿到來時(shí),才通過D觸發(fā)器將這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。由圖1-2可見,CL的寬度和發(fā)生的時(shí)間都不會(huì)影響這樣一個(gè)事實(shí),計(jì)數(shù)使能信號(hào)(START)允許計(jì)數(shù)的周期總是恰好等于待測(cè)信號(hào)TCLK的完整周期數(shù),這正是確保TCLK在任何頻率條件下都能保持恒定精度的關(guān)鍵。而且,CL寬度的改變以及隨機(jī)的

14、出現(xiàn)時(shí)間造成的誤差最多只有BCLK信號(hào)的一個(gè)時(shí)鐘周期,但是BCLK是倍頻后的100MHz信號(hào),則任何時(shí)刻的絕對(duì)測(cè)量誤差只有億分之一秒。</p><p>  被測(cè)頻率值為Fx,標(biāo)準(zhǔn)頻率為Fs,設(shè)在一次預(yù)置門時(shí)間Tpr中對(duì)被測(cè)信號(hào)計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns,則下式成立:</p><p>  Nx / Fx = Ns / Fs……………………①</p><p>

15、;<b>  由此式可推得:</b></p><p>  Fx = ( Fs×Nx ) / Ns…………………②</p><p>  最后通過控制SEL選擇信號(hào)和64位至8位的多路選擇器MUX64-8,將計(jì)數(shù)器BHZ和TF中兩個(gè)32位數(shù)據(jù)分8次讀入單片機(jī)并按式②進(jìn)行計(jì)算和結(jié)果顯示。</p><p>  1.3 系統(tǒng)設(shè)計(jì)指標(biāo)</p

16、><p>  設(shè)計(jì)并制作出一種數(shù)字頻率計(jì),其技術(shù)指標(biāo)如下: </p><p>  (1)頻率測(cè)量范圍: 0.1Hz—128MHz; </p><p> ?。?)輸入電壓幅度: >300mV; </p><p> ?。?)輸入信號(hào)波形:任意周期方波信號(hào);</p><p> ?。?)顯示位數(shù): 8位LED數(shù)碼管顯示;&l

17、t;/p><p> ?。?)電源: 220V、50Hz。</p><p>  第二章 硬件電路設(shè)計(jì)</p><p>  2.1 系統(tǒng)頂層電路設(shè)計(jì)</p><p>  等精度數(shù)字頻率計(jì)涉及到的計(jì)算包括加、減、乘、除,耗用的資源比較大,用一般中小規(guī)模的FPGA芯片難以實(shí)現(xiàn)。因此,我們選擇單片機(jī)和FPGA的結(jié)合來實(shí)現(xiàn)。電路系統(tǒng)原理圖如圖2-1所示,其中

18、單片機(jī)完成整個(gè)測(cè)量電路的測(cè)試控制、數(shù)據(jù)處理和顯示輸出;FPGA完成測(cè)頻功能。顯示電路采用7段LED動(dòng)態(tài)顯示,由單片機(jī)P2口直接驅(qū)動(dòng)。</p><p>  圖2-1 系統(tǒng)原理圖</p><p>  等精度頻率計(jì)主要由由以下幾個(gè)部分構(gòu)成:</p><p> ?、傩盘?hào)放大整形電路:用于對(duì)待測(cè)信號(hào)進(jìn)行放大整形,以便作為FPGA的輸入信號(hào)。</p><p&

19、gt;  ②測(cè)頻電路:是測(cè)頻的核心模塊,由FPGA擔(dān)任。</p><p> ?、蹎纹瑱C(jī)模塊:用于控制FPGA的測(cè)頻操作和讀取測(cè)頻數(shù)據(jù),并發(fā)出相應(yīng)數(shù)據(jù)處理。安排單片機(jī)的P0口直接讀取測(cè)試數(shù)據(jù)。控制命令從P1口或是P3的相關(guān)口線發(fā)出。</p><p> ?、?0MHz的標(biāo)準(zhǔn)頻率信號(hào)源:本模塊采用倍頻技術(shù),倍頻出一個(gè)100MHz標(biāo)準(zhǔn)頻率信號(hào)源,產(chǎn)生100MHz的標(biāo)準(zhǔn)頻率給FPGA使用。</

20、p><p> ?、輸?shù)碼管顯示模塊:采用8個(gè)7段LED動(dòng)態(tài)顯示,使用P2口作為段信息的輸出,使用P1口的低四位控制串行移位寄存器的三個(gè)輸入及CLK端,實(shí)現(xiàn)LED的動(dòng)態(tài)掃描。</p><p>  2.2 FPGA測(cè)頻模塊邏輯設(shè)計(jì)</p><p>  根據(jù)圖1-1和圖1-2以及測(cè)頻原理說明,可以比較容易地寫出相應(yīng)的VHDL功能描述。圖2-2為VHDL描述的RTL電路圖(圖中s

21、pul為外部清零信號(hào),由按鍵輸入)。</p><p>  與單片機(jī)的接口按照如下方式連接:</p><p>  單片機(jī)的P0口接8位數(shù)據(jù)DATA[7..0],負(fù)責(zé)讀取測(cè)頻數(shù)據(jù);</p><p>  START信號(hào)輸出到單片機(jī)的P3.2口線,通過中斷的方式來判斷計(jì)數(shù)是否結(jié)束,以確定何時(shí)可以讀取數(shù)據(jù);</p><p>  P1.6,P1.5和P1

22、.4與SEL[2..0]相接,用于控制多路數(shù)據(jù)選擇器,當(dāng)SEL分別為“000”、“001”、“010”、“011”時(shí),由低8位到高8位讀出標(biāo)準(zhǔn)頻率計(jì)數(shù)值;當(dāng)SEL分別為“100”、“101”、“110”、“111”時(shí),由低8位到高8位讀出待測(cè)頻率計(jì)數(shù)值。</p><p>  圖2-2等精度頻率計(jì)FPGA部分的RTL電路圖</p><p>  P3.3接清零信號(hào)CLR,高電平有效。每一個(gè)測(cè)頻

23、周期開始,都應(yīng)該首先清零。</p><p>  P1.7接預(yù)置門控信號(hào)CL,CL是由定時(shí)器T0產(chǎn)生的一個(gè)周期為2S的方波信號(hào),即每隔1S鐘左右測(cè)試一次頻率,頻率低于1Hz后,測(cè)頻的間隔會(huì)大于1S鐘,特別是待測(cè)頻率為0.1Hz時(shí),每隔10S鐘測(cè)試一次。</p><p>  2.3 單片機(jī)主控模塊</p><p>  STC89C52RC單片機(jī)是宏晶科技推出的新一代超強(qiáng)

24、抗干擾/高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)的8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。其封裝有LQFP44,PDIP40,PLCC44及PQFQ44,本設(shè)計(jì)中所使用的是PDIP40封裝,圖形如圖2-3所示。</p><p>  圖2-3 STC89C52RC單片機(jī)PDIP40封裝圖</p><p>  STC89C52RC單片機(jī)特點(diǎn)如下:</p>

25、<p> ?、?、增強(qiáng)型6時(shí)鐘/機(jī)器周期、12時(shí)鐘/機(jī)器周期任意設(shè)置。</p><p> ?、啤⒐ぷ麟妷海?.5~3.4V(5V單片機(jī))/2.0~3.8V(3V單片機(jī))。</p><p>  ⑶、工作頻率:0~40MHz,相當(dāng)于普通8051單片機(jī);實(shí)際使用范圍為0~80MHz。</p><p>  ⑷、8KB片內(nèi)Flash程序存儲(chǔ)器,擦寫次數(shù)10萬次以上

26、。</p><p> ?、?、片上集成512B RAM數(shù)據(jù)存儲(chǔ)器。</p><p> ?、?、通用I/O口(32/36個(gè)),復(fù)位后為: P1、P2、 P3、P4是弱上拉/準(zhǔn)雙向口(與普通MCS-51 I/O口功能一樣);P0口是開漏輸出口,作為總線擴(kuò)展時(shí)用,不用加上拉電阻;P0口作為I/O口用時(shí),需加上拉電阻。</p><p> ?、?、ISP在系統(tǒng)可編程,無需專用編程器

27、/仿真器,可通過串口(P30/ P31)直接下載用戶程序,8KB程序3s即可完成一片。</p><p>  ⑻、芯片內(nèi)置EEPROM功能。</p><p> ?、?、硬件看門狗(WDT)。</p><p> ?、?、共3個(gè)16位定時(shí)器/計(jì)數(shù)器,兼容普通MCS-51單片機(jī)的定時(shí)器,其中定時(shí)器T0還可以當(dāng)成2個(gè)8位定時(shí)器使用。 </p><p>  

28、⑾、外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,掉電模式可由外部中斷喚醒。</p><p> ?、小⑷p工異步串行口(UART),兼容普通8051單片機(jī)的串口。</p><p>  ⒀、工作溫度范圍:0℃~75℃/-40℃~+85℃。</p><p>  除此之外,STC89C52RC單片機(jī)自身還有很多獨(dú)特的優(yōu)點(diǎn):</p><p> ?、拧⒓用?/p>

29、性強(qiáng), 無法解密。</p><p> ?、?、超強(qiáng)抗干擾。主要表現(xiàn)在:高抗靜電(ESD保護(hù)),可以輕松抗御2KV/4KV快速脈沖干擾(EFT測(cè)試),寬電壓、不怕電源抖動(dòng),寬溫度范圍為-40℃~+85℃,I/O口經(jīng)過特殊處理,單片機(jī)內(nèi)部的電源供電系統(tǒng)、時(shí)鐘電路、復(fù)位電路及看門狗電路經(jīng)過特殊處理。</p><p> ?、?、三大降低單片機(jī)時(shí)鐘對(duì)外部電磁輻射的措施:禁止ALE 輸出;如選6 時(shí)鐘/

30、機(jī)器周期,外部時(shí)鐘頻率可降一半;單片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2gain;</p><p> ?、取⒊凸模旱綦娔J?,典型電流損耗<0.1μA;空閑模式,典型電流損耗為2mA;正常工作模式,典型電流損耗4mA~7mA。</p><p>  2.4 外圍電路設(shè)計(jì)</p><p><b>  1、電源模塊</b></p>&l

31、t;p>  整個(gè)電路的供電電源如圖2-4所示,220V交流經(jīng)變壓、整流、濾波后,由一片78L05三端穩(wěn)壓器向系統(tǒng)提供+5V電壓信號(hào)。</p><p><b>  圖2-4 電源模塊</b></p><p>  2、LED數(shù)碼管顯示電路</p><p>  本設(shè)計(jì)中采用LED數(shù)碼管動(dòng)態(tài)顯示。8位數(shù)碼管采用兩個(gè)4位一體的共陽型數(shù)碼管組成;段信

32、息使用單片機(jī)的P2控制;為了節(jié)約口線,在位的控制上,采用了一片74LS138芯片,把A,B,C三個(gè)腳分別用P1.0、P1.1及P1.2控制,此外把6號(hào)腳接單片機(jī)P1.3腳,用來控制數(shù)碼管的亮滅。電路圖如圖2-5所示。</p><p>  圖2-5 LED數(shù)碼管顯示電路</p><p><b>  3、其他電路</b></p><p>  單片機(jī)

33、的時(shí)鐘電路由12MHz的晶振提供。FPGA的標(biāo)準(zhǔn)頻率信號(hào)由20MHz的有源晶振提供。被測(cè)信號(hào)經(jīng)過放大整形電路調(diào)理后輸入。</p><p><b>  第三章 軟件設(shè)計(jì)</b></p><p>  3.1 Quartus II概述</p><p>  Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可

34、編程邏輯器件供應(yīng)商之一。Quartus II在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX十plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成FPGA開發(fā)的整個(gè)流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。</p><p>  Altera的Quartus II提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的

35、需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為Altera DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。Quartus II設(shè)計(jì)工具完全支持VHDL, Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL, Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum, Synplify Pro,FPGA Compiler II,并能直接調(diào)用這些工具

36、。同樣,Quartus II具備仿真功能,同時(shí)也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。</p><p>  Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis&Synthesis)、適配器(Fitter)、裝配器(As

37、sembler)、時(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è)模塊。還可以通過選擇Compiler Tool (Tools菜單),在Compil

38、erTool窗口中運(yùn)行該模塊來啟動(dòng)編譯器模塊。在Compiler Tool窗口中,可以打開該模塊的設(shè)置文件或報(bào)告文件,或打開其他相關(guān)窗口。</p><p>  此外,Quartos II還包含許多十分有用的LPM (Library of Parameterized Modules)模塊,它們是復(fù)雜或高級(jí)系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計(jì)中被大量使用,也可在Quartos II普通設(shè)計(jì)文件一起使用。Altera

39、提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。在許多實(shí)用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲(chǔ)器、DSP模塊、LVDS驅(qū)動(dòng)器、PLL以及SERDES和DDIO電路模塊等。</p><p>  Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL' 87及VHDL' 97標(biāo)準(zhǔn))、Verilog HDL及AHDL (Alte

40、ra HDL),AHDL是Altera公司自己設(shè)計(jì)、制定的硬件描述語言,是一種以結(jié)構(gòu)描述方式為主的硬件描述語言,只有企業(yè)標(biāo)準(zhǔn)。</p><p>  Quartus II允許來自第三方的EDIF文件輸入,并提供了很多EDA軟件的接口,Quartus II支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計(jì)的問題。在設(shè)計(jì)輸入之后,Quart

41、us II的編譯器將給出設(shè)計(jì)輸入的錯(cuò)誤報(bào)告。Quartus II擁有性能良好的設(shè)計(jì)錯(cuò)誤定位器,用于確定文本或圖形設(shè)計(jì)中的錯(cuò)誤。對(duì)于使用HDL的設(shè)計(jì),可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖。在進(jìn)行編譯后,可對(duì)設(shè)計(jì)進(jìn)行時(shí)序仿真。在作仿真前,需要利用波形編輯器編輯一個(gè)波形激勵(lì)文件,用于仿真驗(yàn)證時(shí)的激勵(lì)。編譯和仿真經(jīng)檢測(cè)無誤后,便可以將下載信息通過QuartusII提供的編程器下載入目標(biāo)器件中了。</p

42、><p>  3.2 VHDL語言簡(jiǎn)介</p><p>  20處紀(jì)80年代后期,美國國防部開發(fā)的VHDL語言(VHS工C硬件描寫語言,VHSIC是非常高度迅速綜合的電路的縮寫)是工EEE標(biāo)準(zhǔn)化的硬件描述語言,并且已經(jīng)成為系統(tǒng)描述的國際公認(rèn)標(biāo)準(zhǔn),得到眾多EDA公司的支持。</p><p>  VHDL語言覆蓋面廣,描述能力強(qiáng),能支持硬件的設(shè)計(jì)子驗(yàn)證、綜合和測(cè)試,是一種多

43、層次的硬件描述語言。其設(shè)計(jì)描述可以是描述電路具體組成的結(jié)構(gòu)描述,也可以是描述電路功能的行為描述。這些描述可以從最抽象的系統(tǒng)級(jí)直到最精確的邏輯級(jí),甚至門級(jí)。</p><p>  運(yùn)用VHDL語言設(shè)計(jì)系統(tǒng)一般采用自頂向下分層設(shè)計(jì)的方法,首先從系統(tǒng)級(jí)功能設(shè)計(jì)開始,對(duì)系統(tǒng)高層模塊進(jìn)行行為描述和功能仿真。系統(tǒng)的功能驗(yàn)證完成后,將抽象的高層設(shè)計(jì)自頂向下逐級(jí)細(xì)化,直到與所用可編程邏輯器件相對(duì)應(yīng)的邏輯描述。</p>

44、<p>  3.3 頻率計(jì)FPGA模塊的頂層設(shè)計(jì)</p><p>  在本測(cè)頻系統(tǒng)中,對(duì)標(biāo)準(zhǔn)頻率信號(hào)和被測(cè)信號(hào)進(jìn)行測(cè)試功能的工作由FPGA來完成。其硬件電路的實(shí)現(xiàn)在前面已述,其軟件部分由VHDL語言實(shí)現(xiàn)。下面將給出由VHDL語言實(shí)現(xiàn)的頂層模塊程序。</p><p>  頻率計(jì)測(cè)試模塊GW.VHD</p><p>  LIBRARY IEEE;</p

45、><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY GW IS</p><p>  PORT(BCLK:IN STD_LOGIC; --標(biāo)準(zhǔn)頻率時(shí)鐘信號(hào)</p><p>  TCLK

46、:IN STD_LOGIC; --待測(cè)頻率時(shí)鐘信號(hào)</p><p>  CLR :IN STD_LOGIC; --清零和初始化信號(hào)</p><p>  CL :IN STD_LOGIC; --預(yù)置門信號(hào)</p><p>  SPUL:IN STD_LOGIC; --清零,由按鍵產(chǎn)生信號(hào)</p><p>  START:OUT STD

47、_LOGIC; --起始計(jì)數(shù)標(biāo)識(shí)信號(hào)</p><p>  SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  DATA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)</p><p><b>  );</b></p><p><b>  END

48、GW;</b></p><p>  ARCHITECTURE behav of GW IS</p><p>  SIGNAL BZQ:STD_LOGIC_VECTOR(31 DOWNTO 0);</p><p>  SIGNAL TSQ:STD_LOGIC_VECTOR(31 DOWNTO 0);</p><p>  SIGNAL

49、 ENA,PUL:STD_LOGIC; --計(jì)數(shù)使能、脈寬計(jì)數(shù)使能</p><p><b>  BEGIN</b></p><p>  START <=ENA;</p><p>  DATA <=BZQ(7 DOWNTO 0) WHEN SEL="000" ELSE</p><p&g

50、t;  BZQ(15 DOWNTO 8) WHEN SEL="001" ELSE</p><p>  BZQ(23 DOWNTO 16) WHEN SEL="010" ELSE</p><p>  BZQ(31 DOWNTO 24) WHEN SEL="011" ELSE</p><p>  TSQ(7

51、 DOWNTO 0) WHEN SEL="100" ELSE</p><p>  TSQ(15 DOWNTO 8) WHEN SEL="101" ELSE</p><p>  TSQ(23 DOWNTO 16) WHEN SEL="110" ELSE</p><p>  TSQ(31 DOWNTO 24

52、) WHEN SEL="111" ;</p><p>  BZH:PROCESS(SPUL,BCLK,CLR,ENA)</p><p><b>  BEGIN</b></p><p>  IF(SPUL='1')THEN BZQ<=(OTHERS=>'0');</p>

53、<p>  ELSIF(CLR='1')THEN BZQ<=(OTHERS=>'0');</p><p>  ELSIF BCLK'EVENT AND BCLK='1' THEN</p><p>  IF ENA='1' THEN BZQ<=BZQ + 1 ;</p><

54、;p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  TF: PROCESS(SPUL,TCLK,CLR,ENA)</p><p><b>  BEGIN</b>&l

55、t;/p><p>  IF(SPUL='1')THEN TSQ<=(OTHERS=>'0');</p><p>  ELSIF(CLR='1')THEN TSQ<=(OTHERS=>'0');</p><p>  ELSIF TCLK'EVENT AND TCLK='

56、1' THEN</p><p>  IF ENA ='1' THEN TSQ<=TSQ + 1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p>

57、<p>  PROCESS(TCLK,CLR)</p><p><b>  BEGIN</b></p><p>  --IF(SPUL='1')THEN ENA<='0';</p><p>  IF CLR='1' THEN ENA <='0';</p&

58、gt;<p>  ELSIF TCLK'EVENT AND TCLK='1' THEN ENA<=CL;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END behav;</p><p>  圖3-1 頻

59、率計(jì)測(cè)試模塊</p><p>  3.4 頻率計(jì)FPGA模塊的仿真</p><p>  對(duì)頻率計(jì)測(cè)試模塊編譯,仿真結(jié)果如圖3-2所示。</p><p>  圖3-2 頻率計(jì)測(cè)試仿真波形</p><p>  從圖3-2可以看出,CLR一個(gè)正脈沖后,系統(tǒng)被初始化。然后CL被置為高電平,但這時(shí)兩個(gè)計(jì)數(shù)器并未開始計(jì)數(shù)(start=‘0’),直到此后被

60、測(cè)信號(hào)TCLK出現(xiàn)一個(gè)上升沿,START=‘1’時(shí)2個(gè)計(jì)數(shù)器同時(shí)啟動(dòng)分別對(duì)被測(cè)信號(hào)和標(biāo)準(zhǔn)信號(hào)開始計(jì)數(shù),其中BZQ和TSQ分別為標(biāo)準(zhǔn)頻率計(jì)數(shù)器和被測(cè)頻率計(jì)數(shù)器的計(jì)數(shù)值。由圖可見,在CL變?yōu)榈碗娖胶?,?jì)數(shù)器仍未停止,直到TCLK出現(xiàn)一個(gè)上升沿為止,這時(shí)START=‘0’,可作為單片機(jī)了解計(jì)數(shù)器結(jié)束的標(biāo)識(shí)信號(hào)。仿真波形中TCLK和BCLK的周期分別設(shè)置為10us和500ns。由圖可見,計(jì)數(shù)結(jié)果是,對(duì)TCLK的計(jì)數(shù)值是3,對(duì)BCLK的計(jì)數(shù)值為6

61、0。通過控制SEL就能按照8個(gè)8位將計(jì)數(shù)器中的32位數(shù)讀入單片機(jī)中進(jìn)行計(jì)算。</p><p>  由公式Fx = ( Fs×Nx ) / Ns=2MHz×3/60=0.1MHz,也就是周期為10us,可以驗(yàn)證圖1-1描述的等精度測(cè)頻的功能完全正確。</p><p>  3.5 單片機(jī)的C語言編程</p><p>  單片機(jī)在該系統(tǒng)中,主要是完成整

62、個(gè)測(cè)量電路的測(cè)試控制、數(shù)據(jù)處理和顯示輸出。系統(tǒng)啟動(dòng)后,如不能正常測(cè)試,可以由按鍵強(qiáng)制性清零。主程序不斷的掃描顯示程序,并掃描計(jì)數(shù)結(jié)束標(biāo)識(shí)START是否為零,一旦為零,立即把FPGA的兩個(gè)計(jì)數(shù)器技術(shù)結(jié)果取出、計(jì)算,把計(jì)算的結(jié)果送去顯示。在資源的分配上,除了用于控制FGPA的外,P2口用來進(jìn)行LED數(shù)碼管段信息的處理;P1口的低四位用來控制LED數(shù)碼管的位(其中P1.0,P1.1,P1.2控制74LS138的三個(gè)輸入端A,B,C實(shí)現(xiàn)3-8譯

63、碼,P1.3控制74LS138的CLR端,用以實(shí)現(xiàn)位的關(guān)和開);P3.5,P3.6,P3.7控制測(cè)頻后的單位顯示(P3.5是MHz,P3.6是KHZ)。主程序主要是用來顯示和測(cè)頻,流程圖如圖3-3所示。</p><p>  圖3-3 單片機(jī)主程序流程圖</p><p><b>  第四章 系統(tǒng)測(cè)試</b></p><p>  4.1 測(cè)頻精度

64、分析</p><p>  由第一章所述的測(cè)量原理可知,本系統(tǒng)的測(cè)頻公式為:Fx = ( Fs×Nx ) / Ns</p><p><b>  其誤差分析如下:</b></p><p>  設(shè)所測(cè)頻率值為Fx,其真實(shí)值為Fxe,標(biāo)準(zhǔn)頻率為Fs。在一次測(cè)量中,由于Fx計(jì)數(shù)的起停時(shí)間都是由該信號(hào)的上跳沿觸發(fā)的,在Tpr時(shí)間內(nèi)Fx的計(jì)數(shù)Nx無

65、誤差;此時(shí)內(nèi)的計(jì)數(shù)Ns最多相差一個(gè)脈沖,即|⊿Ns|≤1則:</p><p>  Fx/Nx=Fs/Ns</p><p>  Fxe/Nx=Fs/(Ns+⊿Ns)</p><p><b>  由此推得:</b></p><p>  Fx=(Fs/Ns)×Nx</p><p>  Fxe=

66、[Fs/(Ns+⊿Ns)] ×Nx</p><p>  根據(jù)相對(duì)誤差公式有:</p><p>  ⊿Fxe/Fxe=|Fxe-Fx|/Fxe</p><p><b>  可以得:</b></p><p>  ⊿Fxe/Fxe=|⊿Ns|/Ns</p><p>  ∵|⊿Ns|≤1 ∴|⊿

67、Ns|/Ns≤1/Ns</p><p>  即相對(duì)誤差⊿Fxe/Fxe≤1/Ns</p><p>  又Ns=Tpr×Fs</p><p><b>  由此可知:</b></p><p> ?。?)相對(duì)測(cè)量誤差與頻率無關(guān);</p><p>  (2)增大Tpr或提高Fs,可以增大Ns,減

68、少測(cè)量誤差,提高測(cè)量精度;</p><p> ?。?)本測(cè)頻系統(tǒng)的測(cè)量精度與預(yù)置門寬度和標(biāo)準(zhǔn)頻率有關(guān),與被測(cè)信號(hào)的頻率無關(guān)。</p><p>  在預(yù)置門時(shí)間和常規(guī)測(cè)頻閘門時(shí)間相同而被測(cè)信號(hào)頻率不同的情況下,本測(cè)頻系統(tǒng)所采用的測(cè)量方法的測(cè)量精度不變。為了恒定測(cè)量精度,可采用高頻率穩(wěn)定度和高精度晶體振蕩器作標(biāo)準(zhǔn)頻率發(fā)生器。本系統(tǒng)選用了20MHz的有源晶振,通過倍頻技術(shù)倍頻到100MHz。&l

69、t;/p><p><b>  4.2實(shí)驗(yàn)測(cè)試數(shù)據(jù)</b></p><p>  在系統(tǒng)設(shè)計(jì)好后,利用FPGA在不同的引腳上發(fā)出標(biāo)準(zhǔn)的頻率值進(jìn)行測(cè)量,結(jié)果如表4-1所示。</p><p>  表4-1:FPGA發(fā)出的標(biāo)準(zhǔn)信號(hào)測(cè)量結(jié)果</p><p>  測(cè)試由信號(hào)源發(fā)出的頻率時(shí),測(cè)量值如表4-2所示。測(cè)量條件:方波,幅度為Vpp

70、=10V。</p><p>  表4-2:SP1641B型函數(shù)信號(hào)發(fā)生器發(fā)出的信號(hào)測(cè)量結(jié)果</p><p>  從測(cè)試結(jié)果看,測(cè)量TTL電平的方波時(shí),精度還是很高的。由于放大整形電路沒有實(shí)現(xiàn),所以暫時(shí)無法測(cè)試正弦波。</p><p><b>  第五章 總結(jié)</b></p><p>  該測(cè)頻系統(tǒng)經(jīng)過軟硬件設(shè)計(jì),經(jīng)過實(shí)驗(yàn)

71、仿真分析及驗(yàn)證,各項(xiàng)功能達(dá)到預(yù)定的設(shè)計(jì)指標(biāo)。在開發(fā)過程中,綜合運(yùn)用了QuartusII、Keil、Protel99SE等開發(fā)工具,使用了VHDL及C語言,在論文寫作及作圖時(shí)還用到了Word、Visio、畫圖板等軟件。</p><p>  該系統(tǒng)的特點(diǎn)是克服了傳統(tǒng)的測(cè)頻法或測(cè)周法的不足,能在頻率范圍變化較大時(shí),都有比較高的測(cè)量精度。具有以下突出特點(diǎn):</p><p>  (1)在系統(tǒng)總體設(shè)計(jì)

72、方面,充分利用單片機(jī)和FPGA各自的優(yōu)勢(shì),將測(cè)控的主體分配給FPGA,既可滿足測(cè)頻對(duì)速度方面的要求和多I/O口的要求,同時(shí)利用單片機(jī)具有良好的人機(jī)接口和控制運(yùn)算的功能,可以較簡(jiǎn)單地實(shí)現(xiàn)顯示控制和數(shù)據(jù)處理運(yùn)算。</p><p> ?。?)在測(cè)頻方面,由于采用了等精度測(cè)頻法,使該系統(tǒng)具有以下特點(diǎn):①相對(duì)測(cè)量誤差與被測(cè)頻率的高低無關(guān);②增大Tpr或Fs可以增大Ns,減少測(cè)量誤差,提高測(cè)量精度;③本測(cè)頻系統(tǒng)的測(cè)量精度與預(yù)

73、置門寬度和標(biāo)準(zhǔn)頻率有關(guān),與被測(cè)信號(hào)的頻率無關(guān)。在預(yù)置門時(shí)間和常規(guī)測(cè)頻閘門時(shí)間相同而被測(cè)信號(hào)頻率不同的情況下,本測(cè)頻系統(tǒng)所采用的測(cè)量方法的測(cè)量精度不變。</p><p>  (3)在顯示方面,采用動(dòng)態(tài)顯示,簡(jiǎn)化了驅(qū)動(dòng)電路的設(shè)計(jì)。</p><p>  由于時(shí)間和實(shí)驗(yàn)條件所限,本系統(tǒng)只能測(cè)試方波信號(hào),且信號(hào)的幅度要大于3V,這是因?yàn)樵谟布洗嬖诓蛔?,需要進(jìn)一步的完善和提高。</p>

74、<p><b>  致 謝</b></p><p>  在論文完成之際,我首先向關(guān)心幫助和指導(dǎo)我的指導(dǎo)老師許金星表示衷心的感謝并致以崇高的敬意!</p><p>  在論文工作中,我遇到了很多問題,論文的格式,專業(yè)的知識(shí)部分,一直得到許金星老師的親切關(guān)懷和悉心指導(dǎo),老師淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的工作作風(fēng)一直感染著我,他敏捷專業(yè)的思維給我留下了深刻

75、的印象,我將終生難忘,再一次向許金星老師表示衷心的感謝,感謝他為學(xué)生營(yíng)造的濃郁學(xué)術(shù)氛圍,以及學(xué)習(xí)、生活上的無私幫助! 值此論文完成之際,謹(jǐn)向許金星老師致以最崇高的謝意!</p><p>  光陰似箭,默然回首,在學(xué)校的學(xué)習(xí)生活即將結(jié)束,回顧兩年多來的學(xué)習(xí)經(jīng)歷,面對(duì)現(xiàn)在的收獲,我感到無限欣慰。為此,我向熱心幫助過我的所有老師和同學(xué)表示由衷的感謝!</p><p>  在我即將完成學(xué)業(yè)之際,我

76、深深地感謝我的家人給予我的全力支持!</p><p>  最后,衷心地感謝在百忙之中評(píng)閱論文和參加答辯的各位專家、教授!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]潘松,黃繼業(yè). EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2005年.</p><p>  [2]朱正偉. EDA技術(shù)及

77、其應(yīng)用[M].北京:清華大學(xué)出版社,2005年.</p><p>  [3]延明,張亦華. 數(shù)字電路EDA技術(shù)入門[M].北京:北京郵電大學(xué)出版社,2006年.</p><p>  [4]譚會(huì)生,張昌凡. EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004年.</p><p>  [5]康華光,陳大欽. 電子技術(shù)基礎(chǔ)數(shù)字部分(第4版)[M].北京:高等教

78、育出版社,1999年.</p><p>  [6]王道憲. CPLD/FPGA可編程邏輯器件編程與開發(fā)[M].北京:國防工業(yè)出版社,2004年.</p><p>  [7]王振紅. VHDL數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程[M].北京:機(jī)械工業(yè)出版社,2003年.</p><p>  [8] 趙鑫,蔣亮,齊兆群. VHDL與數(shù)字電路設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社, 20

79、05年.</p><p>  [9]黃仁欣.EDA技術(shù)使用教程[M].北京:清華大學(xué)出版社,2006年.</p><p>  [10]褚振勇,齊亮,田紅心,高楷娟.FPGA設(shè)計(jì)及應(yīng)用(第二版)[M].西安:西安電子科技大學(xué)出版社,2006年</p><p>  [11]豈興明,唐杰,趙沛等.51單片機(jī)編程基礎(chǔ)與開發(fā)實(shí)例詳解[M].北京:人民郵電出版社,2008年.&

80、lt;/p><p>  [12]劉夫江.基于單片機(jī)和CPLD的等精度數(shù)字頻率計(jì)設(shè)計(jì)[D] :[碩士學(xué)位論文].山東:山東大學(xué),2007年 </p><p>  [13]李芳.基于VHDL的多功能數(shù)字頻率及的設(shè)計(jì)[D] :[碩士學(xué)位論文].北京:北方工業(yè)大學(xué),2009年 </p><p>  [14]包本剛.基于FPGA的全同步數(shù)字頻率計(jì)的設(shè)計(jì)[D] :[碩士學(xué)位論文].

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論