版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本文主要論述了利用FPGA(Field Programmable Gate Array,現場可編程門陣列)進行測頻計數,單片機實施控制實現頻率計的設計過程。該頻率計利用等精度的設計方法,克服了基于傳統測頻原理的頻率計的測量精度隨被測信號頻率的下降而降低的缺點。等精度的測量方法不但具有較高的測量精度,而且在整個頻率區(qū)域保持恒定
2、的測試精度。</p><p> 設計中用一塊FPGA芯片(型號為CycloneⅡ的EP2C5T144C8N)完成各種時序邏輯控制、計數功能。在QuartusⅡ平臺上,用VHDL語言編程完成了FPGA的軟件設計、編譯、調試、仿真和下載。用STC89C52RC單片機作為系統的主控部件,實現整個電路的測試信號控制,數據運算處理和控制數碼管的顯示輸出。系統將單片機的控制靈活性及FPGA芯片的現場可編程性相結合,不但大大
3、縮短了開發(fā)研制周期,而且使本系統具有結構緊湊、體積小,可靠性高,測頻范圍寬、精度高等優(yōu)點。</p><p> 文章詳細論述了系統自上而下的設計方法及各部分硬件電路組成及單片機、FPGA的軟件編程設計。使用杭州康芯KX-7C5T型EDA實驗開發(fā)與電子設計學習板為主的實驗環(huán)境下,配合單片機最小系統對軟硬件進行仿真和驗證,達到了較高的測量精度和測量速度。</p><p> 關鍵詞:FPGA,
4、VHDL,頻率計,單片機,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 測量原理1</p><p> 1.3 系統設計指標3</p><p> 第二章 硬件電路設計5</p><p> 2.1 系統頂層電路設計5</p><p> 2.2 FPGA測頻模塊邏輯設計5</p><p> 2.3 單片機主控模塊6</p><
6、p> 2.4 外圍電路設計8</p><p> 第三章 軟件設計11</p><p> 3.1 Quartus II概述11</p><p> 3.2 VHDL語言簡介12</p><p> 3.3 頻率計FPGA模塊的頂層設計12</p><p> 3.4 頻率計FPGA模塊的仿真14&
7、lt;/p><p> 3.5 單片機的C語言編程15</p><p> 第四章 系統測試17</p><p> 4.1 測頻精度分析17</p><p> 4.2實驗測試數據18</p><p><b> 第五章 總結19</b></p><p><
8、b> 致 謝21</b></p><p><b> 參考文獻23</b></p><p><b> 第一章 概 論</b></p><p> 1.1課題研究的目的和意義</p><p> 測頻一直以來都是電子和通訊系統工作的重要手段之一。高精度的測頻儀有著廣泛的市場
9、前景。以往的測頻儀都是在低頻段利用測周期的方法、高頻段用測頻率的方法,其精度往往會隨著被測頻率的下降而下降。</p><p> 基于傳統測頻原理的頻率計的測量精度將隨被測信號頻率的下降而降低,在實用中有較大的局限性,而等精度頻率計不但具有較高的測量精度,而且在整個測頻區(qū)域內保持恒定的測試精度。所以等精度頻率計有研究的價值。</p><p><b> 1.2 測量原理</
10、b></p><p> 等精度測頻法:其實現方法可用主控結構圖1-1和波形圖1-2來說明。</p><p> 圖1-1 等精度頻率計主控結構圖</p><p> 圖1-2 頻率計測控時序</p><p> 圖1-1中的“預置門信號”CL由單片機發(fā)出,CL的時間寬度對測頻精度幾乎沒有影響,在此設其寬度為Tpr。BZH和TF模塊是兩
11、個可控的32位高速計數器,EN為它們的技術允許信號端,高電平有效。</p><p> 標準頻率信號從BZH的時鐘輸入端BCLK輸入,設其頻率為Fs;經放大整形后的被測信號從與BZH相似的32位計數器TF的時鐘輸入端TCLK輸入,設其真實頻率值為Fxe,被測頻率為Fx。測頻原理說明如下:</p><p> 測頻開始前,首先發(fā)出一個清零信號CLR,使兩個計數器和D觸發(fā)器清零,同時通過信號E
12、N,禁止兩個計數器計數。這是一個初始化操作。如果系統啟動不能正常清零,可以由外部的按鍵強制清零。</p><p> 然后由單片機發(fā)出允許測頻信號,即令預置門控信號CL為高電平(把圖1-1和圖1-2結合起來看),這時D觸發(fā)器要一直等到被測信號的上升沿通過時Q端才被置1(即令START為高電平),與此同時,將同時啟動計數器BZH和TF,進入圖1-2所示的“計數允許周期”。在此期間,BZH和TF分別對被測信號(頻率為
13、Fx)和標準頻率信號(Fs=100MHz)同時計數。當Tpr秒后,預置門信號被單片機置為低電平,但此時兩個計數器仍沒有停止計數,一直等到隨后而至的被測信號的上升沿到來時,才通過D觸發(fā)器將這兩個計數器同時關閉。由圖1-2可見,CL的寬度和發(fā)生的時間都不會影響這樣一個事實,計數使能信號(START)允許計數的周期總是恰好等于待測信號TCLK的完整周期數,這正是確保TCLK在任何頻率條件下都能保持恒定精度的關鍵。而且,CL寬度的改變以及隨機的
14、出現時間造成的誤差最多只有BCLK信號的一個時鐘周期,但是BCLK是倍頻后的100MHz信號,則任何時刻的絕對測量誤差只有億分之一秒。</p><p> 被測頻率值為Fx,標準頻率為Fs,設在一次預置門時間Tpr中對被測信號計數值為Nx,對標準信號的計數值為Ns,則下式成立:</p><p> Nx / Fx = Ns / Fs……………………①</p><p>
15、;<b> 由此式可推得:</b></p><p> Fx = ( Fs×Nx ) / Ns…………………②</p><p> 最后通過控制SEL選擇信號和64位至8位的多路選擇器MUX64-8,將計數器BHZ和TF中兩個32位數據分8次讀入單片機并按式②進行計算和結果顯示。</p><p> 1.3 系統設計指標</p
16、><p> 設計并制作出一種數字頻率計,其技術指標如下: </p><p> ?。?)頻率測量范圍: 0.1Hz—128MHz; </p><p> ?。?)輸入電壓幅度: >300mV; </p><p> (3)輸入信號波形:任意周期方波信號;</p><p> (4)顯示位數: 8位LED數碼管顯示;&l
17、t;/p><p> (5)電源: 220V、50Hz。</p><p> 第二章 硬件電路設計</p><p> 2.1 系統頂層電路設計</p><p> 等精度數字頻率計涉及到的計算包括加、減、乘、除,耗用的資源比較大,用一般中小規(guī)模的FPGA芯片難以實現。因此,我們選擇單片機和FPGA的結合來實現。電路系統原理圖如圖2-1所示,其中
18、單片機完成整個測量電路的測試控制、數據處理和顯示輸出;FPGA完成測頻功能。顯示電路采用7段LED動態(tài)顯示,由單片機P2口直接驅動。</p><p> 圖2-1 系統原理圖</p><p> 等精度頻率計主要由由以下幾個部分構成:</p><p> ?、傩盘柗糯笳坞娐罚河糜趯Υ郎y信號進行放大整形,以便作為FPGA的輸入信號。</p><p&
19、gt; ?、跍y頻電路:是測頻的核心模塊,由FPGA擔任。</p><p> ?、蹎纹瑱C模塊:用于控制FPGA的測頻操作和讀取測頻數據,并發(fā)出相應數據處理。安排單片機的P0口直接讀取測試數據??刂泼顝腜1口或是P3的相關口線發(fā)出。</p><p> ④20MHz的標準頻率信號源:本模塊采用倍頻技術,倍頻出一個100MHz標準頻率信號源,產生100MHz的標準頻率給FPGA使用。</
20、p><p> ?、輸荡a管顯示模塊:采用8個7段LED動態(tài)顯示,使用P2口作為段信息的輸出,使用P1口的低四位控制串行移位寄存器的三個輸入及CLK端,實現LED的動態(tài)掃描。</p><p> 2.2 FPGA測頻模塊邏輯設計</p><p> 根據圖1-1和圖1-2以及測頻原理說明,可以比較容易地寫出相應的VHDL功能描述。圖2-2為VHDL描述的RTL電路圖(圖中s
21、pul為外部清零信號,由按鍵輸入)。</p><p> 與單片機的接口按照如下方式連接:</p><p> 單片機的P0口接8位數據DATA[7..0],負責讀取測頻數據;</p><p> START信號輸出到單片機的P3.2口線,通過中斷的方式來判斷計數是否結束,以確定何時可以讀取數據;</p><p> P1.6,P1.5和P1
22、.4與SEL[2..0]相接,用于控制多路數據選擇器,當SEL分別為“000”、“001”、“010”、“011”時,由低8位到高8位讀出標準頻率計數值;當SEL分別為“100”、“101”、“110”、“111”時,由低8位到高8位讀出待測頻率計數值。</p><p> 圖2-2等精度頻率計FPGA部分的RTL電路圖</p><p> P3.3接清零信號CLR,高電平有效。每一個測頻
23、周期開始,都應該首先清零。</p><p> P1.7接預置門控信號CL,CL是由定時器T0產生的一個周期為2S的方波信號,即每隔1S鐘左右測試一次頻率,頻率低于1Hz后,測頻的間隔會大于1S鐘,特別是待測頻率為0.1Hz時,每隔10S鐘測試一次。</p><p> 2.3 單片機主控模塊</p><p> STC89C52RC單片機是宏晶科技推出的新一代超強
24、抗干擾/高速/低功耗的單片機,指令代碼完全兼容傳統的8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇。其封裝有LQFP44,PDIP40,PLCC44及PQFQ44,本設計中所使用的是PDIP40封裝,圖形如圖2-3所示。</p><p> 圖2-3 STC89C52RC單片機PDIP40封裝圖</p><p> STC89C52RC單片機特點如下:</p>
25、<p> ?、?、增強型6時鐘/機器周期、12時鐘/機器周期任意設置。</p><p> ⑵、工作電壓:5.5~3.4V(5V單片機)/2.0~3.8V(3V單片機)。</p><p> ?、恰⒐ぷ黝l率:0~40MHz,相當于普通8051單片機;實際使用范圍為0~80MHz。</p><p> ?、?、8KB片內Flash程序存儲器,擦寫次數10萬次以上
26、。</p><p> ?、?、片上集成512B RAM數據存儲器。</p><p> ?、省⑼ㄓ肐/O口(32/36個),復位后為: P1、P2、 P3、P4是弱上拉/準雙向口(與普通MCS-51 I/O口功能一樣);P0口是開漏輸出口,作為總線擴展時用,不用加上拉電阻;P0口作為I/O口用時,需加上拉電阻。</p><p> ?、恕SP在系統可編程,無需專用編程器
27、/仿真器,可通過串口(P30/ P31)直接下載用戶程序,8KB程序3s即可完成一片。</p><p> ?、獭⑿酒瑑戎肊EPROM功能。</p><p> ⑼、硬件看門狗(WDT)。</p><p> ?、?、共3個16位定時器/計數器,兼容普通MCS-51單片機的定時器,其中定時器T0還可以當成2個8位定時器使用。 </p><p>
28、⑾、外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,掉電模式可由外部中斷喚醒。</p><p> ?、?、全雙工異步串行口(UART),兼容普通8051單片機的串口。</p><p> ?、?、工作溫度范圍:0℃~75℃/-40℃~+85℃。</p><p> 除此之外,STC89C52RC單片機自身還有很多獨特的優(yōu)點:</p><p> ?、拧⒓用?/p>
29、性強, 無法解密。</p><p> ?、?、超強抗干擾。主要表現在:高抗靜電(ESD保護),可以輕松抗御2KV/4KV快速脈沖干擾(EFT測試),寬電壓、不怕電源抖動,寬溫度范圍為-40℃~+85℃,I/O口經過特殊處理,單片機內部的電源供電系統、時鐘電路、復位電路及看門狗電路經過特殊處理。</p><p> ?、恰⑷蠼档蛦纹瑱C時鐘對外部電磁輻射的措施:禁止ALE 輸出;如選6 時鐘/
30、機器周期,外部時鐘頻率可降一半;單片機時鐘振蕩器增益可設為1/2gain;</p><p> ⑷、超低功耗:掉電模式,典型電流損耗<0.1μA;空閑模式,典型電流損耗為2mA;正常工作模式,典型電流損耗4mA~7mA。</p><p> 2.4 外圍電路設計</p><p><b> 1、電源模塊</b></p>&l
31、t;p> 整個電路的供電電源如圖2-4所示,220V交流經變壓、整流、濾波后,由一片78L05三端穩(wěn)壓器向系統提供+5V電壓信號。</p><p><b> 圖2-4 電源模塊</b></p><p> 2、LED數碼管顯示電路</p><p> 本設計中采用LED數碼管動態(tài)顯示。8位數碼管采用兩個4位一體的共陽型數碼管組成;段信
32、息使用單片機的P2控制;為了節(jié)約口線,在位的控制上,采用了一片74LS138芯片,把A,B,C三個腳分別用P1.0、P1.1及P1.2控制,此外把6號腳接單片機P1.3腳,用來控制數碼管的亮滅。電路圖如圖2-5所示。</p><p> 圖2-5 LED數碼管顯示電路</p><p><b> 3、其他電路</b></p><p> 單片機
33、的時鐘電路由12MHz的晶振提供。FPGA的標準頻率信號由20MHz的有源晶振提供。被測信號經過放大整形電路調理后輸入。</p><p><b> 第三章 軟件設計</b></p><p> 3.1 Quartus II概述</p><p> Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可
34、編程邏輯器件供應商之一。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX十plus II的更新換代產品,其界面友好,使用便捷。在Quartus II上可以完成FPGA開發(fā)的整個流程,它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。</p><p> Altera的Quartus II提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的
35、需要,也是單芯片可編程系統(SOPC)設計的綜合性環(huán)境和SOPC開發(fā)的基本設計工具,并為Altera DSP開發(fā)包進行系統模型設計提供了集成綜合環(huán)境。Quartus II設計工具完全支持VHDL, Verilog的設計流程,其內部嵌有VHDL, Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum, Synplify Pro,FPGA Compiler II,并能直接調用這些工具
36、。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSP Builder結合,可以進行基于FPGA的DSP系統開發(fā),是DSP硬件系統實現的關鍵EDA工具。</p><p> Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis&Synthesis)、適配器(Fitter)、裝配器(As
37、sembler)、時序分析器(Timing Analyzer)、設計輔助模塊(Design Assistant)、EDA網表文件生成器(EDA Netlist Writer)和編輯數據接口(Compiler Database Interface)等??梢酝ㄟ^選擇Start Compilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇Compiler Tool (Tools菜單),在Compil
38、erTool窗口中運行該模塊來啟動編譯器模塊。在Compiler Tool窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。</p><p> 此外,Quartos II還包含許多十分有用的LPM (Library of Parameterized Modules)模塊,它們是復雜或高級系統構建的重要組成部分,在SOPC設計中被大量使用,也可在Quartos II普通設計文件一起使用。Altera
39、提供的LPM函數均基于Altera器件的結構做了優(yōu)化設計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅動器、PLL以及SERDES和DDIO電路模塊等。</p><p> Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL' 87及VHDL' 97標準)、Verilog HDL及AHDL (Alte
40、ra HDL),AHDL是Altera公司自己設計、制定的硬件描述語言,是一種以結構描述方式為主的硬件描述語言,只有企業(yè)標準。</p><p> Quartus II允許來自第三方的EDIF文件輸入,并提供了很多EDA軟件的接口,Quartus II支持層次化設計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設計方式完成的模塊(元件)進行調用,從而解決了原理圖與HDL混合輸入設計的問題。在設計輸入之后,Quart
41、us II的編譯器將給出設計輸入的錯誤報告。Quartus II擁有性能良好的設計錯誤定位器,用于確定文本或圖形設計中的錯誤。對于使用HDL的設計,可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖。在進行編譯后,可對設計進行時序仿真。在作仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗證時的激勵。編譯和仿真經檢測無誤后,便可以將下載信息通過QuartusII提供的編程器下載入目標器件中了。</p
42、><p> 3.2 VHDL語言簡介</p><p> 20處紀80年代后期,美國國防部開發(fā)的VHDL語言(VHS工C硬件描寫語言,VHSIC是非常高度迅速綜合的電路的縮寫)是工EEE標準化的硬件描述語言,并且已經成為系統描述的國際公認標準,得到眾多EDA公司的支持。</p><p> VHDL語言覆蓋面廣,描述能力強,能支持硬件的設計子驗證、綜合和測試,是一種多
43、層次的硬件描述語言。其設計描述可以是描述電路具體組成的結構描述,也可以是描述電路功能的行為描述。這些描述可以從最抽象的系統級直到最精確的邏輯級,甚至門級。</p><p> 運用VHDL語言設計系統一般采用自頂向下分層設計的方法,首先從系統級功能設計開始,對系統高層模塊進行行為描述和功能仿真。系統的功能驗證完成后,將抽象的高層設計自頂向下逐級細化,直到與所用可編程邏輯器件相對應的邏輯描述。</p>
44、<p> 3.3 頻率計FPGA模塊的頂層設計</p><p> 在本測頻系統中,對標準頻率信號和被測信號進行測試功能的工作由FPGA來完成。其硬件電路的實現在前面已述,其軟件部分由VHDL語言實現。下面將給出由VHDL語言實現的頂層模塊程序。</p><p> 頻率計測試模塊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; --標準頻率時鐘信號</p><p> TCLK
46、:IN STD_LOGIC; --待測頻率時鐘信號</p><p> CLR :IN STD_LOGIC; --清零和初始化信號</p><p> CL :IN STD_LOGIC; --預置門信號</p><p> SPUL:IN STD_LOGIC; --清零,由按鍵產生信號</p><p> START:OUT STD
47、_LOGIC; --起始計數標識信號</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; --計數使能、脈寬計數使能</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、率計測試模塊</p><p> 3.4 頻率計FPGA模塊的仿真</p><p> 對頻率計測試模塊編譯,仿真結果如圖3-2所示。</p><p> 圖3-2 頻率計測試仿真波形</p><p> 從圖3-2可以看出,CLR一個正脈沖后,系統被初始化。然后CL被置為高電平,但這時兩個計數器并未開始計數(start=‘0’),直到此后被
60、測信號TCLK出現一個上升沿,START=‘1’時2個計數器同時啟動分別對被測信號和標準信號開始計數,其中BZQ和TSQ分別為標準頻率計數器和被測頻率計數器的計數值。由圖可見,在CL變?yōu)榈碗娖胶?,計數器仍未停止,直到TCLK出現一個上升沿為止,這時START=‘0’,可作為單片機了解計數器結束的標識信號。仿真波形中TCLK和BCLK的周期分別設置為10us和500ns。由圖可見,計數結果是,對TCLK的計數值是3,對BCLK的計數值為6
61、0。通過控制SEL就能按照8個8位將計數器中的32位數讀入單片機中進行計算。</p><p> 由公式Fx = ( Fs×Nx ) / Ns=2MHz×3/60=0.1MHz,也就是周期為10us,可以驗證圖1-1描述的等精度測頻的功能完全正確。</p><p> 3.5 單片機的C語言編程</p><p> 單片機在該系統中,主要是完成整
62、個測量電路的測試控制、數據處理和顯示輸出。系統啟動后,如不能正常測試,可以由按鍵強制性清零。主程序不斷的掃描顯示程序,并掃描計數結束標識START是否為零,一旦為零,立即把FPGA的兩個計數器技術結果取出、計算,把計算的結果送去顯示。在資源的分配上,除了用于控制FGPA的外,P2口用來進行LED數碼管段信息的處理;P1口的低四位用來控制LED數碼管的位(其中P1.0,P1.1,P1.2控制74LS138的三個輸入端A,B,C實現3-8譯
63、碼,P1.3控制74LS138的CLR端,用以實現位的關和開);P3.5,P3.6,P3.7控制測頻后的單位顯示(P3.5是MHz,P3.6是KHZ)。主程序主要是用來顯示和測頻,流程圖如圖3-3所示。</p><p> 圖3-3 單片機主程序流程圖</p><p><b> 第四章 系統測試</b></p><p> 4.1 測頻精度
64、分析</p><p> 由第一章所述的測量原理可知,本系統的測頻公式為:Fx = ( Fs×Nx ) / Ns</p><p><b> 其誤差分析如下:</b></p><p> 設所測頻率值為Fx,其真實值為Fxe,標準頻率為Fs。在一次測量中,由于Fx計數的起停時間都是由該信號的上跳沿觸發(fā)的,在Tpr時間內Fx的計數Nx無
65、誤差;此時內的計數Ns最多相差一個脈沖,即|⊿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> 根據相對誤差公式有:</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> 即相對誤差⊿Fxe/Fxe≤1/Ns</p><p> 又Ns=Tpr×Fs</p><p><b> 由此可知:</b></p><p> ?。?)相對測量誤差與頻率無關;</p><p> ?。?)增大Tpr或提高Fs,可以增大Ns,減
68、少測量誤差,提高測量精度;</p><p> (3)本測頻系統的測量精度與預置門寬度和標準頻率有關,與被測信號的頻率無關。</p><p> 在預置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,本測頻系統所采用的測量方法的測量精度不變。為了恒定測量精度,可采用高頻率穩(wěn)定度和高精度晶體振蕩器作標準頻率發(fā)生器。本系統選用了20MHz的有源晶振,通過倍頻技術倍頻到100MHz。&l
69、t;/p><p><b> 4.2實驗測試數據</b></p><p> 在系統設計好后,利用FPGA在不同的引腳上發(fā)出標準的頻率值進行測量,結果如表4-1所示。</p><p> 表4-1:FPGA發(fā)出的標準信號測量結果</p><p> 測試由信號源發(fā)出的頻率時,測量值如表4-2所示。測量條件:方波,幅度為Vpp
70、=10V。</p><p> 表4-2:SP1641B型函數信號發(fā)生器發(fā)出的信號測量結果</p><p> 從測試結果看,測量TTL電平的方波時,精度還是很高的。由于放大整形電路沒有實現,所以暫時無法測試正弦波。</p><p><b> 第五章 總結</b></p><p> 該測頻系統經過軟硬件設計,經過實驗
71、仿真分析及驗證,各項功能達到預定的設計指標。在開發(fā)過程中,綜合運用了QuartusII、Keil、Protel99SE等開發(fā)工具,使用了VHDL及C語言,在論文寫作及作圖時還用到了Word、Visio、畫圖板等軟件。</p><p> 該系統的特點是克服了傳統的測頻法或測周法的不足,能在頻率范圍變化較大時,都有比較高的測量精度。具有以下突出特點:</p><p> ?。?)在系統總體設計
72、方面,充分利用單片機和FPGA各自的優(yōu)勢,將測控的主體分配給FPGA,既可滿足測頻對速度方面的要求和多I/O口的要求,同時利用單片機具有良好的人機接口和控制運算的功能,可以較簡單地實現顯示控制和數據處理運算。</p><p> ?。?)在測頻方面,由于采用了等精度測頻法,使該系統具有以下特點:①相對測量誤差與被測頻率的高低無關;②增大Tpr或Fs可以增大Ns,減少測量誤差,提高測量精度;③本測頻系統的測量精度與預
73、置門寬度和標準頻率有關,與被測信號的頻率無關。在預置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,本測頻系統所采用的測量方法的測量精度不變。</p><p> (3)在顯示方面,采用動態(tài)顯示,簡化了驅動電路的設計。</p><p> 由于時間和實驗條件所限,本系統只能測試方波信號,且信號的幅度要大于3V,這是因為在硬件上存在不足,需要進一步的完善和提高。</p>
74、<p><b> 致 謝</b></p><p> 在論文完成之際,我首先向關心幫助和指導我的指導老師許金星表示衷心的感謝并致以崇高的敬意!</p><p> 在論文工作中,我遇到了很多問題,論文的格式,專業(yè)的知識部分,一直得到許金星老師的親切關懷和悉心指導,老師淵博的學識、嚴謹的治學態(tài)度、求實的工作作風一直感染著我,他敏捷專業(yè)的思維給我留下了深刻
75、的印象,我將終生難忘,再一次向許金星老師表示衷心的感謝,感謝他為學生營造的濃郁學術氛圍,以及學習、生活上的無私幫助! 值此論文完成之際,謹向許金星老師致以最崇高的謝意!</p><p> 光陰似箭,默然回首,在學校的學習生活即將結束,回顧兩年多來的學習經歷,面對現在的收獲,我感到無限欣慰。為此,我向熱心幫助過我的所有老師和同學表示由衷的感謝!</p><p> 在我即將完成學業(yè)之際,我
76、深深地感謝我的家人給予我的全力支持!</p><p> 最后,衷心地感謝在百忙之中評閱論文和參加答辯的各位專家、教授!</p><p><b> 參考文獻</b></p><p> [1]潘松,黃繼業(yè). EDA技術與VHDL[M].北京:清華大學出版社,2005年.</p><p> [2]朱正偉. EDA技術及
77、其應用[M].北京:清華大學出版社,2005年.</p><p> [3]延明,張亦華. 數字電路EDA技術入門[M].北京:北京郵電大學出版社,2006年.</p><p> [4]譚會生,張昌凡. EDA技術及應用[M].西安:西安電子科技大學出版社,2004年.</p><p> [5]康華光,陳大欽. 電子技術基礎數字部分(第4版)[M].北京:高等教
78、育出版社,1999年.</p><p> [6]王道憲. CPLD/FPGA可編程邏輯器件編程與開發(fā)[M].北京:國防工業(yè)出版社,2004年.</p><p> [7]王振紅. VHDL數字電路設計與應用實踐教程[M].北京:機械工業(yè)出版社,2003年.</p><p> [8] 趙鑫,蔣亮,齊兆群. VHDL與數字電路設計[M].北京:機械工業(yè)出版社, 20
79、05年.</p><p> [9]黃仁欣.EDA技術使用教程[M].北京:清華大學出版社,2006年.</p><p> [10]褚振勇,齊亮,田紅心,高楷娟.FPGA設計及應用(第二版)[M].西安:西安電子科技大學出版社,2006年</p><p> [11]豈興明,唐杰,趙沛等.51單片機編程基礎與開發(fā)實例詳解[M].北京:人民郵電出版社,2008年.&
80、lt;/p><p> [12]劉夫江.基于單片機和CPLD的等精度數字頻率計設計[D] :[碩士學位論文].山東:山東大學,2007年 </p><p> [13]李芳.基于VHDL的多功能數字頻率及的設計[D] :[碩士學位論文].北京:北方工業(yè)大學,2009年 </p><p> [14]包本剛.基于FPGA的全同步數字頻率計的設計[D] :[碩士學位論文].
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機與cpld的等精度頻率計的設計
- 基于單片機與fpga的等精度頻率計的設計與研究
- 基于單片機的頻率計設計
- 基于-單片機頻率計的設計
- 基于單片機的頻率計設計設計
- 基于單片機和CPLD的等精度數字頻率計設計.pdf
- 基于fpga等精度頻率計設計
- 等精度頻率計
- 單片機課程設計報告--- 基于單片機的頻率計設計
- 課程設計--基于單片機的頻率計
- 基于fpga的等精度頻率計設計
- 基于fpga的等精度頻率計設計
- atc單片機簡易頻率計設計
- 單片機頻率計課程設計
- 基于單片機的頻率計設計畢業(yè)設計
- 畢業(yè)設計----基于單片機的頻率計設計
- 單片機頻率計課程設計
- 基于單片機的頻率計的設計與制作
- 基于單片機的頻率計外文翻譯--快速數字頻率計
- 基于fpga的等精度頻率計的設計
評論
0/150
提交評論