基于OuartusⅡ的電子搶答器設(shè)計(jì)
0 引言
本文引用地址:http://butianyuan.cn/article/148371.htm數(shù)字搶答器控制系統(tǒng)在現(xiàn)今許多工廠、學(xué)校和電視臺(tái)等單位所舉辦的各種知識(shí)競(jìng)賽中起著不可替代的作用。基于EDA技術(shù)設(shè)計(jì)的電子搶答
器,以其價(jià)格便宜、安全可靠、使用方便而受到了人們的普遍歡迎。本文以現(xiàn)場(chǎng)可編程邏輯器件(FPGA)為設(shè)計(jì)載體,以硬件描述語(yǔ)言VHDL為主要表達(dá)方式,以OuartusⅡ開發(fā)軟件和GW48EDA開發(fā)系統(tǒng)為設(shè)計(jì)工具設(shè)計(jì)的電子搶答器,具有搶答鑒別與鎖存功能以及60秒答題限時(shí)功能、對(duì)搶答犯規(guī)的小組進(jìn)行警告和對(duì)各搶答小組進(jìn)行相應(yīng)的成績(jī)加減操作等功能。
1 電子搶答器的功能
該電子搶答器實(shí)現(xiàn)的功能主要包括四項(xiàng)操作:
(1)第一搶答信號(hào)的鑒別和鎖存
該電子搶答器共設(shè)4個(gè)組別,每組控制一個(gè)搶答開關(guān),分別為a,b,c,d。在主持人發(fā)出搶答指令后,若有參賽者按搶答器按鈕,則該組指示燈亮,同時(shí)顯示器顯示出搶答者的組別。同時(shí),電路處于自鎖狀態(tài),以使其他組的搶答器按鈕不起作用。
(2)計(jì)時(shí)功能
在初始狀態(tài)時(shí)。主持人可以設(shè)置答題時(shí)間的初時(shí)值。在主持人對(duì)搶答組別進(jìn)行確認(rèn),并給出倒計(jì)時(shí)計(jì)數(shù)開始信號(hào)以后,搶答者便可開始回答問題。此時(shí),顯示器從初始值開始倒計(jì)時(shí),計(jì)至0時(shí)停止計(jì)數(shù),同時(shí)揚(yáng)聲器發(fā)出超時(shí)報(bào)警信號(hào)。若參賽者在規(guī)定的時(shí)間內(nèi)回答完問題,主持人即可給出計(jì)時(shí)停止信號(hào),以免揚(yáng)聲器鳴叫。
(3)計(jì)分功能
在初始狀態(tài)時(shí),主持人可以給每組設(shè)置初始分值。每組搶答完后,由主持人打分,答對(duì)一次加1分,答錯(cuò)一次減1分。
(4)犯規(guī)設(shè)置
對(duì)提前搶答者和超時(shí)搶答者給予蜂鳴警示,并顯示犯規(guī)組別。
2 電子搶答器的結(jié)構(gòu)原理
2.1 電子搶答器的整體結(jié)構(gòu)
電子搶答器的整體結(jié)構(gòu)如圖1所示。它包括鑒別與鎖存模塊、定時(shí)與犯規(guī)設(shè)置模塊以及計(jì)分模塊。
2.2 鑒別與鎖存模塊設(shè)計(jì)
鑒別與鎖存模塊的主要功能是用于判斷a、b、c、d四個(gè)組別搶答的先后,記錄最先搶答的組別號(hào)碼,并且不再接受其它輸入信號(hào),而對(duì)最先搶答的組別鎖存,同時(shí)顯示最先搶答的組別。
根據(jù)以上功能要求,該模塊的源程序必須包含四個(gè)搶答輸入信號(hào)?,F(xiàn)將其信號(hào)分別設(shè)為a、b、c、d;搶答時(shí)必須要有一個(gè)允許開始搶答信號(hào),將其信號(hào)設(shè)為 sta,該信號(hào)輸入后,其輸出指示燈亮,以便選手知道允許搶答信號(hào)已發(fā)出,故可設(shè)置一個(gè)sta的輸出指示燈信號(hào)為star-t;為了鑒別最先搶答者,可分別設(shè)置a、b、c、d組的輸出指示燈為led_a、led_b、led_c、led_d,同時(shí)設(shè)置顯示最先搶答組別號(hào)碼的輸出信號(hào)為 states[3..0];為了使系統(tǒng)進(jìn)入重新?lián)尨馉顟B(tài),還需要設(shè)置一個(gè)系統(tǒng)復(fù)位信號(hào),可將其設(shè)為rst。其鑒別與鎖存模塊的仿真波形如圖2所示。
通過圖2可以看出,當(dāng)rst=1時(shí),系統(tǒng)處于初始狀態(tài),此時(shí)所有輸入均無(wú)效;當(dāng)rst=O且sta=O時(shí),搶答無(wú)效;而當(dāng)rst=O且sta=1 時(shí),start指示燈亮,d組為最先有效搶答組別,led_d指示燈亮,并顯示搶答成功組別d組為“0100”。通過圖2的仿真圖及分析說明,可見其鑒別與鎖存模塊的功能設(shè)計(jì)正確。
評(píng)論