1、 本科生毕业设计(论文) I 摘 要 多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体 , 是当今 信息技术 领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。 嵌入式设备与多媒体技术的融合使得 PDA,智能手机,平板等智能终端得到快速发展。未来,智能终端与物联网的结合将推动嵌入式设备快速发展。所以,基于嵌入式终端的应用前景广阔。 设计目的是在嵌入式平台上开发一款基于开源 Linux 操作系统的多媒体播放器,它以 mplayer 作为核心播放程序,将支持更多的文件播放格式甚至可以与 PC机上的媒体播放器相媲美。 多媒体播放器的硬件部分:以 S3C2440 开发
2、板为硬件平台,它的外围设备可以外插 U 盘作为存储器、 TFT-LCD 触屏、 key23 键盘,以及外接耳机作音频设备。因为播放器开发是基于成熟的硬件平台,主要工作集中在软件部分,主要包括:搭建开发环境,配置编译 mplayer 可执行程序,编写触屏驱动,及 key23 驱动,编写主控程序等等,最后将程序移植安装到开发板,完成基于 Linux 的嵌入式播放器的设计。经过测试,播放器符合设计要求。 关键词 : 触屏,移植,线程,嵌入式 本科生毕业设计(论文) II Abstract The multimedia technology involves sound, text, image, a
3、nimation, video and communications and other functions. Information technology is one of fastest growing technologies. Obviously, it is a new generation of electronic technology development and the focus of competition. The integration of embedded equipment and multimedia technology contributes a ra
4、pid development for PDA, smart phones, slab intelligent terminal. In the future, intelligent terminal will promote the network embedded equipment rapid development. So, the application that based on embedded terminal has a bright future. The purpose of this design is to design multimedia player on a
5、n embedded platform by using the open source in Linux operating system. It is take mplayer as core broadcast program, which will support more file format, and even is more comparable with the PC media players. The hardware part of Multimedia player takes S3C2440 development board for the hardware pl
6、atform, which use the USB disk, tft-lcd touch screen, key23 keyboard, and external earphone for audio equipment. Because the player development is based on mature hardware platform, the main work focused on software part, which main includes these works, such as the development environment set up, t
7、he compiled configuration of mplayer, the drive of touch screen and key23, and the program of master control, etc. Finally, the developed program can be installed to development board based on the Linux. After testing, player can meet the design requirements. Keywords: touch screen; transplant; thre
8、ad; embedded; 本科生毕业设计(论文) III 目录 第 1 章 绪论 . 1 1.1 选题背景 . 1 1.2 研究意义 . 2 第 2 章 需求分析与方案制定 . 4 2.1 功能性分析 . 4 2.2 可行性分析 . 4 2.3 设计的主要 目标任务 . 5 2.4 系统方案制定 . 5 2.5 本章小结 . 5 第 3 章 系统功能模块介绍 . 6 3.1 S3C2440 开发板简介 . 6 3.2 S3C2440 芯片特性简介 . 6 3.2.1 S3C2440 芯片参数 . 7 3.2.2 内核结构 . 7 3.2.3 总线结构 . 7 3.2.4 处理器通用模块 1.
9、 8 3.2.5 处理器通用模块 2. 8 3.2.6 存储器接口 . 9 3.2.7 外围总线接口 . 9 3.2.8 人机接口 . 9 3.3 LCD 模块介绍 . 9 3.4 软件模块介绍 . 10 3.5 本章小结 . 11 第 4 章 硬件系统 . 12 4.1 开发板系统的硬件框架 . 12 4.2 LCD 模块原理 . 12 4.2.1 A/D 转换器 . 12 4.2.2 触摸屏原理结构 . 13 4.3 系统硬件介绍 . 14 本科生毕业设计(论文) IV 4.4 各个外设接口 . 14 4.4.1 JTAG 接口 . 14 4.4.2 USB_UART 转换接口 . 15
10、4.4.3 RS232 接口 . 15 4.4.4 USB 主接口 . 15 4.4.5 USB 从接口 . 16 4.4.6 AD 输入接口 . 16 4.4.7 复位系统 . 16 4.5 本章小结 . 16 第 5 章 系统软件设计 . 17 5.1 系统软件设计流程图 . 17 5.2 Bootloader 内核的配置 . 17 5.2.1 Bootloader . 17 5.2.2 配置编译 bootloader-u-boot . 18 5.2.3 裁剪编译 linux-2.6.34(编译内核) . 19 5.3 制作根文件系统 . 19 5.4 烧录镜像文件 . 20 5.4.1
11、烧录 Bootloader . 20 5.4.2 烧录 Linux2.6 内核和根文件系统 . 22 5.5 安装交叉编译编译工具链 . 24 5.6 对 Mplayer 源码进行重新配置编译 . 24 5.7 编写主程序(包含触屏驱动) . 25 5.8 设计人机交互界面 . 25 5.9 程序移植 . 26 5.10 本章小结 . 26 第 6 章 结论 . 27 参考文献 . 28 致谢 . 30 本科生毕业设计(论文) 1 第 1章 绪论 1.1 选题背景 多媒体是全面的综合性的信息资源,它常常指信息表示媒体的多样化,常见的形式有文字、资料、图形、影像、动画、视讯、声音、特殊效果,再经
12、由电脑表现出来,它能用来达成信息传播中的任何媒体资源。 多媒体技术的产生和发展,是技术和应用发展的必然。在信息社会,人 们迫切希望计算机能以人类习惯的方式提供信息服务,因而多媒体技术应运而生。它的出现,使得原本 “ 面无表情 ” 、 “ 死气沉沉 ” 的计算机有了一副 “ 生动活泼 ” 的面孔。用户不仅可以通过文字信息,还可以通过直接看到的影像和听到的声音,来了解感兴趣的对象,并可以参与或改变信息的演示。 一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出( I/O)和软件 , 嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具
13、有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时 性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。 嵌入式系统一般由嵌入式计算机系统和执行机构组成,嵌入式计算机系统是由硬件层、中间层、系统软件层和应用软件层组成的。执行机构也作为控制对象,它可以接收由嵌入式计算机系统发出的控制命令,执行所需的操作或任务。执行器可以很简单,如手机上的微小型点击,手机在振动时机大开,也可以是非常复杂的,如 SONY 智能机器人集成以上的小型和微型控制电机,以及各种传感器,它可以执行各种复杂的动作和感情 的各种状态信息。
14、嵌入式微处理器在世界上有超过 1000 种, 30 多个系列,其中的主流体系结构有 ARM, MIPS, PowerPC 上, X86 和 SH 等。但不像全球 PC 市场,没有那种嵌入式微处理器能够主宰市场,就 32 个产品而言,有超过 100 种嵌入式微处理器。嵌入式微处理器的选择是由具体应用决定的。 这几年掀起的嵌入式系统的应用热潮主要有以下几种原因:首先,芯片技术的发展,使一个单一的芯片具有更强的处理能力,而且集成多种接口已成为可能,许多芯片制造商焦点在这方面。另一方面,其原因在于应用需求,产品的可靠性,成本,更换为 嵌入式系统的需求不断增加,从纯硬件实现的和使用通用计算机来本科生毕业
15、设计(论文) 2 实现的的应用中脱颖而出,成为令人关注的焦点 Linux 以它的高效性和灵活性著称。它能够在 PC 计算机上实现全部的 Unix特性,具有多任务、多用户的能力。 Linux 是在 GNU 公共许可权限下免费获得的,是一个符合 POSIX标准的操作系统。 Linux操作系统软件包不仅包括完整的 Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的 X-Windows图形用户界面,如同我们使用 Windows NT一样,允许我们使用窗 口、图标和菜单对系统进行操作 。 Linux 之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它
16、属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有 Unix 的全部功能,任何使用 Unix 操作系统或想要学习 Unix 操作系统的人都可以从 Linux 中获益。 绝大多数基于 Linux内核的的操作系统使用了大量的 GNU软件,包括了 shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如 Emacs。 大多数系统 还包括了像提供 GUI 界面的 XFree86 之类的曾经运行于 BSD 的程序。 软件可移植性指一种计算机上的软件转置到其它计算机上的能力(也可称作软件自动搬
17、家)。软件移植是实现功能的等价联系,而不是等同联系软件可移植性的主要标志是:这类软件有个通用的标准文本;它们独立于具体的计算机。软件相对于具体计算机的独立性,从狭义上讲,是指可移植软件应独立于计算机的硬件环境;从广义上讲,可移植软件还应独立于计算机的软件,即高级的标准化的软件,它的功能与机器系统结构无关,可跨越很多机器界限。从一种计算机向另一种计算机移植软件时, 首先要考虑所移植的软件对宿主机硬件及操作系统的接口,然后设法用对目标机的接口代换之。因此,接口的改造容易与否,是衡量一个软件可移植性高低的主要标志之一。 多媒体已成为我们日常生活的重要组成部分,但一个优秀的播放器,却往往因为系统环境,
18、不开源等问题,而不是被广泛认可、使用,这是我们的损失。因此,跨平台的多媒体播放器移植有很好的市场前景。 1.2 研究意义 未来对多媒体的研究,主要有以下几个研究方面:数据压缩、多媒体信息特性与建模、多媒体信息的组织与管理、多媒体信息表现与交互、多媒体通信与分布处理、多媒体的软硬件平台、 虚拟现实技术、多媒体应用开发。 展望未来,网络和计算机技术相交融的交互式多媒体将成为 21 世纪多媒体发展方向。所谓本科生毕业设计(论文) 3 交互式多媒体是指不仅可以从网络上接受信息、选择信息,还可以发送信息,其信息是以多媒体的形式传输。利用这一技术,人们能够在家里购物、点播自己喜欢的电视节目。 21 世纪的
19、交互式多媒体技术的实现将 会极大的改变我们的生活。 由于 Linux 是一套具有 Unix 全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。 Linux 不仅为用户提供了 强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从 Internet 上下载 Linux 及其源代码,而且还可以从 Internet上下载许多 Linux 的应用程序。可以说, Linux 本身包含的应用程序以及移植到Linux 上的应用程序包罗万象,任何一位用户都能从有关 Linux 的网站上找到适合自己特殊需要的应用程序及其源代码,
20、这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。 开源的特性也决定了它使用的人越多,程序进步越快的特点。我们可以预见在不久的将来, linux 一定会大行 其道, linux 的强大的兼容性,可移植性也将发挥的淋漓尽致。 含有嵌入式系统设备统称嵌入式系统,如:手机,电子手表,多媒体播放器等,覆盖消费类电子产品,汽车电子,军用电子,生产,工业控制,通信,网络等领域。随着技术的进步,越来越高性能的嵌入式设备被广泛使用。操作系统是通过软件的运行带动硬件工作。然而,大部分的软件对操作系统有要求。 这就要进行软件的移植,使其在需要的其他操作系统下也能正常工作。在这种情况
21、下,一个好的软件就不会仅仅局限于一个小领域,例如:把 Iphone 上的应用移植到其他平台上,从而改善我们的 生活,促进技术进步的发展。 本科生毕业设计(论文) 4 第 2章 需求分析与方案制定 本章分析了设计需求,并对设计的可行性进行分析,阐述了设计的主要目标以及设计的大体流程,并最终制定了系统的实施方案。 2.1 功能性分析 用 S3C2440 开发板作为产品的主体, LCD Moduile V1.1 作为一个控制面板,通过可触摸的 LCD Moduile 实现播放控制。 以 u-boot 作为 bootloader,采用 Linux2.6 内核和 yaffs 格式的文件系统,核心媒体播放
22、程序为 MPlayer-1.0rc3,核心解码器为 libmad1.7。可以实现绝大部分Mplayer 的功能: 1) 实现 市场上几乎所有流行的音频文件播放。 2) 可正常播放损坏了报头的 AVI 文件。 3) 可以解码大部分的网络流媒体文件。 4) 人性化的触屏操作。 2.2 可行性分析 随着人们的生活水平不断提高,精神资料的需求逐渐提高,多媒体已经成为生活中必不可少的一部分。各式各样的多媒体迅速充斥了我们的生活, 现在,多媒体正在 向便 携个人多媒体 发展 。 我们生活中数字信息的数量在今后几十年中将急剧增加 ,质量上也将大大地改善。多媒体正在迅速的、意想不到的方式进入人们生活的多个方面
23、,大的趋势是各个方面都将朝着当今新技术综合的方向发展 。 他们可以归结为两大类:音频,视频。但是现在多媒体的格式越来越多,比较流行的多媒体格式就有十多种,他们音质画质参差不齐,便携式设备上可用的媒体播放器较 PC 上的应用还有不小的差距。那些在电脑上运行的播放器经常因为操作环境等原因而不能在我们的机器上运行。这就凸显处软件移植的必要性,现在的手机大部分都带有嵌入式操作系统,这为我们软件的移植提供了一定程度的方便,我们完全可以把一款优秀的多媒体播放器软件如 Mplayer 移植到手机上,本科生毕业设计(论文) 5 它几乎支持几乎所有的音频视频文件,方便我们享受多媒体的乐趣。 2.3 设计的主要目
24、标任务 这次设 计的主要任务是将一款 Linux 下的开源多媒体播放器 Mplayer 从电脑上移植到 arm平台上,实现一款软件可以跨平台运行的播放器。 本设计主要研究了软件在不同平台上运行所需要的条件,以及达到触屏操作所需要的一系列要求,并研究了应用程序是如何进行不同程序及资源间调度配合。本次设计最终达到触屏控制软件实现软件在原来环境下的功能等效果。可以流畅播放多种格式的视频音频文件。 2.4 系统方案制定 本系统分为两大部分:软件部分,硬件部分。 软件部分包含经过 arm 交叉编译器编译生成的 Mplayer 可执行程序, libmad解码库, 触屏驱动源代码,以及 arm-linux-
25、gcc 交叉编译工具链, Windows 自带的超级终端, linux 操作系统, Bootloader,内核,根文件系统以及在 Windows 下的连接工具,烧录软件等。 硬件部分包括 S3C2440 开发板,串口线,并口线, LCD 触摸屏, 5V 变压器,带串、并口的 PC 机。 将 bootloader,内核,根文件系统烧录到 S3C2440 开发板上,在 pc 机上完成主控程序编写,和交叉编译工作,然后将程序序放到开发板上测试,运行。 2.5 本章小结 本章首先对设计的功能进行分析,通过对开发环境以及开发语 言的分析,得到的结论是开发环境完全可以支持设计的开发,接着对 Mplayer
26、 的功能支持进行分析,结论是足以支持播放器的开发,最后在论证成功的情况下确定了一套可行的系统的方案。 本科生毕业设计(论文) 6 第 3章 系统功能模块介绍 本章首先详细的介绍了开发板的各个部件,然后介绍了三星的 S3C2440芯片,并介绍了用于实现播放器人机界面的显示器及触摸屏,最后系统的介绍软件是如何实现对应功能的。 3.1 S3C2440 开发板简介 这里所用的 S3C2440 嵌入式系统开发板功能比较强大,配备了完备的硬件资源和开发软件,开发板的结构如图 3.1 所示。 图 3.1 开发板结构图 S3C2440A 是韩国三星公司推出的 16/32 位 RISC 微控制器,其 CPU 采
27、用的是 ARM920T 内核。 电源电路实现了 5v 直流输入到 3.3v、 1.8v、 1.2v 输出转换的功能,为板上各功能模组的正常工作提供所需电压。通讯接口部分,板上提供了以 SPI、 I2C、 RS232异步串行接口、 USB 转串口接口、 USB 主 /从通讯接口、太网接口等。多媒体的处理方面,开发板提供了 TV 输出、 VGA 接口、摄像头接口、耳机 /喇叭输出接口、 TFT 显示输出接口,在非易失性存储器方面,板上提供了 8M 的 Norflash 和64M 的 Nandflash 存储器,还有 SD卡接口,另外提供了 SATA 大容量硬盘接口,可以扩充存储空间。 3.2 S3C2440 芯片特性简介 S3C2440 芯片采用的是 ARM920T 的芯片结构,它的结构如图 3.2 所示。 S3C2440 微处理器 电源 串口 USB 喇叭 复位 音量 触摸屏