




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE 長(zhǎng)沙學(xué)院 CHANGSHA UNIVERSITY本科生畢業(yè)設(shè)計(jì)設(shè) 計(jì) 題 目: 基于VHDL的乒乓球游戲機(jī) 的設(shè)計(jì) 系部: 電子與通信工程系 專 業(yè): 電子信息工程 學(xué) 生 姓 名: 龔 浪 班 級(jí): 09電子1 學(xué)號(hào)2009044118 指導(dǎo)教師姓名: 龍英 職稱 講師 長(zhǎng)沙學(xué)院教務(wù)處 二一一年二月制(20 13 屆)本科生畢業(yè)設(shè)計(jì)說(shuō)明書基于VHDL的乒乓球游戲機(jī)的設(shè)計(jì)系部: 電子與通信工程系 專 業(yè): 電子信息工程 學(xué) 生 姓 名: 龔浪 班 級(jí):09電子1 學(xué)號(hào) 2009044118 指導(dǎo)教師姓名: 龍英 職稱 講師 最終評(píng)定成績(jī) 2013 年 4 月 長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)PAGE
2、 IV 摘 要本設(shè)計(jì)是以計(jì)算機(jī)為開發(fā)平臺(tái),運(yùn)用EDA軟件工具開發(fā)環(huán)境,使用硬件描述語(yǔ)言VHDL,采用自上而下的設(shè)計(jì)方法,把系統(tǒng)由上到下的分成幾個(gè)模塊設(shè)計(jì),最后達(dá)到系統(tǒng)的要求,然后在Quartus II9.1上通過(guò)編程、調(diào)試、編譯、仿真,從而實(shí)現(xiàn)乒乓球游戲機(jī)的設(shè)計(jì)。本文首先介紹了乒乓球游戲機(jī)的研究現(xiàn)狀與發(fā)展趨勢(shì)、乒乓球游戲機(jī)的應(yīng)用、課題的研究意義以及乒乓球游戲機(jī)相關(guān)的理論知識(shí),講述了乒乓球游戲機(jī)的設(shè)計(jì)思路與模塊劃分。然后把乒乓球游戲機(jī)劃分為幾個(gè)模塊,使用Quartus II仿真軟件對(duì)每個(gè)模塊進(jìn)行了模擬仿真,并對(duì)仿真出來(lái)的結(jié)果進(jìn)行研究和分析。最后把程序下載到實(shí)驗(yàn)箱上,進(jìn)行相關(guān)的調(diào)試。該系統(tǒng)結(jié)構(gòu)跟傳
3、統(tǒng)的設(shè)計(jì)相比,具有明顯的優(yōu)勢(shì),例如體積小,層次分明,遇到復(fù)雜計(jì)算時(shí)能很快發(fā)現(xiàn)和解決問(wèn)題,獨(dú)立性強(qiáng),修改簡(jiǎn)單等。關(guān)鍵詞: 可編程邏輯器件,Quartus,VHDL,乒乓球游戲機(jī) ABSTRACTTaking the computer as a working platform,this Table Tennis Game synthetically adopts EDA software tool development environment and the hardware descriptive language VHDL, to divide the system into severa
4、l module designs from top to bottom according to the top-down design so as to meet the requirements of the system. By programming, debugging, Inter Compilation and simulation on QUARTUS II9.1, this design of Table Tennis Game will be achieved.This paper dominantly introduces the research status, the
5、 development trend of the applications of the Table Tennis Game, the significance of the task, and the relevant theoretical knowledge of the Table Tennis Game. It formulates the ideas and modular division of the Table Tennis Game. Then, lantern controller is divided into several modules. By using th
6、e QUARTUS II9.1 simulation software, each module is simulated and the results of simulation are analyzed. Finally, the program is downloaded to the experimental box and carried out corresponding hardware debugging. The system of this design has a great advantage in comparison to the traditional desi
7、gn, such as a more plain structure, a smaller bulk, earlier problem-findings when encountering with complex calculation, shorter design time, stronger dependence and simpler modification and so on.Keywords: PLD,Quartus, VHDL,Table Tennis Game 目 錄 TOC o 1-2 h z t 標(biāo)題 3,3,標(biāo)題 4,4 HYPERLINK l _Toc5875 摘
8、要 PAGEREF _Toc5875 I HYPERLINK l _Toc10255 ABSTRACT PAGEREF _Toc10255 II HYPERLINK l _Toc9273 第1章 緒論 PAGEREF _Toc9273 1 HYPERLINK l _Toc15153 1.1乒乓球游戲機(jī)的背景和意義 PAGEREF _Toc15153 1 HYPERLINK l _Toc17938 1.2乒乓球游戲機(jī)的應(yīng)用 PAGEREF _Toc17938 1 HYPERLINK l _Toc8061 1.3本文的主要工作 PAGEREF _Toc8061 2 HYPERLINK l _Toc
9、10438 第2章 乒乓球游戲機(jī)設(shè)計(jì)基礎(chǔ) PAGEREF _Toc10438 3 HYPERLINK l _Toc321 2.1乒乓球游戲機(jī)的基本特點(diǎn) PAGEREF _Toc321 3 HYPERLINK l _Toc15356 2.2 可編程邏輯器件概述 PAGEREF _Toc15356 3 HYPERLINK l _Toc7093 2.3 VHDL語(yǔ)言以及Quartus II應(yīng)用 PAGEREF _Toc7093 6 HYPERLINK l _Toc30585 2.4本章小結(jié) PAGEREF _Toc30585 7 HYPERLINK l _Toc13136 第3章 基于VHDL的乒乓
10、球游戲機(jī)的設(shè)計(jì) PAGEREF _Toc13136 8 HYPERLINK l _Toc4757 3.1 乒乓球游戲機(jī)基本原理 PAGEREF _Toc4757 8 HYPERLINK l _Toc31705 3.2 乒乓球游戲機(jī)的模塊設(shè)計(jì) PAGEREF _Toc31705 9 HYPERLINK l _Toc11391 3.2.1 分頻器模塊設(shè)計(jì) PAGEREF _Toc11391 9 HYPERLINK l _Toc4136 3.2.2 PRBS偽隨機(jī)數(shù)產(chǎn)生模塊設(shè)計(jì) PAGEREF _Toc4136 10 HYPERLINK l _Toc5007 3.2.3 乒乓球控制模塊設(shè)計(jì) PAGE
11、REF _Toc5007 11 HYPERLINK l _Toc4261 3.2.4 按鍵掃描模塊設(shè)計(jì) PAGEREF _Toc4261 12 HYPERLINK l _Toc3122 3.2.5蜂鳴器模塊設(shè)計(jì) PAGEREF _Toc3122 13 HYPERLINK l _Toc26378 3.2.6 數(shù)碼管顯示模塊設(shè)計(jì) PAGEREF _Toc26378 13 HYPERLINK l _Toc15418 3.3 pingpongtop系統(tǒng)整體結(jié)構(gòu) PAGEREF _Toc15418 14 HYPERLINK l _Toc24821 3.4本章小結(jié) PAGEREF _Toc24821 15
12、 HYPERLINK l _Toc17808 第4章 乒乓球游戲機(jī)的仿真及硬件驗(yàn)證 PAGEREF _Toc17808 16 HYPERLINK l _Toc8269 4.1乒乓球游戲機(jī)的波形仿真 PAGEREF _Toc8269 16 HYPERLINK l _Toc13213 4.2引腳的鎖定 PAGEREF _Toc13213 19 HYPERLINK l _Toc6023 4.3 編程下載及驗(yàn)證 PAGEREF _Toc6023 19 HYPERLINK l _Toc14664 4.4本章小結(jié) PAGEREF _Toc14664 24 HYPERLINK l _Toc26309 結(jié) 論
13、 PAGEREF _Toc26309 25 HYPERLINK l _Toc32257 參考文獻(xiàn) PAGEREF _Toc32257 26 HYPERLINK l _Toc5857 附 錄 PAGEREF _Toc5857 27 HYPERLINK l _Toc14194 致 謝 PAGEREF _Toc14194 41 長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì) PAGE 2緒論 1.1乒乓球游戲機(jī)的背景和意義乒乓球起源于十九世紀(jì)末的英國(guó)。發(fā)展初期是作為一種娛樂游戲,最初的乒乓球是由彈性強(qiáng)的材料制成,拍子是木質(zhì)板(如雪茄蓋盒),像網(wǎng)球一樣在桌上打,故稱之為“Table tennis (桌上網(wǎng)球)”。1910年之后,由
14、于科學(xué)技術(shù)的發(fā)展,球才改成用空心球。此后,乒乓球作為新興運(yùn)動(dòng)發(fā)展起來(lái)。 第一次大型乒乓球比賽于1900年12月在英國(guó)倫敦舉行,參加比賽的有三百多人1。而乒乓球又叫中國(guó)的國(guó)球,至今中國(guó)在乒乓球這一項(xiàng)目上共獲得120多個(gè)世界冠軍,兩次包攬奧運(yùn)會(huì)的全部金牌、三次包攬世乒賽。五十年來(lái),中國(guó)乒乓球一直處于霸主地位,即使面對(duì)過(guò)挫折,中國(guó)乒乓球隊(duì)也總能在最短的時(shí)間內(nèi)找到最有效的辦法。他們創(chuàng)造了許多經(jīng)典的戰(zhàn)例和不敗的神話,這均是我們中國(guó)人的驕傲,為此而自豪。1971年中美兩國(guó)以乒乓球就為契機(jī)建立外交,這便是著名的“乒乓球外交”,可見乒乓球文化的影響深遠(yuǎn)。乒乓球運(yùn)動(dòng)具有方便、場(chǎng)地小等優(yōu)點(diǎn),在現(xiàn)代運(yùn)動(dòng)中占有著很重
15、要的地位。隨著人們生活水平的不斷提高,對(duì)乒乓球設(shè)備的先進(jìn)性有了更高的要求。隨著科技的發(fā)展,世界進(jìn)入了電子時(shí)代,劇烈的戶外運(yùn)動(dòng)難以滿足忙碌的人們對(duì)乒乓球的熱情,于是簡(jiǎn)易方便的乒乓球游戲機(jī)應(yīng)運(yùn)而生,為快節(jié)奏生活的人們提供了娛樂與開心2。隨著人們的物質(zhì)生活越來(lái)越好,人們開始對(duì)娛樂有了新的追求,尤其是進(jìn)入新世紀(jì)以來(lái)各種電子產(chǎn)品的不斷更新,更是促進(jìn)了我國(guó)的電子行業(yè)的發(fā)展,為此,能夠推出一款新的游戲產(chǎn)品是非常有前景的,此次設(shè)計(jì)正是考慮了當(dāng)前的社會(huì)現(xiàn)狀,設(shè)計(jì)出一款“乒乓球”游戲機(jī),現(xiàn)有的乒乓球游戲機(jī)大多數(shù)均是基于單片機(jī)實(shí)現(xiàn),本設(shè)計(jì)將采用FPGA技術(shù)來(lái)實(shí)現(xiàn)對(duì)“乒乓球游戲機(jī)”的設(shè)計(jì)3。1.2乒乓球游戲機(jī)的應(yīng)用在
16、平時(shí)的生活中,智能化的娛樂產(chǎn)品非常流行。而FPGA具有功能強(qiáng),可靠性高、方便快捷、體積小重量輕等優(yōu)勢(shì)。在國(guó)內(nèi)外和自動(dòng)化控制以及各個(gè)相關(guān)領(lǐng)域得到廣泛運(yùn)用。此次設(shè)計(jì)出的乒乓球游戲機(jī)有很強(qiáng)的實(shí)用性,高度模擬正規(guī)乒乓球比賽。其比賽規(guī)則為裁判發(fā)出比賽開始信號(hào),隨機(jī)抽取A還是B先發(fā)球。比賽進(jìn)行中,選手連續(xù)獲得兩次發(fā)球權(quán)后,發(fā)球權(quán)交予對(duì)方發(fā)球,裁判端犯規(guī)則蜂鳴器鳴響:每方發(fā)兩個(gè)球以后由對(duì)方發(fā)球,不能連續(xù)發(fā)3個(gè)球,如果搶發(fā)球,那么電路鳴響,但是都不扣分。一排發(fā)光管排列成行模擬乒乓球行進(jìn)路徑,其行進(jìn)速度由輸入的時(shí)鐘信號(hào)控制:led燈我們?cè)O(shè)置了十個(gè),速度我們可以用兩個(gè)開關(guān)采用四個(gè)2進(jìn)制組合設(shè)計(jì)四種速度,比如0表示
17、開關(guān)關(guān),1表示開關(guān)開,00表示速度最慢,01其次,10再快點(diǎn),11表示速度最快,在每次比賽前先設(shè)置好球行進(jìn)的速度。比賽選手通過(guò)按鈕輸入模擬擊球信號(hào),當(dāng)發(fā)光管亮到最后一個(gè)的瞬間,若檢測(cè)到對(duì)應(yīng)的表示球拍的鍵的信號(hào),立即將“球”反向運(yùn)行,若沒有接到信號(hào),將給出出錯(cuò)鳴叫,同時(shí)為對(duì)方記1分,并將記分顯示出來(lái):比賽運(yùn)行,發(fā)光管代表乒乓球移動(dòng),A如果發(fā)球,B沒接到,那么A得一分(也即是說(shuō)誰(shuí)沒接到球,對(duì)方得分),同時(shí)電路響,另外比分是11分制,不管誰(shuí)的分?jǐn)?shù)到了11分,比賽就結(jié)束,誰(shuí)的分?jǐn)?shù)先到11分誰(shuí)贏得比賽。因此,我們?cè)O(shè)計(jì)出的乒乓球游戲機(jī)功能齊全,必將能夠受到廣大用戶的歡迎。 1.3本文的主要工作乒乓球游戲機(jī)
18、的設(shè)計(jì)主要工作平臺(tái)是計(jì)算機(jī)平臺(tái),以EDA為主要的開發(fā)環(huán)境,采用的是VHDL硬件描述語(yǔ)句,是由上而下的設(shè)計(jì)方法分出幾個(gè)小模塊,從而達(dá)到其任務(wù)要求。接著在Quartus II 9.1軟件上進(jìn)行編譯,調(diào)試和仿真,最后實(shí)現(xiàn)乒乓球游戲機(jī)的設(shè)計(jì)。第二章主要是介紹了乒乓球游戲機(jī)的工作原理和基本特點(diǎn),通過(guò)查閱大量資料、學(xué)習(xí)VHDL語(yǔ)言,最后能掌握一些理論知識(shí),并可以熟練操作Quartus II 9.1。第三章先是對(duì)乒乓球游戲機(jī)作出總體方案設(shè)計(jì),然后進(jìn)行拆分,分析和設(shè)計(jì)每一個(gè)小模塊。第四章四依據(jù)前一章節(jié),編譯程序,接著進(jìn)行模擬仿真,仔細(xì)的分析其仿真結(jié)果,最后把程序下載到開發(fā)板,做最后的硬件測(cè)試并做出總結(jié)。PAG
19、E 41 乒乓球游戲機(jī)設(shè)計(jì)基礎(chǔ)2.1乒乓球游戲機(jī)的基本特點(diǎn)本文設(shè)計(jì)的乒乓球游戲機(jī)的最大特點(diǎn)在于所有功能模式均由軟件控制完成。本設(shè)計(jì)是以計(jì)算機(jī)為平臺(tái),使用EDA開發(fā)工 具來(lái)開發(fā)環(huán)境,用VHDL語(yǔ)言來(lái)編寫程序,載體由ASIC來(lái)實(shí)現(xiàn)。程序?qū)懞煤笸ㄟ^(guò)QuartusII9.1軟件來(lái)進(jìn)行編譯、調(diào)試、仿真。整個(gè)系統(tǒng)可以分為分頻器、計(jì)數(shù)器、隨機(jī)數(shù)產(chǎn)生模塊、乒乓球游戲機(jī)核心控制模塊、數(shù)碼管顯示模塊,蜂鳴器模塊,按鍵掃描這幾個(gè)模塊來(lái)完成。2.2 可編程邏輯器件概述可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與或”表達(dá)式來(lái)描述,
20、所以, PLD能以乘積和的形式完成大量的組合邏輯功能。它有如下特點(diǎn):1.邏輯電路的設(shè)計(jì)和測(cè)試均可在計(jì)算機(jī)上實(shí)現(xiàn),設(shè)計(jì)成功的電路可方便的下載到PLD,因而可研制周期短、成本低、效率高,使產(chǎn)品能在極短時(shí)間內(nèi)推出。2.用PLD實(shí)現(xiàn)的電路容易被修改。這種修改通過(guò)PLD重新編程實(shí)現(xiàn),可以不影響其外圍電路。因此,其產(chǎn)品的維護(hù)、更新都很方便。PLD使硬件也能象軟件一樣實(shí)現(xiàn)升級(jí),因而被認(rèn)為使硬件革命。3.較復(fù)雜的數(shù)字系統(tǒng)能用1片或數(shù)片PLD實(shí)現(xiàn),因而,應(yīng)用PLD生產(chǎn)的產(chǎn)品輕小可靠。此外,PLD還具有硬件加密功能。4.應(yīng)用PLD設(shè)計(jì)電路時(shí),需選擇合適的軟硬件平臺(tái)(開發(fā)系統(tǒng))。因此,PLD得到廣泛的應(yīng)用。不管是復(fù)
21、雜或是簡(jiǎn)單的的數(shù)字電路系統(tǒng)均是由最基本門所組成的,比如與、或、非、傳輸?shù)?。基本門能組成兩種不同的電路4,一個(gè)是時(shí)序電路;另一個(gè)是組合電路。組合電路都可以采用與或門二級(jí)電路來(lái)實(shí)現(xiàn)、而時(shí)序電路則可以在組合電路的基礎(chǔ)上加上儲(chǔ)存原件(如鎖存器、觸發(fā)器、RAM等)。不過(guò)人們發(fā)現(xiàn)并不是一切基本門都是必要的。所以,人們?cè)O(shè)計(jì)出了可編程結(jié)構(gòu)電路,其原理和結(jié)構(gòu)圖如圖2.1所示。 圖2.1 簡(jiǎn)單的PLD器件的原理結(jié)構(gòu)圖 按照PLD的結(jié)構(gòu)體系,主要可分為簡(jiǎn)單PLD(包括PAL(Programmable Array Logic 可編程陣列邏輯)、GAL(Generic Array Logic 通用陣列邏輯)等)、CPL
22、D(Complex Programmable Logic Device 復(fù)雜可編程邏輯器件)和FPGA(Field Programmable Gate Array現(xiàn)場(chǎng)可編程門陣列)。PLD的結(jié)構(gòu)體系如圖2.2所示 圖2.2 PLD的結(jié)構(gòu)體系另外,最早使用的PLD是FPLA(Field Programmable Logic Array)現(xiàn)場(chǎng)可編程邏輯陣列,它的與、或陣列均可編程,現(xiàn)在已經(jīng)很少使用。EPLD是可擦除的可編程邏輯器件Erasable Programmable Logic Device的縮寫。有的資料把可擦除的PLD都統(tǒng)稱為EPLD,但更一般的是指繼PAL、GAL之后推出的一代集成度遠(yuǎn)
23、高于PAL、GAL,但相對(duì)CPLD和FPGA較低的可擦除的可編程邏輯器件。 時(shí)至今日,生產(chǎn)的絕大多數(shù)可編程邏輯器件都是可擦除的了。PROM、EPROM、EEPROM這些存儲(chǔ)器也可當(dāng)作一種可編程器件。它們的與陣列(即地址譯碼器)是固定的,并且將所有輸入變量的最小項(xiàng)全部譯出了。而它們的或陣列(即存儲(chǔ)陣列)是可編程的。但是實(shí)現(xiàn)邏輯函數(shù)時(shí),往往只用到一部分最小項(xiàng),如果用存儲(chǔ)器來(lái)實(shí)現(xiàn)的話芯片的利用率不高。在PLD的發(fā)展史上,PLD是從PROM、PLA、PAL、以及GAL(Generic Array Logic)5,然后是啟用了大規(guī)模集成電路技術(shù)的EPLD,最后是CPLD/FPGA的使用,在很多的方面和角
24、度得到了提升,比如結(jié)構(gòu)、工藝和功能等??删幊踢壿嬈鞣譃楹芏嗖煌悇e,幾乎每一個(gè)不同的的可編程邏輯器件開發(fā)商和供應(yīng)商均擁有代表自身特點(diǎn)的的PLD,不過(guò)由于種種歷史原因,其名字也不盡相同。PLD集成度的高低的分類法來(lái)區(qū)分的6-7,如圖2.3所示,一般可分為兩種:一種集成度不高,芯片利用率低,在早期生產(chǎn)的PROM、PLA、PAL、GAL都屬于第一類,可供使用的的邏輯門大約500門甚至更少,所以稱其為簡(jiǎn)單PLD;第二種則是具有很高的芯片集成度,例如現(xiàn)在大規(guī)模生產(chǎn)使用的CPLD、FPGA器件,稱之為復(fù)雜PLD。這樣的方法分類很籠統(tǒng),在細(xì)化分類中,均是和GAL22V10作比較,集成度小于GAL22V10的
25、稱之為簡(jiǎn)單PLD,集成度大于GAL22V10的稱之為復(fù)雜PLD。 圖2.3 PLD按集成度分類 PLD是電子電路領(lǐng)域最具有發(fā)展?jié)摿突盍Φ囊豁?xiàng)技術(shù),其影響力以及應(yīng)用完全不亞于上世紀(jì)70至80年代的單片機(jī)的發(fā)明與應(yīng)用。PLD可以實(shí)現(xiàn)任何數(shù)字器件功能,下至最簡(jiǎn)單的74電路,上至高性能CPU,均可用PLD來(lái)實(shí)現(xiàn)。形象地說(shuō),PLD就像一對(duì)積木或者一張白紙,工程師可以通過(guò)傳統(tǒng)的輸入法設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過(guò)使用仿真軟件,我們可以視線驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,還可以利用其線修改能力,在不改動(dòng)硬件電路的前提下隨時(shí)修改設(shè)計(jì)。利用PLD來(lái)開發(fā)數(shù)字電路,不僅可以提高系統(tǒng)可靠性,減少PCB面積,還可以大大縮
26、短設(shè)計(jì)時(shí)間,正是因?yàn)檫@些優(yōu)點(diǎn),使得PLD技術(shù)在90年代后得到了飛速發(fā)展。2.3 VHDL語(yǔ)言以及Quartus II應(yīng)用VHDL(Very High Speed Integrated Circuit Hardware Description Language)中文翻譯為超高速集成電路硬件描述語(yǔ)句8。到了20世紀(jì)80年代,VHDL語(yǔ)言正式由美國(guó)開發(fā)并轉(zhuǎn)化為IEEE的標(biāo)準(zhǔn)化硬件描述語(yǔ)言,與此同時(shí)還得到了系統(tǒng)描述的國(guó)際公認(rèn)標(biāo)準(zhǔn)以及眾多EDA公司的大力支持。使用VHDL描述語(yǔ)句,可以讓電子電路文件遵循統(tǒng)一的設(shè)計(jì)描述接口,用來(lái)實(shí)現(xiàn)芯片制造與CAD設(shè)計(jì)之間的信息共享與信息交互。漸漸地,這種硬件描述語(yǔ)言成為
27、了一種標(biāo)準(zhǔn)。1987年,VHDL被I EE確定為硬件描述語(yǔ)句標(biāo)準(zhǔn)同時(shí)發(fā)布了IEEE1076標(biāo)準(zhǔn)。1993年,IEEE又做了適當(dāng)?shù)男薷?,并公布了其最新版本、IEEE1076-1993標(biāo)準(zhǔn),此次的版本修改包含了眾多內(nèi)容。后來(lái)IEEE分別在1996、1999、2000以及2002年對(duì)其進(jìn)行了部分修改。無(wú)論如何,就當(dāng)前的發(fā)展來(lái)說(shuō),VHDL已經(jīng)成為一種非常流行的描述語(yǔ)句,幾乎所有的硬件綜合以及仿真工具都有VHDL的身影。特別的,VHDL原來(lái)完全是為數(shù)字系統(tǒng)設(shè)計(jì)而開發(fā)的,但是就現(xiàn)在的發(fā)展也可以描述模擬混合信號(hào)的標(biāo)準(zhǔn)IEEE STD 1076.1-1999。一個(gè)完整的VHDL語(yǔ)言程序所必備的五個(gè)部分為實(shí)體(
28、Entity)9、配置(Configuration)、包集合(Package)、構(gòu)造體(Architecture)、和庫(kù)(Library)。其中, VHDL程序的基本單元是實(shí)體,它的組成是由實(shí)體說(shuō)明和結(jié)構(gòu)體構(gòu)成,描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)使用的是實(shí)體說(shuō)明;系統(tǒng)組織結(jié)構(gòu)形式、系統(tǒng)的行為及系統(tǒng)數(shù)據(jù)的流程使用的是結(jié)構(gòu)體。各設(shè)計(jì)模塊能共享的子程序、數(shù)據(jù)類型、常數(shù)等存放于程序包。經(jīng)編譯的機(jī)構(gòu)體、實(shí)體、配置及程序包存放于庫(kù)中9-10。QuartusII是由Altera公司推出的新一代完全集成設(shè)計(jì)環(huán)境。QuartusII對(duì)APEX20K系列芯片提供了最好的支持,彌補(bǔ)了MAX+plus II有些功能的不足之處
29、,且在綜合算法上有了很大的改進(jìn),提高了設(shè)計(jì)的綜合效率、速度、以及布線能力。QuartusII提供了方便的實(shí)體設(shè)計(jì),迅捷的編譯處理和對(duì)設(shè)備的直接編程功能。QuartusII同時(shí)包括模塊化的編譯器。其功能模塊有綜合/分析器(Analysis&Synthesis)、裝配器(Assembler)、適配器(fitter)、設(shè)計(jì)輔助模塊(Design Assistant)、時(shí)序分析器(Timing Analyzer)、編輯數(shù)據(jù)接口(Compliler Database interface)、EDA網(wǎng)表生成器(EDA Netlist)等??梢赃x擇START Compilation來(lái)運(yùn)行已有的模塊,也可以通過(guò)
30、運(yùn)行start來(lái)單獨(dú)運(yùn)行各個(gè)模塊。除此之外,QuartusII還包含有許多十分有用的LPM(Library of parameterized Modules)模塊,他們是高級(jí)或者復(fù)雜的系統(tǒng)構(gòu)建的重要組成,也可以與普通文件一塊使用。它支持的硬件描述語(yǔ)言有VHDL、AHDL、system Verilog以及Verilog。而AHDL是Altera公司自己設(shè)計(jì)和研發(fā)制定的語(yǔ)言,是一種以結(jié)構(gòu)描述為主的硬件描述語(yǔ)言,只有企業(yè)標(biāo)準(zhǔn)。2.4本章小結(jié)本章主要介紹了乒乓球游戲機(jī)的基本特點(diǎn)、工作原理,簡(jiǎn)單地描述了可編程邏輯器件,并且主要講述了這些器件的原理、發(fā)展歷史以及類別,另外詳細(xì)的論述了VHDL語(yǔ)言的一些基本
31、知識(shí),最后簡(jiǎn)單地介紹了Quartus II軟件的應(yīng)用以及特點(diǎn)。第3章 基于VHDL的乒乓球游戲機(jī)的設(shè)計(jì) 現(xiàn)在,隨著人們生活水平的不斷改善和提高,許多地方都可以看到電子體育的身影。乒乓球游戲機(jī)因其豐富的燈光色彩、價(jià)格低廉以及操作簡(jiǎn)單等優(yōu)點(diǎn),使其得到了廣泛好評(píng)。本文介紹的以VHDL為基礎(chǔ)的乒乓球控制系統(tǒng),減少了設(shè)計(jì)芯片的數(shù)量、縮小了體積、減少了損耗、提升了設(shè)計(jì)的靈活性、可靠性以及可擴(kuò)展性11。3.1 乒乓球游戲機(jī)基本原理根據(jù)乒乓球比賽的過(guò)程和規(guī)則,首先游戲開始,如果一方非正確擊球則另一方加分,當(dāng)分?jǐn)?shù)大于11時(shí)獲勝,游戲結(jié)束,我們把設(shè)計(jì)流程規(guī)定如圖3.1所示。我設(shè)置了7個(gè)狀態(tài),分別是“等待發(fā)球狀態(tài)”
32、,“第一盞燈亮狀態(tài)”,“第八盞燈亮狀態(tài)”,“球向乙移動(dòng)狀態(tài)”,“ 球向甲移動(dòng)狀態(tài)”,“允許甲擊球狀態(tài)”,“允許乙擊球狀態(tài)”。這是該程序中起決定作用的七個(gè)狀態(tài)。開始的時(shí)候處于“等待發(fā)球狀態(tài)”,若甲發(fā)球則狀態(tài)轉(zhuǎn)移到“第一盞燈亮狀態(tài)”,若乙發(fā)球則轉(zhuǎn)移到“第八盞燈亮狀態(tài)”,具體說(shuō)明以甲球?yàn)槔?。圖3.2給出了乒乓球游戲機(jī)的原理圖。 圖3.1 乒乓球游戲機(jī)設(shè)計(jì)流程圖若發(fā)球后乙沒有提前擊球規(guī)定球移動(dòng)到對(duì)方第一個(gè)發(fā)光二極管時(shí)允許擊球,那么狀態(tài)機(jī)從“第一盞燈亮狀態(tài)”轉(zhuǎn)移到“球向乙移動(dòng)狀態(tài)”。若在“球向乙移動(dòng)狀態(tài)”乙仍然沒有提前擊球,狀態(tài)就轉(zhuǎn)移到“允許乙擊球狀態(tài)”,在此狀態(tài)下,如果乙擊球了,那么狀態(tài)就轉(zhuǎn)移到“ 球
33、向甲移動(dòng)狀態(tài)”。在“第一盞燈亮狀態(tài)”, “球向乙移動(dòng)狀態(tài)”中,如果乙擊球了 ,就算提前擊球,這樣甲得分,狀態(tài)轉(zhuǎn)移到“等待發(fā)球狀態(tài)”等待發(fā)球,“ 球向甲移動(dòng)狀態(tài)”之后的過(guò)程和前面的過(guò)程只不過(guò)是甲乙角色的調(diào)換而已。狀態(tài)轉(zhuǎn)移規(guī)則均是一樣的。 等待發(fā)球 甲得分 乙得分 甲發(fā)球 乙發(fā)球第一盞燈亮第八盞燈亮允許甲發(fā)球球向甲移動(dòng) 乙擊球 甲擊球球向乙移動(dòng) 乙擊球 甲擊球允許乙發(fā)球 乙沒擊球 甲沒擊球 圖3.2 乒乓球游戲機(jī)的基本原理圖3.2 乒乓球游戲機(jī)的模塊設(shè)計(jì)此次的乒乓球設(shè)計(jì)采用的是分模塊方法,包括時(shí)鐘分頻模塊、偽隨機(jī)數(shù)產(chǎn)生模塊、按鍵掃描模塊、乒乓球游戲機(jī)核心電路控制模塊、數(shù)碼管顯示模塊、蜂鳴器模塊。其
34、中乒乓球游戲機(jī)核心電路控制模塊是用來(lái)控制游戲機(jī)的狀態(tài)以及球速,判斷得分與失分。3.2.1 分頻器模塊設(shè)計(jì)分頻器就是將一個(gè)給定頻率較高的輸入信號(hào),經(jīng)過(guò)適當(dāng)?shù)奶幚?,產(chǎn)生一個(gè)或多個(gè)頻率比較低的輸出信號(hào)12。在數(shù)字系統(tǒng)設(shè)計(jì)中,常使用分頻器將晶振產(chǎn)生的單一頻率分成系統(tǒng)工作頻率。分頻器可分為偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等。各種各樣的偶數(shù)分頻和非等占空比的奇數(shù)分頻能通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn),但實(shí)現(xiàn)占空比的奇數(shù)分頻及半整數(shù)分頻的實(shí)現(xiàn)比較困難。由于整個(gè)系統(tǒng)只有一個(gè)晶體振蕩器,但是設(shè)計(jì)需要不同的時(shí)鐘信號(hào),因此需要設(shè)計(jì)一個(gè)分頻進(jìn)程,對(duì)系的的有源晶振產(chǎn)生的25MHZ時(shí)鐘進(jìn)行分頻,產(chǎn)生需要的時(shí)鐘節(jié)拍。時(shí)鐘分頻模塊電路圖如下圖
35、3.3所示,在本設(shè)計(jì)中總共用到如下幾個(gè)時(shí)鐘節(jié)拍:5HZ的時(shí)鐘Fre5Hz,1kHZ的時(shí)鐘信號(hào)Fre5Hz,100kHZ的時(shí)鐘信號(hào)Fre100Hz,這三個(gè)時(shí)鐘都由輸入時(shí)鐘CLK25M的25MHZ時(shí)鐘分步產(chǎn)生的。Fre5Hz:輸出5HZ的時(shí)鐘,主要用在控制按鍵掃描模塊,因?yàn)槲覀儼窗存I的頻率一般不會(huì)很快,所以用一個(gè)5HZ去控制按鍵掃描,當(dāng)按下按鍵,并且此時(shí)鐘上升沿來(lái)時(shí)檢測(cè)到按下的按鍵有效,則記下按鍵值,用這樣小的時(shí)鐘好處是不用進(jìn)行按鍵的消抖動(dòng)處理,因?yàn)橹挥邪聪路€(wěn)定時(shí),才會(huì)在時(shí)鐘上升沿檢測(cè)得到按鍵。Fre100KHz:輸出的是100K的時(shí)鐘,這個(gè)時(shí)鐘用來(lái)做乒乓球游戲機(jī)的主控制模塊時(shí)鐘,同時(shí)用來(lái)控制偽隨
36、機(jī)數(shù)模塊的輸出。Fre1kHz:此時(shí)鐘輸出的是1K信號(hào)時(shí)鐘,用來(lái)控制動(dòng)態(tài)數(shù)碼管的刷新時(shí)間。由上文,動(dòng)態(tài)數(shù)碼管的硬件電路介紹可知,動(dòng)態(tài)掃描顯示時(shí)刷新率最好大于50HZ,即每顯示一論斷時(shí)間不超過(guò)20ms。每個(gè)數(shù)碼管顯示的時(shí)間不能太長(zhǎng)也不能太短,時(shí)間太長(zhǎng)會(huì)影響刷新率導(dǎo)致總體顯示呈現(xiàn)閃爍的現(xiàn)象;時(shí)間太短發(fā)光二極管的電流導(dǎo)通時(shí)間也就短,會(huì)影響總體的顯示亮度。一般控制在1ms左右之間。乒乓球游戲機(jī)分頻模塊如圖3.3所示 圖3.3乒乓球游戲機(jī)分頻模塊框圖該模塊端口定義如下:Clk50: 50M時(shí)鐘信號(hào);F1, F2,F(xiàn)3:分頻信號(hào)輸出端,就是分頻模塊對(duì)輸入信號(hào)clk的分頻,分別為100KHz分頻輸出、1KH
37、z分頻輸出、1Hz分頻輸出。3.2.2 PRBS偽隨機(jī)數(shù)產(chǎn)生模塊設(shè)計(jì)m序列在一個(gè)周期內(nèi)“1”和“0”的個(gè)數(shù)基本相等。具體來(lái)說(shuō),m序列的一個(gè)周期中的“0”的個(gè)數(shù)比“1”的個(gè)數(shù)少一個(gè)?;趍序列的性質(zhì),我利用EDA技術(shù),在Altera的MAX 7000S系列芯片上實(shí)現(xiàn)的偽隨機(jī)序列發(fā)生器,為產(chǎn)生低成本的電子系統(tǒng)測(cè)試信號(hào)提供了一種簡(jiǎn)單易行的方法12-13。偽隨機(jī)數(shù)列英文縮寫為PRBS,全稱為(Pseudo-Random Binary Sequence)。即如果一個(gè)序列,一方面它是可以預(yù)先確定的,并且是可以重復(fù)地生產(chǎn)和復(fù)制的;一方面它又具有某種隨機(jī)序列的隨機(jī)特性(即統(tǒng)計(jì)特性),我們便稱這種序列為偽隨機(jī)序
38、列。如果偽隨機(jī)序列中可取的值只有0或1,則此偽隨機(jī)序列為偽隨機(jī)二進(jìn)制序列,用來(lái)隨機(jī)決定最開始的發(fā)球方。乒乓球游戲機(jī)偽隨機(jī)數(shù)產(chǎn)生模塊如圖3.4所示圖3.4 乒乓球游戲機(jī)偽隨機(jī)數(shù)產(chǎn)生模塊框圖偽隨機(jī)數(shù)產(chǎn)生模塊端口定義如下:clk:時(shí)鐘信號(hào);rst:低電平復(fù)位信號(hào);Q9:輸出信號(hào)。3.2.3 乒乓球控制模塊設(shè)計(jì)乒乓球主控制模塊是用來(lái)直接控制乒乓球的發(fā)球方、球速、以及數(shù)碼管和蜂鳴器輸出。當(dāng)復(fù)位信號(hào)rstset有效時(shí),乒乓球恢復(fù)初始狀態(tài)s0,clk即為分頻器分出的工作頻率,PRBS9是偽隨機(jī)數(shù)列產(chǎn)生的數(shù)據(jù)輸入決定發(fā)球方,主要用來(lái)將按鍵輸入信號(hào)轉(zhuǎn)化為擊球速度的大小、數(shù)碼管顯示分?jǐn)?shù)、發(fā)光二極管模擬乒乓球以及蜂
39、鳴器的狀態(tài)。乒乓球主控制模塊的模塊框圖如圖3.5所示 圖3.5乒乓球游戲機(jī)控制模塊框圖乒乓球游戲機(jī)控制模塊模塊端口定義如下:輸入信號(hào):CLK: 時(shí)鐘輸入100KHZ,作為系統(tǒng)的主時(shí)鐘,控制電路正常工作;Reset :復(fù)位信號(hào)輸入,當(dāng)輸入為高電平時(shí)系統(tǒng)復(fù)位,回到最初值狀態(tài);PRBS9:隨機(jī)數(shù)輸入信號(hào),由隨機(jī)信號(hào)發(fā)生器產(chǎn)生0或1信號(hào)輸入,控制比賽開始時(shí)隨機(jī)產(chǎn)生的發(fā)球方;KEY_INPUTS2.0:按鍵代碼輸入總線,接收來(lái)自按鍵電路輸出的按鍵代碼;SW_INPUTS1.0:拔開關(guān)輸入,控制選擇比賽速度的模式,00,最慢,11最快,共有00、01、10、11四個(gè)模式。輸出信號(hào):Q9:輸出信號(hào)。Beep
40、 : 蜂鳴器輸出控制信號(hào)引腳,當(dāng)輸出為1時(shí),蜂鳴器響,鳴聲為1KHZ聲音頻率,當(dāng)輸出為0時(shí)蜂鳴器不響;CodeLED7.0 :對(duì)應(yīng)輸出的是8個(gè)LED信號(hào)燈,用來(lái)模擬球的行進(jìn)路徑,比賽沒開始時(shí)這8個(gè)LED燈都是亮的,當(dāng)裁判發(fā)出開始信號(hào)后,由隨機(jī)模塊產(chǎn)生發(fā)球方,同時(shí)發(fā)球方的球先點(diǎn)亮,當(dāng)按下按鍵相當(dāng)于擊球后,LED就依次移動(dòng)。Showcode31.0:數(shù)碼管顯示器數(shù)據(jù)輸出總線,共32位數(shù)據(jù),每4位數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)碼管,共有8個(gè)數(shù)碼管。顯示輸出代碼的程序如下面的語(yǔ)句: showcode Assignments Editor,在Assignments Editor 下面選擇 Pin 標(biāo)簽頁(yè),然后鎖定引腳,
41、接著打開選擇 Processing= Start Compilation的命令,再一次編譯,完成后生成可發(fā)送到到FPGA的 h_adder.sof 文件和配置到外部存儲(chǔ)器的h_adder.pof文件,完成后,選擇Tools.Programmer 的菜單,出現(xiàn)編程配置的界面,在“Mode”菜單下點(diǎn)擊JTAG,選擇“Add File”按鈕添加需要配置的SOF 文件,選中Program/Configure,點(diǎn)擊“Start”按鈕就能配置已有芯片,成功地下載到開發(fā)板上進(jìn)行仿真。4.1乒乓球游戲機(jī)的波形仿真(1)分頻器仿真波形圖如圖4.1所示:圖4.1 分頻器的仿真波形圖時(shí)鐘模塊仿真圖如上圖4.1所示。
42、從仿真圖看,輸入的時(shí)鐘第一個(gè)波形,輸出三個(gè)頻率不一樣時(shí)鐘,其中最大的一個(gè)時(shí)鐘周期為5HZ的時(shí)鐘,在軟件仿真里面由于不能設(shè)置過(guò)長(zhǎng)的仿真時(shí)間,所以看不完整5HZ的時(shí)鐘的整個(gè)周期。(2)偽隨機(jī)數(shù)產(chǎn)生器波形圖如圖4.2所示:圖4.2 乒乓球游戲機(jī)偽隨機(jī)數(shù)產(chǎn)生器仿真波形圖仿真電路圖如上圖4.2所示,我們可以看到波形Q9的輸出是在一段時(shí)間內(nèi)可以認(rèn)為是隨機(jī)產(chǎn)生的0和1,所以可以作為隨機(jī)產(chǎn)生發(fā)球方的控制數(shù)據(jù)。(3)按鍵掃描模塊仿真波形圖如圖4.3所示:圖4.3 乒乓球游戲機(jī)按鍵掃描的仿真波形圖從圖4.3中我們可以分析得到,當(dāng)按下按鍵KEYINPUT相應(yīng)為1,此時(shí)計(jì)數(shù)時(shí)鐘,第一個(gè)時(shí)鐘不輸出相應(yīng)的按鍵值,而是在第
43、二個(gè)時(shí)鐘輸出相應(yīng)的按鍵值,這樣可以有效的消除按鍵的抖動(dòng)。當(dāng)有按下KEYINPUT相應(yīng)為1,沒有按鍵按下就為0000,此時(shí)輸出為7,當(dāng)有按下剛相應(yīng)輸出為0,1,2,3;這四個(gè)按鍵代碼。(4)乒乓球游戲機(jī)核心控制電路模塊仿真波形如圖4.4所示:圖4.4 乒乓球游戲機(jī)核心控制模塊仿真波形圖由圖4.4可以知道,仿真圖中只是給出了部分仿真波形,因?yàn)榉抡鏁r(shí)間有限,但這部分波形圖也給出了相應(yīng)的比賽功能時(shí)序控制。(1) 當(dāng)復(fù)位RESET為高電平時(shí)有效,輸出顯示為00F00F00;其中F對(duì)應(yīng)的實(shí)物顯示內(nèi)容為“-”;(2) 當(dāng)復(fù)位信號(hào)無(wú)效時(shí),系統(tǒng)正常工作,當(dāng)KEY_INPUTS 輸入為1時(shí),表示裁判發(fā)出比賽開始信
44、號(hào),這時(shí)根據(jù)隨機(jī)信號(hào)PRBS9的狀態(tài)選擇相應(yīng)的發(fā)球方。PRBS9在這里仿真時(shí)我們用一個(gè)有規(guī)律的時(shí)鐘代替,結(jié)果的一樣的。 (3)當(dāng)KEY_INPUTS 輸入為0時(shí)表示發(fā)球開始比賽,所以codeLED在相應(yīng)的時(shí)鐘驅(qū)動(dòng)下顯示以次出現(xiàn),00000001-0000001010000000;表示球的從右邊向左邊移動(dòng)。當(dāng)移動(dòng)到10000000時(shí),由于KEY_INPUTS =7表示沒有按鍵按下,所以對(duì)方失誤,發(fā)球方得一分,這時(shí)顯示相應(yīng)的得分00FA3F01。 (4) 當(dāng)對(duì)方失誤時(shí),沒的接到球,所以這時(shí)蜂鳴器發(fā)出聲音,Beep輸出由低電平變?yōu)楦唠娖?,控制蜂鳴器模塊產(chǎn)生1K的單音頻信號(hào)輸出,從而控制蜂鳴器發(fā)出音響
45、。(5)蜂鳴器仿真波形圖如圖4.5所示:圖4.5 蜂鳴器仿真波形圖由圖4.5可以發(fā)現(xiàn),當(dāng)RESET為0時(shí),BEEPOUT輸出為0,不發(fā)出聲音,當(dāng)RESET為1時(shí),BEEPOUT的輸出頻率為CLK1K信號(hào)的1/2倍,所以當(dāng)輸入的時(shí)鐘信號(hào)為2K時(shí),輸出的聲音就是1K的音頻信號(hào)。(6)數(shù)碼管顯示模塊仿真波形如圖4.6所示:圖4.6數(shù)碼管顯示的仿真波形圖 仿真電路波形圖如上圖4.6所示,showcode為654321,也就是要顯示的數(shù)字;dig中任一時(shí)刻只有一個(gè)位為有效電平0;seg在dig有效時(shí)刻輸出不同的數(shù)據(jù);比如數(shù)據(jù)6的共陰編碼為01111101,在本設(shè)計(jì)中用的數(shù)碼管為共陽(yáng)極數(shù)碼管,所以在以下程
46、序中我們進(jìn)行了取反操作后輸出為10000010,也就是圖4.6中,seg的第一個(gè)輸出的數(shù)據(jù),正好是codeshow中的第一位數(shù)據(jù)6,而此時(shí), dig位選也正好為第2個(gè)位有效,正好是我們顯示中的最左邊一個(gè)位。4.2引腳的鎖定此次設(shè)計(jì)采用的是自主設(shè)計(jì)開發(fā)板,Cyclone系列EP1C3T100C8芯片完成,引腳鎖定如圖4.7所示:圖4.7引腳的鎖定4.3 編程下載及驗(yàn)證本系統(tǒng)涉及到的硬件電路模塊為有源晶振電路模塊、數(shù)碼管顯示電路模塊、LED燈顯示及按鍵電路模塊、脈沖蜂鳴器模塊,以下詳細(xì)介紹。系統(tǒng)時(shí)鐘采用25MHZ的有源晶體振蕩器。為了使有源晶振能輸出較好的波形,必需保證供電的穩(wěn)定。所以在晶振電路的
47、前端加了兩個(gè)小電容C41C43和一個(gè)電感L1對(duì)電源進(jìn)行濾波,在時(shí)鐘輸出端加了一個(gè)小電阻R16=100歐,能有效地抑制高次諧波和實(shí)現(xiàn)阻抗匹配。有源晶振電路如圖4.8所示。圖4.8 有源晶振硬件電路原理圖數(shù)碼管分為共陰極和共陽(yáng)極,共陰極是把LED的負(fù)極全部接在一起;共陽(yáng)極是把LED的正極全部接在一起。為了節(jié)約成本及資源,本系統(tǒng)中6位數(shù)碼管采用共陽(yáng)極數(shù)碼管并采用動(dòng)態(tài)掃描的方式進(jìn)行顯示根據(jù)電子電路常識(shí),采用灌電流工作方式的電路的功耗要比采用拉電流方式工作的電路小。因此本設(shè)計(jì)中所有的外部鍵盤,指示二極管均采用灌電流的工作方式如圖4.9所示。當(dāng)按鍵未按下時(shí)按鍵的輸出(即FPGA的輸入)為低電平,當(dāng)按鍵按下
48、時(shí)輸出(即FPGA的輸入)為高電平。在本設(shè)計(jì)中只有4個(gè)按鍵,分別為KEY0,KEY1,KEY2,KEY3。KEY0與KEY3按鍵用于選手進(jìn)行擊球, KEY1裁判控制發(fā)出比賽信號(hào),KEY2,用于比賽結(jié)束后清除比賽分?jǐn)?shù).圖4.9 按鍵輸入電路原理圖在本設(shè)計(jì)中共有八個(gè)指示燈表示球的位置,當(dāng)FPGA的引腳輸出為高電平時(shí)相應(yīng)的指示燈就點(diǎn)亮。 圖4.10 按鍵輸入電路原理圖在本設(shè)計(jì)中采用交流蜂鳴器。由于FPGA管腳的驅(qū)動(dòng)能力有限,因此通過(guò)連接一個(gè)三極管來(lái)增強(qiáng)驅(qū)動(dòng)能力,從而提高蜂鳴器的響度。蜂鳴器電路如圖4.11所示。當(dāng)比賽犯規(guī)攻或者是得一分,由蜂鳴器響提示。 圖4.11蜂鳴器電路原理圖乒乓球游戲機(jī)系統(tǒng)的主
49、要是由一片Cyclone EP1C3T100C8芯片來(lái)完成邏輯設(shè)計(jì)的,用VHDL語(yǔ)言編寫的源代碼在Quartus9.1軟件上進(jìn)行編譯以及測(cè)試,然后進(jìn)行仿真,最后在Quartus軟件上對(duì)所用芯片進(jìn)行引腳鎖定,再一次編譯,完成后形成可配置到FPGA的 h_adder.sof 文件和配置到外部存儲(chǔ)器的h_adder.pof文件。然后使用Create-SOPC2000實(shí)驗(yàn)系統(tǒng)和開發(fā)板,下載到實(shí)驗(yàn)箱的EP1C20F324C8芯片開發(fā)板上,然后對(duì)硬件進(jìn)行相應(yīng)的調(diào)試。在開發(fā)板 上,能觀察到實(shí)驗(yàn)結(jié)果按最初的所設(shè)計(jì)的那樣進(jìn)行顯示,并且能夠按要求進(jìn)行球速變換顯示以及比分的顯示,并當(dāng)一方得分時(shí)候可以發(fā)出聲音。當(dāng)按下
50、復(fù)位鍵時(shí)我們可以看到數(shù)碼顯示管顯示暫停,二極管不再移動(dòng)。硬件測(cè)試的圖片如圖4.12、圖4.13、圖4.14、圖4.15所示:圖4.13 硬件電路實(shí)現(xiàn)如圖4.13所示,此時(shí)球速為1,按下復(fù)位鍵后比分清零,隨機(jī)決定發(fā)球方為左方(乙方)。由圖可知控制球速的是SW7-8,此時(shí)狀態(tài)為01所以球速為1,比分顯示00-A1-00的初始狀態(tài)。圖4.14 硬件電路實(shí)現(xiàn)2如圖4.14所示,進(jìn)行了三場(chǎng)比賽后由比賽規(guī)則決定左方(甲方)發(fā)球,因此發(fā)光二極管停留在左端,現(xiàn)在的比分為02-A1-01。圖4.15 硬件電路實(shí)現(xiàn)3如圖4.15所示,SW7-8狀態(tài)為11,所以根據(jù)二進(jìn)制可得球速為3,數(shù)碼管中顯示A3。進(jìn)行一場(chǎng)比賽
51、后左方得分,蜂鳴器響起并連續(xù)發(fā)球所以發(fā)光二極管停留在左端,比分示01-A3-00。圖4.16硬件電路實(shí)現(xiàn)4如圖4.16所示,經(jīng)過(guò)五局比賽比分為03-A3-02,球速依然是3,此次是在比賽中的仿真圖,發(fā)光二極管在第五個(gè)閃爍。4.4本章小結(jié)本章節(jié)主要是對(duì)編寫以及處理過(guò)后的程序進(jìn)行波形仿真以及實(shí)物仿真,根據(jù)不同的模塊設(shè)計(jì)建立新的工程然后仿真,再對(duì)所得到的仿真圖進(jìn)行分析。使用EDA開發(fā)板,將ByteBlaster II 下載電纜插入SOPC 開發(fā)板的JTAG 下載接口中,將程序下載,對(duì)乒乓球游戲機(jī)系統(tǒng)進(jìn)行硬件測(cè)試。結(jié)論乒乓球游戲機(jī)是以計(jì)算機(jī)為開發(fā)平臺(tái),綜合運(yùn)用EDA軟件工具開發(fā)環(huán)境,使用硬件描述語(yǔ)言V
52、HDL,采用自上向下的設(shè)計(jì)方法,把系統(tǒng)由上到下的分成六個(gè)模塊設(shè)計(jì),最后達(dá)到設(shè)計(jì)的要求,然后在Quartus II9.1上通過(guò)編譯、編程、調(diào)試、仿真,從而實(shí)現(xiàn)對(duì)乒乓球游戲機(jī)的設(shè)計(jì)。本論文對(duì)乒乓球游戲機(jī)的原理、系統(tǒng)結(jié)構(gòu)、設(shè)計(jì)方法進(jìn)行了研究,取得了如下成果:(1) 簡(jiǎn)述了乒乓球游戲機(jī)的研究背景和發(fā)展走勢(shì),綜合介紹了乒乓球控制的應(yīng)用以及課題研究的意義。(2)介紹了乒乓球游戲機(jī)的基本特點(diǎn)、工作原理,然后簡(jiǎn)單地概述了可編程邏輯器件PLD,以及概述了VHDL語(yǔ)言的一些知識(shí)和Quartus II軟件的介紹和應(yīng)用。(3) 根據(jù)乒乓球游戲機(jī)的基本情況以及設(shè)計(jì)要求,將整個(gè)乒乓球游戲機(jī)分為三個(gè)狀態(tài),并將其分為時(shí)鐘分頻
53、器模塊、按鍵掃描模塊、乒乓球控制核心模塊、偽隨機(jī)數(shù)產(chǎn)生器模塊、數(shù)碼管顯示模塊、蜂鳴器輸出模塊六大模塊并做了詳細(xì)地編譯以及每個(gè)模塊的波形仿真和分析。(4) 使用Quartus軟件對(duì)編譯后的程序進(jìn)行整體波形仿真,然后使用自制開發(fā)板,主要使用Cyclone系列EP1C3T100C8芯片、撥碼開關(guān)、數(shù)碼管、四個(gè)獨(dú)立按鍵、蜂鳴器等對(duì)乒乓球游戲機(jī)系統(tǒng)進(jìn)行硬件驗(yàn)證和測(cè)試。在設(shè)計(jì)的過(guò)程中,由于對(duì)EDA技術(shù)掌握不全,分頻模塊分頻分的很大,頻率很小的話,數(shù)碼管顯示和得分存在部分誤差以及按鍵時(shí)會(huì)存在一些延遲。而對(duì)于后續(xù)的設(shè)計(jì)則會(huì)處理好這些問(wèn)題以及沒變多加兩個(gè)擊球鍵以達(dá)到乒乓球的變化效果。參考文獻(xiàn)1 李榮芝,肖煥禹乒
54、乓球運(yùn)動(dòng)的萌芽J體育文化導(dǎo)刊,2012,(03):30.2 張文,張道正基于VHDL乒乓球游戲機(jī)J高師理科學(xué)刊,2009,18(2):23-24. 3 蔡志明,陳曉芳乒乓球游戲機(jī)以FPGA實(shí)現(xiàn)J微計(jì)算機(jī)信息,2011,6:09-12.4 張亦華數(shù)字邏輯設(shè)計(jì)實(shí)驗(yàn)技術(shù)與EDA工具北京:北京郵電大學(xué)出版社,2003:15-18,315 譚會(huì)生 HYPERLINK 9/opac/item.php?strMarcNo=0000117589 o 查看該書詳細(xì)信息 EDA技術(shù)及應(yīng)用西安:西安電子科技大學(xué)出版社,2001:10-226 曹莉凌,劉雨清基于FPGA的乒乓球游戲機(jī)的設(shè)計(jì)J現(xiàn)代電子技術(shù),2010,3
55、2(1):51-53.7 HYPERLINK javascript:WriterSearch(袁海林); 王振紅圖說(shuō)VHDL-數(shù)字電路設(shè)計(jì)北京:化學(xué)工業(yè)出版社2011:120-1228 于潤(rùn)偉EDA基礎(chǔ)與應(yīng)用北京:機(jī)械工業(yè)出版社,2010:85-879 閻石數(shù)字電子技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,2006:9310 朱正偉EDA技術(shù)及應(yīng)用北京:清華大學(xué)出版社,2005:100-102,,15511 陳雪松騰立中VHDL入門與應(yīng)用北京:人民郵電出版社,2000:165-16612 胡光榮硬件描述語(yǔ)言在數(shù)字系統(tǒng)設(shè)計(jì)中的應(yīng)用J指揮技術(shù)學(xué)院學(xué)報(bào),2001,12(3):56-5713 許俊802
56、.3快速以太網(wǎng)MAC層研究及其在FPGA的實(shí)現(xiàn)D成都:電子科技大學(xué),200514 于潤(rùn)偉EDA基礎(chǔ)與應(yīng)用北京:機(jī)械工業(yè)出版社,2009:12015盧杰,賴毅.VHDL與數(shù)字電路設(shè)計(jì).北京:科學(xué)出版社,2001:65-70附 錄程序:分頻器模塊 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin IS PORT (CLK50 : IN STD_LOGIC; Fre100KHz: OUT STD_LOGIC; Fre1KHz: OUT STD_LOGIC; Fre1Hz:
57、OUT STD_LOGIC );END; ARCHITECTURE one OF fenpin is signal F1,F2,F3:STD_LOGIC;BEGIN PROCESS(CLK50) VARIABLE Q1 : STD_LOGIC_VECTOR(15 DOWNTO 0) ; -定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型 VARIABLE Q2 : STD_LOGIC_VECTOR(31 DOWNTO 0) ; -定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型 VARIABLE Q3 : STD_LOGIC_VECTOR(31 DOWNTO 0) ; -定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型 BEGIN IF RISING_EDG
58、E(CLK50) THEN Q1 := Q1 + 1 ; Q2 := Q2 + 1 ; Q3 := Q3 + 1 ; IF Q1=25-500k then Q1 :=(OTHERS=0); F1=12500-1k then Q2 :=(OTHERS=0); F20); F3=NOT F3;END IF; END IF; END PROCESS; Fre100KHz=F1; Fre1KHz=F2; Fre1Hz COUNT:=COUNT+1; IF COUNT=2 THEN keynum COUNT:=COUNT+1; IF COUNT=2 THEN keynum COUNT:=COUNT+1;
59、 IF COUNT=2 THEN keynum COUNT:=COUNT+1; IF COUNT=2 THEN keynum keynum=111; COUNT:=0; end case; END IF; END PROCESS; keyNUMout=keynum;END ; 乒乓球控制主模塊 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY pingpong IS PORT ( clk,reset : IN STD_LOGIC; PRBS9 : IN STD_LOGIC;-RANG
60、key_inputs : IN bit_VECTOR (2 downto 0); SW_INPUTS : IN STD_LOGIC_VECTOR (1 downto 0); Beep:out STD_LOGIC; codeLED : out bit_VECTOR (7 downto 0); showcode:out STD_LOGIC_VECTOR(31 DOWNTO 0) );END pingpong;ARCHITECTURE behv OF pingpong IS TYPE FSM_ST IS (s0, s1, s2); SIGNAL current_state: FSM_ST;-, ne
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魚塘隔斷施工方案
- Module 2 Unit 1 London is a big city 表格式教學(xué)設(shè)計(jì)
- 北海地區(qū)中考數(shù)學(xué)試卷
- 牙科診所服務(wù)協(xié)議書
- 出納季度個(gè)人工作總結(jié)
- 浙教版四年級(jí)下學(xué)期數(shù)學(xué)期末綜合復(fù)習(xí)重點(diǎn)知識(shí)練習(xí)題
- 幼兒園大班教師個(gè)人計(jì)劃(17篇)
- 2024年新出納個(gè)人年終工作總結(jié)
- 感應(yīng)型小便斗安裝施工方案
- 垃圾場(chǎng)承包合同(5篇)
- 《走進(jìn)汽車》課件
- 中國(guó)充電樁行業(yè)運(yùn)營(yíng)趨勢(shì)及投資價(jià)值評(píng)估研究報(bào)告
- 2025年小紅書品牌博主合作合同
- 2025年華能銅川照金煤電有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年?;髽I(yè)安全教育培訓(xùn)計(jì)劃
- 《HR的成長(zhǎng)之路》課件
- 2025年山東浪潮集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- U8UAP開發(fā)手冊(cè)資料
- GB 17681-2024危險(xiǎn)化學(xué)品重大危險(xiǎn)源安全監(jiān)控技術(shù)規(guī)范
- 2018NFPA10便攜式滅火器標(biāo)準(zhǔn)
- 橋梁樁基工程培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論