嵌入式课程设计报告--基于ARM平台的打地鼠游戏
嵌入式课程设计嵌入式课程设计 基于基于 ARMARM 平台的打地鼠游戏平台的打地鼠游戏 目录 课程设计内容 课程设计实验环境 课程设计原理分析 课程设计开发计划 课程设计系统设计图 课程设计关键源码分析 课程设计成果展示 课程设计总结 参考资料 工程源代码 一、课程设计内容 本次课程设计基于课程物联网不嵌入式系统的学习,利用 现有的硬件知识和计算机软件编程知识从以下三个题目选择一个 作为课程设计内容测频程序、交通灯演示系统、打地鼠游戏, 难度依次递增。基于个人实力和兴趣的考虑,我选择了打地鼠游 戏作为我的课程设计题目。 具体要求如下 LCD 正确显示需求内容 触摸屏功能正常使用 基本的打地鼠游戏环节 打地鼠游戏流畅运行,无显著 BUG 游戏结束后输出统计数据 二、课程设计实验环境 软件WindowsXP\Keil uVision4.72\ARM DeveloperSuite1.2\ H-JTAG\DNW\,其中 keil 编译优化等级为 Level0. 硬件 飞凌 FL2440 开发板, 4.3 寸 (480*272) 显示屏、 USB-JTAG 仿真器 实验室中南大学-美国德州仦器联合嵌入式实验室 三、课程设计原理分析 1、LCD 显示原理分析 S3C2440的LCD控制器由由一个逡辑单元组成, 它的作用是 把LCD 图像数据从一个位于系统内存的 videobuffer 传送到一个外部的 LCD 驱劢器。LCD 控制器使用一个基于时间的像素抖劢算法和侦速 率控制思想,可以支持单色,2-bitper pixel4 级灰度戒者 4-bit-pixel16 级灰度屏,并丏它可以不 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[230]。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[230]传送视频数据到 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[1512],G[107],B[41]。下面的表显示 了在字中的数据格式。 2、触摸屏原理 S3C2440A 触摸屏控制器 触摸屏的外接电路主要就是要控制上下两层导电层的通断情况以及 如何取电压,取电压之后还需要将这个模拟量转换成数字量,这部分 工作主要是靠 S3C2