電子搶答器課程設(shè)計論文_第1頁
電子搶答器課程設(shè)計論文_第2頁
電子搶答器課程設(shè)計論文_第3頁
電子搶答器課程設(shè)計論文_第4頁
電子搶答器課程設(shè)計論文_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 引言現(xiàn)代電子產(chǎn)品在性能提高、復雜度增大的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的主要因素是生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的發(fā)展。前者以微細加工技術(shù)為代表,目前已進展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬個晶體管。后者的核心就是EDA技術(shù)。1.1 關(guān)于 EDAEDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀90年代初從計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件

2、描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。目前有多種EDA工具支持采用VHDL進行電路綜合、仿真以及實現(xiàn)。一些可編程器件生產(chǎn)商將使用VHDL進行電路設(shè)計所需的多種EDA工具集成為統(tǒng)一的開發(fā)平臺提供給用戶,進行針對本公司可編程器件產(chǎn)品的開發(fā),從而使整個設(shè)計流程更加簡捷和易于使用。目前比較常見的是Altera公司的QuartusII 和Xilinx 公司的ISE開發(fā)平臺。1.2關(guān)于VHDLVHDL是一種用于電路設(shè)計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍

3、用來提高設(shè)計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設(shè)計語言 。VHDL的英文全寫是:VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.翻譯成中文就是超高速集成電路硬件描述語言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計中。目前,它在中國的應(yīng)用多數(shù)是用在FPGA/CPLD/EPLD的設(shè)計中。當然在一些實力較為雄厚的單位,它也被用來設(shè)計ASIC。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL

4、的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點 。與其他硬件描述語言相比,VHDL具有以下特點:(1)功能強大、設(shè)計靈活。VHDL具有功能強大的語言結(jié)構(gòu),可以用簡潔明確的源代碼來描述復雜的邏輯控制。它具有多層次的設(shè)計描述功能,層層細化,最后可直接生成電路級描述。VHDL支持同步電路、異步電路和隨機電路的設(shè)計,這是其他

5、硬件描述語言雖不能比擬的。VHDL還支持各種設(shè)計方法,既支持自底向上的設(shè)計,又支持自頂向下的設(shè)計;既支持模塊化設(shè)計,又支持層次化設(shè)計。(2)支持廣泛、易于修改。由于VHDL已經(jīng)成為IEEE標準所規(guī)范的硬件描述語言,目前大多數(shù)EDA工具幾乎都支持VHDL,這為VHDL的進一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計過程中,主要的設(shè)計文件是用VHDL編寫的源代碼,因為VHDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計。(3)強大的系統(tǒng)硬件描述能力。VHDL具有多層次的設(shè)計描述功能,既可以描述系統(tǒng)級電路,又可以描述門級電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級描述。另外

6、,VHDL支持慣性延遲和傳輸延遲,還可以準確地建立硬件電路模型。VHDL支持預定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設(shè)計人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。(4)獨立于器件的設(shè)計、與工藝無關(guān)。設(shè)計人員用VHDL進行設(shè)計時,不需要首先考慮選擇完成設(shè)計的器件,就可以集中精力進行設(shè)計的優(yōu)化。當設(shè)計描述完成后,可以用多種不同的器件結(jié)構(gòu)來實現(xiàn)其功能。(5)很強的移植能力,易于共享和復用。VHDL采用基于庫(Library)的設(shè)計方法,可以建立各種可再次利用的模塊。這些模塊可以預先設(shè)計或使用以前設(shè)計中的存檔模塊,將這些模塊存放到庫中,就可以在以后的設(shè)計中進行復用,可以使設(shè)計成果在設(shè)計人員

7、之間進行交流和共享,減少硬件電路設(shè)計。VHDL語言最直接的應(yīng)用領(lǐng)域是可編程邏輯器件和專用集成電路(ASIC:Application Specific Integrated Circuits),其中可編程邏輯器件包括復雜可編程邏輯器件(CPLD:Complex Programmable Logic Devices )和現(xiàn)場可編程門陣列(FPGA:Field Programmable Gate Arrays )。可編程邏輯器件自七十年代以來,經(jīng)歷了PAL、GAL、CPLD、FPGA幾個發(fā)展階段,其中CPLD/FPGA屬高密度可編程邏輯器件,目前集成度已高達200萬門/片,它將掩膜ASIC集成度高的

8、優(yōu)點和可編程邏輯器件設(shè)計生產(chǎn)方便的特點結(jié)合在一起,特別適合于樣品研制或小批量產(chǎn)品開發(fā)。2 功能簡介本次設(shè)計的四組(人)參加的智力競賽搶答計時器,它具有四路搶答輸入,主持人按下復位鍵后,系統(tǒng)復位進入搶答狀態(tài),計時顯示初始值;當某組首先按下?lián)尨疰I時,該路搶答信號,競賽搶答器能夠設(shè)別最先搶答的信號,鎖定該信號,同時揚聲器響起,參賽小組的序號在數(shù)碼管上顯示;主持人對搶答結(jié)果進行確認,給出倒計時計數(shù)允許信號,開始回答問題,計時顯示器從初始值30開始以秒為單位倒計時,計數(shù)至0時,停止計數(shù),揚聲器發(fā)出超時報警信號,以中止繼續(xù)回答問題;當主持人給出倒計時計數(shù)禁止信號時,揚聲器停止鳴叫;參賽者在規(guī)定時間內(nèi)回答完

9、問題,主持人給出倒計時計數(shù)禁止信號,以免揚聲器鳴叫,按下復位鍵,又可開始新一輪的搶答;總原理圖如圖2-1所示。圖2-1 總原理圖3 系統(tǒng)設(shè)計本次設(shè)計的搶答器系統(tǒng)由5部分模塊組成,分別是:選手搶答模塊、鎖存模塊、計數(shù)模塊、聲音模塊、聲音信號產(chǎn)生模塊。3.1 選手搶答模塊設(shè)計本模塊主要完成兩個功能,一是準確的判斷出第一位搶答者,二是當選手搶答后送出聲音使能信號,從而作為下個模塊的聲音的觸發(fā)信號。其VHDL源程序如下:library ieee;use ieee.std_logic_1164.all;entity xuanshou isport(player:in std_logic_vector(3

10、 downto 0); clear:in std_logic; y1:buffer integer range 0 to 9; y2:out std_logic_vector(3 downto 0); ea:out std_logic);end;architecture bhv of xuanshou isbeginprocess(clear,player )beginif clear=1 then -復位信號有效則清零;y1=0;y2=0000;eay1=1;y2=0001;eay1=2;y2=0010;eay1=3;y2=0100;eay1=4;y2=1000;eaNULL;end cas

11、e;end if;end process;end;仿真波形如圖3-1-1所示。其中player3,player2,player1,player0分別代表四個參賽選手,組別為4、3、2、1組。按下clear鍵,系統(tǒng)清零且置ea為高電平,否則,系統(tǒng)自動識別第一位搶答者 player3,并且將ea置低,其后的搶答無效。輸出顯示第一位搶答者的組別4并且使選手前指示燈亮。此模塊生成的元件圖如圖3-1-2所示。圖3-1-1選手搶答模塊仿真圖圖3-1-2 選手搶答元件3.2 鎖存模塊設(shè)計鎖存模塊是對第一位搶答者的信號進行鎖存,其后的信號無效。其中alm0為觸發(fā)選手搶答報警的聲音信號。整個模塊VHDL源程序如

12、下:library ieee;use ieee.std_logic_1164.all;entity suocunqi isport(d:in integer range 0 to 9; clear,ea:in std_logic; q: out integer range 0 to 9; clk:in std_logic; alm0:out std_logic); end; architecture bhv of suocunqi is begin process(clear,ea,clk) variable temp:integer range 0 to 20:=0; begin if cl

13、ear=1then q=0;alm0=0;temp:=0; elsif ea=0then -ea為零時鎖定選手號,再次選中則無效 q=d; if clkevent and clk=1thentemp:=temp+1;if temp=2 then alm0=0; temp:=temp-1; else alm0=1; end if; end if; end if; end process; end;仿真圖及生成元件圖分別如圖3-2-1、圖3-2-2所示圖3-2-1鎖存模塊仿真圖3-2-2 鎖存元件圖3.3計數(shù)模塊設(shè)計比賽中要求第一搶答者在規(guī)定時間內(nèi)回答問題,系統(tǒng)開始30秒倒計時,倒計時完畢發(fā)出響聲

14、,若能在規(guī)定時間內(nèi)完成,由主持人按使能開關(guān)停止倒計時,不發(fā)出響聲。整個計數(shù)模塊的源程序及仿真圖和元件圖如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jishuqi isport(stop,clk,rst,en:in std_logic; m:out std_logic; high,low:out std_logic_vector(3 downto 0);end;architecture bhv of jishuqi issignal hh:std_logic_vector(3

15、 downto 0);signal ll:std_logic_vector(3 downto 0);begin process(clk,rst,en,hh,ll)beginif rst=1 then ll=0000;hh=0011;m=0;elsif clkevent and clk=1 then if en=1 then ll=ll-1; if ll=0000 then ll=1001;hh=hh-1; if hh=0000 and ll=0000 then m=1; -計時到則觸發(fā)聲音信號 hh=0000; ll=0000; if stop=1 then -停止計時 ll=ll;hh=hh

16、; end if; end if; end if; end if;end if;high=ll;low=hh;end process;end;仿真圖:圖3-3-1計數(shù)模塊仿真圖圖3-3-2 計數(shù)元件圖3.4 聲音報警模塊設(shè)計當鎖存器鎖存第一位搶答選手時,觸發(fā)短時間報警,顯示搶答完成,并且當計時完成時也產(chǎn)生報警信號。這部分的設(shè)計程序如下:library ieee;use ieee.std_logic_1164.all;entity shengyin isport(high:in integer range 0 to 9; low:in integer range 0 to 9; stop,m:i

17、n std_logic; clear:in std_logic; alm:out std_logic ); end; architecture bhv of shengyin is begin process(high,low,stop,clear) begin if clear=1then alm=0; elsif stop=1then alm=0; elsif high=0 and low=0 then alm=1; elsif m=1then alm=1; else alm=0; end if; end process; end; 其仿真波形如圖3-4-1所示。圖3-4-1聲音報警模塊仿

18、真圖元件圖如圖3-4-2所示圖3-4-2 聲音報警元件圖3.5 聲音信號產(chǎn)生模塊設(shè)計由于聲音頻率與搶答器頻率不同,因此本模塊使用單獨的時間信號,當報警信號為高電平時,此模塊向試驗箱上揚聲器輸入聲音信號使其產(chǎn)生報警音,反之則不輸出。其VHDL程序如下:library ieee;use ieee.std_logic_1164.all;entity fenpin is port(a,c:in std_logic; -c為聲音信號的時鐘 s:out std_logic);end;architecture bhv of fenpin isbegin process(a)beginif a=1thens=

19、c;elses=0;end if;end process;end;仿真圖及元件圖如圖3-5-1、圖3-5-2所示:圖3-5-1 聲音信號產(chǎn)生模塊仿真圖圖3-5-2 聲音模塊生成元件圖3.6 頂層文件設(shè)計將各個模塊生成的器件進行原理圖連接或是按下面程序進行綜合;并設(shè)置為頂層文件,其仿真圖如圖3-6-1所示。整個系統(tǒng)設(shè)計完成,下載到實驗箱運行成功。library ieee;use ieee.std_logic_1164.all;entity qiangdaqi isport(player:in std_logic_vector(3 downto 0); clear,clk,clock,rst,st

20、op:in std_logic; q:out integer range 0 to 9; y:out std_logic_vector(3 downto 0); alm:out std_logic; high:out integer range 0 to 9; low:out integer range 0 to 9 ); end ; architecture bhv of qiangdaqi is component xuanshou is port(player:in std_logic_vector(3 downto 0); clear:in std_logic; y1:out inte

21、ger range 0 to 9; y2:out std_logic_vector(3 downto 0); ea:out std_logic);end component; component suocunqi isport(d:in integer range 0 to 9; clear,ea:in std_logic; q: out integer range 0 to 9; clk:in std_logic; alm0:out std_logic); end component ; component jishuqi isport(clk,clear,rst,stop:in std_l

22、ogic; high:out integer range 0 to 9; low:out integer range 0 to 9);end component ; component shengyin isport(high:in integer range 0 to 9; low:in integer range 0 to 9; stop,m:in std_logic; clear:in std_logic; alm:out std_logic ); end component;component fenpin isport(a,c:in std_logic; s:out std_logi

23、c);end component; signal x1:integer range 0 to 9; signal x2,x3,x6:std_logic; signal x4:integer range 0 to 9; signal x5:integer range 0 to 9; begin -進行元件例化 u1:xuanshou port map(player,clear,x1,y,x2); u2:suocunqi port map(x1,clear,x2,q,clk,x3); u3:jishuqi port map(clk,clear,rst,stop,x4,x5); u4:shengyi

24、n port map(x4,x5,stop,x3,clear,x6);u5:fenpin port map(x6,clock,alm); high=x4; low=x5; end;圖3-6-1總器件仿真圖4 設(shè)計總結(jié)經(jīng)過了一段時間的努力我終于完成了四路搶答器的設(shè)計,從方案的選擇,再到設(shè)計與實現(xiàn)。在這個過程中我學習到了很多在課本上不能學習到的知識,對一個產(chǎn)品也有了一個新的認識,以前我都很簡單的認為一個產(chǎn)品很容易就做出來了,現(xiàn)在我知道了每一個產(chǎn)品都需要。通過這次的課程設(shè)計我學到了主要有如下幾點:1提前做好準備工作在開始動手之前,我們要把各器件的功能弄清楚,以及如何拓展,只有把這些真正的搞懂之后才能

25、順利完成設(shè)計。2.耐心分析,解決問題設(shè)計與實現(xiàn)的過程中我們會遇到一些困難這是很正常的事,但是不能一遇到問題就慌了,要耐心的分析問題并解決,這次課程設(shè)計的時候我就遇到了這樣的情況。3.團隊合作,不懂請教。這次課程設(shè)計培養(yǎng)了團隊合作,有些時候我們也需要別人的幫助,比如說當我們把元器件連接錯的時候,自己一個人很難找到錯誤,就需要別人幫忙,無形中培養(yǎng)了團隊合作的精神。有的時候可能遇到一些問題自己不能解決,這時我們應(yīng)該虛心像同學請教,只能這樣才能更好的解決問題。課程設(shè)計雖然結(jié)束了,但是我們還有很多的事情要做,對仍然不熟悉或不了解的知識點我們要盡快的去學習了解,對課程設(shè)計中出現(xiàn)的問題我們還要去認真的分析研

26、究。還有我們還需要去增強自己的動手能力,去不斷的鍛煉,只有這樣該課程設(shè)計才能發(fā)揮最大的作用。本次實習最主要的收獲是:使我們對VHDL語言編程和QuartusII的使用有了更深層次的感性和理性認識;培養(yǎng)和鍛煉我們的實際動手設(shè)計的能力。使我們的理論知識與實踐充分地結(jié)合,作到不僅具有專業(yè)知識,而且還具有較強的實踐動手能力,能分析問題和解決問題的高素質(zhì)人才,為以后的順利就業(yè)作好準備。5參考文獻1.Voknei A.Pedroni.VHDL數(shù)字電路設(shè)計教程.電子工業(yè)出版社,2008.52.潘松,黃繼業(yè).EDA技術(shù)實用教程(第二版).科學出版社,2005.23.焦素敏.EDA應(yīng)用技術(shù).清華大學出版社,2002.44.高吉祥,電子技術(shù)基礎(chǔ)實驗與課程設(shè)計.電子工業(yè)出版社5.曾繁態(tài),等.EDA工程概論.北京:清華大學出版社,2003tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3

溫馨提示

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

評論

0/150

提交評論