基于ARM的音乐播放器的设计与实现(共34页).doc
《基于ARM的音乐播放器的设计与实现(共34页).doc》由会员分享,可在线阅读,更多相关《基于ARM的音乐播放器的设计与实现(共34页).doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摘 要多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,是当今领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。嵌入式设备与多媒体技术的融合使得PDA,智能手机,平板等智能终端得到快速发展。未来,智能终端与物联网的结合将推动嵌入式设备快速发展。所以,基于嵌入式终端的应用前景广阔。设计目的是在嵌入式平台上开发一款基于开源Linux操作系统的多媒体播放器,它以mplayer作为核心播放程序,将支持更多的文件播放格式甚至可以与PC机上的媒体播放器相媲美。多媒体播放器的硬件部分:以S3C2440开发板为硬件平台,它的外围设备可以外插U盘作为存
2、储器、TFT-LCD触屏、key23键盘,以及外接耳机作音频设备。因为播放器开发是基于成熟的硬件平台,主要工作集中在软件部分,主要包括:搭建开发环境,配置编译mplayer可执行程序,编写触屏驱动,及key23驱动,编写主控程序等等,最后将程序移植安装到开发板,完成基于Linux的嵌入式播放器的设计。经过测试,播放器符合设计要求。关键词: 触屏,移植,线程,嵌入式Abstract The multimedia technology involves sound, text, image, animation, video and communications and other functio
3、ns. 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 rapid development for PDA, smart phones, slab intellig
4、ent 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 an embedded platform by using the open source in Linu
5、x 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 platform, which use the USB disk, tft-lcd touch screen
6、, 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, the compiled configuration of mplayer, the drive of t
7、ouch 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; thread; embedded;目录专心-专注-专业第1章 绪论1.1 选题背景多媒体是全面的综合性的信息资源
8、,它常常指信息表示媒体的多样化,常见的形式有文字、资料、图形、影像、动画、视讯、声音、特殊效果,再经由电脑表现出来,它能用来达成信息传播中的任何媒体资源。多媒体技术的产生和发展,是技术和应用发展的必然。在信息社会,人们迫切希望计算机能以人类习惯的方式提供信息服务,因而多媒体技术应运而生。它的出现,使得原本“面无表情”、“死气沉沉”的计算机有了一副“生动活泼”的面孔。用户不仅可以通过文字信息,还可以通过直接看到的影像和听到的声音,来了解感兴趣的对象,并可以参与或改变信息的演示。一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件,嵌入式系统目前最主要的组成部分。根
9、据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。嵌入式系统一般由嵌入式计算机系统和执行机构组成,嵌入式计算机系统是由硬件层、中间层、系统软件层和应用软件层组成的。执行机构也作为控制对象,它可以接收由嵌入式计算机系统发出的控制命令,执行所需的操作或任务。执行器可以很简单,如手机上的微小型点击,手机在振动时机大开,也可以是非常复杂的,如SONY智能机器人集成以上的小型和微型控制电机,以及各种传
10、感器,它可以执行各种复杂的动作和感情的各种状态信息。嵌入式微处理器在世界上有超过1000种,30多个系列,其中的主流体系结构有ARM,MIPS,PowerPC上,X86和SH等。但不像全球PC市场,没有那种嵌入式微处理器能够主宰市场,就32个产品而言,有超过100种嵌入式微处理器。嵌入式微处理器的选择是由具体应用决定的。这几年掀起的嵌入式系统的应用热潮主要有以下几种原因:首先,芯片技术的发展,使一个单一的芯片具有更强的处理能力,而且集成多种接口已成为可能,许多芯片制造商焦点在这方面。另一方面,其原因在于应用需求,产品的可靠性,成本,更换为嵌入式系统的需求不断增加,从纯硬件实现的和使用通用计算机
11、来实现的的应用中脱颖而出,成为令人关注的焦点 Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它
12、的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。 大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。软件可移植性指一种计算机上的软件转置到其它计算机上的能力(也可称作软件自动搬家)。软件移植是实现功能的等价联系,而不是等同联系软件可移植性的主要标志是:这类软件有个通用
13、的标准文本;它们独立于具体的计算机。软件相对于具体计算机的独立性,从狭义上讲,是指可移植软件应独立于计算机的硬件环境;从广义上讲,可移植软件还应独立于计算机的软件,即高级的标准化的软件,它的功能与机器系统结构无关,可跨越很多机器界限。从一种计算机向另一种计算机移植软件时,首先要考虑所移植的软件对宿主机硬件及操作系统的接口,然后设法用对目标机的接口代换之。因此,接口的改造容易与否,是衡量一个软件可移植性高低的主要标志之一。多媒体已成为我们日常生活的重要组成部分,但一个优秀的播放器,却往往因为系统环境,不开源等问题,而不是被广泛认可、使用,这是我们的损失。因此,跨平台的多媒体播放器移植有很好的市场
14、前景。1.2 研究意义未来对多媒体的研究,主要有以下几个研究方面:数据压缩、多媒体信息特性与建模、多媒体信息的组织与管理、多媒体信息表现与交互、多媒体通信与分布处理、多媒体的软硬件平台、虚拟现实技术、多媒体应用开发。 展望未来,网络和计算机技术相交融的交互式多媒体将成为21世纪多媒体发展方向。所谓交互式多媒体是指不仅可以从网络上接受信息、选择信息,还可以发送信息,其信息是以多媒体的形式传输。利用这一技术,人们能够在家里购物、点播自己喜欢的电视节目。21世纪的交互式多媒体技术的实现将会极大的改变我们的生活。由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为
15、广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。 开源的特性也决定了它使用的人越多,程序进步越快的特点。我们可以预见在不久的将来,linux一定会
16、大行其道,linux的强大的兼容性,可移植性也将发挥的淋漓尽致。含有嵌入式系统设备统称嵌入式系统,如:手机,电子手表,多媒体播放器等,覆盖消费类电子产品,汽车电子,军用电子,生产,工业控制,通信,网络等领域。随着技术的进步,越来越高性能的嵌入式设备被广泛使用。操作系统是通过软件的运行带动硬件工作。然而,大部分的软件对操作系统有要求。 这就要进行软件的移植,使其在需要的其他操作系统下也能正常工作。在这种情况下,一个好的软件就不会仅仅局限于一个小领域,例如:把Iphone上的应用移植到其他平台上,从而改善我们的生活,促进技术进步的发展。第2章 需求分析与方案制定本章分析了设计需求,并对设计的可行性
17、进行分析,阐述了设计的主要目标以及设计的大体流程,并最终制定了系统的实施方案。2.1 功能性分析用S3C2440开发板作为产品的主体,LCD Moduile V1.1作为一个控制面板,通过可触摸的LCD Moduile实现播放控制。以u-boot作为bootloader,采用Linux2.6内核和yaffs格式的文件系统,核心媒体播放程序为MPlayer-1.0rc3,核心解码器为libmad1.7。可以实现绝大部分Mplayer的功能:1) 实现市场上几乎所有流行的音频文件播放。 2) 可正常播放损坏了报头的AVI文件。3) 可以解码大部分的网络流媒体文件。4) 人性化的触屏操作。2.2 可
18、行性分析随着人们的生活水平不断提高,精神资料的需求逐渐提高,多媒体已经成为生活中必不可少的一部分。各式各样的多媒体迅速充斥了我们的生活,现在,多媒体正在向便携个人多媒体发展。我们生活中数字信息的数量在今后几十年中将急剧增加,质量上也将大大地改善。多媒体正在迅速的、意想不到的方式进入人们生活的多个方面,大的趋势是各个方面都将朝着当今新技术综合的方向发展。他们可以归结为两大类:音频,视频。但是现在多媒体的格式越来越多,比较流行的多媒体格式就有十多种,他们音质画质参差不齐,便携式设备上可用的媒体播放器较PC上的应用还有不小的差距。那些在电脑上运行的播放器经常因为操作环境等原因而不能在我们的机器上运行
19、。这就凸显处软件移植的必要性,现在的手机大部分都带有嵌入式操作系统,这为我们软件的移植提供了一定程度的方便,我们完全可以把一款优秀的多媒体播放器软件如Mplayer移植到手机上,它几乎支持几乎所有的音频视频文件,方便我们享受多媒体的乐趣。2.3 设计的主要目标任务这次设计的主要任务是将一款Linux下的开源多媒体播放器Mplayer从电脑上移植到arm平台上,实现一款软件可以跨平台运行的播放器。本设计主要研究了软件在不同平台上运行所需要的条件,以及达到触屏操作所需要的一系列要求,并研究了应用程序是如何进行不同程序及资源间调度配合。本次设计最终达到触屏控制软件实现软件在原来环境下的功能等效果。可
20、以流畅播放多种格式的视频音频文件。2.4 系统方案制定本系统分为两大部分:软件部分,硬件部分。软件部分包含经过arm交叉编译器编译生成的Mplayer可执行程序,libmad解码库,触屏驱动源代码,以及arm-linux-gcc交叉编译工具链,Windows自带的超级终端,linux操作系统,Bootloader,内核,根文件系统以及在Windows下的连接工具,烧录软件等。硬件部分包括S3C2440开发板,串口线,并口线,LCD触摸屏,5V变压器,带串、并口的PC机。将bootloader,内核,根文件系统烧录到S3C2440开发板上,在pc机上完成主控程序编写,和交叉编译工作,然后将程序序
21、放到开发板上测试,运行。2.5 本章小结本章首先对设计的功能进行分析,通过对开发环境以及开发语言的分析,得到的结论是开发环境完全可以支持设计的开发,接着对Mplayer的功能支持进行分析,结论是足以支持播放器的开发,最后在论证成功的情况下确定了一套可行的系统的方案。第3章 系统功能模块介绍本章首先详细的介绍了开发板的各个部件,然后介绍了三星的S3C2440芯片,并介绍了用于实现播放器人机界面的显示器及触摸屏,最后系统的介绍软件是如何实现对应功能的。3.1 S3C2440开发板简介S3C2440微处理器电源串口USB喇叭复位音量触摸屏这里所用的S3C2440嵌入式系统开发板功能比较强大,配备了完
22、备的硬件资源和开发软件,开发板的结构如图3.1所示。图3.1 开发板结构图S3C2440A是韩国三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T内核。电源电路实现了5v直流输入到3.3v、1.8v、1.2v输出转换的功能,为板上各功能模组的正常工作提供所需电压。通讯接口部分,板上提供了以SPI、I2C、RS232异步串行接口、USB转串口接口、USB主/从通讯接口、太网接口等。多媒体的处理方面,开发板提供了TV输出、VGA接口、摄像头接口、耳机/喇叭输出接口、TFT显示输出接口,在非易失性存储器方面,板上提供了8M的Norflash和64M的Nandflash存储器,
23、还有SD卡接口,另外提供了SATA大容量硬盘接口,可以扩充存储空间。3.2 S3C2440芯片特性简介S3C2440芯片采用的是ARM920T的芯片结构,它的结构如图3.2所示。图 3.2 芯片结构(ARM920T)3.2.1 S3C2440芯片参数S3C2440芯片的工作电压、操作频率、电源管理参数如下:1) 具有PLL时钟发生器,主频最高可达533M。2) 内核1.2V供电最高400M,1.3V供电最高533M。3) 存储器支持1.8V、2.5V、3.0V、3.3V,I/O均支持3.3V供电。4) s3c2440为单机器周期执行指令集。具有电源管理功能,可以使系统以普通方式、慢速方式、空闲
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 音乐 播放 设计 实现 34
限制150内