欢迎来到天天文库
浏览记录
ID:44936068
大小:1.32 MB
页数:17页
时间:2019-11-05
《刘文凭毕业论文答辩ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、指导教师:吴强基于FPGA的乒乓球游戏机设计班级:09电子信息工程学生:刘文凭学号:0920085108课题摘要随着电子设计自动化技术的不断发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。本文设计了基于FPGA的乒乓球游戏机设计。用VHDL语言编程,VHDL是甚高速集成电路硬件描述语言。目前,VHDL已成为许多设计自动化工具普遍采用的标准化硬件描述语言。VHDL语言功能性强,覆盖面广,灵活性高,具有很好的实用性。本文详细的简述了乒乓球游戏机的工作原理,此乒乓球游戏机由状态机、记分器、译码显示器与按键去抖等部分所组成。通过对各部
2、分编写VHDL程序,在QuartusⅡ软件上进行编译、仿真,最终在Altera公司的EP开发板上成功实现下载和调试。经过仿真和验证的结果表明,实现乒乓游戏机的基本功能,结果达到了设计的要求。总体设计本设计中的乒乓游戏机是由9个发光二极管代表乒乓球台,中间3个发光二极管兼作球网,用点亮的发光二极管按一定方向移动来表示球的运动方向。在游戏机的两侧各设置两个开关:hit1、hit2,甲乙二人按乒乓球比赛规则来操作开关。甲开始发球时,靠近甲方的第一个发光二极管亮,然后发光二极管由甲向乙依次点亮,代表乒乓球的移动。当球过网后按规定的球位,乙方就可以击球。若乙方提前击球或没有击中球,则判
3、乙方失分,甲方的记分牌自动加一分。同理,当乙方开始发球时,点击hit1击球。然后重新发球,比赛继续进行。比赛一直要进行到一方记分牌达到11分,该局才结束。本设计由译码显示器、按键去抖、状态机/球台控制器等部分所组成。本系统的整体设计结构图如图3所示。基于FPGA的乒乓球游戏机设计与实现系统总体设计方案一、示意图以及系统结构图系统需求分析1、时钟分频设计分频是将一个给定的频率较高的数字输入信号经过适当的处理而产生一个或数个频率较低的数字输出信号。由于开发板的时钟信号频率是50mHz,直接作为二极管点亮频率和数码管扫描频率过大,不符合设计要求。因此需将时钟信号分频,分频成两个时钟
4、信号分别给发光二极管作为移动速度和数码管的基准信号,设置分频系数为25000000,分频后的信号频率为1Hz,此时发光二极管的移动速度为1s,符合设计要求。部分时钟分频源程序:p1:process(count,clk)--25000000倍分频beginifclk'eventandclk='1'thencount<=count+1;ifcount=25000000thentmp<='1';count<=0;elsetmp<='0';endif;endif;endProcess;2、乒乓球游戏机电路的设计2.1、状态机的7种状态及状态转移状态机设置了7个状态,分别是等待发球状态
5、(waitserve)、第一盏灯亮状态(light1on)、第八盏灯亮状态(light7on)、球向乙移动状态(ballmoveto2)、球向甲移动状态(ballmoveto1)、允许甲击球状态(allow1hit)和允许乙击球状态(allow2hit)。这是该程序中起决定作用的七个状态。开始的时候处于“等待发球状态”,若甲发球则状态转移到“第一盏灯亮状态”,若乙发球则转移到“第八盏灯亮状态”,具体说明以乙球为例。若发球后甲没有提前击球----规定球移动到对方第一个发光二极管时允许击球,那么状态机从“第七盏灯亮状态”转移到“球向甲移动状态”。若在“球向甲移动状态”甲仍然没有提
6、前击球,状态就转移到“允许甲击球状态”,在此状态下,如果甲击球了,那么状态就转移到“球向乙移动状态”。在“第七盏灯亮状态”,“球向甲移动状态”中,如果甲击球了,就算提前击球,这样甲得分,状态转移到“等待发球状态”等待发球,“球向乙移动状态”之后的过程和前面的过程只是甲乙角色的调换。状态转移规则都是一样的。图4时乒乓球游戏机的MDS图。状态转移MDS图2.2状态机/球台控制程序状态机是种很重要的时序电路,也是本设计的核心部件。状态机属于时序电路范畴,实现一个控制功能更为方便,并提高了控制速度。在本设计中,状态机用两个信号表示状态:STATE表示当前状态,I表示下一个状态。例如:
7、architectureoneofgameistypepingpongis(s0,s1,s2,s3);signalstate:pingpong;2.3记分牌译码显示电路设计下图数码管显示电路,图中1K电阻起限流作用,保护发光二极管。2、乒乓球游戏机电路的设计2、乒乓球游戏机电路的设计2.4按键去抖、乒乓球路径显示电路设计乒乓球游戏机用按键控制击、发球以及开始游戏键,当甲(S1)发球,LED灯由左向右依次点亮(D2、D10常亮);到D9时,乙(S5)击球,LED灯向甲移动。同理,当乙发球,点甲(S3)击球
此文档下载收益归作者所有