嵌入式课程设计报告--基于ARM平台的打地鼠游戏.doc
文本预览下载声明
中南大学
嵌入式课程设计
《基于ARM平台的打地鼠游戏》
姓名:董嘉伟
学号:0909103303
班级:物联网1002
指导教师:刘连浩 李刚
时间:2013-9-13
目录
课程设计内容
课程设计实验环境
课程设计原理分析
课程设计开发计划
课程设计系统设计图
课程设计关键源码分析
课程设计成果展示
课程设计总结
参考资料
工程源代码
课程设计内容
本次课程设计基于课程《物联网与嵌入式系统》的学习,利用现有的硬件知识和计算机软件编程知识从以下三个题目选择一个作为课程设计内容:测频程序、交通灯演示系统、打地鼠游戏,难度依次递增。基于个人实力和兴趣的考虑,我选择了打地鼠游戏作为我的课程设计题目。
具体要求如下:
LCD正确显示需求内容
触摸屏功能正常使用
基本的打地鼠游戏环节
打地鼠游戏流畅运行,无显著BUG
游戏结束后输出统计数据
课程设计实验环境
软件:WindowsXP\Keil uVision4.72\ARM DeveloperSuite1.2H-JTAG\DNW\,其中keil编译优化等级为Level0.
硬件:飞凌FL2440开发板,4.3寸(480*272)显示屏、USB-JTAG仿真器
实验室:中南大学-美国德州仪器联合嵌入式实验室
三、课程设计原理分析
LCD显示原理分析
S3C2440的LCD控制器由由一个逻辑单元组成,它的作用是:把LCD图像数据从一个位于系统内存的videobuffer传送到一个外部的LCD驱动器。LCD控制器使用一个基于时间的像素抖动算法和侦速率控制思想,可以支持单色,2-bitper pixel(4级灰度)或者4-bit-pixel(16级灰度)屏,并且它可以与256色(8BPP)和4096色(12BPP)的彩色STN LCD连接。它支持1BPP,2BPP,4BPP,8BPP的调色板TFT彩色屏并且支持64K色(16BPP)和16M色(24BPP)
非调色板真彩显示。LCD控制器是可以编程满足不同的需求,关于水平,垂直方向的像素数目,数据接口的数据线宽度,接口时序和刷新速率。
S3C2440 LCD控制器被用来传送视频数据和生成必要的控制信号,比如VFRAME, VLINE,VCLK,VM,等等。除了控制信号外,这S3C2440还有作为视频数据的数据端口,它们是如图15-1
所示的VD[23:0]。LCD控制器由REGBANK,LCDCDMA,VIDPRCS, TIMEGEN,和LPC3600(看15-1LCD控制器方块图)组成。REGBANK由17个可编程的寄存器组和一块256*16的调色板内存组成,
它们用来配置LCD控制器的。LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器。通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD
屏上。VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:0]传送视频数据到LCD驱动器。TIMEGEN由可编程
的逻辑组成,支持不同的LCD驱动器接口时序和速率的需求。TIMEGEN块可以产生VFRAME,VLINE,VCLK,VM等等。
数据流描述如下:
LCDCDMA中存在FIFO存储器。当FIFO为空,或者部分为空的时候,LCDCDMA请求从侦存储器中取得数据,是用突发的存储传输模式取得数据的(每一个突发请求,连续的取4个字
(16bytes)在总线传输过程中,不允许总线控制权交给另一个总线控制)当传输请求被存储控制器中的总线仲裁器接收了后,将会产生连续的4个字的数据传输从系统内存到内部的FIFO。FIFO
的总共大小为28个字,由12个字的FIFOL和16个字的FIFOH分别组成。S3C2440有2个FIFOs支持双扫显示模式。假如是单扫模式,FIFOH将会被用到。
16BPP彩色模式:
1个像素有16个位(5位红,6位绿,5位蓝)视频数据。但是STN控制器仅仅用到12位色彩数据。这意味着每一个彩色数据的高4位将被使用,作为像素数据(R[15:12],G[10:7],B[4:1])。下面的表显示了在字中的数据格式。
触摸屏原理
S3C2440A触摸屏控制器
触摸屏的外接电路主要就是要控制上下两层导电层的通断情况以及如何取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2440A芯片中的模数转换器部分来实现的。即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2440A芯片自带的A/D转换控制部分。S3C2440A芯片
显示全部