基于FPGA的乒乓球游戏设计 FPGA程序

具体要求:
1.用EP1C3T100的FPGA平台结合SOPC技术构造一个乒乓球游戏机。可以用VHDL或VerilogHDL语言编程。
2.要求FPGA通过两条I/O信号输出两组脉宽调制波,经过低通滤波器提取脉宽调制的均值电压,输入到双通道示波器中。
3.示波器工作在X/Y模式,示波器屏幕上的光点代表乒乓球,乒乓球X/Y电压的控制下在屏幕上移动。

FPGA(FieldProgrammableGateArray),现场可编程门阵列。它是继PAL、GAL、CPLD等可编程器件的基础上进一步发展的成果。它作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。作为一种可编程器件,FPGA与传统的数字电路和门电路相比,它采用逻辑单元阵列的模式,内部包含有可配置逻辑模块、输出输入模块和内部连线三个部分。通过硬件描述语言(如VHDL语言)完成的电路设计,可以通过综合与布局,快速烧录至FPGA芯片上进行测试。

SOPC(SystemOnProgrammableChip),可编程片上系统。它是用可编程逻辑技术把整个系统放到一块硅片上,用于从事嵌入式系统的系统研究和电子测量处理等领域。SOPC是一种特殊的嵌入式系统,它既是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能,但它又不是简单的SOC,也是可编程系统,具有灵活的设计方式,可裁剪、可扩充、可升级,并具备软硬件在系统可编程的功能。

1乒乓球游戏玩法介绍

将双通道示波器作为显示屏。将两路信号输入示波器中,让示波器工作在X/Y模式。

单片机实验板上的两个按钮作为控制键分别用于左击球和右击球,当小球接近屏幕左边时按下左击球可将球击回右侧,右侧击球亦然。小球可以按照一定的抛物线轨迹自动在屏幕上左右运动,连续按下两次击球键能够击出高抛球,使球飞行距离增高。当球接触到屏幕边沿而未按下击球键则被判定为输球。

2实验器件

CycloneIII(EP3C10E144C8)FPGA实验板,单片机P89V51实验板(含按键显示屏等),电阻导线若干。

Altera公司生产的CycloneIIIFPGA芯片具有低功耗、低成本和高性能等特点。其体系结构包括高达120K的垂直排列逻辑单元(LE)、以9-Kbit(M9K)模块构成的4Mbits嵌入式存储器、200个18x18的嵌入式乘法器。利用TSMC的65nm低功耗(LP)工艺,CycloneⅢFPGA芯片提供丰富的逻辑、存储器和DSP功能,功耗更低。在可编程逻辑发展历史中,CycloneIIIFPGA比其他低成本FPGA系列能够支持实现更多的应用。

3实验原理及模块详解

用方波发生器生成两个占空比可变的方波,方波经过低通滤波器生成两个通道的直流信号用于控制小球在X轴和Y轴的位置。通过改变方波占空比从而改变直流信号的值。用SOPC与单片机通讯实现按键对小球运动的控制。


附上出处链接:http://www.21ic.com/app/eda/201202/107663.htm

温馨提示:答案为网友推荐,仅供参考
相似回答