

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 分析數(shù)字調(diào)幅系統(tǒng)優(yōu)越的技術(shù)特性,制定以現(xiàn)場可編程門陣列為核心的數(shù)字調(diào)幅系統(tǒng)設(shè)計方案,實現(xiàn)過程中應(yīng)用VHDL 硬件描述語言對不同的功能模塊進(jìn)行定義和編程,仿真驗證了系統(tǒng)模塊的功能。仿真正確后,選取滿足要求的可編程器件進(jìn)行綜合工作。根據(jù)測試結(jié)果分析,數(shù)據(jù)滿足設(shè)計要求,實現(xiàn)了系統(tǒng)的功能。</p><p>
2、文中首先分析了調(diào)幅信號發(fā)生器的數(shù)學(xué)表達(dá)式,然后根據(jù)其數(shù)學(xué)表達(dá)式,在matlab/simulink 下建立相應(yīng)的數(shù)學(xué)模型,然后利用DSP Builder 模塊庫中的SignalCompiler 工具將此模型轉(zhuǎn)換為VHDL 語言, 最后在QuartusII 中對其進(jìn)行編譯直至下載到FPGA 中,實現(xiàn)相應(yīng)的電路。這種設(shè)計方法可以快速進(jìn)行數(shù)字信號處理器的設(shè)計,而且又便于修改和擴(kuò)充其功能,整個設(shè)計思路靈活,圖形界面簡單直觀,開發(fā)周期短。</
3、p><p> 關(guān)鍵詞:數(shù)學(xué)模型 調(diào)幅信號 調(diào)制度 現(xiàn)場可編程門電路 </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)用說明及時序圖6</p><p> 2.2 頻率測量原理及方案選擇7</p><p> 2.2.1 直接測頻法原理7</p><p> 2.2.2 等精度測頻原理8</p><p> 2.2.3 測頻方法的選擇9</p><p> 2.3 FPGA內(nèi)部運(yùn)算模塊的設(shè)計原理9
12、</p><p> 2.4 LED數(shù)碼管顯示原理及方案選擇9</p><p> 2.4.1 LED數(shù)碼管的工作原理9</p><p> 2.4.2 FPGA實現(xiàn)LED數(shù)碼管靜態(tài)顯示控制實現(xiàn)原理9</p><p> 2.4.3 采用FPGA實現(xiàn)LED數(shù)碼管動態(tài)顯示控制實現(xiàn)原理10</p><p>
13、 2.4.4 LED數(shù)碼管顯示方案的選擇10</p><p> 3 系統(tǒng)設(shè)計及主要模塊的實現(xiàn)11</p><p> 3.1 系統(tǒng)設(shè)計的頂層實體原理11</p><p> 3.2 AD控制轉(zhuǎn)換功能模塊的設(shè)計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 頻率計模塊13</p><p> 3.3.1 檢測模塊的端口說明及編程實現(xiàn)13</p><p> 3.3.2 頻率控制模塊端口說明及編程實現(xiàn)14</p><p&g
15、t; 3.3.3 計數(shù)模塊端口說明及編程實現(xiàn)16</p><p> 3.3.4 鎖存模塊端口說明及編程實現(xiàn)17</p><p> 3.4 分頻模塊18</p><p> 3.4.1 分頻模塊的端口說明及編程實現(xiàn)19</p><p> 3.5 LED數(shù)碼管顯示20</p><p> 3.5
16、.1 LED數(shù)碼管的端口說明及編程實現(xiàn)20</p><p> 3.6 LED點(diǎn)陣顯示模塊21</p><p> 3.6.1 該模塊端口說明及編程實現(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 頻率計遇到的問題24</p><p> 4.3.1 計數(shù)模塊24</p><p> 4.3.2 頻率控制模塊25</p><p> 4.3.3 頻率計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ī)模、性能和市場都有著突飛猛進(jìn)的發(fā)展,越來越多的大規(guī)模集成電路被應(yīng)用都計算機(jī)、通信、電子等領(lǐng)域。集成電路以其高性能和低成本成為了眾多領(lǐng)域的寵兒。</p><p> 集成電路是信息技術(shù)產(chǎn)業(yè)群的核心和基礎(chǔ)。建立在集成電路技術(shù)進(jìn)步基礎(chǔ)上的全球信息化、網(wǎng)絡(luò)
20、化和知識經(jīng)濟(jì)浪潮,使集成電路產(chǎn)業(yè)的戰(zhàn)略地位越來越重要,對國民經(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多億個。</p><p&
21、gt; 未來電子產(chǎn)品的發(fā)展趨勢為功能日漸復(fù)雜,然而體積卻日漸縮小、功率消耗的要求越來越嚴(yán)格,因此系統(tǒng)晶片(SoC)為半導(dǎo)體產(chǎn)業(yè)的重要發(fā)展趨勢,系統(tǒng)晶片以互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)制造為主,將各種功能的元件整合至單一晶片中。除了CMOS制造之外,還有其他種類的制造技術(shù),例如矽鍺(SiGe)、雙極型(Bipolar)、Ⅲ-Ⅴ族如砷化鎵(GaAs)、氮化鎵(GaN)、Ⅱ-Ⅵ族半導(dǎo)體等,大部分用于利基型之應(yīng)用,如無線通訊之射頻晶片、光通
22、訊元件等。</p><p> FPGA是現(xiàn)場可編程邏輯門陣列,它作為IC設(shè)計的領(lǐng)域,能靈活的實現(xiàn)各種功能。由于它的IP核能夠可重復(fù)使用,這已經(jīng)是當(dāng)今IC設(shè)計的趨勢。由于FPGA的加入改變了傳統(tǒng)的IC設(shè)計的產(chǎn)品研究時間,同是縮短了產(chǎn)品上市時間,減低了開發(fā)成本。此外,它還具有靜態(tài)可重復(fù)編程和動態(tài)的系統(tǒng)重構(gòu)特性,極大地提高了電子設(shè)計系統(tǒng)的靈活性和通用行。</p><p> 近年來,數(shù)據(jù)采集與
23、處理的新技術(shù)、新方法,直接或間接地引發(fā)其革新和變化,實時監(jiān)控(遠(yuǎn)程監(jiān)控)與仿真技術(shù)(包括傳感器、數(shù)據(jù)采集、微機(jī)芯片數(shù)據(jù)、可編程控制器PLC、現(xiàn)場總線處理、流程控制、曲線與動畫顯示、自動故障診斷與報表輸出等)把數(shù)據(jù)采集與處理技術(shù)提高到一個嶄新的水平。在計算機(jī)廣泛應(yīng)用的今天,數(shù)據(jù)采集的重要性是十分顯著的。它是計算機(jī)與外部物理世界連接的橋梁。它在現(xiàn)代信息領(lǐng)域發(fā)揮著重要作用,是信息產(chǎn)品不可或缺的重要組成部分。因此選擇基于FPGA數(shù)據(jù)采集系統(tǒng)設(shè)計
24、是很有意義也是很有必要的。 數(shù)據(jù)采集系統(tǒng)一般由數(shù)據(jù)輸入通道、數(shù)據(jù)存儲與管理、數(shù)據(jù)處理、數(shù)據(jù)輸出及顯示這五個部分組成。輸入通道要實現(xiàn)對被測對象的檢測、采樣和信號轉(zhuǎn)換等工作。數(shù)據(jù)存儲與管理要用存儲器把采集到的數(shù)據(jù)存儲起來,建立相應(yīng)的數(shù)據(jù)庫,并進(jìn)行管理和調(diào)用。數(shù)據(jù)處理就是從采集到的原始數(shù)據(jù)中,刪除干擾噪聲、無關(guān)信息和不必要的信息,提取出反映被測對象特征的重要信息。另外,就是對數(shù)據(jù)進(jìn)行統(tǒng)計分析,以便于檢索;或者把數(shù)據(jù)恢復(fù)成原來的物理量形
25、式,以可輸出的形態(tài)在輸出設(shè)備上輸出,如打印、顯示、繪圖等。數(shù)據(jù)輸出及顯示就是把數(shù)據(jù)以適當(dāng)?shù)男问竭M(jìn)行輸出</p><p> 本課題研究的主要內(nèi)容是基于FPGA的數(shù)據(jù)采集和回放。其功能的實現(xiàn)是利用A/D轉(zhuǎn)換芯片ADC0809采集外部模擬信號形成數(shù)據(jù),用FPGA芯片完成數(shù)據(jù)的采集,并利用D/A芯片DAC0832完成模擬信號的回放,同時利用顯示模塊完成相關(guān)的顯示。</p><p> 1 系統(tǒng)
26、的總體結(jié)構(gòu)</p><p> 傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用單片機(jī)或DSP作為控制模塊控制ADC,存儲器和其他外圍電路的工作。隨著數(shù)據(jù)采集對速度性能的要求越來越高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。單片機(jī)的時鐘頻率較低且用軟件實現(xiàn)數(shù)據(jù)采集,使得采集速度和效率降低,軟件運(yùn)行時間在整個采樣時間中占很大的比例。而FPGA(現(xiàn)場可編程門陣列)有單片機(jī)無法比擬的優(yōu)勢。FPGA時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速
27、度快、效率高。</p><p> 1.1 基于FPGA的數(shù)據(jù)采集和回放系統(tǒng)的結(jié)構(gòu)[3]</p><p> 該系統(tǒng)的組成原理圖見圖1-1。該系統(tǒng)功能的實現(xiàn)是由FPGA經(jīng)過一系列的邏輯運(yùn)算和時鐘運(yùn)算給出控制啟動ADC0809工作的信號,然后接收ADC0809的反饋信號,用FPGA芯片完成數(shù)據(jù)的采集,并利用D/A芯片DAC0832完成模擬信號的回放同時指揮頻率計模塊部分經(jīng)過一系列的檢測采集
28、及計算,再將結(jié)果傳遞給FPGA,然后將結(jié)果送顯。</p><p> 圖1-1 系統(tǒng)總體方框圖</p><p> 1.2 系統(tǒng)組成框圖介紹</p><p> 本系統(tǒng)主要由四大部分組成AD轉(zhuǎn)換模塊、頻率計模塊、顯示模塊、分頻模塊。其組成部分的簡要介紹如下:</p><p> ?。?) AD轉(zhuǎn)換部分:利用FPGA生成一個A/D采樣控制器
29、模塊,產(chǎn)生STRAT(啟動信號)、ALE(地址選通)、OE(轉(zhuǎn)換數(shù)據(jù)輸出使能)三個信號來控制ADC0809工作狀態(tài)。然后通過ADC0809的反饋信號將轉(zhuǎn)換出的數(shù)據(jù)采集到FPGA的內(nèi)部RAM中存儲為下一步的處理做準(zhǔn)備。</p><p> ?。?) 頻率計部分:這個部分包含了四小模塊,它們分別是鎖存器、檢測信號模塊、計數(shù)模塊。而在形成頻率計時主要是要產(chǎn)生clk(時鐘信號)、teten(計數(shù)許可信號)、load(鎖存
30、信號)、clr_cnt(計數(shù)清零信號)這些為測量信號的頻率做準(zhǔn)備的信號。同時檢測模塊主要做的就是及時檢測出信號的轉(zhuǎn)換已經(jīng)有一個周期,發(fā)出一個脈沖信號提示計數(shù)部分測頻。</p><p> ?。?) 顯示部分:該部分主要是接收FPGA傳遞過來的數(shù)據(jù)同時通過驅(qū)動程序及相關(guān)的查表將結(jié)果顯示出來。</p><p> ?。?) 分頻部分:該部分主要是給其它三個部分提供所需的時鐘信號,進(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芯片按照處理速度可分為低速、中速、高速。市場上的AD芯片也有很多,但是基于本系統(tǒng)的需要
32、及價格方面的考慮,故選擇ADC0809這款芯片。ADC0809是采樣位數(shù)為8位的、以逐次逼近原理進(jìn)行?!獢?shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。其主要特性有為:[13]</p><p> (1)8路8位A/D轉(zhuǎn)換器,即分辨率8位。</p><p> (2)具有轉(zhuǎn)換起??刂贫恕?(3)單個+5V電源
33、供電 (4)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 (5)工作溫度范圍為-40~+85攝氏度 (6)低功耗,約15mW。2.1.2 ADC0809的引腳功能</p><p> ADC0809芯片有28條引腳,下面說明各引腳功能。 IN0~I(xiàn)N7:8路模擬量輸入端?! 1~D8:8位數(shù)字量輸出端?! DDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸
34、入中的一路?! LE:地址鎖存允許信號,輸入,高電平有效?! TART:A/D轉(zhuǎn)換啟動信號,輸入,高電平有效?! OC:A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)?! E:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量?! LK:時鐘脈沖輸入端?! EF(+)、REF(-):基準(zhǔn)電壓?! cc:電源,單一
35、+5V?! ND:地。2.1.3 ADC0809 應(yīng)用說明及時序圖</p><p> 其時序圖見圖2-1。其工作原理為:</p><p> ?。?)ADC0809內(nèi)部帶有輸出鎖存器,可以與FPGA直接相連。</p><p> ?。?)初始化時,使ST和OE信號全為低電平。</p><p> ?。?)送要轉(zhuǎn)換的哪一通道的地址到A,B,
36、C端口上。</p><p> (4)在ST 端給出一個至少有100ns寬的正脈沖信號。</p><p> (5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。</p><p> ?。?)當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出到FPGA。</p><p> 圖2-1 AD0809時序圖</p><p&g
37、t; 2.2 頻率測量原理及方案選擇</p><p> 2.2.1 直接測頻法原理</p><p> 常用的直接測頻方法主要有測頻法和測周期法兩種。測頻法就是在確定的閥門時間Tw內(nèi),記錄被測信號的變化周期數(shù)(或脈沖個數(shù))Nx,則被測信號的頻率為:Fx=Nx/Tw.測頻法原理如圖2-2。測周期法就需要有標(biāo)準(zhǔn)信號的頻率fs,待測信號的一個周期Tx內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù)Ns,則被測信
38、號的頻率為:Fx=Fs/Ns,測頻法原理如圖2-3。[7 8 9]</p><p> 圖2-2 測頻法原理</p><p> 圖2-3 測周期法原理</p><p> 2.2.2 等精度測頻原理</p><p> 等精度測頻原理如圖2-4,在測量過程種,有兩個計數(shù)器分別對標(biāo)準(zhǔn)信號和被測信號計數(shù)。首先給出閥門開啟信號(預(yù)置閥門上升
39、沿),此時計數(shù)器并不開始計數(shù),而是等到被側(cè)信號是上升沿到來時計數(shù)器才真正開始計數(shù)。然后預(yù)置閥門關(guān)閉信號(下降沿)到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿到來時才結(jié)束計數(shù),完成一次測量過程??梢钥闯觯瑢嶋H閥門時間t與預(yù)置閥門時間t1并不是嚴(yán)格相等,但差值不超過被測信號的一個周期。等精度測頻實現(xiàn)方法的原理圖見圖2-5。設(shè)在一次實際閥門時間t中計數(shù)器對被測信號的計數(shù)值為Nx,對標(biāo)準(zhǔn)信號的計數(shù)值為Ns。標(biāo)準(zhǔn)信號的頻率為fs,則被測
40、信號的頻率為:fx=Nxfs/Ns。</p><p> 圖2-4 等精度測頻原理</p><p> 圖2-5 等精度測頻實現(xiàn)方法原理圖</p><p> 2.2.3 測頻方法的選擇</p><p> 計數(shù)器測頻法主要有兩種實現(xiàn)方法:直接計數(shù)測頻法和等精度測頻法。直接測頻法只是簡單地記下單位時間內(nèi)的周期信號的重復(fù)次數(shù),其計數(shù)值會有
41、±1個計數(shù)</p><p> 誤差。此方法測量精確度主要是取決與基準(zhǔn)時間和計數(shù)器的計數(shù)誤差。等精度測頻方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。他的閥門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,摒除了對被測信號計數(shù)所產(chǎn)生±1個計數(shù)誤差,并且達(dá)到了在整個測試頻率的等精度測量。但是這種測量方法整體實現(xiàn)起來太過復(fù)雜,因此沒有選擇。</p><p>
42、 2.3 FPGA內(nèi)部運(yùn)算模塊的設(shè)計原理</p><p> 邏輯運(yùn)算模塊主要是時鐘邏輯運(yùn)算,這是FPGA設(shè)計里面最復(fù)雜的模塊,所以要考慮到各種情況的出現(xiàn)。系統(tǒng)之所以能夠正常工作全部由邏輯運(yùn)算模塊進(jìn)行運(yùn)算處理,產(chǎn)生相應(yīng)控制和操作。時鐘主要有采樣周期時鐘、掃描時鐘、AD工作時鐘等。各種邏輯運(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ù)字,每一段都是一個發(fā)光二極管,加上小數(shù)點(diǎn)共有8個發(fā)光二極管。一般把所有段的相同一端相連,連接到地(共陰極接法)或者是連接到電源(共陽
44、極接法)。共陰極LED數(shù)碼管的公共端連接到地,另一端分別接一個限流電阻后在接到控制電路的信號端,當(dāng)信號端為高電平時,該段即被點(diǎn)亮,否則不亮。共陽極接法相反,公共端連接到電源,另一端分別接一個限流電阻后再接到控制電路的信號端,只有信號端為低電平是才被點(diǎn)亮,否則不亮。</p><p> 2.4.2 FPGA實現(xiàn)LED數(shù)碼管靜態(tài)顯示控制實現(xiàn)原理</p><p> FPGA實現(xiàn)LED靜態(tài)顯示
45、控制的實現(xiàn)是運(yùn)用硬件描述語言設(shè)計一個顯示譯碼驅(qū)</p><p> 動器,即將要顯示的字符譯成7段碼。由于FPGA有相當(dāng)多的引出端資源,如果顯</p><p> 示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將每一個數(shù)碼管都分別連接到</p><p> 不同的8個引出端線上,共需要8XN條引出端線控制。[5 10]</p><p> 2.
46、4.3 采用FPGA實現(xiàn)LED數(shù)碼管動態(tài)顯示控制實現(xiàn)原理</p><p> LED數(shù)碼管動態(tài)顯示的實現(xiàn)方法是依次點(diǎn)亮各個數(shù)碼管使其循環(huán)顯示,它利用</p><p> 的視覺暫留特性,可以達(dá)到多個數(shù)碼管同時顯示的視覺效果。采用掃描方式來實現(xiàn)</p><p> LED數(shù)碼管動態(tài)顯示,控制好數(shù)碼管之間的延時是相當(dāng)重要的。根據(jù)人眼視覺暫留</p>&l
47、t;p> 原理,LED每秒導(dǎo)通16次以上,人眼就無法分辨LED數(shù)碼管短暫的不亮,認(rèn)為是</p><p> 一直點(diǎn)亮狀態(tài)(其實LED數(shù)碼管是一定的頻率在閃動的)。但是,延時(導(dǎo)通頻率)</p><p> 也不是越小越好,因為LED數(shù)碼管達(dá)到一定亮度需要一定時間。如果延時控制不好</p><p> 則會出現(xiàn)閃動,或者亮度不夠。</p><
48、;p> 2.4.4 LED數(shù)碼管顯示方案的選擇</p><p> LED數(shù)碼管靜態(tài)顯示的實現(xiàn)方法簡單,如果采用這種方法占用了太多的硬件資源。LED數(shù)碼管動態(tài)顯示占用硬件資源少的優(yōu)點(diǎn),實現(xiàn)方法相對要復(fù)雜一些。但是,對于本次的設(shè)計來說引出端的硬件資源非常有限,故我采用的是動態(tài)顯示的方法。</p><p> 3 系統(tǒng)設(shè)計及主要模塊的實現(xiàn)</p><p>
49、 3.1 系統(tǒng)設(shè)計的頂層實體原理</p><p> 該系統(tǒng)的頂層實體的原理圖見圖3-1。該頂層實體中由邏輯運(yùn)算模塊計算出所需要的時鐘如采樣周期時鐘、掃描時鐘、AD工作時鐘、頻率計閥門時鐘。分別將它們傳輸給AD控制轉(zhuǎn)換模塊、LED顯示模塊、頻率計模塊、LEDALL點(diǎn)陣模塊。使它們能夠正常的完成系統(tǒng)的功能。</p><p> 圖3-1 頂層實體原理圖</p><p&
50、gt; 3.2 AD控制轉(zhuǎn)換功能模塊的設(shè)計</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的時鐘輸入。它的時鐘信號輸出是250KHz</p><p><b> 的方波信號。</b></p><p> ENABLE:輸出端口,它是ADC0809的輸出使能端口。當(dāng)ENABLE為1ADC0809的八個輸出管腳輸出轉(zhuǎn)換后的數(shù)據(jù)。</p><p>
52、START:輸出端口,它是ADC0809的轉(zhuǎn)換啟動端口。在ADC0809啟動前START</p><p> 信號必須給出一個至少有100ns寬的正脈沖信號,才能保證轉(zhuǎn)換的正常啟動。
53、 </p><p> EOC:輸入端口,它是ADC0809轉(zhuǎn)換結(jié)束的標(biāo)志。當(dāng)EOC為高電平時表示轉(zhuǎn)換結(jié)</p><p><b> 束。</b></p><p> R:輸入端口,它是ADC0809轉(zhuǎn)換復(fù)位的
54、標(biāo)志。當(dāng)R為高電平時表示狀態(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è)計上,ALE和START并在一起,通道選擇端固定在選通通道0</p><p> 上,開始轉(zhuǎn)換的同時鎖存通道0。AD控制器模塊實現(xiàn)是通過莫爾狀態(tài)機(jī)實現(xiàn)的。它主要是產(chǎn)生AD轉(zhuǎn)換所需要的時序。故此狀態(tài)機(jī)有七種狀態(tài)分別是S0、S1、S2、S3、S4、S5、S6。其中S0代
56、表的是轉(zhuǎn)換的初狀態(tài)此時START=‘0’,ENABLE=‘0’。S1代表的是轉(zhuǎn)換啟動狀態(tài)此時START=‘1’,ENABLE=‘0’。S2代表的是轉(zhuǎn)換期間狀態(tài)此時START=‘1’,ENABLE=‘0’。S3代表的是轉(zhuǎn)換結(jié)束狀態(tài)此時START=‘0’,ENABLE=‘0’,EOC=‘1’。S4代表的是數(shù)據(jù)輸出狀態(tài)此時START=‘0’,ENABLE=‘1’,EOC=‘1’。S5代表的是讀入數(shù)據(jù)狀態(tài)此時START=‘0’,ENABLE=‘
57、1’。S6代表的是返回AD轉(zhuǎn)換的初始狀態(tài)。每當(dāng)有時鐘上升沿的到來時,狀態(tài)機(jī)根據(jù)各個狀態(tài)條件來決定下一個狀態(tài)及相關(guān)的端口輸出。[3 4 7 8 9 14 15]</p><p> 3.2.3 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-3。由該仿真波形可以得出本模塊的編寫沒有問題。因為</p><p> 它輸出信號ENABLE、START、
58、EOC波形與AD工作時序圖(見圖2-2)一致 。 </p><p> 圖3-3 AD控制部分仿真波形</p><p> 3.3 頻率計模塊</p><p> 頻率計模塊是這個系統(tǒng)設(shè)計的最復(fù)雜的一個部分,它包含了四個小模塊分別是</p><p> 檢測模塊、頻率控制模塊、計數(shù)模塊、鎖存模塊。其中檢測模塊是檢測AD轉(zhuǎn)換數(shù)
59、據(jù)中的8bit二進(jìn)制數(shù)據(jù),一旦檢測到設(shè)定的特殊碼就產(chǎn)生一個高電平的脈沖;頻率控制模塊主要是負(fù)責(zé)產(chǎn)生計數(shù)所需的控制信號;計數(shù)模塊則是記錄標(biāo)準(zhǔn)時鐘1s內(nèi)檢測模塊產(chǎn)生高電平次數(shù)每來一個高電平則計數(shù)值加1;鎖存模塊就是鎖存住每次的計數(shù)值,然后在上升沿到來時將計數(shù)值傳輸給LED顯示模塊。它的方框圖見圖3-4。</p><p> 圖3-4 頻率計模塊方框圖</p><p> 3.3.1 檢測模
60、塊的端口說明及編程實現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-5。端口說明如下:</p><p> CLK:輸入端口,它是檢測模塊掃描時鐘。主要是用來與AD轉(zhuǎn)換后的數(shù)據(jù)實現(xiàn)</p><p> 同步的掃描信號,它的來源是AD芯片送出的信號ENABLE(數(shù)據(jù)轉(zhuǎn)換輸出使能)。</p><p> DB:輸入端口,它是檢測模塊的8b
61、it二進(jìn)制數(shù)據(jù)輸入的端口。它的數(shù)據(jù)來源于 </p><p> AD轉(zhuǎn)換后輸出的8bit二進(jìn)制數(shù)據(jù)。</p><p> Q:輸出端口,它是檢測模塊的結(jié)果輸出端口。當(dāng)它輸出高電平脈沖信號時,它</p><p> 代表了檢測到了AD轉(zhuǎn)換數(shù)據(jù)中的8bit二進(jìn)制數(shù)據(jù)中設(shè)定的特殊碼到來。</p><p> 圖3-5 檢測模塊方框圖</p&
62、gt;<p> ?。?) 該模塊的編程實現(xiàn)</p><p> 該模塊的編程思想是通過掃描時鐘對AD轉(zhuǎn)換結(jié)束后的數(shù)據(jù)進(jìn)行逐個數(shù)據(jù)進(jìn)行掃描,然后根據(jù)掃描的數(shù)據(jù)判斷是否掃描到設(shè)定的特殊碼,如果是就發(fā)送一個高電平的脈沖信號。然后將這個信號傳遞個后面的模塊進(jìn)行后續(xù)處理。</p><p> ?。?) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形
63、見圖3-6。由圖中可以看出,一旦有數(shù)據(jù)被檢測到就會輸出一個高電平,無則輸出低電平。這與編程思想相符合。</p><p> 圖3-6 檢測模塊仿真波形</p><p> 3.3.2 頻率控制模塊端口說明及編程實現(xiàn)</p><p> (1) 該模塊的方框圖見圖3-7。端口說明如下:</p><p> CLK:輸入端口,它是頻率控制模
64、塊的時鐘輸入端口。它主要是產(chǎn)生控制信號的標(biāo)準(zhǔn)輸入時鐘。它的頻率是1Hz。</p><p> TETEN:輸出端口,它是頻率控制模塊的計數(shù)允許的輸出端口。當(dāng)它為高電平時,</p><p> 表示允許計數(shù)器的計數(shù)。</p><p> LOAD:輸出端口,它是頻率控制模塊的鎖存允許的輸出端口。當(dāng)它為高電平時表</p><p> 示允許其將計
65、數(shù)器的計數(shù)值鎖存。</p><p> CLR_CNT:輸出端口,它是頻率控制模塊的計數(shù)清零信號輸出端口。當(dāng)它為高電</p><p> 平時表示允許其將計數(shù)器的計數(shù)值清零。每次計數(shù)開始時該信號就需要輸出一個高電平的脈沖。</p><p> 圖3-7 頻率控制模塊方框圖</p><p> ?。?) 頻率控制模塊編程實現(xiàn) </p&
66、gt;<p> 該模塊的作用是產(chǎn)生測頻所需要的各種控制信號。控制信號的標(biāo)準(zhǔn)輸入時鐘為1Hz,每兩個時鐘周期進(jìn)行一次頻率測量。該模塊產(chǎn)生3個控制信號率測量TETEN,LOAD,CLR_CNT。其中CLR_CNT信號用于在每次測量開始時,對計數(shù)器的復(fù)位,以清除上次的測量結(jié)果,復(fù)位信號高電平有效,持續(xù)時間為半個時鐘周期的時間。TETEN為計數(shù)允許信號,在其為上升沿時計數(shù)器模塊開始對輸入信號的頻率進(jìn)行測量。測量時間恰為一個時鐘周
67、期(正好為單位時間1s),在此時間里對被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率。然后將計數(shù)值鎖存,并送到數(shù)碼管顯示進(jìn)行后續(xù)處理。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。在每一次測量開始時,都必須重新對計數(shù)器清0。</p><p> 控制模塊的幾個控制信號的時序關(guān)系如圖3-8所示。從圖中可看出,計數(shù)使能信號teten在1s的高電平后,利用其反相值的產(chǎn)生鎖存信號load,隨后產(chǎn)生清零
68、信號上升沿clr_cnt。清零信號是CLK與TETEN同或得到的。</p><p> 圖3-8 控制信號時序關(guān)系圖</p><p> ?。?) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-9。由波形圖中可以看出,TETEN是CLK1的二分頻。每次計數(shù)開始CLR_CNT置高電平即清零。LOAD信號波形與TETEN信號波形相反。這與控制信號的
69、時序關(guān)系相符合。</p><p> 圖3-9 頻率控制模塊的仿真波形</p><p> 3.3.3 計數(shù)模塊端口說明及編程實現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-10。端口說明如下:</p><p> CLK:輸入端口,它是頻率計數(shù)模塊的時鐘輸入端口。它是標(biāo)準(zhǔn)時鐘信號,其頻</p><p>
70、<b> 率為1Hz。</b></p><p> CLR:輸入端口,它是頻率計數(shù)模塊的清零信號輸入端口。它的作用是在每次計</p><p> 數(shù)開始時清除上次計數(shù)值。它是高電平有效。</p><p> ENA:輸入端口,它是頻率計數(shù)模塊的計數(shù)允許信號輸入端口。當(dāng)它為高電平時,</p><p> 表示允許計數(shù)器的
71、計數(shù)允許。</p><p> CQ:輸出端口,它是頻率計數(shù)模塊的計數(shù)值的輸出端口。它是加法器的輸出結(jié)果,</p><p> 是4bit二進(jìn)制數(shù)據(jù)即為BCD碼。</p><p> CARRY_OUT:輸出端口,它是頻率計數(shù)模塊的計數(shù)值的進(jìn)位信號的輸出端口。它</p><p> 輸出的是加法器的進(jìn)位信息。</p><p
72、> 圖3-10 計數(shù)模塊方框圖</p><p> (2) 計數(shù)模塊編程實現(xiàn)</p><p> 該計數(shù)模塊是由六個帶有異步清零端,進(jìn)位信號輸出的模為10的計數(shù)模塊級連</p><p> 而成。通過freq.vhd 進(jìn)行元件例化實現(xiàn)。當(dāng)清零信號的高電平到來時,不管此模塊</p><p> 處于何種狀態(tài),它的計數(shù)值均要清零。由此
73、可以看出清零信號的優(yōu)先級最高。通過</p><p> freq.vhd 進(jìn)行元件例化實現(xiàn)的技術(shù)模塊的內(nèi)部信號連接關(guān)系為:當(dāng)時鐘上升沿到來并</p><p> 且計數(shù)器計數(shù)允許即ENA為高電平時,計數(shù)器開始計數(shù),當(dāng)計數(shù)值達(dá)到9以后,計</p><p> 數(shù)值清零并且進(jìn)位信號輸出一個高電平。此時這個高電平的進(jìn)位信號作為敏感信號</p><p&g
74、t; 觸發(fā)下個計數(shù)模塊的工作,如果這個計數(shù)模塊的計數(shù)值達(dá)到9以后,計數(shù)值清零并</p><p> 且進(jìn)位信號輸出一個高電平。接著這個高電平的進(jìn)位信號又作為敏感信號觸發(fā)下一</p><p> 個計數(shù)模塊的工作,依次類推直到所有的計數(shù)模塊工作。它的級聯(lián)輸出是24bit的二</p><p><b> 進(jìn)制加法數(shù)據(jù)。</b></p>
75、<p> (3) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-11。由波形圖中可以看出,每當(dāng)有清零信號CLR來到時計數(shù)值清零,當(dāng)時鐘上升沿時計數(shù)器計數(shù),計到9時計數(shù)值變?yōu)?,此時進(jìn)位端CARRY _OUT輸出高電平。這與編程思想相符合。</p><p> 圖3-11 計數(shù)模塊仿真波形</p><p> 3.3.4 鎖存
76、模塊端口說明及編程實現(xiàn)</p><p> (1) 該模塊的方框圖見圖3-12。端口說明如下:</p><p> LOAD:輸入端口,它是鎖存模塊的鎖存允許的輸入端口。當(dāng)它為上升沿時計數(shù)</p><p> 值開始鎖存,也可以將這個信號當(dāng)作時鐘信號。</p><p> DIN:輸入端口,它是鎖存模塊的鎖存數(shù)據(jù)的輸入端口。它是24bit的
77、二進(jìn)制數(shù)據(jù)</p><p> 輸入,它的數(shù)據(jù)來源于級聯(lián)的計數(shù)模塊的各個計數(shù)值輸出。</p><p> DOUT:輸出端口,它是鎖存模塊的鎖存數(shù)據(jù)的輸出端口。它是24bit的二進(jìn)制數(shù)</p><p> 據(jù)輸出,它的數(shù)據(jù)來源于級聯(lián)的計數(shù)模塊的各個計數(shù)值輸出。</p><p> 圖3-12 鎖存模塊方框圖</p><p
78、> ?。?) 鎖存模塊的編程實現(xiàn)</p><p> 這個模塊的功能實現(xiàn)思想是當(dāng)鎖存信號的上升沿到來時,將鎖存來自于級聯(lián)的</p><p> 計數(shù)模塊的輸出的各個計數(shù)值傳遞給鎖存輸出端口。</p><p> ?。?) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-13。由波形圖中可以得出,一旦鎖存信號LOAD的
79、上升</p><p> 沿到來時,將鎖存的數(shù)據(jù)輸出。</p><p> 圖3-13 鎖存模塊仿真波形</p><p> 3.4 分頻模塊</p><p> 分頻器通常用來對某個給定頻率進(jìn)行分頻,得到所需的頻率。整數(shù)分頻器的實</p><p> 現(xiàn)非常簡單,可采用標(biāo)準(zhǔn)的計數(shù)器,也可以采用可編程邏輯器件設(shè)計
80、實現(xiàn),但在某</p><p> 些場合下,時鐘源與所需的頻率不成整數(shù)關(guān)系,此時可采用小數(shù)分頻器進(jìn)行分頻。</p><p> 所以對于基于FPGA的時鐘分頻,可以簡單分為奇數(shù)分頻與偶數(shù)分頻,而且分頻后</p><p> 時鐘的占空比也是可變的,最簡單的時鐘分頻就是對時鐘進(jìn)行計數(shù),然后輸出時鐘</p><p> 信號等于計數(shù)器各位相與,這
81、樣得到的分頻信號,其占空比很小,即時鐘高電平只</p><p> 有一個,但由于FPGA設(shè)計的對時鐘跳變沿的判斷的精確性,故這種分頻方式也是</p><p><b> 可取的。</b></p><p> 3.4.1 分頻模塊的端口說明及編程實現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-14及3-15。
82、端口說明如下:</p><p> CLKIN:輸入端口,它是系統(tǒng)時鐘信號輸入端口。該時鐘信號的頻率是50MHz。CLK_LED:輸出端口,它是LED數(shù)碼管掃描信號的輸出端口。它的時鐘信號輸</p><p> 出頻率是2.5KHz。</p><p> CLK_AD:輸出端口,它是模數(shù)轉(zhuǎn)換芯片ADC0809的轉(zhuǎn)換時鐘信號的輸出端口。</p><
83、p> 它的時鐘信號輸出頻率是250KHz。</p><p> FREQ1:輸出端口,它是頻率控制模塊的標(biāo)準(zhǔn)時鐘信號的輸出端口。它的時鐘信</p><p> 號的輸出頻率是1Hz。</p><p> CLK_1M:輸出端口,它是作為過渡信號連接CLK端口的時鐘信號的輸出端口。</p><p> 它的時鐘信號的輸出頻率是1MHz。
84、</p><p> 圖3-14 分頻模塊方框圖 圖3-15 分頻模塊方框圖</p><p> (2) 分頻模塊的編程實現(xiàn)</p><p> 它主要是由FPGA提供50MHz的時鐘信號,將其經(jīng)過50分頻產(chǎn)生1MHz信號</p><p> 后,再將1MHz信號經(jīng)過4、400、1000000分頻分別產(chǎn)生2
85、50KHz、2.5KHz及1Hz。</p><p> 其中250KHz的信號用于AD轉(zhuǎn)換提供時鐘信號;2.5KHz是用于給LED數(shù)碼管提供</p><p> 掃描數(shù)據(jù)所用的時鐘信號;1Hz是用來給頻率控制模塊提供標(biāo)準(zhǔn)測量時鐘1s,用于查</p><p> 看被測信號的周期個數(shù)。</p><p> (3) 該模塊的仿真波形及分析<
86、;/p><p> 模塊的仿真波形見圖3-16、3-17。由波形圖中可以看出,分頻得到的結(jié)果與編</p><p> 程思想相符。由于軟件的時鐘限制故不能完全反應(yīng)出它們的對應(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ù),一般情況下要通過一個譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能(在本實驗箱中所有的LED均位共陰級的)。</p><p> 3.5.1 LED數(shù)碼管的端口說明及編程實
88、現(xiàn)</p><p> ?。?) 該模塊的方框圖見圖3-18。端口說明如下:</p><p> CLK1:輸入端口,它是數(shù)碼管掃描時鐘信號輸入端口。該時鐘信號的頻率2.5KHz。</p><p> OUTB:輸出端口,它是顯示數(shù)據(jù)位選擇輸出端口。</p><p> OUTA:輸出端口,它是顯示數(shù)據(jù)輸出端口。</p><
89、;p> 圖3-18 LED數(shù)碼管模塊方框圖</p><p> ?。?) LED編程實現(xiàn)</p><p> 設(shè)計了一個3位的循環(huán)計數(shù)器,將計數(shù)結(jié)果輸入到編寫的3-8譯碼器程序中,譯碼結(jié)果輸出即可依次點(diǎn)亮每個LED。同時再編寫一個關(guān)于數(shù)碼管數(shù)據(jù)轉(zhuǎn)換所需的數(shù)據(jù)表。通過查表得到我們?nèi)粘K姷氖M(jìn)制數(shù)。例如:要讓8個LED同時工作,顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個LED,并在使能每
90、一個LED的同時,輸入所需顯示的數(shù)據(jù)對應(yīng)的8位段碼。雖然8個LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個LED同時工作。</p><p> ?。?) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-19。由波形圖中可以看出,當(dāng)時鐘上升沿到來時,將計數(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)陣工作原理:它的行為掃描選通信號、列為數(shù)據(jù)輸入。顯示采用逐行掃描方式,數(shù)據(jù)端不斷輸入數(shù)據(jù),行掃描按一定順序逐行選通,掃描一個周期(16個數(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 該模塊端口說明及編程實現(xiàn)</p><p> (1) 該模塊的方框圖見圖3-21。端口說明如下:</p><
93、;p> KEY1:輸入端口,它是按鍵K0的輸入端。當(dāng)按鍵K0按下后,KEY1被輸入一</p><p> 個高電平,無動作時則輸入低電平。</p><p> KEY2:輸入端口,它是按鍵K1的輸入端。當(dāng)按鍵K1按下后,KEY2被輸入一</p><p> 個高電平,無動作時則輸入低電平。</p><p> CLK1K:輸入端口,它
94、是點(diǎn)陣的時鐘掃描信號。它的頻率為1KHz。</p><p> OUTERA:輸出端口,它是點(diǎn)陣的列數(shù)據(jù)輸出信號。主要給點(diǎn)陣提供顯示內(nèi)容的</p><p><b> 幀數(shù)據(jù)。</b></p><p> OUTERB:輸出端口,它是點(diǎn)陣的行選通信號的輸出信號。主要負(fù)責(zé)點(diǎn)亮被選通</p><p><b> 行
95、的LED。</b></p><p> 圖3-21 LED點(diǎn)陣方框圖</p><p> ?。?) LED點(diǎn)陣編程實現(xiàn) </p><p> 該模塊的結(jié)構(gòu)框圖見圖3-22。Source1進(jìn)程用于產(chǎn)生ROM尋址信號,它的輸出低4位為Source2進(jìn)程的輸入,用于掃描同步。ROM大小為16×256,可存儲16幀的數(shù)據(jù)。每幀數(shù)據(jù)輸出16個字節(jié),S
96、ource2的掃描循環(huán)一次。當(dāng)K1按鍵沒有被按下時,每幀重復(fù)掃描32次再轉(zhuǎn)到下一幀的掃描一直掃描到16幀數(shù)據(jù)。當(dāng)K1按鍵被按下時,每幀重復(fù)掃描32次再轉(zhuǎn)到下一幀的掃描且只掃描12幀數(shù)據(jù)。非門的作用是,當(dāng)Source1有穩(wěn)定的掃描數(shù)據(jù)輸出后尋址輸出數(shù)據(jù)和選通信號。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)陣提供時鐘。</p><p> 圖3-22 LED點(diǎn)陣結(jié)構(gòu)框圖</p><p> ?。?) 該模塊的仿真波形及分析</p><p> 模塊的仿真波形見圖3-23。由波形圖中可以看出,當(dāng)時
98、鐘上升沿到來時,KEY1、KEY2沒有被按下時輸出的是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è)計過程中,在軟件
99、的使用方面遇到了一些問題,例如:在使用軟件對</p><p> 編寫的程序進(jìn)行波形仿真時點(diǎn)擊后軟件提示我操作錯誤。用元件例化編寫了計數(shù)</p><p> 器模塊,想看下該模塊的內(nèi)部結(jié)構(gòu)圖時不知道如何查看RTL級電路內(nèi)部結(jié)構(gòu)?特別</p><p> 是在波形仿真這一塊按照正常情況下只需要點(diǎn)擊就可以仿真。但是,由于我沒有</p><p>
100、 設(shè)置仿真工具相關(guān)的選項,如要先將想要進(jìn)行仿真的那個程序設(shè)為頂層實體編譯后</p><p> 將它的波形文件需要的相關(guān)輸入波形建立并保存,然后在仿真工具調(diào)用該波形文件</p><p> 此時再點(diǎn)擊即可完成波形的仿真。查看RTL級電路內(nèi)部結(jié)構(gòu)的方法為點(diǎn)擊工具</p><p> 菜單選擇RTL級項目即可。</p><p> 4.2 AD
101、轉(zhuǎn)換工作中遇到的問題</p><p> 我在這部分遇到的問題是將程序下載到FPGA中,同時將AD所需要的各種信號外引到擴(kuò)展端口,結(jié)果在這些端口上測量(用示波器觀察)發(fā)現(xiàn)EOC(轉(zhuǎn)換結(jié)束標(biāo)志信號)、STRAT(轉(zhuǎn)換啟動信號)、ENABLE(計數(shù)允許信號)均沒有信號即都是低電平,但是AD時鐘信號存在。我一開始懷疑是AD的狀態(tài)機(jī)沒有啟動,于是將程序修改后再次下載仍然是這樣。我有開始想問題出在哪里,思考后覺得這個問題也
102、許根本不是我的程序出了問題,而是這個試驗箱的幾個外接端口有問題。所以我開始用試驗箱上的資源來測試我的程序。結(jié)果恰恰與我所料果然是試驗箱上外接端口壞了(我后來有專門測試過這些引腳的端口信號證實了這點(diǎn))。 </p><p> 還有一個問題就是ADC0809的轉(zhuǎn)換時間是多少?通過查看相關(guān)的資料,發(fā)現(xiàn)其轉(zhuǎn)換時間是需要64個時鐘周期的。轉(zhuǎn)換速率為轉(zhuǎn)換時間的倒數(shù)設(shè)為f。而根據(jù)采樣定理和實際需要,要還原一個周期的波形信號至少
103、需采集10個樣點(diǎn),那么這個AD轉(zhuǎn)換器最高也只能處理頻率為f/10的模擬信號。</p><p> 4.3 頻率計遇到的問題</p><p> 4.3.1 計數(shù)模塊</p><p> 當(dāng)初編寫這個模塊是,將它編寫成為組合邏輯電路了,故進(jìn)行軟件仿真時這款軟件就死機(jī)了沒有響應(yīng),經(jīng)過xx老師的指點(diǎn)說計數(shù)器是一個時序電路怎么能沒有時鐘。于是加了一個時鐘信號進(jìn)去果然仿真
104、成功了問題解決。</p><p> 4.3.2 頻率控制模塊</p><p> 該模塊是在頻率計進(jìn)行下載在板上運(yùn)行時,用示波器觀察各個端口的信號是發(fā)現(xiàn)TETEN(計數(shù)允許信號)與CLR(計數(shù)清零信號)兩者的波形恰好給弄反了,修改程序后測量信號結(jié)果才是正確。</p><p> 4.3.3 頻率計</p><p> 在板上調(diào)試頻率計時
105、,發(fā)現(xiàn)不管怎樣修改程序LED數(shù)碼管顯示的結(jié)果均是錯誤的顯示值。經(jīng)老師指點(diǎn)知道問題可能出在掃描檢測模塊的時鐘太快了,沒有檢測到采樣值。由此我特意查看相關(guān)資料知道如果要掃描檢測一個數(shù)據(jù),必須使掃描時鐘信號與數(shù)據(jù)信號進(jìn)行同步才能準(zhǔn)確檢測去數(shù)據(jù)。經(jīng)過苦思后,突然發(fā)現(xiàn)可以利用AD芯片中輸出的轉(zhuǎn)換數(shù)據(jù)輸出允許信號ENABLE作為掃描信號,因為它剛好與輸出的數(shù)據(jù)同步,這個就很好的解決了同步掃描信號到底需要多大的具體值這個問題。</p>
106、<p> 4.4 點(diǎn)陣調(diào)試遇到的問題</p><p> 在板上調(diào)試點(diǎn)陣模塊時,發(fā)現(xiàn)點(diǎn)陣上顯示的內(nèi)容只有一個字。我開始一直以為是我的程序有問題,但是修改程序后仍然解決不了問題。經(jīng)xx老師指點(diǎn)發(fā)現(xiàn)是資源內(nèi)部有沖突,根據(jù)調(diào)試的現(xiàn)象來看問題可能出現(xiàn)在三個方面中。一、掃描時鐘有問題。二、沒有掃描到下一幀的數(shù)據(jù)。三、點(diǎn)陣模塊中的ROM有問題。經(jīng)過對相關(guān)程序的波形仿真,首先發(fā)現(xiàn)掃描時鐘沒有產(chǎn)生。修改程序后,掃描
107、時鐘有信號但是仍然是只顯示一個字,在對相關(guān)程序進(jìn)行波形仿真發(fā)現(xiàn)能夠掃描下一幀。由此可以判斷問題出在ROM中,檢查ROM中的數(shù)據(jù)沒有問題,結(jié)果發(fā)現(xiàn)ROM數(shù)據(jù)地址與存儲器的地址不匹配,修改后點(diǎn)陣正常顯示。</p><p> 4.5 系統(tǒng)調(diào)試現(xiàn)象</p><p> 因仿真軟件自身的原因無法產(chǎn)生系統(tǒng)的仿真結(jié)果,故該系統(tǒng)的現(xiàn)象是在硬件上實現(xiàn)的。其現(xiàn)象具體為:程序下載完點(diǎn)陣上顯示出通信工程二班夏
108、梅字樣,當(dāng)接入被測信號1KHz的正弦波,而在LED數(shù)碼管上顯示的測量值為1.048KHz,此時按下K0鍵可以看見點(diǎn)陣上顯示正弦波字樣,如果再按下K0鍵還可以看見點(diǎn)陣上顯示三角波字樣且能夠在DAC0832的模擬信號輸出端口查看到回放的被測信號正弦波的波形。這個頻率值與被測信號有一定的誤差。</p><p><b> 結(jié) 論</b></p><p> 本系統(tǒng)主要是研究
109、數(shù)據(jù)的采集和相關(guān)的處理,該系統(tǒng)的新穎處是加入了對信號的頻率測量,而且模擬信號的測量完全沒有用比較電路進(jìn)行處理后傳輸給計數(shù)器進(jìn)行二次處理,而是直接將采集的信號在FPGA內(nèi)部進(jìn)行相關(guān)編程實現(xiàn)的。而這也是本系統(tǒng)的難點(diǎn)及獨(dú)到之處。</p><p> 在這次畢業(yè)設(shè)計的幾個月的時間里,讓我對QUARTUSII這個軟件的使用更加熟練,并且學(xué)會了一些高級的技巧。同時也讓我對VHDL語言有了更多的了解,提高了我的編程能力。雖然在
110、研究期間我遇到了很多的困難,犯過很多的錯誤但是通過這次的設(shè)計,讓我學(xué)會了獨(dú)立思考問題和解決問題的方法。雖然我完滿的完成了畢業(yè)設(shè)計的任務(wù),但是我在知識方面的欠缺,我在今后還有很長的一段路需要走。</p><p> 本文主要是介紹了設(shè)計方案的選擇及設(shè)計方案是如何實現(xiàn)的,側(cè)重點(diǎn)在于實現(xiàn)方案所需要的方法,同時也介紹了該系統(tǒng)軟硬件的調(diào)試并簡要的介紹了該系統(tǒng)的任務(wù)及發(fā)展背景。</p><p><
111、;b> 致 謝</b></p><p> 經(jīng)過幾個月的學(xué)習(xí)研究與探索,我的研究終于完成了??粗约旱某晒?,心里有說不出的苦與樂,苦于研究過程中所遇到的種種挫折,每一個模塊的研究都是經(jīng)歷了很多次的驗證后才得以確定的。有時候真的會感到十分的無助和無奈。樂于在實踐的過程中我所體驗到的東西及對自己的能力的又一次的提升。</p><p> 在這次的設(shè)計中我遇到了很多的問題,但
112、是我都一一克服了。在這里我想要特別謝謝我們的*老師,是她讓我從迷霧中走出,是她教會我獨(dú)立思考問題的重要性,是她給我指點(diǎn)讓我解決了問題。她用她那富有個性的教育方法讓我由依賴別人到學(xué)會思考問題。我覺得她是一位具有創(chuàng)新思想的好老師。</p><p> 在這里我要再次的感謝*老師對我的教育培養(yǎng),在此我想向*老師致敬。同時也感謝二系實驗室的***老師給我提供的試驗環(huán)境。謝謝您們!祝您們身體健康!工作順利!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于FPGA的PCI數(shù)據(jù)采集及回放系統(tǒng)設(shè)計.pdf
- 基于fpga的高速數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)---基于fpga的藍(lán)牙數(shù)據(jù)采集系統(tǒng)
- 基于USB和FPGA的高速數(shù)據(jù)回放系統(tǒng).pdf
- 波形采集、存儲與回放系統(tǒng)畢業(yè)設(shè)計
- 基于FPGA和USB數(shù)據(jù)采集系統(tǒng)設(shè)計.pdf
- 基于fpga的數(shù)據(jù)采集系統(tǒng)設(shè)計
- 基于fpga的高速數(shù)據(jù)采集系統(tǒng)設(shè)計畢業(yè)論文
- 基于fpga的高速數(shù)據(jù)采集系統(tǒng)設(shè)計畢業(yè)論文
- 畢業(yè)論文----基于fpga通用數(shù)據(jù)采集系統(tǒng)的設(shè)計
- 基于fpga和stm32的數(shù)據(jù)采集系統(tǒng)設(shè)計
- 基于USB和FPGA的高速數(shù)據(jù)采集系統(tǒng)設(shè)計.pdf
- 基于FPGA的數(shù)據(jù)采集模塊設(shè)計.pdf
- 基于NANDFLASH的高速大容量數(shù)據(jù)采集和回放系統(tǒng).pdf
- 基于fpga數(shù)據(jù)采集和濾波系統(tǒng)平臺設(shè)計實現(xiàn)
- 基于labview的數(shù)據(jù)采集系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 數(shù)據(jù)采集畢業(yè)設(shè)計
- 畢業(yè)論文-基于fpga通用數(shù)據(jù)采集測試系統(tǒng)的設(shè)計
- 基于fpga和usb2.0的數(shù)據(jù)采集系統(tǒng)的設(shè)計
- 畢業(yè)論文-基于fpga通用數(shù)據(jù)采集測試系統(tǒng)的設(shè)計
評論
0/150
提交評論