基于FPGA的搶答器設(shè)計本科畢業(yè)設(shè)計_第1頁
基于FPGA的搶答器設(shè)計本科畢業(yè)設(shè)計_第2頁
基于FPGA的搶答器設(shè)計本科畢業(yè)設(shè)計_第3頁
基于FPGA的搶答器設(shè)計本科畢業(yè)設(shè)計_第4頁
基于FPGA的搶答器設(shè)計本科畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于fpga的搶答器設(shè)計摘 要本文介紹了一種采用eda技術(shù),基于fpga并在quartus工具軟件環(huán)境下使用verilog硬件描述語言編寫的數(shù)碼管顯示4路搶答器的電路設(shè)計。本次設(shè)計的搶答器能夠同時供應(yīng)4位選手或者4個代表隊進(jìn)行搶答比賽,分別使用4個按鈕a,b,c,d表示。同時需要設(shè)置系統(tǒng)復(fù)位和搶答控制開關(guān),這需由主持人控制。主持人在允許搶答的情況下,計時器開始從30s開始倒計時,直到有人搶答成功后,由鎖存器將時間鎖存住,此時數(shù)碼管上將顯示剩余時間及搶答成功選手號碼,同時對應(yīng)選手的led燈也被點亮。在判斷選手是否回答正確后,由主持人控制加減按鈕進(jìn)行給分。在一輪比賽結(jié)束后,主持人按下復(fù)位按鈕,則除

2、了計分模塊外,其他模塊都復(fù)位為初始時刻,為下一輪的比賽做好準(zhǔn)備。系統(tǒng)芯片主要采用ep2c8q208,由搶答判別模塊,計時模塊,分頻器模塊,計分模塊,鎖存器模塊,數(shù)碼管驅(qū)動模塊組成。經(jīng)過編譯及其仿真所設(shè)計的程序,該設(shè)計的搶答器基本能夠?qū)崿F(xiàn)此次設(shè)計的要求,從而完成了搶答器應(yīng)具備的功能。關(guān)鍵詞:搶答器,數(shù)碼顯示,硬件描述語言,可編程邏輯門陣列fpga-based responder designabstractthis article introduces the design of 4 answering device circuit using an eda technology verilog

3、 hdl language in fpga and quartus environment.at the same time,the 4 answering device circuit is displayed by the digital.the responder can also supply four players or four teams to answer in the game, respectively, using four buttons a, b, c, d. setting reset and answer in a system control switch,

4、which controls required by the moderator. when the moderator allows to answer, the timer starts counts down from the 30s until someone answers successfully, by the time the latch latches will to live, then the remaining time and the number of the player who responds successfully will be displayed on

5、 the digital tube, at the same time the led of the corresponding player lights will be lighted. determined whether the contestant answers correctly, the moderator will give points by controlling the addition and subtraction button. at the end of the game, the moderator presses the reset button, othe

6、rs modules are reseted to the initial time for the next round of the game except the scoring module.the system uses mainly the ep2c8q208. at the same time the system is made from the answer in decision block, timing module, divider block, scoring module latch module, led driver modules. after compil

7、ation and simulation of the design process, the design responder can basically achieve the design requirements, thus completing the responder function.key words:responder, digital display, hdl ,fpga目錄前言1第1章 緒論31.1選題背景31.1.1eda技術(shù)發(fā)展31.1.2課題研究的必要性41.2研究課題的內(nèi)容4第2章 系統(tǒng)方案設(shè)計62.1fpga簡介62.1.1fpga芯片結(jié)構(gòu)82.1.2fpga

8、設(shè)計流程122.1.3fpga軟件設(shè)計132.1.4fpga的應(yīng)用142. 2verilog hdl概述152.2.1verilog hdl簡介152.2.2verilog hdl主要功能162.2.3verilog hdl與vhdl的區(qū)別162.3搶答器總體設(shè)計方案172.3.1搶答器構(gòu)成182.3.2搶答器工作原理18第3章 搶答器模塊設(shè)計與實現(xiàn)193.1搶答判別模塊193.2數(shù)碼管驅(qū)動模塊203.3計時模塊223.4分頻器模塊233.5計分模塊233.6鎖存模塊243.7總體模塊25第4章 搶答器程序設(shè)計、實現(xiàn)與仿真264.1搶答判別程序設(shè)計264.2數(shù)碼管驅(qū)動模塊程序設(shè)計284.3計時

9、模塊程序設(shè)計294.4分頻模塊程序設(shè)計314.5計分模塊程序設(shè)計324.6鎖存模塊程序設(shè)計36結(jié) 論38參考文獻(xiàn)39致謝41附錄42前言隨著人類社會的高速發(fā)展,電子行業(yè)也隨之迅猛的發(fā)展,這也使得人們越來越想方設(shè)法的是自己更加方便、輕松的生活,例如:自從有了電視遙控器開啟電視,更改電視頻道,我們再也不用跑來跑去用手改換頻道;自從有了全自動洗衣機,我們再也不用半自動洗衣機或者人工搓衣板去清洗衣服;自從有了交通燈,不僅省去了很多人力去指揮交通,而且使交通更加井然有序。當(dāng)然,當(dāng)具有定時、顯示、加減分等多功能性的搶答器擺在我們面前時,我想人們不會用舉手的方式或者舉牌的方式進(jìn)行搶答了。如今無論是什么場合,

10、只要舉辦搶答比賽,我們都能見到搶答器的使用,因為它以客觀的電子電路進(jìn)行狀態(tài)判斷,避免了競賽中出現(xiàn)的人為的失誤,或者由于某些原因造成的不公平。搶答器能夠準(zhǔn)確、公正的判斷誰是第一搶答者,并且直觀的指出誰是第一搶答者。由于其附加的定時、加減分等功能則能夠省去部分人力,且更準(zhǔn)確的規(guī)范時間?,F(xiàn)在市面上也存在著各種各樣的搶答器,但主要流行的是單片機搶答器和數(shù)字搶答器,雖然這兩款搶答器都能實現(xiàn)搶答器的基本功能,但是都或多或少的存在著一些缺點。單片機搶答器的設(shè)計??刂葡到y(tǒng)主要由單片機應(yīng)用電路、存儲器接口電路、顯示接口電路組成。其中單片機89c51是系統(tǒng)工作的核心,它主要負(fù)責(zé)控制各個部分協(xié)調(diào)工作.。雖然單片機實

11、現(xiàn)起來相當(dāng)靈活,但隨著搶答器數(shù)組的增加則存在著i/o口不足的問題。這就不能為以后進(jìn)行搶答器組數(shù)的增加進(jìn)行改進(jìn)了。數(shù)字搶答器的設(shè)計。數(shù)字搶答器電路主要是由電子元器件組成,數(shù)字搶答器由主體電路與擴展電路組成。雖然數(shù)字電路主要有元器件組成,成本較為便宜,且小規(guī)模數(shù)字邏輯設(shè)計思路簡單,但是電路實現(xiàn)起來比較麻煩:進(jìn)行電路規(guī)劃,用protel99畫出電路的pcb板,硬件的焊接與調(diào)試等等程序步驟??傊布O(shè)計不僅工作量大,而且要求也高。介于上面兩款搶答器的不足點,本次設(shè)計則采用fpga現(xiàn)場可編程技術(shù),這樣就避免了硬件的焊接與調(diào)試,同時由于fpga的i/o端口豐富,可以在設(shè)計的基礎(chǔ)上略加修改實現(xiàn)多組輸入的搶答

12、器,增強了系統(tǒng)的靈活性。本文介紹了一種采用eda技術(shù),基于fpga并在quartus工具軟件環(huán)境下使用verilog硬件描述語言編寫的數(shù)碼管顯示4路搶答器的電路設(shè)計、設(shè)計思路以及實現(xiàn)功能。本次設(shè)計以ep2c8q208為核心,完成主持人的控制與參賽隊伍的搶答功能;使用quartus ii軟件用verilog hdl完成代碼編寫,然后用quartus ii軟件實現(xiàn)正確的波形仿真作為主要的技術(shù)指標(biāo)。根據(jù)本次設(shè)計的技術(shù)要求,特設(shè)計了以下各種模塊來實現(xiàn)搶答器的基本功能:搶答判別模塊,計時模塊,分頻器模塊,計分模塊,鎖存器模塊,數(shù)碼管驅(qū)動模塊等等。經(jīng)過編譯及其仿真所設(shè)計的程序,該設(shè)計的搶答器基本能夠?qū)崿F(xiàn)此

13、次設(shè)計的要求,從而完成了搶答器應(yīng)具備的功能。第1章 緒論1.1 選題背景1.1.1 eda技術(shù)發(fā)展eda是電子設(shè)計自動化(electronic designautomation)的縮寫,在20世紀(jì)90年代初從計算機輔助設(shè)計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發(fā)展而來的。eda技術(shù)是指以計算機為工作平臺,融合了應(yīng)用電子技術(shù)、計算機技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動設(shè)計。利用eda工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出ic版圖或

14、pcb版圖的整個過程的計算機上自動處理完成。eda工具軟件可大致可分為芯片設(shè)計輔助軟件、可編程芯片輔助設(shè)計軟件、系統(tǒng)設(shè)計輔助軟件等三類。目前進(jìn)入我國并具有廣泛影響的eda軟件是系統(tǒng)設(shè)計軟件輔助類和可編程芯片輔助設(shè)計軟件:protel、altium designer、pspice、multisim12(原ewb的最新版本)、orcad、pcad、lsiiogic、microsim、ise、modelsim、matlab等等。這些工具都有較強的功能,一般可用于幾個方面,例如很多軟件都可以進(jìn)行電路設(shè)計與仿真,同時還可以進(jìn)行pcb自動布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。利用eda技術(shù)進(jìn)行電子

15、系統(tǒng)的設(shè)計,具有以下特點:(1) 用軟件的方式設(shè)計硬件;用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的考法軟件自動完成的;(2) 設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;(3) 系統(tǒng)可現(xiàn)場編輯,在線升級;(4) 整個系統(tǒng)可集中在一個芯片上,體積小、功耗低、可靠性高;(5) 從以前的“組合設(shè)計”轉(zhuǎn)向真正的“自由設(shè)計”;(6) 設(shè)計的移植性好,效率高;(7) 非常適合分工設(shè)計,團(tuán)體協(xié)作。因此,eda技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢。1.1.2 課題研究的必要性現(xiàn)行的搶答的實現(xiàn)方案主要有兩種:一種則是使用單片機,另一種是小規(guī)模數(shù)字邏輯芯片和觸發(fā)器。單片機搶答器的設(shè)計??刂葡到y(tǒng)主要由單片機應(yīng)用電路、存儲器接口

16、電路、顯示接口電路組成。其中單片機at89c51是系統(tǒng)工作的核心,它主要負(fù)責(zé)控制各個部分協(xié)調(diào)工作.。然而現(xiàn)如今單片機組成的搶答器也存在著一些缺點,或者應(yīng)該說是不足點,雖然單片機實現(xiàn)起來相當(dāng)靈活,但隨著搶答器數(shù)組的增加則存在著i/o口不足的問題。這就不能為以后進(jìn)行搶答器組數(shù)的增加進(jìn)行改進(jìn)了。數(shù)字搶答器的設(shè)計。數(shù)字搶答器電路主要是由電子元器件組成,數(shù)字搶答器由主體電路與擴展電路組成。優(yōu)先編碼器、鎖存器、譯碼電路將參賽隊的輸入信號在顯示器上輸出;用控制電路和主持人開關(guān)啟動報警電路,以上兩部分組成主體電路。通過定時電路和譯碼電路將脈沖產(chǎn)生的信號在顯示器上輸出實現(xiàn)計時功能,構(gòu)成擴展電路。雖然數(shù)字電路主要

17、有元器件組成,成本較為便宜,且小規(guī)模數(shù)字邏輯設(shè)計思路簡單,但是電路實現(xiàn)起來比較麻煩:進(jìn)行電路規(guī)劃,用protel99畫出電路的pcb板,硬件的焊接與調(diào)試等等程序步驟??傊布O(shè)計不僅工作量大,而且要求也高?,F(xiàn)存的搶答器設(shè)計方案雖然都能實現(xiàn)搶答器的功能,但是又由于它們自身缺點的限制,有些方面很難或者說很麻煩實現(xiàn)。然而由于fpga本身一些的特點、優(yōu)點能夠使基于fpga制作的搶答器克服這些問題。fpga作為新技術(shù)具有以下優(yōu)點:(1) fpga的管腳多,容易實現(xiàn)大規(guī)模系統(tǒng)。(2) fpga的運行速度快。(3) fpga內(nèi)部程序并行運行,有處理更復(fù)雜的功能。(4) fpga有大量的軟核,能夠進(jìn)行二次開發(fā)

18、。所以學(xué)習(xí)fpga并利用fpga進(jìn)行搶答器的設(shè)計是十分必要的。1.2 研究課題的內(nèi)容本次設(shè)計的搶答器能夠同時供應(yīng)4位選手或者4個代表隊進(jìn)行搶答比賽,分別使用4個按鈕a,b,c,d表示。同時需要設(shè)置系統(tǒng)復(fù)位和搶答控制開關(guān),這需由主持人控制。主持人在允許搶答的情況下,計時器開始從30s開始倒計時,直到有人搶答成功后,由鎖存器將時間鎖存住,此時數(shù)碼管上將顯示剩余時間及搶答成功選手號碼,同時對應(yīng)選手的led燈也被點亮。在判別選手是否回答正確后,由主持人控制加減按鈕進(jìn)行給分。在一輪比賽結(jié)束后,主持人按下復(fù)位按鈕,則除了計分模塊外,其他模塊都復(fù)位為初始時刻,為下一輪的比賽做好準(zhǔn)備。第2章 系統(tǒng)方案設(shè)計2.

19、1 fpga簡介fpga(fieldprogrammable gate array),即現(xiàn)場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。其主要特點如下:(1) 采用fpga設(shè)計asic電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。(2) fpga可做其它全定制或半定制asic電路的中試樣片。(3) fpga內(nèi)部有豐富的觸發(fā)器和i/o引腳。(4) fpga是asic電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之

20、一。(5) fpga采用高速cmos工藝,功耗低,可以與cmos、ttl電平兼容。可以說,fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。fpga是由存放在片內(nèi)ram中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時,fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時,只需換一片eprom即可。

21、這樣,同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。目前以硬件描述語言(verilog hdl或 vhdl)所完成的電路設(shè)計,可以經(jīng)過簡 單的綜合與布局,快速的燒錄至fpga上進(jìn)行測試,是現(xiàn)代ic設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如and、or、xor、not)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的fpga里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(flipflop)或者其他更加完整的記憶塊。fpga一般來說比asic(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,但是功耗較低。但是他們也有

22、很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的fpga。因為這些芯片有比較差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的fpga上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于asic的芯片上。另外一種方法是用cpld(復(fù)雜可編程邏輯器件備)。根據(jù)市場上對fpga的需要,則fpga的主要分類有以下幾種:1) 按邏輯功能塊的大小分類可編程邏輯塊是fpga的基本邏輯構(gòu)造單元。按照邏輯功能塊的大小不同,可將fpga分為細(xì)粒度結(jié)構(gòu)和粗粒度結(jié)構(gòu)兩類。細(xì)粒度fpga的邏輯功能塊一般較小,僅由很小的幾個晶體管組成,非常類似于半定制門陣列的基本單元,其優(yōu)點是功

23、能塊的資源可以被完全利用,缺點是完成復(fù)雜的邏輯功能需要大量的連線和開關(guān),因而速度慢;粗粒度fpga的邏輯塊規(guī)模大,功能強,完成復(fù)雜邏輯只需較少的功能塊和內(nèi)部連線,因而能獲得較好的性能,缺點是功能塊的資源有時不能被充分利用。近年來隨著工藝的不斷改進(jìn),fpga的集成度不斷提高,硬件描述語言(hdl)的設(shè)計方法得到了廣泛應(yīng)用。由于大多數(shù)邏輯綜合工具是針對門陣列的結(jié)構(gòu)開發(fā)的,細(xì)粒度的fpga較粗粒度的fpga可以得到更好的邏輯綜合結(jié)果,因此許多廠家開發(fā)出了一些具有更高集成度的細(xì)粒度fpga,如xilinx公司采用microvia技術(shù)的一次編程反熔絲結(jié)構(gòu)的xc8100系列,gatefield公司采用閃速

24、eprom 控制開關(guān)元件的可再編程gf100k系列等,它們的邏輯功能塊規(guī)模相對都較小。2) 按互連結(jié)構(gòu)分類根據(jù)fpga內(nèi)部的連線結(jié)構(gòu)不同,可將其分為分段互連型和連續(xù)互連型兩類。分段互連型fpga中有不同長度的多種金屬線,各金屬線段之間通過開關(guān)矩陣或反熔絲編程連接。這種連線結(jié)構(gòu)走線靈活,有多種可行方案,但走線延時與布局布線的具體處理過程有關(guān),在設(shè)計完成前無法預(yù)測,設(shè)計修改將引起延時性能發(fā)生變化。連續(xù)互連型fpga是利用相同長度的金屬線,通常是貫穿于整個芯片的長線來實現(xiàn)邏輯功能塊之間的互連,連接與距離遠(yuǎn)近無關(guān)。在這種連線結(jié)構(gòu)中,不同位置邏輯單元的連接線是確定的,因而布線延時是固定和可預(yù)測的。3)

25、按編程特性分類根據(jù)采用的開關(guān)元件的不同,fpga可分為一次編程型和可重復(fù)編程型兩類。一次編程型fpga采用反熔絲開關(guān)元件,其工藝技術(shù)決定了這種器件具有體積小、集成度高、互連線特性阻抗低、寄生電容小及可獲得較高的速度等優(yōu)點;此外,它還有加密位、反拷貝、抗輻射抗干擾、不需外接prom或eprom等特點。但它只能一次編程,一旦將設(shè)計數(shù)據(jù)寫入芯片后,就不能再修改設(shè)計,因此比較適合于定型產(chǎn)品及大批量應(yīng)用??芍貜?fù)編程型fpga采用sram開關(guān)元件或快閃eprom控制的開關(guān)元件。fpga芯片中,每個邏輯塊的功能以及它們之間的互連模式由存儲在芯片中的sram或快閃eprom中的數(shù)據(jù)決定。sram型開關(guān)的fpg

26、a是易失性的,每次重新加電,fpga都要重新裝入配置數(shù)據(jù)。sram型fpga的突出優(yōu)點是可反復(fù)編程,系統(tǒng)上電時,給fpga加載不同的配置數(shù)據(jù),即可令其完成不同的硬件功能。這種配置的改變甚至可以在系統(tǒng)的運行中進(jìn)行,實現(xiàn)系統(tǒng)功能的動態(tài)重構(gòu)。采用快閃eprom控制開關(guān)的fpga具有非易失性和可重復(fù)編程的雙重優(yōu)點,但在再編程的靈活性上較sram型fpga差一些,不能實現(xiàn)動態(tài)重構(gòu)。此外,其靜態(tài)功耗較反熔絲型及sram型的fpga高。2.1.1 fpga芯片結(jié)構(gòu)fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個概念,內(nèi)部包括可配置邏輯模塊clb(configurable logi

27、c block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個部分。 現(xiàn)場可編程門陣列(fpga)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如pal,gal及cpld器件)相比,fpga具有不同的結(jié)構(gòu)。fpga利用小型查找表(161ram)來實現(xiàn)組合邏輯,每個查找表連接到一個d觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動i/o,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到i/o模塊。fpga的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單

28、元的邏輯功能以及各模塊之間或模塊與i/o間的聯(lián)接方式,并最終決定了fpga所能實現(xiàn)的功能,fpga允許無限次的編程。fpga是在pal、gal、epld、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為asic領(lǐng)域中的一種半定制電路而出現(xiàn)的,即解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點。 由于fpga需要被反復(fù)燒寫,它實現(xiàn)組合邏輯的基本結(jié)構(gòu)不可能像asic那樣通過固定的與非門來完成,而只能采用一種易于反復(fù)配置的結(jié)構(gòu)。查找表可以很好地滿足這一要求,目前主流fpga都采用了基于sram工藝的查找表結(jié)構(gòu),也有一些軍品和宇航級fpga采用flash或者熔絲與反熔絲工藝的查找表結(jié)

29、構(gòu)。通過燒寫文件改變查找表內(nèi)容的方法來實現(xiàn)對fpga的重復(fù)配置。 根據(jù)數(shù)字電路的基本知識可以知道,對于一個n輸入的邏輯運算,不管是與或非運算還是異或運算等等,最多只可能存在2n種結(jié)果。所以如果事先將相應(yīng)的結(jié)果存放于一個存貯單元,就相當(dāng)于實現(xiàn)了與非門電路的功能。fpga的原理也是如此,它通過燒寫文件去配置查找表的內(nèi)容,從而在相同的電路情況下實現(xiàn)了不同的邏輯功能。 查找表(look-up-table)簡稱為lut,lut本質(zhì)上就是一個ram。目前fpga中多使用4輸入的lut,所以每一個lut可以看成一個有4位地址線的 的ram。 當(dāng)用戶通過原理圖或hdl語言描述了一個邏輯電路以后,pld/fpg

30、a開發(fā)軟件會自動計算邏輯電路的所有可能結(jié)果,并把真值表(即結(jié)果)事先寫入ram,這樣,每輸入一個信號進(jìn)行邏輯運算就等于輸入一個地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。目前主流的fpga仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如ram、時鐘管理和dsp)的硬核(asic型)模塊。fpga芯片主要由7部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌入塊式ram、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。每個模塊功能如下:1) 可編程輸入輸出單元(iob)可編程輸入/輸出單元簡稱i/o單元,是芯片與外界電路的接口部分

31、,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配要求,fpga內(nèi)的i/o按組分類,每組都能夠獨立地支持不同的i/o標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與i/o物理特性,可以調(diào)整驅(qū)動電流的大小,可以改變上、下拉電阻。外部輸入信號可以通過iob模塊的存儲單元輸入到fpga的內(nèi)部,也可以直接輸入fpga 內(nèi)部。當(dāng)外部輸入信號經(jīng)過iob模塊的存儲單元輸入到fpga內(nèi)部時,其保持時間(hold time)的要求可以降低,通常默認(rèn)為0。為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),fpga的iob被劃分為若干個組(bank),每個bank的接口標(biāo)準(zhǔn)由其接口電壓vcco決定,一個bank只能有 一種vcco,但

32、不同bank的vcco可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,vcco電壓相同是接口標(biāo)準(zhǔn)的基本條件。2) 可配置邏輯塊(clb)clb是fpga內(nèi)的基本邏輯單元。clb的實際數(shù)量和特性會依器件的不同而不同,但是每個clb都包含一個可配置開關(guān)矩陣,此矩陣由4或6個輸入、一些選型電路(多路復(fù)用器等)和觸發(fā)器組成。開關(guān)矩陣是高度靈活的,可以對其進(jìn)行配置以便處理組合邏輯、移位寄存器或ram。數(shù)字時鐘管理模塊(dcm)。業(yè)內(nèi)大多數(shù)fpga均提供數(shù)字時鐘管理(xilinx的全部fpga均具有這種特性)。xilinx推出最先進(jìn)的fpga提供數(shù)字時鐘管理和相位環(huán)路鎖定。相位環(huán)路鎖定能夠提供精確的時鐘綜

33、合,且能夠降低抖動,并實現(xiàn)過濾功能。3) 豐富的布線資源布線資源連通fpga內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。fpga芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為4類不同的類別。第一類是全局布線資源,用于芯片內(nèi)部全局時鐘和全局復(fù)位/置位的布線;第二類是長線資源,用以完成芯片 bank間的高速信號和第二全局時鐘信號的布線;第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用于專有時鐘、復(fù)位等控制信號線。4) 底層內(nèi)嵌功能單元內(nèi)嵌功能模塊主要指dll(delay locked loop)、pll

34、(phase locked loop)、dsp和cpu等軟處理核(softcore)?,F(xiàn)在越來越豐富的內(nèi)嵌功能單元,使得單片fpga成為了系統(tǒng)級的設(shè)計工具,使其具備了軟硬件聯(lián)合設(shè)計的能力,逐步向soc平臺過渡。5) 內(nèi)嵌專用硬核內(nèi)嵌專用硬核是相對底層嵌入的軟核而言的,指fpga處理能力強大的硬核(hard core),等效于asic電路。為了提高fpga性能,芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核。6) 嵌入式塊ram(bram)大多數(shù)fpga都具有內(nèi)嵌的塊ram,這大大拓展了fpga的應(yīng)用范圍和靈活性。塊ram可被配置為單端口ram、雙端口ram、內(nèi)容地址存儲器 (cam)以及fifo等常

35、用存儲結(jié)構(gòu)。ram、fifo是比較普及的概念,在此就不冗述。cam存儲器在其內(nèi)部的每個存儲單元中都有一個比較邏輯,寫入 cam中的數(shù)據(jù)會和內(nèi)部的每一個數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的所有數(shù)據(jù)的地址,因而在路由的地址交換器中有廣泛的應(yīng)用。除了塊ram,還可以將 fpga中的lut靈活地配置成ram、rom和fifo等結(jié)構(gòu)。在實際應(yīng)用中,芯片內(nèi)部塊ram的數(shù)量也是選擇芯片的一個重要因素。單片塊ram的容量為18k比特,即位寬為18比特、深度為1024,可以根據(jù)需要改變其位寬和深度,但要滿足兩個原則:首先,修改后的容量(位寬 深度)不能大于18k比特;其次,位寬最大不能超過36比特。當(dāng)然,可以將

36、多片塊ram級聯(lián)起來形成更大的ram,此時只受限于芯片內(nèi)塊ram的數(shù)量,而 不再受上面兩條原則約束。7) 數(shù)字時鐘管理模塊(dcm)業(yè)內(nèi)大多數(shù)fpga均提供數(shù)字時鐘管理(xilinx的全部fpga均具有這種特性)。xilinx推出最先進(jìn)的fpga提供數(shù)字時鐘管理和相位環(huán)路鎖定。相位環(huán)路鎖定能夠提供精確的時鐘綜合,且能夠降低抖動,并實現(xiàn)過濾功能。2.1.2 fpga設(shè)計流程一般來說,完整的fpga/cpld設(shè)計流程包括:(1) 電路功能設(shè)計,系統(tǒng)設(shè)計之前,首要的是方案論證、系統(tǒng)設(shè)計和fpga芯片選擇等準(zhǔn)備工作。一般采用自頂向下的設(shè)計方法將系統(tǒng)分成若干基本單元,然后將基本單元劃分成下一層的基本單元

37、,一直這樣就行下去,直到可以直接使用eda元件庫為止。(2) 設(shè)計輸入,常用的方法是硬件描述語言和原理圖輸入方式。 (3) 功能仿真,驗證設(shè)計電路的邏輯功能。 (4) 綜合優(yōu)化(synthesis),綜合優(yōu)化是指將hdl語言、原理圖等設(shè)計輸入翻譯成由與、或、非門、ram、觸發(fā)器等基本邏輯單元組成的邏輯網(wǎng)表,并根據(jù)目標(biāo)與要求(約束條件)優(yōu)化生成的邏輯網(wǎng)表,輸出edf和edn等文件,供fpga/cpld廠家的布局布線器進(jìn)行實現(xiàn)。 (5) 綜合后仿真,檢查綜合結(jié)果是否與原設(shè)計一致,仿真時把綜合生成的標(biāo)準(zhǔn)延時文件反標(biāo)注到綜合仿真模型中,可估計門延時帶來的影響。但這一步驟不能估計線延時,因此和布線后的仿

38、真情況還有一定的差距,并不十分準(zhǔn)確。(6) 實現(xiàn)(implementation),實現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的fpga芯片上,xilinx的實現(xiàn)過程分為翻譯(translate)、映射(map)、和布局布線(place&route)。布局布線是其中最重要的過程,布局是將邏輯網(wǎng)表中的硬件原語和底層單元合理得配置到芯片內(nèi)部的硬件結(jié)構(gòu)上,并且需要在速度最優(yōu)和面積最優(yōu)之間做出選擇。布線時根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用芯片內(nèi)部的各種連線資源合理準(zhǔn)確的連接各個元件。 (7) 時序仿真與驗證,將布局布線后的延時信息反標(biāo)注到網(wǎng)表中用來檢測時序工作情況,時序仿真包括的延時信息最全,也最精確,能較好的反映芯片

39、的實際工作情況。有是為了保證設(shè)計的可靠性,在時序仿真后還要做一些驗證,可以用ise內(nèi)嵌的時序分析工具完成靜態(tài)時序分析(sta,static timing analyzer),也可以用第三方驗證工具(如synopsys的formality驗證工具,primetime靜態(tài)時序分析工具等)進(jìn)行驗證??梢杂胕se內(nèi)嵌的fpga editor和chip viewer觀察芯片內(nèi)部的連接于配置情況,或者使用ise內(nèi)嵌的chipscope pro進(jìn)行在線邏輯分析。(8) 調(diào)試與加載配置,就是在線調(diào)試或者將生成的配置文件寫入芯片中進(jìn)行測試。在ise中對應(yīng)的工具就是impact。fpga設(shè)計流程圖如圖2-1所示。

40、圖2-1 fpga設(shè)計流程圖2.1.3 fpga軟件設(shè)計fpga軟件設(shè)計可分為兩大塊:編程語言和編程工具。編程語言主要有vhdl和verilog兩種硬件描述語言;編程工具主要是兩大廠家altera和xilinx的集成綜合eda軟件quartusii以及第三方工具。具體的設(shè)計輸入方式有以下幾種:(1) hdl語言方式。hdl既可以描述底層設(shè)計,也可以描述頂層的設(shè)計,但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項目最后所能達(dá)到的性能與設(shè)計人員的水平、經(jīng)驗以及綜合軟件有很大的關(guān)系。(2) 圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機描述和波形描述3種形式。電路原理圖方式描述比較直觀和高效,

41、對綜合軟件的要求不高;狀態(tài)機描述主要用來設(shè)計基于狀態(tài)機思想的時序電路;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。2.1.4 fpga的應(yīng)用fpga的應(yīng)用可分為三個層面:電路設(shè)計,產(chǎn)品設(shè)計,系統(tǒng)設(shè)計。1) 電路設(shè)計中fpga的應(yīng)用連接邏輯,控制邏輯是fpga早期發(fā)揮作用比較大的領(lǐng)域也是fpga應(yīng)用的基石事實上在電路設(shè)計中應(yīng)用fpga的難度還是比較大的這要求開發(fā)者要具備相應(yīng)的硬件知識(電路知識)和軟件應(yīng)用能力(開發(fā)工具)這方面的人才總是緊缺的,往往都從事新技術(shù),新產(chǎn)品的開發(fā)成功的產(chǎn)品將變成市場主流基礎(chǔ)產(chǎn)品供產(chǎn)品設(shè)計者應(yīng)用在不遠(yuǎn)的將來,通用和專用ip的設(shè)計將成為一個熱

42、門行業(yè)!搞電路設(shè)計的前提是必須要具備一定的硬件知識在這個層面,干重于學(xué),當(dāng)然,快速入門是很重要的,越好的位子越不等人電路開發(fā)是黃金飯碗。2) 產(chǎn)品設(shè)計把相對成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域如通訊,視頻,信息處理等等開發(fā)出滿足行業(yè)需要并能被行業(yè)客戶接受的產(chǎn)品這方面主要是fpga技術(shù)和專業(yè)技術(shù)的結(jié)合問題,另外還有就是與專業(yè)客戶的界面問題產(chǎn)品設(shè)計還包括專業(yè)工具類產(chǎn)品及民用產(chǎn)品,前者重點在性能,后者對價格敏感產(chǎn)品設(shè)計以實現(xiàn)產(chǎn)品功能為主要目的,fpga技術(shù)是一個實現(xiàn)手段在這個領(lǐng)域,fpga因為具備接口,控制,功能ip,內(nèi)嵌cpu等特點有條件實現(xiàn)一個構(gòu)造簡單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計將是fpga技術(shù)

43、應(yīng)用最廣大的市場,具有極大的爆發(fā)性的需求空間產(chǎn)品設(shè)計對技術(shù)人員的要求比較高,路途也比較漫長不過現(xiàn)在整個行業(yè)正處在組建首發(fā)團(tuán)隊的狀態(tài),只要加入,前途光明產(chǎn)品設(shè)計是一種職業(yè)發(fā)展方向定位,不是簡單的愛好就能做到的!產(chǎn)品設(shè)計領(lǐng)域會造就大量的企業(yè)和企業(yè)家,是一個近期的發(fā)展熱點和機遇。3) 系統(tǒng)級應(yīng)用系統(tǒng)級的應(yīng)用是fpga與傳統(tǒng)的計算機技術(shù)結(jié)合,實現(xiàn)一種fpga版的計算機系統(tǒng)如用xilinxv-4, v-5系列的fpga,實現(xiàn)內(nèi)嵌powerpccpu, 然后再配合各種外圍功能,實現(xiàn)一個基本環(huán)境,在這個平臺上跑linix等系統(tǒng)這個系統(tǒng)也就支持各種標(biāo)準(zhǔn)外設(shè)和功能接口(如圖象接口)了這對于快速構(gòu)成 fpga大型

44、系統(tǒng)來講是很有幫助的。這種山寨味很濃的系統(tǒng)早期優(yōu)勢不一定很明顯,類似arm系統(tǒng)的境況但若能慢慢發(fā)揮出fpga的優(yōu)勢,逐漸實現(xiàn)一些特色系統(tǒng)也是一種發(fā)展方向。若在系統(tǒng)級應(yīng)用中,開發(fā)人員不具備系統(tǒng)的擴充開發(fā)能力,只是搞搞編程是沒什么意義的,當(dāng)然設(shè)備驅(qū)動程序的開發(fā)是另一種情況,搞系統(tǒng)級應(yīng)用看似起點高,但不具備深層開發(fā)能力,很可能會變成愛好者,就如很多人會做網(wǎng)頁但不能稱做會編程類似以上是幾點個人開發(fā),希望能幫助想學(xué)fpga 但很茫然無措的人理一理思路。這是一個不錯的行業(yè),有很好的個人成功機會。但也肯定是一個競爭很激烈的行業(yè),關(guān)鍵看的就是速度和深度當(dāng)然還有市場適應(yīng)能力。2. 2 verilog hdl概述

45、2.2.1 verilog hdl簡介verilog hdl是目前應(yīng)用最為廣泛的硬件描述語言,適合算法級,寄存器級,邏輯級,門級和版圖級等各個層次的設(shè)計和描述,優(yōu)點是其工藝無關(guān)性這使得工程師在功能設(shè)計,邏輯驗證階段可以不必過多考慮門級及工藝實現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計的要求施加不同的約束條件。verilog hdl 是一種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可以在相同描述中顯示的進(jìn)行時序建模。這種語言具有下述描述能力:設(shè)計的行為特性、設(shè)計的數(shù)據(jù)流特性、設(shè)計的

46、結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計驗證方面的時延和波形產(chǎn)生機制。所有這些都使用同一種建模語言、此外,verilog hdl語言提供了編程語言接口,通過該接口可以在模擬、驗證期間從設(shè)計外部訪問設(shè)計,包括模擬的具體控制和運行。這種硬件語言不僅定義了語法。而且對每個語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用verilog仿真器進(jìn)行驗證。語言從c編程語言中繼承了多種操作符和結(jié)構(gòu)。verilog hdl提供了擴展的建模能力,其中許多擴展最初很難理解。但是,verilog hdl語言的核心子集非常易于學(xué)習(xí)和使用,這對大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語言足以對從最復(fù)

47、雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。verilog hdl語言最初是于1983年由gateway design automation公司為其模擬器產(chǎn)品開發(fā)的硬件建模語言。那時它只是一種專用語言。由于他們的模擬、仿真器產(chǎn)品的廣泛使用,verilog hdl 作為一種便于使用且實用的語言逐漸為眾多設(shè)計者所接受。在一次努力增加語言普及性的活動中,verilog hdl語言于1990年被推向公眾領(lǐng)域。 open verilog international (ovi)是促進(jìn)verilog發(fā)展的國際性組織。1992年,ovi決定致力于推廣verilog ovi標(biāo)準(zhǔn)成為ieee標(biāo)準(zhǔn)。這一努力最后獲得成功,ve

48、rilog hdl于1995年成為ieee標(biāo)準(zhǔn),稱為ieee std 13641995。完整的標(biāo)準(zhǔn)在verilog硬件描述語言參考手冊中有詳細(xì)描述。2.2.2 verilog hdl主要功能(1) 基本邏輯門,例如and、or和nand等都內(nèi)置在語言中。(2) 用戶定義原語(udp)創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯原語,也可以是時序邏輯原語。(3) 開關(guān)級基本結(jié)構(gòu)模型,例如pmos 和nmos等也被內(nèi)置在語言中。(4) 提供顯式語言結(jié)構(gòu)指定設(shè)計中的端口到端口的時延及路徑時延和設(shè)計的時序檢查。(5) 可采用三種不同方式或混合方式對設(shè)計建模。這些方式包括:行為描述方式使用過程化結(jié)構(gòu)建模

49、;數(shù)據(jù)流方式使用連續(xù)賦值語句方式建模;結(jié)構(gòu)化方式使用門和模塊實例語句描述建模。2.2.3 verilog hdl與vhdl的區(qū)別verilog hdl和vhdl作為描述硬件電路設(shè)計的語言,其共同特點在于:能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計中層次與范圍的描述;可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述;具有電路仿真與驗證機制以保證設(shè)計的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實現(xiàn)工藝無關(guān)(有關(guān)工藝參數(shù)可通過語言提供的屬性包括進(jìn)去);便于文檔管理;易于理解和設(shè)計重用。但是,兩者又有著各自的特點:(1) 語法特點verilog hdl和vhdl最大的差別在語法上,ver

50、ilog hdl是一種類c語言,而vhdl是一種ada(action data automation,行動數(shù)據(jù)自動化)語言。由于c語言簡單易用且應(yīng)用廣泛,因此也使得verilog hdl語言容易學(xué)習(xí),如果有c語言學(xué)習(xí)的基礎(chǔ),很快就能夠掌握;相比之下,vhdl語句較為晦澀,使用難度較大。(2) 運用群體由于verilog hdl早在1983年就已推出,至今已有20多年的應(yīng)用歷史,因而verilog hdl擁有更加廣泛的設(shè)計群體,成熟的資源也比vhdl豐富。(3) 優(yōu)勢不同傳統(tǒng)觀念認(rèn)為verilog hdl在系統(tǒng)級抽象方面較弱,不太適合大型的系統(tǒng);vhdl側(cè)重于系統(tǒng)描述,從而更多地為系統(tǒng)級設(shè)計人員

51、所采用;verilog hdl側(cè)重于電路級描述,從而更多地為電路設(shè)計人員所采用。但這兩種語言仍處于不斷完善之中,都在朝著更高級、更強大描述語言的方向前進(jìn)。其中,經(jīng)過ieee verilog hdl 2001標(biāo)準(zhǔn)補充之后,verilog hdl 語言的系統(tǒng)級描述性能和可綜合性能有了大幅度提高。綜上所述,verilog hdl 語言作為學(xué)習(xí)hdl設(shè)計方法入門和基礎(chǔ)是非常合適的。掌握了verilog hdl 語言建模、綜合和仿真技術(shù),不僅可以增加對數(shù)字電路設(shè)計的深入了解,還可以為后續(xù)高級階段的高級學(xué)習(xí)打好基礎(chǔ) ,包括數(shù)字信號處理和數(shù)字通信的fpga實現(xiàn)、ic設(shè)計等領(lǐng)域。本文的設(shè)計中,采用verilo

52、g hdl語言。2.3 搶答器總體設(shè)計方案2.3.1 搶答器構(gòu)成本次設(shè)計的搶答器,其系統(tǒng)芯片主要采用ep2c8q208,由搶答判別模塊,計時模塊,分頻器模塊,計分模塊,鎖存器模塊,數(shù)碼管驅(qū)動模塊組成。搶答器結(jié)構(gòu)簡圖如圖2-3所示。圖2-3 搶答器結(jié)構(gòu)簡圖由圖2-3我們很清楚的看到系統(tǒng)都有哪些外圍電路組成,而且還能很快就能明白這次設(shè)計目的與原理。2.3.2 搶答器工作原理分頻器主要是運用計數(shù)器的功能,由于實際上我們使用的是50hz的頻率,所以我將設(shè)計計數(shù)器,其在每個脈沖的上升沿來臨時,就會加1,直到加到25時,則會使輸出脈沖致1,在下一個25時,則會使輸出脈沖致0。這樣就能夠?qū)崿F(xiàn)將50hz的脈沖

53、變成1hz的脈沖,用于控制計時模塊。計時模塊運用的是計數(shù)器的減法運算,當(dāng)外部條件滿足時,計時器就會從30s開始計時,一直計到零時,計數(shù)器停止,直到主持人按下復(fù)位按鈕,計數(shù)器復(fù)位,才能使下次搶答時能夠從頭開始。數(shù)碼管驅(qū)動主要是將4位變8位,即當(dāng)外部條件滿足時,就會將輸入的4位數(shù)據(jù)轉(zhuǎn)變成7位,從而能夠使其能夠在數(shù)碼管上顯示出來。鎖存器在外部信號沒要求進(jìn)行鎖存操作時,則會跟著輸入的變化而變化,然而當(dāng)外部要求進(jìn)行鎖存時,就是立即鎖存住當(dāng)前的數(shù)據(jù),即輸出保持當(dāng)前的數(shù)據(jù)不再變化。第3章 搶答器模塊設(shè)計與實現(xiàn)3.1 搶答判別模塊搶答判別模塊是實現(xiàn)搶答器搶答功能的核心元件了,通過搶答判別模塊來鑒別搶答的先后,

54、其中設(shè)計的這個模塊中自帶鎖存功能,即當(dāng)其中一人或者一組搶答成功后,其余人或者組都不能再搶答了。該模塊還能夠進(jìn)行判別誰進(jìn)行了搶答,當(dāng)主持人還沒有說開始搶答時,就有人開始搶答時,該人或者該組面前的led燈就會被點亮,對應(yīng)的報警器也會響起,同時數(shù)碼管這時也會顯示出提前搶答的組號,從而杜絕了一些不公平的元素。其流程圖如圖3-1。圖3-1 搶答判別流程圖我們通過對fpga以及硬件語言verilo hdl的學(xué)習(xí),只通過對系統(tǒng)的編程就滿足了該模塊的要求,能實現(xiàn)判別,鎖存,顯示,報警等功能。搶答判別模塊的輸入有en,clr,a,b,c,d,而輸出端為led_a,led_b.led_c,led_d以及4位led

55、_f,4位led_t。其中en表示使能端,只有主持人按下這個按鈕,才能允許參賽選手進(jìn)行搶答;clr表示復(fù)位信號,當(dāng)主持人按下這個按鈕后,所有的狀態(tài)都將恢復(fù)成初始狀態(tài),為下次搶答做好準(zhǔn)備;a,b,c,d表示四組搶答選手;led_a,led_b.led_c,led_d分別表示對應(yīng)小組的led燈,用來顯示選手們的搶答情況;led_f表示報警信號,當(dāng)有選手提前搶答時,該對應(yīng)的報警器將會響起;led_t表示顯示選手號碼的信號,當(dāng)有選手搶答時,就會通過led_t輸出的信號使其組號在數(shù)碼管上顯示出來。該模塊的邏輯框圖如圖3-2所示。圖3-2 搶答判別模塊邏輯框圖3.2 數(shù)碼管驅(qū)動模塊數(shù)碼管按段數(shù)可分為七段數(shù)

56、碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、3位、4位、5位、6位、7位等數(shù)碼管。按發(fā)光二極管單元連接方式可分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。(1) 靜態(tài)顯示驅(qū)動。靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的i/o端口進(jìn)行驅(qū)動,或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用i/o端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要58=40根i/o端口來驅(qū)動,要知道一個89s51單片機可用的i/o端口才32個),實際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論