畢業(yè)設(shè)計(jì)---基于fpga的數(shù)據(jù)采集和回放_(tái)第1頁
已閱讀1頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  分析數(shù)字調(diào)幅系統(tǒng)優(yōu)越的技術(shù)特性,制定以現(xiàn)場(chǎng)可編程門陣列為核心的數(shù)字調(diào)幅系統(tǒng)設(shè)計(jì)方案,實(shí)現(xiàn)過程中應(yīng)用VHDL 硬件描述語言對(duì)不同的功能模塊進(jìn)行定義和編程,仿真驗(yàn)證了系統(tǒng)模塊的功能。仿真正確后,選取滿足要求的可編程器件進(jìn)行綜合工作。根據(jù)測(cè)試結(jié)果分析,數(shù)據(jù)滿足設(shè)計(jì)要求,實(shí)現(xiàn)了系統(tǒng)的功能。</p><p>  

2、文中首先分析了調(diào)幅信號(hào)發(fā)生器的數(shù)學(xué)表達(dá)式,然后根據(jù)其數(shù)學(xué)表達(dá)式,在matlab/simulink 下建立相應(yīng)的數(shù)學(xué)模型,然后利用DSP Builder 模塊庫中的SignalCompiler 工具將此模型轉(zhuǎn)換為VHDL 語言, 最后在QuartusII 中對(duì)其進(jìn)行編譯直至下載到FPGA 中,實(shí)現(xiàn)相應(yīng)的電路。這種設(shè)計(jì)方法可以快速進(jìn)行數(shù)字信號(hào)處理器的設(shè)計(jì),而且又便于修改和擴(kuò)充其功能,整個(gè)設(shè)計(jì)思路靈活,圖形界面簡單直觀,開發(fā)周期短。</

3、p><p>  關(guān)鍵詞:數(shù)學(xué)模型 調(diào)幅信號(hào) 調(diào)制度 現(xiàn)場(chǎng)可編程門電路 </p><p><b>  Abstract</b></p><p>  The realization method based on Programmable Gate Array ( FPGA) is int roduced ,and it s superior t

4、echnical characteristics are analyzed. According to it s characteristic , the high accuracy Digital Amplitude Modulation System using FPGA and Very High Speed Integrated Circuit Hardware Description Language (V HDL) to f

5、inish all programs of the digital system. The simulation result s indicate and obtain graphs ,comparing with the t raditional methods and systems ,this type of the digital system re</p><p>  The first analys

6、is of the AM signal generator of the mathematical expression, then according to their mathematical expression,in matlab / simulink established under the corresponding data model, and then using DSP Builder module in the

7、SignalCompiler this model into a tool of VHDL And finally in its QuartusII compile until downloaded to the FPGA, and the corresponding circuit.This design approach can quickly carry out the design of digital signal proce

8、ssors, but also facilitate the revision and </p><p>  Key words: mathematical model AM signal degree of modulation field programmable gate circuit</p><p>  目 錄

9、 </p><p><b>  摘要I</b></p><p>  AbstractII</p><p><b>  緒論1</b></p><p>  1 系統(tǒng)的總體結(jié)構(gòu)3</p><p>  1.1 基于FPGA的數(shù)據(jù)采集和回放系統(tǒng)的結(jié)構(gòu)3</p&g

10、t;<p>  1.2 系統(tǒng)組成框圖介紹4</p><p>  2 系統(tǒng)原理與方案選擇5</p><p>  2.1 AD芯片選型及其原理5</p><p>  2.1.1 AD芯片的選型5</p><p>  2.1.2 ADC0809的引腳功能5</p><p>  2.1.3

11、ADC0809應(yīng)用說明及時(shí)序圖6</p><p>  2.2 頻率測(cè)量原理及方案選擇7</p><p>  2.2.1 直接測(cè)頻法原理7</p><p>  2.2.2 等精度測(cè)頻原理8</p><p>  2.2.3 測(cè)頻方法的選擇9</p><p>  2.3 FPGA內(nèi)部運(yùn)算模塊的設(shè)計(jì)原理9

12、</p><p>  2.4 LED數(shù)碼管顯示原理及方案選擇9</p><p>  2.4.1 LED數(shù)碼管的工作原理9</p><p>  2.4.2 FPGA實(shí)現(xiàn)LED數(shù)碼管靜態(tài)顯示控制實(shí)現(xiàn)原理9</p><p>  2.4.3 采用FPGA實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示控制實(shí)現(xiàn)原理10</p><p>

13、  2.4.4 LED數(shù)碼管顯示方案的選擇10</p><p>  3 系統(tǒng)設(shè)計(jì)及主要模塊的實(shí)現(xiàn)11</p><p>  3.1 系統(tǒng)設(shè)計(jì)的頂層實(shí)體原理11</p><p>  3.2 AD控制轉(zhuǎn)換功能模塊的設(shè)計(jì)11</p><p>  3.2.1 AD控制轉(zhuǎn)換模塊的端口說明11</p><p> 

14、 3.2.2 AD控制轉(zhuǎn)換控制模塊的編程思想12</p><p>  3.2.3 該模塊的仿真波形及分析13</p><p>  3.3 頻率計(jì)模塊13</p><p>  3.3.1 檢測(cè)模塊的端口說明及編程實(shí)現(xiàn)13</p><p>  3.3.2 頻率控制模塊端口說明及編程實(shí)現(xiàn)14</p><p&g

15、t;  3.3.3 計(jì)數(shù)模塊端口說明及編程實(shí)現(xiàn)16</p><p>  3.3.4 鎖存模塊端口說明及編程實(shí)現(xiàn)17</p><p>  3.4 分頻模塊18</p><p>  3.4.1 分頻模塊的端口說明及編程實(shí)現(xiàn)19</p><p>  3.5 LED數(shù)碼管顯示20</p><p>  3.5

16、.1 LED數(shù)碼管的端口說明及編程實(shí)現(xiàn)20</p><p>  3.6 LED點(diǎn)陣顯示模塊21</p><p>  3.6.1 該模塊端口說明及編程實(shí)現(xiàn)22</p><p>  4 軟硬件調(diào)試24</p><p>  4.1 軟件使用中遇到的問題24</p><p>  4.2 AD轉(zhuǎn)換工作中遇到

17、的問題24</p><p>  4.3 頻率計(jì)遇到的問題24</p><p>  4.3.1 計(jì)數(shù)模塊24</p><p>  4.3.2 頻率控制模塊25</p><p>  4.3.3 頻率計(jì)25</p><p>  4.4 點(diǎn)陣調(diào)試遇到的問題25</p><p>  

18、4.5 系統(tǒng)調(diào)試現(xiàn)象25</p><p><b>  結(jié)論26</b></p><p><b>  致謝27</b></p><p><b>  參考文獻(xiàn)28</b></p><p><b>  附錄系統(tǒng)程序29</b></p>

19、<p><b>  緒 論</b></p><p>  在進(jìn)入21世紀(jì)以后,伴隨著半導(dǎo)體工藝的發(fā)展,集成電路的規(guī)模、性能和市場(chǎng)都有著突飛猛進(jìn)的發(fā)展,越來越多的大規(guī)模集成電路被應(yīng)用都計(jì)算機(jī)、通信、電子等領(lǐng)域。集成電路以其高性能和低成本成為了眾多領(lǐng)域的寵兒。</p><p>  集成電路是信息技術(shù)產(chǎn)業(yè)群的核心和基礎(chǔ)。建立在集成電路技術(shù)進(jìn)步基礎(chǔ)上的全球信息化、網(wǎng)絡(luò)

20、化和知識(shí)經(jīng)濟(jì)浪潮,使集成電路產(chǎn)業(yè)的戰(zhàn)略地位越來越重要,對(duì)國民經(jīng)濟(jì)、國防建設(shè)和人民生活的影響也越來越大。多年來,世界集成電路產(chǎn)業(yè)一直以3-4倍于國民經(jīng)濟(jì)增長速度迅猛發(fā)展,新技術(shù)、新產(chǎn)品不斷涌現(xiàn)。目前,世界集成電路大生產(chǎn)的主流加工工藝技術(shù)水平為8英寸,0.35-0.25微米,正在向0.18微米、0.15微米、12英寸加工工藝過渡。目前,世界最高水平的單片集成電路芯片上所容納的元器件數(shù)量已經(jīng)達(dá)到80多億個(gè)。</p><p&

21、gt;  未來電子產(chǎn)品的發(fā)展趨勢(shì)為功能日漸復(fù)雜,然而體積卻日漸縮小、功率消耗的要求越來越嚴(yán)格,因此系統(tǒng)晶片(SoC)為半導(dǎo)體產(chǎn)業(yè)的重要發(fā)展趨勢(shì),系統(tǒng)晶片以互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)制造為主,將各種功能的元件整合至單一晶片中。除了CMOS制造之外,還有其他種類的制造技術(shù),例如矽鍺(SiGe)、雙極型(Bipolar)、Ⅲ-Ⅴ族如砷化鎵(GaAs)、氮化鎵(GaN)、Ⅱ-Ⅵ族半導(dǎo)體等,大部分用于利基型之應(yīng)用,如無線通訊之射頻晶片、光通

22、訊元件等。</p><p>  FPGA是現(xiàn)場(chǎng)可編程邏輯門陣列,它作為IC設(shè)計(jì)的領(lǐng)域,能靈活的實(shí)現(xiàn)各種功能。由于它的IP核能夠可重復(fù)使用,這已經(jīng)是當(dāng)今IC設(shè)計(jì)的趨勢(shì)。由于FPGA的加入改變了傳統(tǒng)的IC設(shè)計(jì)的產(chǎn)品研究時(shí)間,同是縮短了產(chǎn)品上市時(shí)間,減低了開發(fā)成本。此外,它還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)的系統(tǒng)重構(gòu)特性,極大地提高了電子設(shè)計(jì)系統(tǒng)的靈活性和通用行。</p><p>  近年來,數(shù)據(jù)采集與

23、處理的新技術(shù)、新方法,直接或間接地引發(fā)其革新和變化,實(shí)時(shí)監(jiān)控(遠(yuǎn)程監(jiān)控)與仿真技術(shù)(包括傳感器、數(shù)據(jù)采集、微機(jī)芯片數(shù)據(jù)、可編程控制器PLC、現(xiàn)場(chǎng)總線處理、流程控制、曲線與動(dòng)畫顯示、自動(dòng)故障診斷與報(bào)表輸出等)把數(shù)據(jù)采集與處理技術(shù)提高到一個(gè)嶄新的水平。在計(jì)算機(jī)廣泛應(yīng)用的今天,數(shù)據(jù)采集的重要性是十分顯著的。它是計(jì)算機(jī)與外部物理世界連接的橋梁。它在現(xiàn)代信息領(lǐng)域發(fā)揮著重要作用,是信息產(chǎn)品不可或缺的重要組成部分。因此選擇基于FPGA數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

24、是很有意義也是很有必要的。 數(shù)據(jù)采集系統(tǒng)一般由數(shù)據(jù)輸入通道、數(shù)據(jù)存儲(chǔ)與管理、數(shù)據(jù)處理、數(shù)據(jù)輸出及顯示這五個(gè)部分組成。輸入通道要實(shí)現(xiàn)對(duì)被測(cè)對(duì)象的檢測(cè)、采樣和信號(hào)轉(zhuǎn)換等工作。數(shù)據(jù)存儲(chǔ)與管理要用存儲(chǔ)器把采集到的數(shù)據(jù)存儲(chǔ)起來,建立相應(yīng)的數(shù)據(jù)庫,并進(jìn)行管理和調(diào)用。數(shù)據(jù)處理就是從采集到的原始數(shù)據(jù)中,刪除干擾噪聲、無關(guān)信息和不必要的信息,提取出反映被測(cè)對(duì)象特征的重要信息。另外,就是對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以便于檢索;或者把數(shù)據(jù)恢復(fù)成原來的物理量形

25、式,以可輸出的形態(tài)在輸出設(shè)備上輸出,如打印、顯示、繪圖等。數(shù)據(jù)輸出及顯示就是把數(shù)據(jù)以適當(dāng)?shù)男问竭M(jìn)行輸出</p><p>  本課題研究的主要內(nèi)容是基于FPGA的數(shù)據(jù)采集和回放。其功能的實(shí)現(xiàn)是利用A/D轉(zhuǎn)換芯片ADC0809采集外部模擬信號(hào)形成數(shù)據(jù),用FPGA芯片完成數(shù)據(jù)的采集,并利用D/A芯片DAC0832完成模擬信號(hào)的回放,同時(shí)利用顯示模塊完成相關(guān)的顯示。</p><p>  1 系統(tǒng)

26、的總體結(jié)構(gòu)</p><p>  傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用單片機(jī)或DSP作為控制模塊控制ADC,存儲(chǔ)器和其他外圍電路的工作。隨著數(shù)據(jù)采集對(duì)速度性能的要求越來越高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。單片機(jī)的時(shí)鐘頻率較低且用軟件實(shí)現(xiàn)數(shù)據(jù)采集,使得采集速度和效率降低,軟件運(yùn)行時(shí)間在整個(gè)采樣時(shí)間中占很大的比例。而FPGA(現(xiàn)場(chǎng)可編程門陣列)有單片機(jī)無法比擬的優(yōu)勢(shì)。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,全部控制邏輯由硬件完成,速

27、度快、效率高。</p><p>  1.1 基于FPGA的數(shù)據(jù)采集和回放系統(tǒng)的結(jié)構(gòu)[3]</p><p>  該系統(tǒng)的組成原理圖見圖1-1。該系統(tǒng)功能的實(shí)現(xiàn)是由FPGA經(jīng)過一系列的邏輯運(yùn)算和時(shí)鐘運(yùn)算給出控制啟動(dòng)ADC0809工作的信號(hào),然后接收ADC0809的反饋信號(hào),用FPGA芯片完成數(shù)據(jù)的采集,并利用D/A芯片DAC0832完成模擬信號(hào)的回放同時(shí)指揮頻率計(jì)模塊部分經(jīng)過一系列的檢測(cè)采集

28、及計(jì)算,再將結(jié)果傳遞給FPGA,然后將結(jié)果送顯。</p><p>  圖1-1 系統(tǒng)總體方框圖</p><p>  1.2 系統(tǒng)組成框圖介紹</p><p>  本系統(tǒng)主要由四大部分組成AD轉(zhuǎn)換模塊、頻率計(jì)模塊、顯示模塊、分頻模塊。其組成部分的簡要介紹如下:</p><p> ?。?) AD轉(zhuǎn)換部分:利用FPGA生成一個(gè)A/D采樣控制器

29、模塊,產(chǎn)生STRAT(啟動(dòng)信號(hào))、ALE(地址選通)、OE(轉(zhuǎn)換數(shù)據(jù)輸出使能)三個(gè)信號(hào)來控制ADC0809工作狀態(tài)。然后通過ADC0809的反饋信號(hào)將轉(zhuǎn)換出的數(shù)據(jù)采集到FPGA的內(nèi)部RAM中存儲(chǔ)為下一步的處理做準(zhǔn)備。</p><p> ?。?) 頻率計(jì)部分:這個(gè)部分包含了四小模塊,它們分別是鎖存器、檢測(cè)信號(hào)模塊、計(jì)數(shù)模塊。而在形成頻率計(jì)時(shí)主要是要產(chǎn)生clk(時(shí)鐘信號(hào))、teten(計(jì)數(shù)許可信號(hào))、load(鎖存

30、信號(hào))、clr_cnt(計(jì)數(shù)清零信號(hào))這些為測(cè)量信號(hào)的頻率做準(zhǔn)備的信號(hào)。同時(shí)檢測(cè)模塊主要做的就是及時(shí)檢測(cè)出信號(hào)的轉(zhuǎn)換已經(jīng)有一個(gè)周期,發(fā)出一個(gè)脈沖信號(hào)提示計(jì)數(shù)部分測(cè)頻。</p><p>  (3) 顯示部分:該部分主要是接收FPGA傳遞過來的數(shù)據(jù)同時(shí)通過驅(qū)動(dòng)程序及相關(guān)的查表將結(jié)果顯示出來。</p><p>  (4) 分頻部分:該部分主要是給其它三個(gè)部分提供所需的時(shí)鐘信號(hào),進(jìn)</p

31、><p><b>  行后續(xù)處理。</b></p><p>  2 系統(tǒng)原理與方案選擇</p><p>  2.1 AD芯片選型及其原理</p><p>  2.1.1 AD芯片的選型</p><p>  AD芯片按照處理速度可分為低速、中速、高速。市場(chǎng)上的AD芯片也有很多,但是基于本系統(tǒng)的需要

32、及價(jià)格方面的考慮,故選擇ADC0809這款芯片。ADC0809是采樣位數(shù)為8位的、以逐次逼近原理進(jìn)行?!獢?shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。其主要特性有為:[13]</p><p>  (1)8路8位A/D轉(zhuǎn)換器,即分辨率8位。</p><p> ?。?)具有轉(zhuǎn)換起??刂贫恕?(3)單個(gè)+5V電源

33、供電 (4)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 (5)工作溫度范圍為-40~+85攝氏度 (6)低功耗,約15mW。2.1.2 ADC0809的引腳功能</p><p>  ADC0809芯片有28條引腳,下面說明各引腳功能?! N0~I(xiàn)N7:8路模擬量輸入端?! 1~D8:8位數(shù)字量輸出端?! DDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸

34、入中的一路?! LE:地址鎖存允許信號(hào),輸入,高電平有效?! TART:A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效?! OC:A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)?! E:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量?! LK:時(shí)鐘脈沖輸入端?! EF(+)、REF(-):基準(zhǔn)電壓。  Vcc:電源,單一

35、+5V?! ND:地。2.1.3 ADC0809 應(yīng)用說明及時(shí)序圖</p><p>  其時(shí)序圖見圖2-1。其工作原理為:</p><p> ?。?)ADC0809內(nèi)部帶有輸出鎖存器,可以與FPGA直接相連。</p><p> ?。?)初始化時(shí),使ST和OE信號(hào)全為低電平。</p><p> ?。?)送要轉(zhuǎn)換的哪一通道的地址到A,B,

36、C端口上。</p><p> ?。?)在ST 端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。</p><p>  (5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來判斷。</p><p> ?。?)當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出到FPGA。</p><p>  圖2-1 AD0809時(shí)序圖</p><p&g

37、t;  2.2 頻率測(cè)量原理及方案選擇</p><p>  2.2.1 直接測(cè)頻法原理</p><p>  常用的直接測(cè)頻方法主要有測(cè)頻法和測(cè)周期法兩種。測(cè)頻法就是在確定的閥門時(shí)間Tw內(nèi),記錄被測(cè)信號(hào)的變化周期數(shù)(或脈沖個(gè)數(shù))Nx,則被測(cè)信號(hào)的頻率為:Fx=Nx/Tw.測(cè)頻法原理如圖2-2。測(cè)周期法就需要有標(biāo)準(zhǔn)信號(hào)的頻率fs,待測(cè)信號(hào)的一個(gè)周期Tx內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù)Ns,則被測(cè)信

38、號(hào)的頻率為:Fx=Fs/Ns,測(cè)頻法原理如圖2-3。[7 8 9]</p><p>  圖2-2 測(cè)頻法原理</p><p>  圖2-3 測(cè)周期法原理</p><p>  2.2.2 等精度測(cè)頻原理</p><p>  等精度測(cè)頻原理如圖2-4,在測(cè)量過程種,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)計(jì)數(shù)。首先給出閥門開啟信號(hào)(預(yù)置閥門上升

39、沿),此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù),而是等到被側(cè)信號(hào)是上升沿到來時(shí)計(jì)數(shù)器才真正開始計(jì)數(shù)。然后預(yù)置閥門關(guān)閉信號(hào)(下降沿)到時(shí),計(jì)數(shù)器并不立即停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來時(shí)才結(jié)束計(jì)數(shù),完成一次測(cè)量過程??梢钥闯觯瑢?shí)際閥門時(shí)間t與預(yù)置閥門時(shí)間t1并不是嚴(yán)格相等,但差值不超過被測(cè)信號(hào)的一個(gè)周期。等精度測(cè)頻實(shí)現(xiàn)方法的原理圖見圖2-5。設(shè)在一次實(shí)際閥門時(shí)間t中計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns。標(biāo)準(zhǔn)信號(hào)的頻率為fs,則被測(cè)

40、信號(hào)的頻率為:fx=Nxfs/Ns。</p><p>  圖2-4 等精度測(cè)頻原理</p><p>  圖2-5 等精度測(cè)頻實(shí)現(xiàn)方法原理圖</p><p>  2.2.3 測(cè)頻方法的選擇</p><p>  計(jì)數(shù)器測(cè)頻法主要有兩種實(shí)現(xiàn)方法:直接計(jì)數(shù)測(cè)頻法和等精度測(cè)頻法。直接測(cè)頻法只是簡單地記下單位時(shí)間內(nèi)的周期信號(hào)的重復(fù)次數(shù),其計(jì)數(shù)值會(huì)有

41、±1個(gè)計(jì)數(shù)</p><p>  誤差。此方法測(cè)量精確度主要是取決與基準(zhǔn)時(shí)間和計(jì)數(shù)器的計(jì)數(shù)誤差。等精度測(cè)頻方法是在直接測(cè)頻方法的基礎(chǔ)上發(fā)展起來的。他的閥門時(shí)間不是固定的值,而是被測(cè)信號(hào)周期的整數(shù)倍,即與被測(cè)信號(hào)同步,因此,摒除了對(duì)被測(cè)信號(hào)計(jì)數(shù)所產(chǎn)生±1個(gè)計(jì)數(shù)誤差,并且達(dá)到了在整個(gè)測(cè)試頻率的等精度測(cè)量。但是這種測(cè)量方法整體實(shí)現(xiàn)起來太過復(fù)雜,因此沒有選擇。</p><p> 

42、 2.3 FPGA內(nèi)部運(yùn)算模塊的設(shè)計(jì)原理</p><p>  邏輯運(yùn)算模塊主要是時(shí)鐘邏輯運(yùn)算,這是FPGA設(shè)計(jì)里面最復(fù)雜的模塊,所以要考慮到各種情況的出現(xiàn)。系統(tǒng)之所以能夠正常工作全部由邏輯運(yùn)算模塊進(jìn)行運(yùn)算處理,產(chǎn)生相應(yīng)控制和操作。時(shí)鐘主要有采樣周期時(shí)鐘、掃描時(shí)鐘、AD工作時(shí)鐘等。各種邏輯運(yùn)算的控制量由邏輯運(yùn)算產(chǎn)生。原理上要求掃描周期內(nèi)要保證單次掃描的快任務(wù)全部完成,即掃描周期>采樣周期×快任務(wù)數(shù)

43、,只有這樣才有可能插入慢任務(wù)進(jìn)行數(shù)據(jù)采集。[3 4 11]</p><p>  2.4 LED數(shù)碼管顯示原理及方案選擇</p><p>  2.4.1 LED數(shù)碼管的工作原理</p><p>  LED數(shù)碼管用7段發(fā)光二極管來顯示數(shù)字,每一段都是一個(gè)發(fā)光二極管,加上小數(shù)點(diǎn)共有8個(gè)發(fā)光二極管。一般把所有段的相同一端相連,連接到地(共陰極接法)或者是連接到電源(共陽

44、極接法)。共陰極LED數(shù)碼管的公共端連接到地,另一端分別接一個(gè)限流電阻后在接到控制電路的信號(hào)端,當(dāng)信號(hào)端為高電平時(shí),該段即被點(diǎn)亮,否則不亮。共陽極接法相反,公共端連接到電源,另一端分別接一個(gè)限流電阻后再接到控制電路的信號(hào)端,只有信號(hào)端為低電平是才被點(diǎn)亮,否則不亮。</p><p>  2.4.2 FPGA實(shí)現(xiàn)LED數(shù)碼管靜態(tài)顯示控制實(shí)現(xiàn)原理</p><p>  FPGA實(shí)現(xiàn)LED靜態(tài)顯示

45、控制的實(shí)現(xiàn)是運(yùn)用硬件描述語言設(shè)計(jì)一個(gè)顯示譯碼驅(qū)</p><p>  動(dòng)器,即將要顯示的字符譯成7段碼。由于FPGA有相當(dāng)多的引出端資源,如果顯</p><p>  示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將每一個(gè)數(shù)碼管都分別連接到</p><p>  不同的8個(gè)引出端線上,共需要8XN條引出端線控制。[5 10]</p><p>  2.

46、4.3 采用FPGA實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示控制實(shí)現(xiàn)原理</p><p>  LED數(shù)碼管動(dòng)態(tài)顯示的實(shí)現(xiàn)方法是依次點(diǎn)亮各個(gè)數(shù)碼管使其循環(huán)顯示,它利用</p><p>  的視覺暫留特性,可以達(dá)到多個(gè)數(shù)碼管同時(shí)顯示的視覺效果。采用掃描方式來實(shí)現(xiàn)</p><p>  LED數(shù)碼管動(dòng)態(tài)顯示,控制好數(shù)碼管之間的延時(shí)是相當(dāng)重要的。根據(jù)人眼視覺暫留</p>&l

47、t;p>  原理,LED每秒導(dǎo)通16次以上,人眼就無法分辨LED數(shù)碼管短暫的不亮,認(rèn)為是</p><p>  一直點(diǎn)亮狀態(tài)(其實(shí)LED數(shù)碼管是一定的頻率在閃動(dòng)的)。但是,延時(shí)(導(dǎo)通頻率)</p><p>  也不是越小越好,因?yàn)長ED數(shù)碼管達(dá)到一定亮度需要一定時(shí)間。如果延時(shí)控制不好</p><p>  則會(huì)出現(xiàn)閃動(dòng),或者亮度不夠。</p><

48、;p>  2.4.4 LED數(shù)碼管顯示方案的選擇</p><p>  LED數(shù)碼管靜態(tài)顯示的實(shí)現(xiàn)方法簡單,如果采用這種方法占用了太多的硬件資源。LED數(shù)碼管動(dòng)態(tài)顯示占用硬件資源少的優(yōu)點(diǎn),實(shí)現(xiàn)方法相對(duì)要復(fù)雜一些。但是,對(duì)于本次的設(shè)計(jì)來說引出端的硬件資源非常有限,故我采用的是動(dòng)態(tài)顯示的方法。</p><p>  3 系統(tǒng)設(shè)計(jì)及主要模塊的實(shí)現(xiàn)</p><p> 

49、 3.1 系統(tǒng)設(shè)計(jì)的頂層實(shí)體原理</p><p>  該系統(tǒng)的頂層實(shí)體的原理圖見圖3-1。該頂層實(shí)體中由邏輯運(yùn)算模塊計(jì)算出所需要的時(shí)鐘如采樣周期時(shí)鐘、掃描時(shí)鐘、AD工作時(shí)鐘、頻率計(jì)閥門時(shí)鐘。分別將它們傳輸給AD控制轉(zhuǎn)換模塊、LED顯示模塊、頻率計(jì)模塊、LEDALL點(diǎn)陣模塊。使它們能夠正常的完成系統(tǒng)的功能。</p><p>  圖3-1 頂層實(shí)體原理圖</p><p&

50、gt;  3.2 AD控制轉(zhuǎn)換功能模塊的設(shè)計(jì)</p><p>  3.2.1 AD控制轉(zhuǎn)換模塊的端口說明</p><p>  該模塊的方框圖見圖3-2。端口說明如下:</p><p>  DB:輸入端口,它是8bit二進(jìn)制數(shù)據(jù)輸入。它的數(shù)據(jù)來源于ADC0809轉(zhuǎn)換結(jié)束</p><p><b>  輸出的數(shù)據(jù);</b>

51、</p><p>  CLK_AD:輸入端口,它是ADC0809的時(shí)鐘輸入。它的時(shí)鐘信號(hào)輸出是250KHz</p><p><b>  的方波信號(hào)。</b></p><p>  ENABLE:輸出端口,它是ADC0809的輸出使能端口。當(dāng)ENABLE為1ADC0809的八個(gè)輸出管腳輸出轉(zhuǎn)換后的數(shù)據(jù)。</p><p>  

52、START:輸出端口,它是ADC0809的轉(zhuǎn)換啟動(dòng)端口。在ADC0809啟動(dòng)前START</p><p>  信號(hào)必須給出一個(gè)至少有100ns寬的正脈沖信號(hào),才能保證轉(zhuǎn)換的正常啟動(dòng)。

53、 </p><p>  EOC:輸入端口,它是ADC0809轉(zhuǎn)換結(jié)束的標(biāo)志。當(dāng)EOC為高電平時(shí)表示轉(zhuǎn)換結(jié)</p><p><b>  束。</b></p><p>  R:輸入端口,它是ADC0809轉(zhuǎn)換復(fù)位的

54、標(biāo)志。當(dāng)R為高電平時(shí)表示狀態(tài)機(jī)恢復(fù)</p><p><b>  初始狀態(tài)。</b></p><p>  OUTDA:輸出端口,它是8bit二進(jìn)制的數(shù)據(jù)輸出。它的數(shù)據(jù)是ADC0809轉(zhuǎn)換結(jié)束</p><p>  后的數(shù)據(jù)。主要是將這些數(shù)據(jù)寫入到DAC0832芯片中進(jìn)行處理。</p><p>  圖3-2 AD控制模塊方框

55、圖</p><p>  3.2.2 AD控制轉(zhuǎn)換控制模塊的編程思想</p><p>  由于在硬件設(shè)計(jì)上,ALE和START并在一起,通道選擇端固定在選通通道0</p><p>  上,開始轉(zhuǎn)換的同時(shí)鎖存通道0。AD控制器模塊實(shí)現(xiàn)是通過莫爾狀態(tài)機(jī)實(shí)現(xiàn)的。它主要是產(chǎn)生AD轉(zhuǎn)換所需要的時(shí)序。故此狀態(tài)機(jī)有七種狀態(tài)分別是S0、S1、S2、S3、S4、S5、S6。其中S0代

56、表的是轉(zhuǎn)換的初狀態(tài)此時(shí)START=‘0’,ENABLE=‘0’。S1代表的是轉(zhuǎn)換啟動(dòng)狀態(tài)此時(shí)START=‘1’,ENABLE=‘0’。S2代表的是轉(zhuǎn)換期間狀態(tài)此時(shí)START=‘1’,ENABLE=‘0’。S3代表的是轉(zhuǎn)換結(jié)束狀態(tài)此時(shí)START=‘0’,ENABLE=‘0’,EOC=‘1’。S4代表的是數(shù)據(jù)輸出狀態(tài)此時(shí)START=‘0’,ENABLE=‘1’,EOC=‘1’。S5代表的是讀入數(shù)據(jù)狀態(tài)此時(shí)START=‘0’,ENABLE=‘

57、1’。S6代表的是返回AD轉(zhuǎn)換的初始狀態(tài)。每當(dāng)有時(shí)鐘上升沿的到來時(shí),狀態(tài)機(jī)根據(jù)各個(gè)狀態(tài)條件來決定下一個(gè)狀態(tài)及相關(guān)的端口輸出。[3 4 7 8 9 14 15]</p><p>  3.2.3 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-3。由該仿真波形可以得出本模塊的編寫沒有問題。因?yàn)?lt;/p><p>  它輸出信號(hào)ENABLE、START、

58、EOC波形與AD工作時(shí)序圖(見圖2-2)一致 。 </p><p>  圖3-3 AD控制部分仿真波形</p><p>  3.3 頻率計(jì)模塊</p><p>  頻率計(jì)模塊是這個(gè)系統(tǒng)設(shè)計(jì)的最復(fù)雜的一個(gè)部分,它包含了四個(gè)小模塊分別是</p><p>  檢測(cè)模塊、頻率控制模塊、計(jì)數(shù)模塊、鎖存模塊。其中檢測(cè)模塊是檢測(cè)AD轉(zhuǎn)換數(shù)

59、據(jù)中的8bit二進(jìn)制數(shù)據(jù),一旦檢測(cè)到設(shè)定的特殊碼就產(chǎn)生一個(gè)高電平的脈沖;頻率控制模塊主要是負(fù)責(zé)產(chǎn)生計(jì)數(shù)所需的控制信號(hào);計(jì)數(shù)模塊則是記錄標(biāo)準(zhǔn)時(shí)鐘1s內(nèi)檢測(cè)模塊產(chǎn)生高電平次數(shù)每來一個(gè)高電平則計(jì)數(shù)值加1;鎖存模塊就是鎖存住每次的計(jì)數(shù)值,然后在上升沿到來時(shí)將計(jì)數(shù)值傳輸給LED顯示模塊。它的方框圖見圖3-4。</p><p>  圖3-4 頻率計(jì)模塊方框圖</p><p>  3.3.1 檢測(cè)模

60、塊的端口說明及編程實(shí)現(xiàn)</p><p>  (1) 該模塊的方框圖見圖3-5。端口說明如下:</p><p>  CLK:輸入端口,它是檢測(cè)模塊掃描時(shí)鐘。主要是用來與AD轉(zhuǎn)換后的數(shù)據(jù)實(shí)現(xiàn)</p><p>  同步的掃描信號(hào),它的來源是AD芯片送出的信號(hào)ENABLE(數(shù)據(jù)轉(zhuǎn)換輸出使能)。</p><p>  DB:輸入端口,它是檢測(cè)模塊的8b

61、it二進(jìn)制數(shù)據(jù)輸入的端口。它的數(shù)據(jù)來源于 </p><p>  AD轉(zhuǎn)換后輸出的8bit二進(jìn)制數(shù)據(jù)。</p><p>  Q:輸出端口,它是檢測(cè)模塊的結(jié)果輸出端口。當(dāng)它輸出高電平脈沖信號(hào)時(shí),它</p><p>  代表了檢測(cè)到了AD轉(zhuǎn)換數(shù)據(jù)中的8bit二進(jìn)制數(shù)據(jù)中設(shè)定的特殊碼到來。</p><p>  圖3-5 檢測(cè)模塊方框圖</p&

62、gt;<p> ?。?) 該模塊的編程實(shí)現(xiàn)</p><p>  該模塊的編程思想是通過掃描時(shí)鐘對(duì)AD轉(zhuǎn)換結(jié)束后的數(shù)據(jù)進(jìn)行逐個(gè)數(shù)據(jù)進(jìn)行掃描,然后根據(jù)掃描的數(shù)據(jù)判斷是否掃描到設(shè)定的特殊碼,如果是就發(fā)送一個(gè)高電平的脈沖信號(hào)。然后將這個(gè)信號(hào)傳遞個(gè)后面的模塊進(jìn)行后續(xù)處理。</p><p> ?。?) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形

63、見圖3-6。由圖中可以看出,一旦有數(shù)據(jù)被檢測(cè)到就會(huì)輸出一個(gè)高電平,無則輸出低電平。這與編程思想相符合。</p><p>  圖3-6 檢測(cè)模塊仿真波形</p><p>  3.3.2 頻率控制模塊端口說明及編程實(shí)現(xiàn)</p><p>  (1) 該模塊的方框圖見圖3-7。端口說明如下:</p><p>  CLK:輸入端口,它是頻率控制模

64、塊的時(shí)鐘輸入端口。它主要是產(chǎn)生控制信號(hào)的標(biāo)準(zhǔn)輸入時(shí)鐘。它的頻率是1Hz。</p><p>  TETEN:輸出端口,它是頻率控制模塊的計(jì)數(shù)允許的輸出端口。當(dāng)它為高電平時(shí),</p><p>  表示允許計(jì)數(shù)器的計(jì)數(shù)。</p><p>  LOAD:輸出端口,它是頻率控制模塊的鎖存允許的輸出端口。當(dāng)它為高電平時(shí)表</p><p>  示允許其將計(jì)

65、數(shù)器的計(jì)數(shù)值鎖存。</p><p>  CLR_CNT:輸出端口,它是頻率控制模塊的計(jì)數(shù)清零信號(hào)輸出端口。當(dāng)它為高電</p><p>  平時(shí)表示允許其將計(jì)數(shù)器的計(jì)數(shù)值清零。每次計(jì)數(shù)開始時(shí)該信號(hào)就需要輸出一個(gè)高電平的脈沖。</p><p>  圖3-7 頻率控制模塊方框圖</p><p> ?。?) 頻率控制模塊編程實(shí)現(xiàn) </p&

66、gt;<p>  該模塊的作用是產(chǎn)生測(cè)頻所需要的各種控制信號(hào)??刂菩盘?hào)的標(biāo)準(zhǔn)輸入時(shí)鐘為1Hz,每兩個(gè)時(shí)鐘周期進(jìn)行一次頻率測(cè)量。該模塊產(chǎn)生3個(gè)控制信號(hào)率測(cè)量TETEN,LOAD,CLR_CNT。其中CLR_CNT信號(hào)用于在每次測(cè)量開始時(shí),對(duì)計(jì)數(shù)器的復(fù)位,以清除上次的測(cè)量結(jié)果,復(fù)位信號(hào)高電平有效,持續(xù)時(shí)間為半個(gè)時(shí)鐘周期的時(shí)間。TETEN為計(jì)數(shù)允許信號(hào),在其為上升沿時(shí)計(jì)數(shù)器模塊開始對(duì)輸入信號(hào)的頻率進(jìn)行測(cè)量。測(cè)量時(shí)間恰為一個(gè)時(shí)鐘周

67、期(正好為單位時(shí)間1s),在此時(shí)間里對(duì)被測(cè)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),即為信號(hào)的頻率。然后將計(jì)數(shù)值鎖存,并送到數(shù)碼管顯示進(jìn)行后續(xù)處理。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會(huì)由于周期性的清零信號(hào)而不斷閃爍。在每一次測(cè)量開始時(shí),都必須重新對(duì)計(jì)數(shù)器清0。</p><p>  控制模塊的幾個(gè)控制信號(hào)的時(shí)序關(guān)系如圖3-8所示。從圖中可看出,計(jì)數(shù)使能信號(hào)teten在1s的高電平后,利用其反相值的產(chǎn)生鎖存信號(hào)load,隨后產(chǎn)生清零

68、信號(hào)上升沿clr_cnt。清零信號(hào)是CLK與TETEN同或得到的。</p><p>  圖3-8 控制信號(hào)時(shí)序關(guān)系圖</p><p> ?。?) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-9。由波形圖中可以看出,TETEN是CLK1的二分頻。每次計(jì)數(shù)開始CLR_CNT置高電平即清零。LOAD信號(hào)波形與TETEN信號(hào)波形相反。這與控制信號(hào)的

69、時(shí)序關(guān)系相符合。</p><p>  圖3-9 頻率控制模塊的仿真波形</p><p>  3.3.3 計(jì)數(shù)模塊端口說明及編程實(shí)現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-10。端口說明如下:</p><p>  CLK:輸入端口,它是頻率計(jì)數(shù)模塊的時(shí)鐘輸入端口。它是標(biāo)準(zhǔn)時(shí)鐘信號(hào),其頻</p><p>

70、<b>  率為1Hz。</b></p><p>  CLR:輸入端口,它是頻率計(jì)數(shù)模塊的清零信號(hào)輸入端口。它的作用是在每次計(jì)</p><p>  數(shù)開始時(shí)清除上次計(jì)數(shù)值。它是高電平有效。</p><p>  ENA:輸入端口,它是頻率計(jì)數(shù)模塊的計(jì)數(shù)允許信號(hào)輸入端口。當(dāng)它為高電平時(shí),</p><p>  表示允許計(jì)數(shù)器的

71、計(jì)數(shù)允許。</p><p>  CQ:輸出端口,它是頻率計(jì)數(shù)模塊的計(jì)數(shù)值的輸出端口。它是加法器的輸出結(jié)果,</p><p>  是4bit二進(jìn)制數(shù)據(jù)即為BCD碼。</p><p>  CARRY_OUT:輸出端口,它是頻率計(jì)數(shù)模塊的計(jì)數(shù)值的進(jìn)位信號(hào)的輸出端口。它</p><p>  輸出的是加法器的進(jìn)位信息。</p><p

72、>  圖3-10 計(jì)數(shù)模塊方框圖</p><p> ?。?) 計(jì)數(shù)模塊編程實(shí)現(xiàn)</p><p>  該計(jì)數(shù)模塊是由六個(gè)帶有異步清零端,進(jìn)位信號(hào)輸出的模為10的計(jì)數(shù)模塊級(jí)連</p><p>  而成。通過freq.vhd 進(jìn)行元件例化實(shí)現(xiàn)。當(dāng)清零信號(hào)的高電平到來時(shí),不管此模塊</p><p>  處于何種狀態(tài),它的計(jì)數(shù)值均要清零。由此

73、可以看出清零信號(hào)的優(yōu)先級(jí)最高。通過</p><p>  freq.vhd 進(jìn)行元件例化實(shí)現(xiàn)的技術(shù)模塊的內(nèi)部信號(hào)連接關(guān)系為:當(dāng)時(shí)鐘上升沿到來并</p><p>  且計(jì)數(shù)器計(jì)數(shù)允許即ENA為高電平時(shí),計(jì)數(shù)器開始計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到9以后,計(jì)</p><p>  數(shù)值清零并且進(jìn)位信號(hào)輸出一個(gè)高電平。此時(shí)這個(gè)高電平的進(jìn)位信號(hào)作為敏感信號(hào)</p><p&g

74、t;  觸發(fā)下個(gè)計(jì)數(shù)模塊的工作,如果這個(gè)計(jì)數(shù)模塊的計(jì)數(shù)值達(dá)到9以后,計(jì)數(shù)值清零并</p><p>  且進(jìn)位信號(hào)輸出一個(gè)高電平。接著這個(gè)高電平的進(jìn)位信號(hào)又作為敏感信號(hào)觸發(fā)下一</p><p>  個(gè)計(jì)數(shù)模塊的工作,依次類推直到所有的計(jì)數(shù)模塊工作。它的級(jí)聯(lián)輸出是24bit的二</p><p><b>  進(jìn)制加法數(shù)據(jù)。</b></p>

75、<p> ?。?) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-11。由波形圖中可以看出,每當(dāng)有清零信號(hào)CLR來到時(shí)計(jì)數(shù)值清零,當(dāng)時(shí)鐘上升沿時(shí)計(jì)數(shù)器計(jì)數(shù),計(jì)到9時(shí)計(jì)數(shù)值變?yōu)?,此時(shí)進(jìn)位端CARRY _OUT輸出高電平。這與編程思想相符合。</p><p>  圖3-11 計(jì)數(shù)模塊仿真波形</p><p>  3.3.4 鎖存

76、模塊端口說明及編程實(shí)現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-12。端口說明如下:</p><p>  LOAD:輸入端口,它是鎖存模塊的鎖存允許的輸入端口。當(dāng)它為上升沿時(shí)計(jì)數(shù)</p><p>  值開始鎖存,也可以將這個(gè)信號(hào)當(dāng)作時(shí)鐘信號(hào)。</p><p>  DIN:輸入端口,它是鎖存模塊的鎖存數(shù)據(jù)的輸入端口。它是24bit的

77、二進(jìn)制數(shù)據(jù)</p><p>  輸入,它的數(shù)據(jù)來源于級(jí)聯(lián)的計(jì)數(shù)模塊的各個(gè)計(jì)數(shù)值輸出。</p><p>  DOUT:輸出端口,它是鎖存模塊的鎖存數(shù)據(jù)的輸出端口。它是24bit的二進(jìn)制數(shù)</p><p>  據(jù)輸出,它的數(shù)據(jù)來源于級(jí)聯(lián)的計(jì)數(shù)模塊的各個(gè)計(jì)數(shù)值輸出。</p><p>  圖3-12 鎖存模塊方框圖</p><p

78、> ?。?) 鎖存模塊的編程實(shí)現(xiàn)</p><p>  這個(gè)模塊的功能實(shí)現(xiàn)思想是當(dāng)鎖存信號(hào)的上升沿到來時(shí),將鎖存來自于級(jí)聯(lián)的</p><p>  計(jì)數(shù)模塊的輸出的各個(gè)計(jì)數(shù)值傳遞給鎖存輸出端口。</p><p>  (3) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-13。由波形圖中可以得出,一旦鎖存信號(hào)LOAD的

79、上升</p><p>  沿到來時(shí),將鎖存的數(shù)據(jù)輸出。</p><p>  圖3-13 鎖存模塊仿真波形</p><p>  3.4 分頻模塊</p><p>  分頻器通常用來對(duì)某個(gè)給定頻率進(jìn)行分頻,得到所需的頻率。整數(shù)分頻器的實(shí)</p><p>  現(xiàn)非常簡單,可采用標(biāo)準(zhǔn)的計(jì)數(shù)器,也可以采用可編程邏輯器件設(shè)計(jì)

80、實(shí)現(xiàn),但在某</p><p>  些場(chǎng)合下,時(shí)鐘源與所需的頻率不成整數(shù)關(guān)系,此時(shí)可采用小數(shù)分頻器進(jìn)行分頻。</p><p>  所以對(duì)于基于FPGA的時(shí)鐘分頻,可以簡單分為奇數(shù)分頻與偶數(shù)分頻,而且分頻后</p><p>  時(shí)鐘的占空比也是可變的,最簡單的時(shí)鐘分頻就是對(duì)時(shí)鐘進(jìn)行計(jì)數(shù),然后輸出時(shí)鐘</p><p>  信號(hào)等于計(jì)數(shù)器各位相與,這

81、樣得到的分頻信號(hào),其占空比很小,即時(shí)鐘高電平只</p><p>  有一個(gè),但由于FPGA設(shè)計(jì)的對(duì)時(shí)鐘跳變沿的判斷的精確性,故這種分頻方式也是</p><p><b>  可取的。</b></p><p>  3.4.1 分頻模塊的端口說明及編程實(shí)現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-14及3-15。

82、端口說明如下:</p><p>  CLKIN:輸入端口,它是系統(tǒng)時(shí)鐘信號(hào)輸入端口。該時(shí)鐘信號(hào)的頻率是50MHz。CLK_LED:輸出端口,它是LED數(shù)碼管掃描信號(hào)的輸出端口。它的時(shí)鐘信號(hào)輸</p><p>  出頻率是2.5KHz。</p><p>  CLK_AD:輸出端口,它是模數(shù)轉(zhuǎn)換芯片ADC0809的轉(zhuǎn)換時(shí)鐘信號(hào)的輸出端口。</p><

83、p>  它的時(shí)鐘信號(hào)輸出頻率是250KHz。</p><p>  FREQ1:輸出端口,它是頻率控制模塊的標(biāo)準(zhǔn)時(shí)鐘信號(hào)的輸出端口。它的時(shí)鐘信</p><p>  號(hào)的輸出頻率是1Hz。</p><p>  CLK_1M:輸出端口,它是作為過渡信號(hào)連接CLK端口的時(shí)鐘信號(hào)的輸出端口。</p><p>  它的時(shí)鐘信號(hào)的輸出頻率是1MHz。

84、</p><p>  圖3-14 分頻模塊方框圖 圖3-15 分頻模塊方框圖</p><p> ?。?) 分頻模塊的編程實(shí)現(xiàn)</p><p>  它主要是由FPGA提供50MHz的時(shí)鐘信號(hào),將其經(jīng)過50分頻產(chǎn)生1MHz信號(hào)</p><p>  后,再將1MHz信號(hào)經(jīng)過4、400、1000000分頻分別產(chǎn)生2

85、50KHz、2.5KHz及1Hz。</p><p>  其中250KHz的信號(hào)用于AD轉(zhuǎn)換提供時(shí)鐘信號(hào);2.5KHz是用于給LED數(shù)碼管提供</p><p>  掃描數(shù)據(jù)所用的時(shí)鐘信號(hào);1Hz是用來給頻率控制模塊提供標(biāo)準(zhǔn)測(cè)量時(shí)鐘1s,用于查</p><p>  看被測(cè)信號(hào)的周期個(gè)數(shù)。</p><p> ?。?) 該模塊的仿真波形及分析<

86、;/p><p>  模塊的仿真波形見圖3-16、3-17。由波形圖中可以看出,分頻得到的結(jié)果與編</p><p>  程思想相符。由于軟件的時(shí)鐘限制故不能完全反應(yīng)出它們的對(duì)應(yīng)關(guān)系。</p><p>  圖3-16 分頻模塊FREQ1仿真波形 </p><p>  圖3-17 分頻模塊PIN仿真波形</p><p>  

87、3.5 LED數(shù)碼管顯示</p><p>  LED的顯示模塊原理:LED有段碼和位碼之分,所謂段碼就是讓LED顯示出8.的八位數(shù)據(jù),一般情況下要通過一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對(duì)應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對(duì)于共陰級(jí)的LED而言,低電平使能(在本實(shí)驗(yàn)箱中所有的LED均位共陰級(jí)的)。</p><p>  3.5.1 LED數(shù)碼管的端口說明及編程實(shí)

88、現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-18。端口說明如下:</p><p>  CLK1:輸入端口,它是數(shù)碼管掃描時(shí)鐘信號(hào)輸入端口。該時(shí)鐘信號(hào)的頻率2.5KHz。</p><p>  OUTB:輸出端口,它是顯示數(shù)據(jù)位選擇輸出端口。</p><p>  OUTA:輸出端口,它是顯示數(shù)據(jù)輸出端口。</p><

89、;p>  圖3-18 LED數(shù)碼管模塊方框圖</p><p> ?。?) LED編程實(shí)現(xiàn)</p><p>  設(shè)計(jì)了一個(gè)3位的循環(huán)計(jì)數(shù)器,將計(jì)數(shù)結(jié)果輸入到編寫的3-8譯碼器程序中,譯碼結(jié)果輸出即可依次點(diǎn)亮每個(gè)LED。同時(shí)再編寫一個(gè)關(guān)于數(shù)碼管數(shù)據(jù)轉(zhuǎn)換所需的數(shù)據(jù)表。通過查表得到我們?nèi)粘K姷氖M(jìn)制數(shù)。例如:要讓8個(gè)LED同時(shí)工作,顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)LED,并在使能每

90、一個(gè)LED的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個(gè)LED同時(shí)工作。</p><p> ?。?) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-19。由波形圖中可以看出,當(dāng)時(shí)鐘上升沿到來時(shí),將計(jì)數(shù)值中的每四位數(shù)據(jù)轉(zhuǎn)換為相應(yīng)數(shù)碼管輸出所用的八位數(shù)據(jù),并輸出其LED數(shù)碼管的相應(yīng)的輸出使能端。這與編程思想相符

91、。</p><p>  圖3-19 LED數(shù)碼管模塊仿真波形</p><p>  3.6 LED點(diǎn)陣顯示模塊</p><p>  LED點(diǎn)陣工作原理:它的行為掃描選通信號(hào)、列為數(shù)據(jù)輸入。顯示采用逐行掃描方式,數(shù)據(jù)端不斷輸入數(shù)據(jù),行掃描按一定順序逐行選通,掃描一個(gè)周期(16個(gè)數(shù)據(jù))產(chǎn)生一幀畫面。見圖3-20以4×4共陰LED點(diǎn)陣列為例,給出了LED陣列的

92、組合方式,行選通低電平有效,數(shù)據(jù)高電平有效;數(shù)據(jù)端輸入數(shù)據(jù),選通行根據(jù)相應(yīng)數(shù)據(jù)亮燈,接著送入第二行數(shù)據(jù),選通第二行,依次完成一屏的掃描。</p><p>  圖3-20 4×4共陰LED點(diǎn)陣列</p><p>  3.6.1 該模塊端口說明及編程實(shí)現(xiàn)</p><p>  (1) 該模塊的方框圖見圖3-21。端口說明如下:</p><

93、;p>  KEY1:輸入端口,它是按鍵K0的輸入端。當(dāng)按鍵K0按下后,KEY1被輸入一</p><p>  個(gè)高電平,無動(dòng)作時(shí)則輸入低電平。</p><p>  KEY2:輸入端口,它是按鍵K1的輸入端。當(dāng)按鍵K1按下后,KEY2被輸入一</p><p>  個(gè)高電平,無動(dòng)作時(shí)則輸入低電平。</p><p>  CLK1K:輸入端口,它

94、是點(diǎn)陣的時(shí)鐘掃描信號(hào)。它的頻率為1KHz。</p><p>  OUTERA:輸出端口,它是點(diǎn)陣的列數(shù)據(jù)輸出信號(hào)。主要給點(diǎn)陣提供顯示內(nèi)容的</p><p><b>  幀數(shù)據(jù)。</b></p><p>  OUTERB:輸出端口,它是點(diǎn)陣的行選通信號(hào)的輸出信號(hào)。主要負(fù)責(zé)點(diǎn)亮被選通</p><p><b>  行

95、的LED。</b></p><p>  圖3-21 LED點(diǎn)陣方框圖</p><p>  (2) LED點(diǎn)陣編程實(shí)現(xiàn) </p><p>  該模塊的結(jié)構(gòu)框圖見圖3-22。Source1進(jìn)程用于產(chǎn)生ROM尋址信號(hào),它的輸出低4位為Source2進(jìn)程的輸入,用于掃描同步。ROM大小為16×256,可存儲(chǔ)16幀的數(shù)據(jù)。每幀數(shù)據(jù)輸出16個(gè)字節(jié),S

96、ource2的掃描循環(huán)一次。當(dāng)K1按鍵沒有被按下時(shí),每幀重復(fù)掃描32次再轉(zhuǎn)到下一幀的掃描一直掃描到16幀數(shù)據(jù)。當(dāng)K1按鍵被按下時(shí),每幀重復(fù)掃描32次再轉(zhuǎn)到下一幀的掃描且只掃描12幀數(shù)據(jù)。非門的作用是,當(dāng)Source1有穩(wěn)定的掃描數(shù)據(jù)輸出后尋址輸出數(shù)據(jù)和選通信號(hào)。KEY進(jìn)程用于選擇不同的ROM數(shù)據(jù),如按鍵K0沒有被按下,選擇ROMTRY0中的數(shù)據(jù);若按下一次則選擇ROMTRY1中的數(shù)據(jù);若再按一次則選擇ROMTRY2中的數(shù)據(jù);再按第四下則

97、選擇ROMTRY0數(shù)據(jù),根據(jù)按鍵K0被按下的次數(shù)依次循環(huán)選擇ROM中的數(shù)據(jù)。</p><p>  ROM用于存放顯示內(nèi)容的數(shù)據(jù)。PIN1K進(jìn)程用于給點(diǎn)陣提供時(shí)鐘。</p><p>  圖3-22 LED點(diǎn)陣結(jié)構(gòu)框圖</p><p> ?。?) 該模塊的仿真波形及分析</p><p>  模塊的仿真波形見圖3-23。由波形圖中可以看出,當(dāng)時(shí)

98、鐘上升沿到來時(shí),KEY1、KEY2沒有被按下時(shí)輸出的是ROMTRY0的數(shù)據(jù)掃描到了16幀的數(shù)據(jù)。這與編程思想相符。</p><p>  圖3-23 LED點(diǎn)陣仿真波形圖</p><p><b>  4 軟硬件調(diào)試</b></p><p>  4.1 軟件使用中遇到的問題</p><p>  在系統(tǒng)設(shè)計(jì)過程中,在軟件

99、的使用方面遇到了一些問題,例如:在使用軟件對(duì)</p><p>  編寫的程序進(jìn)行波形仿真時(shí)點(diǎn)擊后軟件提示我操作錯(cuò)誤。用元件例化編寫了計(jì)數(shù)</p><p>  器模塊,想看下該模塊的內(nèi)部結(jié)構(gòu)圖時(shí)不知道如何查看RTL級(jí)電路內(nèi)部結(jié)構(gòu)?特別</p><p>  是在波形仿真這一塊按照正常情況下只需要點(diǎn)擊就可以仿真。但是,由于我沒有</p><p> 

100、 設(shè)置仿真工具相關(guān)的選項(xiàng),如要先將想要進(jìn)行仿真的那個(gè)程序設(shè)為頂層實(shí)體編譯后</p><p>  將它的波形文件需要的相關(guān)輸入波形建立并保存,然后在仿真工具調(diào)用該波形文件</p><p>  此時(shí)再點(diǎn)擊即可完成波形的仿真。查看RTL級(jí)電路內(nèi)部結(jié)構(gòu)的方法為點(diǎn)擊工具</p><p>  菜單選擇RTL級(jí)項(xiàng)目即可。</p><p>  4.2 AD

101、轉(zhuǎn)換工作中遇到的問題</p><p>  我在這部分遇到的問題是將程序下載到FPGA中,同時(shí)將AD所需要的各種信號(hào)外引到擴(kuò)展端口,結(jié)果在這些端口上測(cè)量(用示波器觀察)發(fā)現(xiàn)EOC(轉(zhuǎn)換結(jié)束標(biāo)志信號(hào))、STRAT(轉(zhuǎn)換啟動(dòng)信號(hào))、ENABLE(計(jì)數(shù)允許信號(hào))均沒有信號(hào)即都是低電平,但是AD時(shí)鐘信號(hào)存在。我一開始懷疑是AD的狀態(tài)機(jī)沒有啟動(dòng),于是將程序修改后再次下載仍然是這樣。我有開始想問題出在哪里,思考后覺得這個(gè)問題也

102、許根本不是我的程序出了問題,而是這個(gè)試驗(yàn)箱的幾個(gè)外接端口有問題。所以我開始用試驗(yàn)箱上的資源來測(cè)試我的程序。結(jié)果恰恰與我所料果然是試驗(yàn)箱上外接端口壞了(我后來有專門測(cè)試過這些引腳的端口信號(hào)證實(shí)了這點(diǎn))。 </p><p>  還有一個(gè)問題就是ADC0809的轉(zhuǎn)換時(shí)間是多少?通過查看相關(guān)的資料,發(fā)現(xiàn)其轉(zhuǎn)換時(shí)間是需要64個(gè)時(shí)鐘周期的。轉(zhuǎn)換速率為轉(zhuǎn)換時(shí)間的倒數(shù)設(shè)為f。而根據(jù)采樣定理和實(shí)際需要,要還原一個(gè)周期的波形信號(hào)至少

103、需采集10個(gè)樣點(diǎn),那么這個(gè)AD轉(zhuǎn)換器最高也只能處理頻率為f/10的模擬信號(hào)。</p><p>  4.3 頻率計(jì)遇到的問題</p><p>  4.3.1 計(jì)數(shù)模塊</p><p>  當(dāng)初編寫這個(gè)模塊是,將它編寫成為組合邏輯電路了,故進(jìn)行軟件仿真時(shí)這款軟件就死機(jī)了沒有響應(yīng),經(jīng)過xx老師的指點(diǎn)說計(jì)數(shù)器是一個(gè)時(shí)序電路怎么能沒有時(shí)鐘。于是加了一個(gè)時(shí)鐘信號(hào)進(jìn)去果然仿真

104、成功了問題解決。</p><p>  4.3.2 頻率控制模塊</p><p>  該模塊是在頻率計(jì)進(jìn)行下載在板上運(yùn)行時(shí),用示波器觀察各個(gè)端口的信號(hào)是發(fā)現(xiàn)TETEN(計(jì)數(shù)允許信號(hào))與CLR(計(jì)數(shù)清零信號(hào))兩者的波形恰好給弄反了,修改程序后測(cè)量信號(hào)結(jié)果才是正確。</p><p>  4.3.3 頻率計(jì)</p><p>  在板上調(diào)試頻率計(jì)時(shí)

105、,發(fā)現(xiàn)不管怎樣修改程序LED數(shù)碼管顯示的結(jié)果均是錯(cuò)誤的顯示值。經(jīng)老師指點(diǎn)知道問題可能出在掃描檢測(cè)模塊的時(shí)鐘太快了,沒有檢測(cè)到采樣值。由此我特意查看相關(guān)資料知道如果要掃描檢測(cè)一個(gè)數(shù)據(jù),必須使掃描時(shí)鐘信號(hào)與數(shù)據(jù)信號(hào)進(jìn)行同步才能準(zhǔn)確檢測(cè)去數(shù)據(jù)。經(jīng)過苦思后,突然發(fā)現(xiàn)可以利用AD芯片中輸出的轉(zhuǎn)換數(shù)據(jù)輸出允許信號(hào)ENABLE作為掃描信號(hào),因?yàn)樗鼊偤门c輸出的數(shù)據(jù)同步,這個(gè)就很好的解決了同步掃描信號(hào)到底需要多大的具體值這個(gè)問題。</p>

106、<p>  4.4 點(diǎn)陣調(diào)試遇到的問題</p><p>  在板上調(diào)試點(diǎn)陣模塊時(shí),發(fā)現(xiàn)點(diǎn)陣上顯示的內(nèi)容只有一個(gè)字。我開始一直以為是我的程序有問題,但是修改程序后仍然解決不了問題。經(jīng)xx老師指點(diǎn)發(fā)現(xiàn)是資源內(nèi)部有沖突,根據(jù)調(diào)試的現(xiàn)象來看問題可能出現(xiàn)在三個(gè)方面中。一、掃描時(shí)鐘有問題。二、沒有掃描到下一幀的數(shù)據(jù)。三、點(diǎn)陣模塊中的ROM有問題。經(jīng)過對(duì)相關(guān)程序的波形仿真,首先發(fā)現(xiàn)掃描時(shí)鐘沒有產(chǎn)生。修改程序后,掃描

107、時(shí)鐘有信號(hào)但是仍然是只顯示一個(gè)字,在對(duì)相關(guān)程序進(jìn)行波形仿真發(fā)現(xiàn)能夠掃描下一幀。由此可以判斷問題出在ROM中,檢查ROM中的數(shù)據(jù)沒有問題,結(jié)果發(fā)現(xiàn)ROM數(shù)據(jù)地址與存儲(chǔ)器的地址不匹配,修改后點(diǎn)陣正常顯示。</p><p>  4.5 系統(tǒng)調(diào)試現(xiàn)象</p><p>  因仿真軟件自身的原因無法產(chǎn)生系統(tǒng)的仿真結(jié)果,故該系統(tǒng)的現(xiàn)象是在硬件上實(shí)現(xiàn)的。其現(xiàn)象具體為:程序下載完點(diǎn)陣上顯示出通信工程二班夏

108、梅字樣,當(dāng)接入被測(cè)信號(hào)1KHz的正弦波,而在LED數(shù)碼管上顯示的測(cè)量值為1.048KHz,此時(shí)按下K0鍵可以看見點(diǎn)陣上顯示正弦波字樣,如果再按下K0鍵還可以看見點(diǎn)陣上顯示三角波字樣且能夠在DAC0832的模擬信號(hào)輸出端口查看到回放的被測(cè)信號(hào)正弦波的波形。這個(gè)頻率值與被測(cè)信號(hào)有一定的誤差。</p><p><b>  結(jié) 論</b></p><p>  本系統(tǒng)主要是研究

109、數(shù)據(jù)的采集和相關(guān)的處理,該系統(tǒng)的新穎處是加入了對(duì)信號(hào)的頻率測(cè)量,而且模擬信號(hào)的測(cè)量完全沒有用比較電路進(jìn)行處理后傳輸給計(jì)數(shù)器進(jìn)行二次處理,而是直接將采集的信號(hào)在FPGA內(nèi)部進(jìn)行相關(guān)編程實(shí)現(xiàn)的。而這也是本系統(tǒng)的難點(diǎn)及獨(dú)到之處。</p><p>  在這次畢業(yè)設(shè)計(jì)的幾個(gè)月的時(shí)間里,讓我對(duì)QUARTUSII這個(gè)軟件的使用更加熟練,并且學(xué)會(huì)了一些高級(jí)的技巧。同時(shí)也讓我對(duì)VHDL語言有了更多的了解,提高了我的編程能力。雖然在

110、研究期間我遇到了很多的困難,犯過很多的錯(cuò)誤但是通過這次的設(shè)計(jì),讓我學(xué)會(huì)了獨(dú)立思考問題和解決問題的方法。雖然我完滿的完成了畢業(yè)設(shè)計(jì)的任務(wù),但是我在知識(shí)方面的欠缺,我在今后還有很長的一段路需要走。</p><p>  本文主要是介紹了設(shè)計(jì)方案的選擇及設(shè)計(jì)方案是如何實(shí)現(xiàn)的,側(cè)重點(diǎn)在于實(shí)現(xiàn)方案所需要的方法,同時(shí)也介紹了該系統(tǒng)軟硬件的調(diào)試并簡要的介紹了該系統(tǒng)的任務(wù)及發(fā)展背景。</p><p><

111、;b>  致 謝</b></p><p>  經(jīng)過幾個(gè)月的學(xué)習(xí)研究與探索,我的研究終于完成了??粗约旱某晒?,心里有說不出的苦與樂,苦于研究過程中所遇到的種種挫折,每一個(gè)模塊的研究都是經(jīng)歷了很多次的驗(yàn)證后才得以確定的。有時(shí)候真的會(huì)感到十分的無助和無奈。樂于在實(shí)踐的過程中我所體驗(yàn)到的東西及對(duì)自己的能力的又一次的提升。</p><p>  在這次的設(shè)計(jì)中我遇到了很多的問題,但

112、是我都一一克服了。在這里我想要特別謝謝我們的*老師,是她讓我從迷霧中走出,是她教會(huì)我獨(dú)立思考問題的重要性,是她給我指點(diǎn)讓我解決了問題。她用她那富有個(gè)性的教育方法讓我由依賴別人到學(xué)會(huì)思考問題。我覺得她是一位具有創(chuàng)新思想的好老師。</p><p>  在這里我要再次的感謝*老師對(duì)我的教育培養(yǎng),在此我想向*老師致敬。同時(shí)也感謝二系實(shí)驗(yàn)室的***老師給我提供的試驗(yàn)環(huán)境。謝謝您們!祝您們身體健康!工作順利!

溫馨提示

  • 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)論