基于FPGA的乒乓球游戲的設計與實(shí)現
0引言
FPGA(FieldProgrammableGateArray),現場(chǎng)可編程門(mén)陣列。它是繼PAL、GAL、CPLD等可編程器件的基礎上進(jìn)一步發(fā)展的成果。它作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。作為一種可編程器件,FPGA與傳統的數字電路和門(mén)電路相比,它采用邏輯單元陣列的模式,內部包含有可配置邏輯模塊、輸出輸入模塊和內部連線(xiàn)三個(gè)部分。通過(guò)硬件描述語(yǔ)言(如VHDL語(yǔ)言)完成的電路設計,可以通過(guò)綜合與布局,快速燒錄至FPGA芯片上進(jìn)行測試。
SOPC(SystemOnProgrammableChip),可編程片上系統。它是用可編程邏輯技術(shù)把整個(gè)系統放到一塊硅片上,用于從事嵌入式系統的系統研究和電子測量處理等領(lǐng)域。SOPC是一種特殊的嵌入式系統,它既是片上系統(SOC),即由單個(gè)芯片完成整個(gè)系統的主要邏輯功能,但它又不是簡(jiǎn)單的SOC,也是可編程系統,具有靈活的設計方式,可裁剪、可擴充、可升級,并具備軟硬件在系統可編程的功能。
1乒乓球游戲玩法介紹
將雙通道示波器作為顯示屏。將兩路信號輸入示波器中,讓示波器工作在X/Y模式。
單片機實(shí)驗板上的兩個(gè)按鈕作為控制鍵分別用于左擊球和右擊球,當小球接近屏幕左邊時(shí)按下左擊球可將球擊回右側,右側擊球亦然。小球可以按照一定的拋物線(xiàn)軌跡自動(dòng)在屏幕上左右運動(dòng),連續按下兩次擊球鍵能夠擊出高拋球,使球飛行距離增高。當球接觸到屏幕邊沿而未按下?lián)羟蜴I則被判定為輸球。
2實(shí)驗器件
CycloneIII(EP3C10E144C8)FPGA實(shí)驗板,單片機P89V51實(shí)驗板(含按鍵顯示屏等),電阻導線(xiàn)若干。
Altera公司生產(chǎn)的CycloneIIIFPGA芯片具有低功耗、低成本和高性能等特點(diǎn)。其體系結構包括高達120K的垂直排列邏輯單元(LE)、以9-Kbit(M9K)模塊構成的4Mbits嵌入式存儲器、200個(gè)18x18的嵌入式乘法器。利用TSMC的65nm低功耗(LP)工藝,CycloneⅢFPGA芯片提供豐富的邏輯、存儲器和DSP功能,功耗更低。在可編程邏輯發(fā)展歷史中,CycloneIIIFPGA比其他低成本FPGA系列能夠支持實(shí)現更多的應用。
3實(shí)驗原理及模塊詳解
用方波發(fā)生器生成兩個(gè)占空比可變的方波,方波經(jīng)過(guò)低通濾波器生成兩個(gè)通道的直流信號用于控制小球在X軸和Y軸的位置。通過(guò)改變方波占空比從而改變直流信號的值。用SOPC與單片機通訊實(shí)現按鍵對小球運動(dòng)的控制。
3.1方波發(fā)生器生成原理
VHDL語(yǔ)言編寫(xiě)的方波產(chǎn)生tennis模塊代碼的關(guān)鍵部分:
評論