ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:2.53MB ,
资源ID:857000      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-857000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Nios II贪吃蛇的游戏设计(电子综合设计).doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

基于Nios II贪吃蛇的游戏设计(电子综合设计).doc

1、基于NiosII和LED点阵的贪吃蛇游戏设计目录一、摘要 2二、设计目的 2三、贪吃蛇设计预期目标 2四、方案整体设计 2五、硬件系统的设计及实现 3六、软件系统的设计及实现 11七、心得体会 14八、参考文献 15九、附录 15一 、摘要基于NiosII软核处理器和LED点阵显示屏的贪吃蛇游戏内容是:一条蛇在封闭的围墙里,围墙里随机出现一个食物。玩家通过4个按键控制蛇上下左右移动,且蛇只能沿着头运动的轨迹移动。蛇头撞到食物,则食物被吃掉,蛇身体增长一节,同时记1分,又出现食物,等待蛇来吃,如果蛇头在移动中出界或咬到自己的身体则游戏结束。关键字: 贪吃蛇Nios II LED点阵SOPC二、设

2、计目的1、掌握按键扫描电路的设计2、掌握用VHDL语言设计按键扫描电路的方法3、掌握16*16 LED点阵的控制原理和用VHDL语言设计LED点阵扫描电路的方法;4、掌握SOPC Builder的设计流程;5、掌握在Nios II中进行编程的方法;三、贪吃蛇设计预期目标1、 基本功能(1)、完成按键扫描电路的设计;(2)、完成 16*16 LED 点阵的扫描电路设计;(3)、完成SOPC Builder 中的系统设计;(4)、完成单色贪吃蛇游戏的基本设计(蛇移动方向的改变,吃到果子后蛇身变长,咬到自己或者出界时的失败处理等);(5)、完成游戏图形信息提示(游戏目前所处的等级等)。2、 提高功能

3、(1)、能进行汉字动态显示(显示内容自动更新,形式自定,如百叶窗等);(2)、蛇头颜色与蛇身区别显示,并与果实颜色区别显示;(3)、游戏过程中加入声音提示和表情提示;(4)、所得分数在数码管上显示;(5)、能进行游戏难度的切换(不同难度下,蛇吃到相应数量的果子后升级)。四、方案整体设计 为了实现游戏的控制、显示、设置等功能,系统需要具有控制模块,动态扫描显示模块,按键识别模块。本设计中采用Nios II软核CPU作为游戏的主控制单元,按键识别模块中的每个按键通过产生中断的方式,在中断处理函数中完成按键的标识,并在在软件程序的主体部分完成按键的识别。动态扫描显示模块又分为LED点阵屏动态扫描显示

4、和LED数码管显示扫描两部分,两部分均采用VHDL语言设计相应的硬件扫描模块来实现。五、硬件系统的设计及实现整个硬件系统的设计包括Nios II片上系统的设计和外设驱动电路的设计。1、 硬件整体框架2、Nios II片上系统的设计片上系统的设计核心是Nios II嵌入式CPU软核的定制。根据游戏的功能要求和实现的方案,片上系统应当包括:Nios II嵌入式CPU软核、一组PIO输入输出口、定时器、SRAM、JTAG UART、EPCS_FLASH_CONTROLLER。Nios II系统的结构如下:(1)、Nios II嵌入式CPU软核Nios II嵌入式CPU软核作为整个系统的主控制单元,完

5、成对按键信息的接收、识别、处理;此外还要输出相关的控制信息,实现对外设的控制。(2)、PIO输入输出口在定制的一组PIO输入输出口中,PIO输入口用于接收按键信号,PIO输出口用于输出对DPRAM写数据操作的控制和数据信号以及LED数码管的数据信号;(3)、定时器在系统中定制定时器,主要是为了通过定时器的计数产生周期性的中断,通过中断处理函数实现贪吃蛇的移动显示效果。由于定时器中具有几个软件可操作的寄存器,通过对这些寄存器的操作可以很方便地实现定时器的启停、定时时间设置、中断产生控制等操作。只要更改定时器产生中断的周期就可以实现贪吃蛇运动速度的控制,从而进行游戏等级的控制。(4)、SRAM和E

6、PCS_FLASH_CONTROLLERSRAM在系统中起到了相当于计算机中内存的作用,主要用于存放正在运行的软件程序。它的特点主要是速度快。 EPCS_FLASH_CONTROLLER 作为EPCS_FLASH的控制器。整个系统的硬件设计都下载固化在EPCS_FLASH上,当程序烧写到了EPCS_FLASH上的时候,就可以实现脱机运行了。3、 外设驱动电路的设计外设驱动电路的设计包括:双口DPRAM的定制、DPRAM读数据控制电路的设计、LED点阵屏扫描电路的设计、七段数码管动态扫描电路的设计、整个系统中所用到的时钟信号产生电路以及按键去抖电路。(1)、双口DPRAM定制双口DPRAM在系统

7、中作为LED点阵显示屏的显示数据缓存,其中存储了256个LED灯的颜色控制数据。存放在其中的数据只有四个值有效,分别为0、1、2、3。送这四个数去控制一个LED灯,分别对应LED灯的颜色为:黄色、绿色、红色、黑色。双口DPRAM可以定制成一个输入口和一个输出口的形式。其中,输入口用于接收Nios II嵌入式软核CPU的数据,输出口在DPRAM读数据控制电路的控制下输出数据用于驱动LED点阵屏扫描显示电路。 该模块的仿真波形如下图:(2)、DPRAM读数据控制电路DPRAM读数据控制电路在外部时钟信号的作用下,产生0 到255共256个数作为DPRAM的地址,在DPRAM读数据时钟到来的时候使得

8、DPRAM输出对应地址的数据。此外,DPRAM读数据控制电路还要产生像素同步信号和行同步信号,实现LED点阵屏扫描电路的时序。产生的时序要求是:在外部时钟的作用下产生DPRAMD的地址,接着像素同步时钟出现一个上升沿,16个像素同步时钟后,产生一个行同步信号,在该行同步信号作用下行扫描信号从第一行顺序扫到最后一行,这样就完成了一个周期的扫描。该模块的仿真波形如下图:(3)、七段数码管七段数码管动态扫描电路,接收外部送来的显示数据,通过动态扫描的方式在两个数码管上显示出来。该模块的仿真波形如下图:(4)、按键去抖电路按键去抖电路用于消除按键动作中产生的高频抖动,防止产生误动作,提高按键的稳定性,

9、和可靠性。该模块的仿真波形如下图:(5)、时钟信号产生电路整个系统中使用到了几个不同频率的时钟信号,通过时钟信号产生电路进行不同频率的分频产生所需的时钟信号。该模块的仿真波形如下图:(6)、LED点阵屏扫描电路的设计LED显示系统有两种基本的显示控制方式,即静态显示和动态显示。对于静态显示方式,每一个像素都需要一套驱动电路,因而这种方式没有扫描过程,显示控制简单,亮度很好。但是,采用静态显示方式将大大增加驱动电路的复杂程度,这不仅使系统成本很高,而且增加了生产、安装、调试以及日常维护工作的难度,故障率也较高。对于动态扫描显示,由于采用多路复用显示方式,每路显示的时间大为减少,这不仅使LED显示

10、亮度受到一定程度的影响,而且增加了显示控制的复杂性和现实的稳定性。本系统采用动态扫描控制显示方式。a、显示屏的列驱动列驱动采用带输出锁存的8 Bit 移位寄存器 74LS595。本系统采的LED点阵是RG 双色的,所以送入点阵的列驱动信号是 RG两组。 以红灯为例,两片74LS595 级联用作红灯列驱动。每16 个时钟控制器传送的两个字节的数据移位到两片 595 中,16个列驱动信号都移位到两片 595 中后,控制器给出一个STB 信号的上升沿,使一行数据锁存输出到LED屏。LED对应的列驱动数据为1时,被其驱动的LED不能被点亮;对应的列驱动数据为0时,被其驱动的点被点亮。绿灯的点亮控制和红

11、灯一样,需要用到另外一套相同的595级联电路。但具体点亮哪一个点,则由行驱动来指定。因此行驱动用来进行扫描控制,任一瞬时16行中只有1行被选通,换句话说一行中每一个点被点亮的时间只有不到1/16的时间,因为传送数据和控制也需要时间。本系统采用的LED点阵是RG双色灯,具体哪个灯则由FPGA传递的参数决定。需要注意的是,红灯数据在送入LED点阵前要加电阻限流。b、 显示屏的行驱动为方便控制,行信号采用四位控制16行,行扫描信号的最高位用于选择要译码的三八译码器。行扫描信号最高位为0时,三八译码器U7工作,译码后的信号作为前八行的行选择信号;行扫描信号的最高位为1时,三八译码器U14工作,译码后的

12、信号作为后八行的行选择信号。行选择信号在送入LED点阵前,要先送入专用的电源控制芯片APM4953,APM4953的输出作为点阵的行驱动信号。更大的屏由多套这样的电路拼接而成,每一部分的工作原理是一致的。这里仅以此电路来讨论其工作的原理。c、具体扫描过程扫描过程:首先是FPGA通过接口送来第一行要显示的2个字节的红色灯信号R和2个字节的绿灯信号G,两个字节的红灯数据分别锁存于U1和U6中,两个字节的绿灯数据分别锁存于U10和U15中。随后送出行扫描信号,行扫描信号经三八译码器译码后为IH0-IH15,IH0-IH15经过专用的电源控制芯片APM4953,成为LED点阵的行驱动信号TH0-TH1

13、5。第一次送来的扫描信号应使TH0为1,其余为0。这意味着只有第1行被选通,第1行的16个点,32个LED灯按4片595的输出数据点亮或熄灭相应的LED灯,而其余15列由于不被选通将全部不发光。为防止数据串显,经过一段时间的延时后,要再送出一组绿灯均为1的数据,即熄灭所有的灯,至此第1行扫描显示完毕。随后依次进行第2行的扫描显示。同样,先送第2行的16个红色LED灯的显示数据分别锁存于595(1)和595(2)中,第2行的16个绿色LED灯的显示数据分别锁存于595(3)和595(4)中,再送扫描信号SEL,且只使TH1为1,并延时显示,最后熄灭所有的灯。这样逐列进行扫描显示,当最后一列扫描完

14、后,FPGA可进行适当的数据加工处理,接着又进行下一扫描周期的工作。必须指出,扫描周期应小于或等于20ms以克服图像的闪烁现象,但也不能太高,要考虑595工作的频率范围。电路如下图:六、软件系统的设计及实现1、系统的主程序设计(1)、算法描述运动:根据用户输入按键进行柔体传动。吃到食物:置没有食物的标志,蛇长大一个点阵。放新食物:判断食物标志,如果没有食物,就要放食物,判断 放的食物是否和蛇身重叠,重叠了要重放。死亡处理:判断是否撞中自己或撞墙。 游戏具体的流程是:蛇向一个固定方向进行柔体传动,每个运动时钟到达要做的工作有a、判断食物标志,没有食物了就放一个,放的时候判断,不能和蛇身重叠。b、

15、得到用户按键值,根据键值设置方向标识,并判断是否撞死了,没撞死和是否吃到自己,再判断是否吃到东西了,没有吃到,就等下一个运动时钟;吃了,就增长一点。置一个没有食物的标志。然后等待下一个时刻的来临。(2)、流程图 2、源程序 (见附录)七、心得体会 本次电子综合设计从9月6日开始,到9月30日结束,为 将近一个月。整个设计工作的安排是:前期,接受电子综合设计任务,阅读、收集相关资料,学习Nios II嵌入式设计方法。进行简单的包含Nios II嵌入式CPU的SOPC系统验证性试验,熟悉定时器的使用,PIO口的操作,以及中断的实现操作。学习LED点阵显示屏的动态扫描显示原理,并据此确定所需的元件,

16、做好准备工作。中期,研究贪吃蛇游戏的实现方法,根据要求的功能,和现有的资源确定总体设计方案。研究软件算法和硬件电路的具体实现,绘制LED点阵屏动态扫描电路,完成布局、布线,紧接着进行硬件电路的焊接制作。后期,对硬件电路进行测试,软件设计调试。这个阶段中,对硬件的测试很重要,必须保证所设计的硬件平台的每一个部分都能正确无误地工作,这样才能调试所设计到的软件。这次电子综合设计检验了我们对这三年所学知识掌握程度,同时也是一个学习新知识的过程。通过这次电子综合设计,我们对几种中规模集成电路芯片有了更多的了解,能根据我们的要求正确地使用这几种芯片;在硬件电路的设计制作方面,我们的流程和方法更加的规范化,

17、在制作硬件电路的过程中积累了一些经验,也从中总结了一些教训。比如说,在硬件电路的布局上,应该考虑到布线的问题,应该围绕着LED点阵显示屏来展开,尽量使得布局后布线尽量地简洁,布线的数量应该尽量的少。布线时,尽量走90度的直角,减少电磁干扰现象。在SOPC系统的构建过程中,我们对其设计流程从陌生变得熟悉了。能够在FPGA上构建简单的SOPC系统。也感受到了这种设计理念的魅力,感受到了这种技术的生机和力量。本次电子综合设计中存在的问题是,硬件设计制作的时间太长,这使得软件调试的时间很紧张,以至于有些提高功能在最后都没有时间去实现,这也是设计作品质量不高的原因。八、参考文献1、SOPC嵌入式系统基础教 北京航空航天大学出版社 周立功2、程序设计技术 重庆大学出版社 熊壮3、EDA技术使用教程 科学出版社 潘松4、现代数字系统实验及设计 重庆大学出版社 何伟九、附录1、元件清单序号名称数量1 74LS2451片2SN74HC138D3片3 74LS5954片4 APM49538片5 10K电阻6只6LED8*8_1588RG4块720欧电阻16只8按键8个9 IDE40排线1条2、 系统设计电路3、 实物效果图(1)、开机画面(2)按开始键开始游戏(3)、按方向键控制蛇的移动 .19

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922