新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SOPC的乒乓球游戏设计

基于SOPC的乒乓球游戏设计

作者:时间:2012-02-07来源:网络收藏

摘要:在FPGA芯片内部产生一个占空比可调的方波发生器,通过内置对占空比进行控制。输出两路方波波形通过低通滤波器,得到幅度可控的直流信号用于控制示波器上X轴和Y轴的位置。预设小球轨迹从而对小球的抛射轨迹进行
关键词:;占空比;FPGA;单片机

0 引言
FPGA(Field Programmable Gate Array),现场可编程门阵列。它是继PAL、GAL、CPLD等可编程器件的基础上进一步发展的成果。它作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。作为一种可编程器件,FPGA与传统的数字电路和门电路相比,它采用逻辑单元阵列的模式,内部包含有可配置逻辑模块、输出输入模块和内部连线三个部分。通过硬件描述语言(如VHDL语言)完成的电路,可以通过综合与布局,快速烧录至FPGA芯片上进行测试。
(System On Programmable Chip),可编程片上系统。它是用可编程逻辑技术把整个系统放到一块硅片上,用于从事嵌入式系统的系统研究和电子测量处理等领域。SOPC是一种特殊的嵌入式系统,它既是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能,但它又不是简单的SOC,也是可编程系统,具有灵活的方式,可裁剪、可扩充、可升级,并具备软硬件在系统可编程的功能。

1 玩法介绍
将双通道示波器作为显示屏。将两路信号输入示波器中,让示波器工作在X/Y模式。
单片机实验板上的两个按钮作为控制键分别用于左击球和右击球,当小球接近屏幕左边时按下左击球可将球击回右侧,右侧击球亦然。小球可以按照一定的抛物线轨迹自动在屏幕上左右运动,连续按下两次击球键能够击出高抛球,使球飞行距离增高。当球接触到屏幕边沿而未按下击球键则被判定为输球。

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

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

本文引用地址:http://www.eepw.com.cn/article/172167.htm

a.jpg

VHDL语言编写的方波产生tennis模块代码的关键部分:
b.jpg
代码分析:
每当输入时钟clk_in变化时进程被触发。在进程中,每一个时钟上升沿计数器变量c0dutytmp加一,在一个周期内,计数器小于预设值时输出低电平,大于预设值时输出高电平。在设计中,我选用的预设值为8位,所以在0到255之间给定任意一个数作为输入就可以设置它的占空比。占空比c.jpg。而通过SOPC builder生成的SOPC控制c0duty便可以间接控制其占空比。以上代码完成了一条通道的控制,另一个数据通道方法类似。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭