基於MAX+PLUSII模塊化設計的智力競賽搶答器
應用實踐
作者:黃雲 連恒輝
摘要:設計了一款造價低,體積小,操作簡單,適用性廣的搶答器。該搶答器是基於MAX+PLUSII軟件,在FPGA芯片上設計的,可實現多人智力競賽搶答。
關鍵詞:智力搶答器;多人搶答; MAX+PULSII軟件; FPGA芯片
中圖分類號:TP211+.5 文獻標誌碼:A 文章編號:1006-8228(2014)01-29-03
0 引言
本文所介紹的智力競賽搶答器,具有廣泛的適用性。通過改變硬件電路接線,施加時鍾信號頻率,以及進行軟件調試,使之可以靈活改變搶答者人數、回答問題時間和蜂鳴提醒時間等。本文選取一個實例介紹其原理。
1 開發條件
1.1 知識基礎
⑴熟練使用MAX+PLUSII軟件。
⑵學習數字電路基礎課程。
⑶了解《GW48-CK EDA實驗開發係統簡介》,了解連接方式。
1.2 所用原件
⑴ GW48係列EDA/SOC驗開發係統(提供有目標芯片FPGA-型號EP1K30TC144-3、數碼顯示器、二極管、三極管、鈕子開關、晶振等資源)。
⑵電路設計建議采用下列器件:74175、74147、74192、7448、ANDX、ORX、NOT等。
2 實現的功能
⑴有4路搶答;
⑵數字顯示搶答組別;
⑶由主持人複位後方可搶答;
⑷聲音提示已有人搶答;
⑸搶答成功後,有60秒的回答問題時間,並顯示倒計時;
⑹最後五秒蜂鳴提示;
⑺搶答隻需一次按鍵即可,無需一直按住。
3 電路基本原理
3.1 搶答控製
電路采用74175(4D觸發器),其原理圖,四個D輸入分別為四個搶答者開關(P1,P2,P3,P4),CL為主持人複位開關,主持人按動開關CLRN接0,芯片置0,此時各搶答者輸出均為低電平,搶答開始。此後,若上升沿有人先搶答,假定為P1,則CLK出現高電平,產生上升沿,則1Q輸出高電平,且不管接下來各搶答者搶答情況如何,由於1Q=1,CLK始終為1,無上升沿,因此各輸出端保持當前狀態。隻有CL開通,芯片置0,才能改變狀態,再次搶答。
3.2 數字顯示搶答組別
為了顯示搶答組別,采用74147(優先編碼器)對輸出編碼。由於74147輸入/輸出為低電平有效,在其輸入/輸出均加入了非門,所以能使其正確的顯示組別。
3.3 回答問題倒計時
實驗中,倒計時設定為60s,采用的是74192(十進製計數器),因此需兩塊芯片聯合使用實現60進製計數。左邊是十位,右邊個位。倒計時是在有人搶答成功開始計數的,將搶答者輸出做'或'運算後,分別接入兩計數器的置數端(十位置6,個位置0),一旦有搶答者搶答,LDN高電平,不置數,倒計時開始。采用減法計數,因此將1HZ的時鍾信號CP接上個位的DN,同時將個位的BON接十位的DN。在此需說明一個問題:BON是低電平有效,當計數一輪後有借位時,輸出為低電平,有讀者會有疑問:為何不把其先反相從而產生上升沿再接入十位的DN?這是因為,BON輸出值還跟CP有關。設當CP上升沿到來時,個位計數器數到0000,由於CP上升沿後為高電平,BON為高電平,此後CP變為低電平,BON變為低電平,CP下個上升沿一到,計數器變為1001,BON同時也變為高電平,此時給十位計數器DN一個上升沿,十位計數器計數,實現了十位、個位同時變化。相反,如果將BON先反相,則十位會先於個位變化。最後當60s計數完畢之後,為了停止計數,將十位計數器BON反相後分別接兩個計數器的CLR清0。