新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA“乒乓球比賽游戲機(jī)”的設(shè)計(jì)

基于FPGA“乒乓球比賽游戲機(jī)”的設(shè)計(jì)

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

可編程邏輯器件以其開(kāi)發(fā)周期短、成本低、功耗低、可靠性高等優(yōu)勢(shì),廣泛應(yīng)用于通信、航空、醫(yī)療等領(lǐng)域,近年來(lái)在消費(fèi)電子領(lǐng)域中的應(yīng)用也日漸增加。為進(jìn)一步挖掘在家庭娛樂(lè)如游戲機(jī)開(kāi)發(fā)與應(yīng)用中的巨大商機(jī),介紹了一款以Altera公司FP-GA芯片為控制核心,附加少量外圍電路組成的乒乓球比賽游戲機(jī)。整個(gè)系統(tǒng)設(shè)計(jì)模塊劃分清晰:包括裁判端、選手端、控制端、顯示端及模擬乒乓球臺(tái);功能齊全:包括發(fā)球權(quán)控制、犯規(guī)提示、局?jǐn)?shù)比分顯示等,模擬實(shí)際乒乓球比賽相似程度高。采用了VHDL語(yǔ)言編程實(shí)現(xiàn),在QuartusⅡ8.1集成環(huán)境下進(jìn)行了模擬仿真,結(jié)果表明在設(shè)定的比賽規(guī)則下,游戲機(jī)運(yùn)行正常,通過(guò)進(jìn)一步優(yōu)化可將其商品化,推入市場(chǎng)。

本文引用地址:http://butianyuan.cn/article/191845.htm


1 系統(tǒng)組成
乒乓球比賽游戲機(jī)的組成如圖1所示。比賽規(guī)則約定:五局三勝;11分一局;裁判發(fā)出比賽開(kāi)始信號(hào),觸發(fā)內(nèi)部隨機(jī)數(shù)發(fā)生器模塊產(chǎn)生首次發(fā)球權(quán)方;比賽進(jìn)行中,選手連續(xù)兩次獲得發(fā)球權(quán)后,發(fā)球權(quán)交予對(duì)方,如未獲發(fā)球權(quán)方發(fā)球,裁判端犯規(guī)音響電路鳴響;13個(gè)LED排列成行模擬乒乓球臺(tái);點(diǎn)亮的LED模擬乒乓球,受FPGA控制從左到右或從右到左移動(dòng);比賽選手通過(guò)按鈕輸入模擬擊球信號(hào),實(shí)現(xiàn)LED移位方向的控制;若發(fā)亮的LED運(yùn)動(dòng)在球臺(tái)中點(diǎn)至對(duì)方終點(diǎn)之間時(shí),對(duì)方未能及時(shí)按下?lián)羟虬粹o使其向相反方向移動(dòng),即失去一分。

2 功能模塊設(shè)計(jì)
圖1中,基于FPGA設(shè)計(jì)的控制端為整個(gè)系統(tǒng)的核心,其內(nèi)部主要由簡(jiǎn)易隨機(jī)數(shù)發(fā)生器、發(fā)球權(quán)控制器、乒乓球位置控制器、甲乙方計(jì)分控制器、犯規(guī)音響控制器等模塊組成。整個(gè)控制端采用模塊化設(shè)計(jì),先用VHDL語(yǔ)言編寫功能模塊,然后用頂層原理圖將各功能模塊連接起來(lái)。設(shè)計(jì)的難點(diǎn)在于協(xié)調(diào)各模塊工作,嚴(yán)格遵守各信號(hào)間時(shí)序關(guān)系。本系統(tǒng)采用1 kHz系統(tǒng)時(shí)鐘。
2.1 簡(jiǎn)易隨機(jī)數(shù)發(fā)生器
比賽首次發(fā)球權(quán)由隨機(jī)數(shù)發(fā)生器產(chǎn)生的數(shù)據(jù)決定,其隨機(jī)性要求不嚴(yán),因此,采用非常簡(jiǎn)單的模式產(chǎn)生,即一旦FPGA上電,系統(tǒng)時(shí)鐘百分頻產(chǎn)生一方波信號(hào)square,當(dāng)裁判閉合開(kāi)始比賽開(kāi)關(guān)產(chǎn)生start信號(hào)上升沿時(shí),讀取此時(shí)square信號(hào)值作為隨機(jī)數(shù)發(fā)生器輸出randq。模塊仿真如圖2所示,結(jié)果滿足設(shè)計(jì)要求。此模塊設(shè)計(jì)時(shí)保證了square信號(hào)周期應(yīng)遠(yuǎn)大于start信號(hào)上升沿建立時(shí)間,保證隨機(jī)數(shù)據(jù)的正確讀取。

2.2 發(fā)球權(quán)控制器
發(fā)球權(quán)控制器的控制過(guò)程為:如果按下復(fù)位按鈕,發(fā)球權(quán)數(shù)碼管顯示8,否則,開(kāi)始比賽開(kāi)關(guān)閉合時(shí),顯示隨機(jī)數(shù)發(fā)生器的值(0或1,0代表甲方、1代表乙方)。而在比賽中,為遵守發(fā)球權(quán)交換規(guī)則,設(shè)計(jì)甲乙雙方計(jì)分器總和信號(hào)sum_sc是不為0的偶數(shù)時(shí)(即計(jì)分總和最低位sum_sc0下降沿到來(lái)時(shí)),發(fā)球權(quán)數(shù)碼管顯示由0變?yōu)?或由1變?yōu)?。


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

關(guān)鍵詞: FPGA

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉