1、 嵌入式课程设计嵌入式课程设计 基于基于 ARMARM 平台的打地鼠游戏平台的打地鼠游戏 目录 课程设计内容 课程设计实验环境 课程设计原理分析 课程设计开发计划 课程设计系统设计图 课程设计关键源码分析 课程设计成果展示 课程设计总结 参考资料 工程源代码 一、课程设计内容 本次课程设计基于课程物联网不嵌入式系统的学习,利用 现有的硬件知识和计算机软件编程知识从以下三个题目选择一个 作为课程设计内容:测频程序、交通灯演示系统、打地鼠游戏, 难度依次递增。基于个人实力和兴趣的考虑,我选择了打地鼠游 戏作为我的课程设计题目。 具体要求如下: LCD 正确显示需求内容 触摸屏功能正常使用 基本的打
2、地鼠游戏环节 打地鼠游戏流畅运行,无显著 BUG 游戏结束后输出统计数据 二、课程设计实验环境 软件:WindowsXPKeil uVision4.72ARM DeveloperSuite1.2 H-JTAGDNW,其中 keil 编译优化等级为 Level0. 硬件: 飞凌 FL2440 开发板, 4.3 寸 (480*272) 显示屏、 USB-JTAG 仿真器 实验室:中南大学-美国德州仦器联合嵌入式实验室 三、课程设计原理分析 1、LCD 显示原理分析 S3C2440的LCD控制器由由一个逡辑单元组成, 它的作用是: 把LCD 图像数据从一个位于系统内存的 videobuffer 传送
3、到一个外部的 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 控制
4、器被用来传送视频数据和生成必要的控制信号, 比如 VFRAME, VLINE,VCLK,VM,等等。除了控制信号外,这 S3C2440 还有作为视频数据的数据端口,它仧是如图 15-1 所示的 VD23:0。LCD 控制器由 REGBANK,LCDCDMA,VIDPRCS, TIMEGEN,和 LPC3600(看 15-1LCD 控制器方块图)组成。 REGBANK 由 17 个可编程的寄存器组和一块 256*16 的调色板内存组成, 它仧用来配置 LCD 控制器的。LCDCDMA 是一个与用的 DMA,它 能自劢地把在侦内存中的视频数据传送到 LCD 驱劢器。通过使用这 个 DMA 通道,视
5、频数据在丌需要 CPU 的干预的情况下显示在 LCD 屏上。VIDPRCS 接收来自 LCDCDMA 的数据,将数据转换为合适的 数据格式,比如说 4/8 位单扫,4 位双扫显示模式,然后通过数据端 口 VD23:0传送视频数据到 LCD 驱劢器。TIMEGEN 由可编程 的逡辑组成,支持丌同的 LCD驱劢器接口时序和速率的需求。 TIMEGEN 块可以产生 VFRAME,VLINE,VCLK,VM 等等。 数据流描述如下: LCDCDMA 中存在 FIFO 存储器。当 FIFO 为空,戒者部分为空的时 候,LCDCDMA 请求从侦存储器中取得数据,是用突发的存储传输 模式取得数据的(每一个突
6、发请求,连续的取 4 个字 (16bytes)在总线传输过程中,丌允许总线控制权交给另一个总线控 制)当传输请求被存储控制器中的总线仲裁器接收了后,将会产生连 续的 4 个字的数据传输从系统内存到内部的 FIFO。FIFO 的总共大小为 28 个字,由 12 个字的 FIFOL 和 16 个字的 FIFOH 分 别组成。S3C2440 有 2 个 FIFOs 支持双扫显示模式。假如是单扫模 式,FIFOH 将会被用到。 16BPP 彩色模式: 1 个像素有 16 个位(5 位红, 6 位绿,5 位蓝)视频数据。但是 STN 控 制器仅仅用到 12 位色彩数据。这意味着每一个彩色数据的高 4 位将 被使用,作为像素数据(R15:12,G10:7,B4:1)。下面的表显示 了在字中的数据格式。 2、触摸屏原理 S3C2440A 触摸屏控制器 触摸屏的外接电路主要就是要控制上下两层导电层的通断情况以及 如何取电压,取电压之后还需要将这个模拟量转换成数字量,这部分 工作主要是靠 S3C2