張煜
摘要:本課題我所設計的是基于FPGA的搶答器。主要構成有FPGA開發板,計分顯示電路,主持人按鍵電路,手模擬按鍵電路,時間倒數顯示電路。當主持人公布完題目,按下主持人開關,指示燈亮,此時數碼管倒數十秒,此十秒為選手搶答時間;如若十秒內有人搶答成功,對應燈亮,則開始答題,若答題成功,主持人按下按鍵為該選手計一分,若答錯,則不計分,主持人按下復位鍵,進行下一輪此時藍燈亮;而如若十秒內無人搶答,那么時間到后,紅燈熄滅,綠燈亮。然后主持人按系統復位鍵,即可進行下一輪搶答。
關鍵詞:FPGA 搶答器 數碼管 計時顯示
中圖分類號:TP331.2 文獻標識碼:A 文章編號:1007-9416(2016)08-0190-01
1 引言
隨著電子技術的發展,現在的搶答器功能越來越強,可靠性和準確性也越來越高。搶答器可以用各種不同的方法來實現它的功能。本課題即為對搶答器進行一個原理上的工作實現。
2 FPGA搶答器的系統設計(系統框圖見圖1)
本文設計了一個通用型電子搶答器:有3個按鍵輸入,其中3個按鍵為三組搶答選手的輸入,另外一個為主持人的開始搶答、加分操作按鍵。由一個四位八段數碼管進行顯示,其中三個顯示積分,另外1個倒數計時。并有4個LED燈用來提示相應搶答選手搶答成功。四組搶答選手,各自可手動按按鈕申請搶答權;回答正確加1分,錯誤記0分,不搶答記0分,各組初始積分為0分。
搶答器具體功能如下:
(1)主持人有一個控制選手搶答的開關:只有當主持人按下這個鍵選手才能搶答;在按開始按鈕前搶答屬于違規。
(2)搶答器具有定時搶答功能,且一次搶答的時間設定為10秒。當主持人啟動”開始”鍵后,數碼管開始倒數計時,直到為零,若仍沒人搶答則該輪搶答輪空,按復位鍵進行下一輪。
(3)在選手搶答后可以進入加分環節,主持人利用開始按鍵給選手加分,當選手搶答成功后,可以開始回答問題,如果回答正確,主持人按下按鍵,為該選手加一分,然后按復位鍵,進行下一輪搶答。
3 硬件設計
3.1 選手按鍵設計
在此次設計中,我采用3個獨立按鍵來模擬搶答選手。其電路配置靈活、軟件結構簡單。獨立式按鍵的主要特點是每個按鍵使用一個GPIO口,所以每個按鍵工作都不會相互影響其他的GPIO口的電平狀態。
在按鍵沒有按下的時候。因上拉電阻接高電平,那么給GPIO口的電平始終是高電平。而當按鍵按下的時候,按鍵接通,上拉電阻VCC與GND相通,電勢拉低。此時GPIO口電平翻轉,變為低電平。FPGA就是由此判斷是否有選手按下。
而當某位選手按下后,FPGA會判斷出此時已經有選手搶答成功,屏蔽其他選手,使其按鍵無效。
3.2 數碼管顯示電路設計
本人設計是利用三極管驅動共陽極數碼管,來達到顯示時間和記分的目的。其中第二位,第三位,第四位顯示選手積分,第四位同時兼顧倒數計時功能。
4 結語
基于FPGA的搶答器,制作簡單,可以很好的改變升級,所需材料少,集成度較高,既穩定又可靠。經過仿真以及下載到FPGA開發板上測試,此次設計可以公正、準確、直觀的判斷第一搶答者,并對搶答進行計時,加減操作的計時,并通過LED顯示并提示時間,以及復位搶答等功能,同時3個BCD數碼管可以正確的顯示第一搶答者的組號以及積分信息。同時通過測試驗證了軟件的按鍵消抖處理適當,不會產生按鍵誤判斷的情況,以及狀態機的程序設計方式結構清晰,易于查找程序的錯誤和進行改進。
參考文獻
[1]郭勇.EDA技術基礎(第2 版)[M].機械工業出版社.2005:314-320.
[2]田耘,徐文波,胡彬.Xinlinx ISE Design Suite 10.x FPGA開發指南[M].人民郵電出版社,2008年5月.
[3]V. Betz, “Architecture and CAD for speed and area optimizatoin of FPGAs,” Ph.D., Univ. Toronto,1998.
[4]A. Marquardt, V. Betz, and J. Rose, “Timing-driven placement for FPGAs,” in ACM/SIGDA Int. Conf. FPGAs (FPGA00),2000:203–213.