<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的搶答器設計與實(shí)現

基于FPGA的搶答器設計與實(shí)現

作者: 時(shí)間:2012-01-04 來(lái)源:網(wǎng)絡(luò ) 收藏

 搶答器在各類(lèi)競賽中的必備設備,有單路輸入的,也有組輸入方式,本設計以 為基礎設計了有三組輸入(每組三人),具有搶答計時(shí)控制,能夠對各搶答小組成績(jì)進(jìn)行相應加減操作的通用型搶答器;現行的搶答器中主要有兩種:小規模數字邏輯芯片譯碼器和觸發(fā)器來(lái)做,另外一種用單片機來(lái)做;小規模數字邏輯電路比較復雜,用單片機來(lái)做隨著(zhù)搶答組數的增加有時(shí)候存在I/O 口不足的情況;本設計采用 來(lái)做增強了時(shí)序控制的靈活性,同時(shí)由于 的I/O 端口資源豐富,可以在本設計基礎上稍加修改可以設計具有多組輸入的搶答器。

本文引用地址:http://dyxdggzs.com/article/190857.htm

  功能描述

  本文設計了一個(gè)通用型電子搶答器:三個(gè)參賽隊,每個(gè)隊有三個(gè)成員,各自可手動(dòng)按按鈕申請搶答權;回到正確加1 分,回答錯誤減1 分,違規搶答減1分,不搶答不加分不扣分;用4 位LED 的左邊2 位顯示搶答組號及搶答計時(shí)時(shí)間,右邊2 位顯示相應組的成績(jì)。

  搶答器具體功能如下:

  1、可同時(shí)進(jìn)行三組每個(gè)小組三人的搶答, 用9 個(gè)按鈕Group1_1,Group1_2,Group1_3,Group2_1,Group2_2,Group2_3,Group3_1,Group3_2,Group3_3 表示;

  2、設置一個(gè)搶答控制開(kāi)關(guān)Start,該開(kāi)關(guān)由主持人控制;只有當主持人按下開(kāi)始鍵才能搶答;在按開(kāi)始按鈕前搶答屬于違規;

  3、搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間設定為30 秒。當主持人啟動(dòng)“開(kāi)始”鍵后,用4 位LED 數碼管左邊兩位顯示30s 的倒計時(shí);同時(shí)紅色LED燈亮,表明可以搶答。

  4、搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應的組號,并在4 位LED 數碼管的左邊兩位顯示,同時(shí)用一個(gè)綠色LED 指示是否有選手搶答,如果是違規搶答還能用選手蜂鳴器報警提示。搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的相應組號和成績(jì)一直保持到下一輪搶答開(kāi)始。

  5、參賽選手在設定的時(shí)間內進(jìn)行搶答,搶答有效,數碼管左邊兩位顯示 ”FX”,如果搶答違規則顯示 ”XF”(其中X 表示組號1~3),并保持到下一輪搶答。如果搶答延遲時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效,系統回到主持人按開(kāi)始前的等待狀態(tài),數碼管上左邊兩位顯示“FF”。

  6、當搶答有效后,主持人可以根據搶答選手回答問(wèn)題正確與否對選手相應組數的成績(jì)進(jìn)行加減分操作,搶答違規也能減分操作,用4 位LED 數碼管右邊兩位顯示相應組數的成績(jì)。(注各組初始成績(jì)?yōu)?0 分)

  設計架構

  本文以FPGA 為基礎設計的電子搶答器,根據設計功能要求,改設計主要包括搶答輸入鍵盤(pán),數碼管顯示,報警及FPGA 最小系統。搶答器結構簡(jiǎn)圖如圖1所示。

  搶答器結構圖

  1、FPGA 最小系統電路:FPGA 正常工作時(shí)的基本電路,由時(shí)鐘和復位電路組成。

  2、鍵盤(pán)輸入電路:用3×3 矩陣鍵盤(pán)組成3 個(gè)組共9 個(gè)人的搶答按鈕。同時(shí)包括Start, Add, Sub 三個(gè)由主持人控制的單獨按鈕。

  3、顯示模塊:用移位寄存器74HC164 驅動(dòng)4 位共陰數碼管顯示;數碼管要顯示的數據通過(guò)74HC164 串行數據端口輸入。

  4、報警及相關(guān)信息顯示:蜂鳴器電路和LED 燈顯示相關(guān)狀態(tài)信息指示電路。

  各模塊詳細描述

  1、FPGA 與各個(gè)模塊的接口

  本文以XC3S400 為基礎設計的電子搶答器,搶答器實(shí)際上是一個(gè)人機接口的一個(gè)智能設備,該設計中用到的FPGA 外部I/O 口及其與外部各個(gè)模塊連接的網(wǎng)絡(luò )標識如圖2 所示。

  

  圖2.FPGA 的IO 接口

  2、按鍵模塊

  由于按鍵是機械的動(dòng)作,按鍵存在電平抖動(dòng),為了消除按鍵抖動(dòng)引起的干擾,需要等按鍵值達到穩定狀態(tài)時(shí)才讀取按鍵的值,也就是說(shuō)要當按鍵按下一段時(shí)間后,才讀取按鍵值;本設計中搶答開(kāi)始鍵(Start)、搶答后各組成績(jì)的加(Add)和減(Sub)按鍵是以單鍵的形式輸入,按鍵延遲時(shí)間為20ms,對于搶答組的按鍵是用3×3 陣列鍵盤(pán)實(shí)現,row=3’b001 以周期為5.08ms 進(jìn)行循環(huán)左移掃描,掃描完三行的周期為15.24ms,這個(gè)就是說(shuō)只有當兩個(gè)按鍵之間的時(shí)間間隔在15.24ms 之內時(shí)才有可能存在一個(gè)按鈕在比另一個(gè)按鈕先按,而響應后者;實(shí)際操作中,兩人按鍵之間的間隔大于這個(gè)時(shí)間間隔,因此,不會(huì )出現錯誤響應。同時(shí)每個(gè)按鍵后的延遲等待125.76ms 后此按鍵值才有效;經(jīng)過(guò)實(shí)際測試,鍵盤(pán)具有消抖功能,能夠正確檢測按鍵值。按鍵電路圖如圖3 所示。

  

  圖3.按鍵電路

  圖注: Group1_1,Group1_2,Group1_3 分別表示第一參賽小組的三個(gè)成員的按鈕, 依次類(lèi)推Group2_1,Group2_2,Group2_3 和 Group1_1,Group1_2,Group1_3 分別代表第二和第三參賽小組的三個(gè)成員;Start、Add、Sub 分別代表?yè)尨痖_(kāi)始按鍵、對小組成績(jì)的加操作和減操作按鈕!

  3、顯示模塊

  顯示模塊由4 位的LED 數碼管顯示搶答組數、是否違規搶答信息、按下?lián)尨疰I后的搶答時(shí)間、各組所得分數等信息;其中數碼管左邊2 位顯示搶答組號及搶答計時(shí)時(shí)間,右邊2 位顯示相應組的成績(jì)。數碼管的驅動(dòng)電路(譯碼電路)用兩片74164 控制;電路圖如圖4 所示。

  顯示數據信息通過(guò)74164 的串行譯碼傳送到數碼管對應段,對應位顯示;對于數碼管顯示的時(shí)序特別要注意:數碼管是采用動(dòng)態(tài)掃描方式顯示,所有位掃描顯示一次的頻率一定要大于相應位數據改變的頻率;同時(shí)當數碼管對于數據改變的同時(shí)一定要把相應數據送到數碼管進(jìn)行顯示,即數據改變和數據顯示要同步;此設計中4 位數碼管動(dòng)態(tài)掃描頻率位190Hz,而數碼管要顯示的搶答組數、搶答組的成績(jì)等信息的變化頻率都是秒級,即幾秒鐘或者幾分鐘變化一次,滿(mǎn)足數碼管顯示要求。

  

  圖4.顯示電路

  注:數碼管為共陰數碼管,其中pin6,pin8,pin9,pin12 依次為位碼,其余為段碼;

  4、時(shí)鐘復位

  此模塊用于生成FPGA 系統時(shí)鐘和復位電路,采用有源晶振和低電平復位。系統時(shí)鐘采用50MHz,能夠滿(mǎn)足電路設計要求,電路如圖5 所示。

  

  圖5.時(shí)鐘復位電路

  5、報警模塊

  報警主要用于響應當沒(méi)有按開(kāi)始鍵之前違規搶答信號;即當違規時(shí)蜂鳴器響;同時(shí)還增加了一個(gè)紅色用于顯示當按下開(kāi)始鍵的信號;即當主持人按下開(kāi)始按鍵時(shí),紅色LED 燈亮;同時(shí)用一個(gè)綠色LED 燈指示有選手按搶答按鈕,選手按鍵搶答,綠色LED 閃爍一次。電路圖如圖6 所示。

  

  圖6.報警和指示

  軟件代碼描述

  軟件設計主要采用verilog HDL 語(yǔ)言進(jìn)行設計,采用狀態(tài)機對搶答器的各個(gè)過(guò)程進(jìn)行控制,設計中采用了層次化和模塊化的思想,即頂層模塊只有一個(gè)控制搶答器的主狀態(tài)機和模塊例化,然后分別用子模塊實(shí)現數碼管顯示,成績(jì)多路選擇器,成績(jì)的處理模塊,按下?lián)尨痖_(kāi)始鍵后的延遲等待模塊,按鍵模塊等。程序流程圖如圖7 所示。

fpga相關(guān)文章:fpga是什么


蜂鳴器相關(guān)文章:蜂鳴器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 搶答器設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>