基于FPGA的四路搶答器_第1頁
基于FPGA的四路搶答器_第2頁
基于FPGA的四路搶答器_第3頁
基于FPGA的四路搶答器_第4頁
基于FPGA的四路搶答器_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)北 華 航 天 工 業(yè) 學 院EDA技術綜合設計課程設計報告報告題目: 競賽搶答器 作者所在系部: 電子工程系 作者所在專業(yè): 電子信息工程 作者所在班級: B10212 作 者 姓 名 : 郭思華 指導教師姓名: 胡輝 完 成 時 間 : 2012-12-16 內(nèi) 容 摘 要EDA技術是現(xiàn)代電子信息工程領域的一門新技術,他是先進的計算機工作平臺上開發(fā)出來的一套電子系統(tǒng)設計的軟硬件工具,并設計先進的電子系統(tǒng)設計方法。本文介紹了以FPGA為基礎的四路搶答器的設計,此次設計

2、是一個有4組搶答輸入,并具有搶答計時控制,到時報警以及時間顯示等功能的通用型搶答器。此次設計它以VHDL硬件描述為平臺,結合動手實踐完成。該搶答器分為五個模塊:搶答模塊、計時模塊、選擇模塊,位循環(huán)模塊和譯碼模塊。利用Quartus工具軟件完成率編譯仿真驗證。關鍵詞EDA、可編程邏輯器件、計數(shù)器、顯示器目 錄一 概 述1二 方案設計與論證1三單元電路程序設計及其功能驗證 2(一) 搶答鎖存模塊的設計 2(二) 計時模塊的設計4 (三) 數(shù)據(jù)選擇模塊的設計5(四) 譯碼模塊的設計 6(五) 位循環(huán)模塊的設計8四 完整電路設計與分析9(一)主電路圖 9(二)時序仿真圖 9(三)芯片引腳分布圖10五

3、性能測試與分析 10六 實驗設備 10七 心得體會 10八 參考文獻 11 課程設計任務書課題名稱競賽槍答器設計完成時間2012.12.16指導教師胡輝職稱副教授學生姓名郭思華班 級B10212總體設計要求和技術要點總體設計要求: 通過本課程的學習使學生掌握可編程器件、EDA開發(fā)系統(tǒng)軟件、硬件描述語言和電子線路設計與技能訓練等各方面知識;提高工程實踐能力;學會應用EDA技術解決一些簡單的電子設計問題。技術要點:搶答器同時供4名選手或4個代表隊比賽,分別用4個按鈕設計一個4路智力競賽搶答器,具體設計要求如下:1.設置一個系統(tǒng)清除和搶答控制開關S,該開關由主持人控制。2搶答器具有鎖存與顯示功能。即

4、選手按動按鈕,鎖存相應的編號,并在LED數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。3. 搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如30秒)。當主持人啟動“開始”鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。4. 參賽選手在設定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。 5. 如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示00。工作內(nèi)容及時間進度安排工作內(nèi)容:1、各模塊編程及編譯、

5、波形仿真、整體電路的連接及仿真。2、下載到實驗箱,驗證結果。進度安排:14周周一到周五上機編寫程序。 15周周六在實驗室調(diào)試程序 周日下載驗證,做硬件實驗。課程設計成果1與設計內(nèi)容對應的軟件程序,時序仿真圖,對應生成的邏輯器件。2課程設計報告書3成果使用說明書4設計工作量要求一、概述 搶答器主要由搶答模塊、計時模塊、選擇模塊,位循環(huán)模塊和譯碼模塊組成。在整個搶答器中主持人在搶答前設置好搶答時間,在復位開始按鍵按下后,搶答器開始倒計時,若在計時時間內(nèi)無人搶答,則搶答器報警提示,若在計時過程中有人搶答,則數(shù)碼管顯示第一個搶答的人的編號,同時停止計時。搶答器共有3個輸出顯示,選手代號、計數(shù)器的個位和

6、十位,他們輸出全都為BCD碼輸出,這樣便于和顯示譯碼器連接。二、方案設計與論證將該任務分成五個模塊進行設計,分別為:搶答器搶答模塊、搶答器計時模塊、位循環(huán)模塊、譯碼模塊和選擇模塊。設計過程: 在本次設計中,我先對整體要求進行了了解,然后根據(jù)要求將整個電路劃分為 5個模塊,并對這5個模塊的功能進行了劃分,然后依據(jù)各模塊功能編寫程序,并 對編寫出的程序進行了編譯以及時序仿真,若結果正確則繼續(xù)進行下一個模塊的編 寫,若錯誤就進行修改直到結果正確。 將5個模塊都編寫完成之后,讓這5個模塊生成對應的器件,然后連接出完整 的電路進行編譯及仿真,在沒有錯誤后在實驗箱上進行功能驗證。方案論證:搶答鎖存模塊;在

7、這個模塊中主要實現(xiàn)搶答過程中的搶答功能。在搶答開始后,當任意一路搶答器按下后,信號輸入并進行鎖存,這時其它搶答按鍵再按下也不起作用。此模塊有A、B、C、D四路搶答輸入信號;復位信號R;輸出報警信號BJ;數(shù)據(jù)輸出信號Y。搶答器計時模塊:在這個模塊中主要實現(xiàn)搶答過程中的計時功能。在搶答開始主持人按下復位鍵后進行60秒的倒計時,并且在60秒倒計時后無人搶答顯示超時并報警,若有選手搶答則計時停止,主持人也可以手動設置計時時間。此模塊包含時鐘信號CLK;系統(tǒng)復位信號R;修改時間使能信號EN;無人搶答警報信號BJ;有人搶答停止計時信號ST;時間設置輸入十位和個位信號cg,cs;計時十位和個位輸出信號SW,

8、GW。數(shù)據(jù)選擇模塊:在這個模塊中主要實現(xiàn)搶答過程中的數(shù)據(jù)循環(huán)顯示功能,通過SEL信號的循環(huán)輸入,從而控制數(shù)碼管的循環(huán)顯示,利用人眼的視覺停留使人感覺數(shù)碼管是同時常亮的。此模塊包含輸入顯示位控制信號SEL;數(shù)據(jù)輸入信號H,G,S;數(shù)據(jù)輸出信號Z 。譯碼模塊: 在這個模塊中主要實現(xiàn)搶答過程中將BCD碼轉換成7段的功能。在本 次課設中主要用于對時間的個位、十位的數(shù)值進行相應的譯碼,使其在數(shù)碼 管上能顯示出正常數(shù)字。此模塊包含輸入信號SJ,輸出信號Y。位循環(huán)模塊: 實現(xiàn)搶答過程中對數(shù)碼管掃描顯示位的控制。在本次課設中共利用了 三個數(shù)碼管,所以將SEL設置在000,001,010三個數(shù)之間循環(huán),使得數(shù)

9、碼管僅顯示后三位。此模塊包含CLK控制信號,復位控制信號R,輸出信 號SEL。三、單元電路程序設計及其功能驗證(一)搶答鎖存模塊 1、VHDL源程序 LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY QDMK IS PORT(A,B,C,D:IN std_logic; R:IN std_logic; SIGNAL CLK:IN std_logic; BJ:OUT std_logic; Y:buffer std_logic

10、_vector(6 DOWNTO 0); END QDMK; ARCHITECTURE behave OF QDMK IS BEGIN PROCESS(A,B,C,D,R,CLK) BEGIN IF R=1THEN Y=; BJ=0; ELSIF CLKevent AND CLK=1THEN IF Y= THEN IF A=1 THEN Y=; ELSIF B=1 THEN Y=; ELSIF C=1 THEN Y=; ELSIF D=1 THEN Y=; END IF; ELSE NULL; END IF; BJ=A OR B OR C OR D; END IF; END PROCESS;

11、END behave;2、仿真圖由圖中可看出在復位信號R從高電平降到低電平后,搶答器開始正常工作,A最先搶答,這時開始報警,數(shù)碼管輸出顯示1,說明A最先搶答。(二)計時模塊1、VHDL源程序LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY JS IS PORT(R,ST,EN,CLK:IN std_logic; cg,cs:IN std_logic_vector(3 DOWNTO 0); GW,SW:BUFFER std_log

12、ic_vector(3 DOWNTO 0); BJ:OUT std_logic);END JS;ARCHITECTURE behave OF JS ISBEGINPROCESS(R,EN,ST,CLK) BEGIN IF ST=0THEN IF R=1THEN IF EN=1THEN GW=cg; SW=cs; BJ=0; ELSE GW=0000; SW=0110; BJ=0; END IF; ELSIF CLKEVENT AND CLK=1THEN IF GW=0000THEN GW=1001; IF SW=0000THEN SW=0110; ELSE SW=SW-1; END IF; E

13、LSE GW=GW-1; END IF; IF GW=0000AND SW=0000THEN GW=0000; SW=0110; BJ=1; END IF; END IF; ELSE BJ=0; END IF; END PROCESS;END behave;2、仿真圖從圖中可看出,在復位信號為1時,始能信號EN為1,這時計時時間改變?yōu)閏s,cg中輸入的06秒,在復位信號變?yōu)?后開始計時,在計時時間到達0時由于無人搶答(由停止信號ST控制),故產(chǎn)生報警信號開始報警。在停止信號為1后,停止計時,在停止信號為0時,計時再次開始。(三)數(shù)據(jù)選擇模塊1、VHDL源程序 LIBRARY ieee; USE

14、 ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY XZMK IS PORT(SEL:IN std_logic_vector(2 DOWNTO 0); H,S,G:IN std_logic_vector(6 DOWNTO 0); Z:OUT std_logic_vector(6 DOWNTO 0); END XZMK; ARCHITECTURE behave OF XZMK IS BEGIN WITH SEL SELECT ZYYYYYYYYYYY=; E

15、ND CASE; END PROCESS; END behave;2、仿真從圖中可看出,本模塊對輸入的BCD碼信號(SJ信號)進行了編譯,輸出信號Y,使其能在數(shù)碼管上對應顯示出相應的數(shù)值。(五)位循環(huán)模塊1、VHDL源程序 LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_arith.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY SEL IS PORT(CLK,R:IN std_logic; SEL:buffer std_logic_vector(2 DOWNTO 0); EN

16、D SEL; ARCHITECTURE behave OF SEL IS BEGIN PROCESS(CLK,R) BEGIN IF R=1 THEN SEL=000; ELSIF CLKEVENT AND CLK=1THEN IF SEL=010THEN SEL=000; ELSE SEL=SEL+1; END IF; END IF; END PROCESS; END behave;2、仿真從圖中看出,在復位開始信號為1時不工作,在為0后開始工作,SEL信號在0-2這三個數(shù)內(nèi)隨CLK信號的變化循環(huán),實現(xiàn)數(shù)碼管的循環(huán)顯示。四、完整電路設計與分析(一)主電路圖 下圖為具有完整搶答器功能的結構圖,

17、其中用到了搶答模塊一個,計時模塊一個,譯碼模塊兩個,選擇模塊一個,位循環(huán)模塊一個。共有17個輸入,11個輸出。(二)時序仿真圖下圖為整個模塊的時序仿真圖,由圖中可看出,在復位信號為0后,搶答器開始工作,在有搶答信號后搶答器報警,數(shù)碼管輪流顯示計時時間及最先搶答的搶答器對應的號碼。 (三)芯片引腳分布圖下圖為將程序下載到芯片前設置的引腳分布。五、性能測試與分析將R鍵撥到0觀察數(shù)碼管是否開始從60倒計時,然后再將R鍵撥回1,之后將使能信號EN撥至1,將cs,cg設置為想要輸入的時間,然后將R撥至0,觀察數(shù)碼管是否顯示修改過之后的時間,并從設置好的時間開始計時。在計時功能驗證完成后,按下?lián)尨鹦盘枺?/p>

18、時搶答器發(fā)出警報聲,并在數(shù)碼管上顯示出最先搶答的組對應的編號,說明搶答器功能正常。六、實驗設備裝有Quartus的計算機,教學實驗箱,導線若干。七、心得體會在EDA技術中最為矚目的是以現(xiàn)代電子技術為特征的邏輯設計仿真測試技術。該技術只需要通過計算機就能對所設計的電子系統(tǒng)從不同層次的性能特點上,進行一系列準確的測試和仿真,大大的方便了我們的設計,避免了受現(xiàn)實中有限的器件的限制。在本次課設中,我做的是四路搶答器。在最開始的一個禮拜,我先是從網(wǎng)絡上找到了類似題目的課程設計,參考并閱讀了他人的程序,然后再在電腦上按模塊編寫成序,編寫完成后進行了仿真。在編寫程序的過程中,我發(fā)現(xiàn)自己在對VHDL語言的掌握上還有很多欠缺,程序也是經(jīng)過了許多遍的修改之后,才做到了在盡可能簡練的基礎上將功能完整實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論