毕业设计(论文)基于mini2440的MP3音乐播放器.doc
《毕业设计(论文)基于mini2440的MP3音乐播放器.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于mini2440的MP3音乐播放器.doc(108页珍藏版)》请在三一办公上搜索。
1、 项目组号 9 密 级 公 开 X X X X X X X X X X X学校二一一届毕业设计文档 项 目 名 称 基于mini2440的mp3播放器 专 业 嵌入式软件技术 指 导 教 师 项目组成员 二一一年六月 摘 要本文设计了一种基于mini2440的MP3音乐播放器。设计中采用广州友善之臂科技有限公司提供的mini2440进行控制,利用U盘和SD卡作为存储器芯片,通过mini2440上的6个按键来控制播放。由于Linux具有可移植度高、自由、免费等特性,最近几年,它在移动设备和个人电脑领域的应用也越来越广泛,因此我们选择Linux操作系统,本文就以linux系统的移植为核心来描述一个
2、MP3播放器实现的整个过程。目 录前 言4第一章 系统方案设计与选型论证81.1 硬件设计方案81.2 软件设计方案10第二章 搭建嵌入式开发环境132.1 在windows中配置虚拟机132.2 在虚拟机中安装linux系统242.3其它常用工具的介绍与安装47 2.3.1 Linux下建立建立交叉编译环境.48 第三章 Linux系统移植513.1 Linux源码修改513.2 相关驱动移植643.2.1 按键驱动移植643.2.2 添加yaffs2文件系统到内核733.2.3 移植UDA1341音频驱动773.2.4 SD卡驱动移植823.2.5 USB驱动移植843.3 编译镜像883
3、.4 构建文件系统88第四章 应用程序编程1014.1 madplay的下载与安装1014.2 基于Mini2440的按键控制108结束语110谢 辞111附 录112参考文献114前 言随着计算机技术、微处理器技术、电子技术、通信技术、集成电路技术的发展,嵌入式系统已成为计算机技术和应用领域的一个重要组成部分,嵌入式产品在人们的日常生活中也扮演着越来越重要的角色。目前,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机机器。任何一个普通人都可能拥有从小到大的各种使用嵌入式技术的电子产品,小到MP3、PD
4、A等微型数字化产品,大到网络家电、智能家电、车载电子设备等。目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。MP3是嵌入式的最主要应用之一,高端的MP3已经不仅仅着眼于实现音乐播放这一简单功能,而是同时具备了文本浏览、图片浏览、甚至视频播放等强大功能。本文重点讨论了基于mini2440的MP3的功能的实现,包括开发环境建立、内核配置与编译、按键控制等一系列详细过程。近几年,嵌入式系统技术得到了广泛的应用,普适计算、无线传感器网络、可重构计算等新兴技术的出
5、现又为嵌入式系统技术的研究与应用注入了新的活力。智能手机、信息家电、汽车电子、家用机器人嵌入式系统已“无处不在”。嵌入式系统是当今最热门的概念之一。作为一个系统,往往是在硬件和软件双螺旋式交替发展的支撑下逐渐趋于稳定和成熟,嵌入式系统也不例外。嵌入式系统的最初应用时基于单片机的。20世纪70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能,更容易使用、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上系统的概念。从20世纪80年代早期开始,嵌入式系统的程序员开始用商
6、业级的“操作系统”编写嵌入式应用软件,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。1981年,Ready System开发出世界上第一个商业嵌入式实时内核(VTRX32)。这个实时内核包含了许多传统操作系统的特征,包括任务管理、任务间通信、同步与相互互斥、中断支持和内存管理等功能。此后,一些公司也纷纷推出了自己的嵌入式操作系统,如Integrated System Incorporation(ISI)的PSOS、WindRiver的VxWorks和QNX公司的QNX等。这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定
7、;系统内核很小,具有可裁剪性、可扩充性和可移植性,可以移植到各种处理器上;较强的实时性和可靠性,适合嵌入式应用。这些嵌入式实时多任务操作系统的出现,使得应用开发人员从小范围的开发中解放出来,同时也促使嵌入式有了更为广阔的应用空间。20世纪90年代以后,随着对实时性要求的提高,软件规模不断上升,实时内核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式操作系统的主流。这时更多的公司看到了嵌入式系统的广阔的发展前景,开始大力发展自己的嵌入式操作系统。除了上面的几家老牌公司以外,还出现了Palm OS、Windows CE、嵌入式Linux、Lynx、Nucleus以
8、及国内的Hopen、Delta OS等嵌入式操作系统。随着嵌入式技术的发展前景日益广阔,相信会有更多的嵌入式操作系统软件出现。根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(原文为devices used to control,monitor,or assist the operation of equipment,machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。不过,上述定义并不能充分体现出嵌入式系统的精髓。目前,国内一个普遍被认同的定义是
9、:以应用为中心、以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。一般而言,嵌入式系统的构架可以分成4个部分,即处理器、存储器、输入/输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里对其不加区分,这也是嵌入式系统和Windows系统的最大区别)。从前面对嵌入式系统所作的定义可以看出嵌入式系统的几个重要特征。 (1) 系统内核小,由于嵌入式系统一般应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。例如ENEA公司的OSE分布式系统,内核只有5KB,而Windows的内核则要大得多。 (
10、2) 专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌,同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的升级是完全不同的概念。 (3) 系统精简。嵌入式系统一般没有系统软件和应用软件的明显区别,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 (4) 高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。 (5) 嵌入式软件开发
11、要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行;但是为了合理地调度多任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式系统的应用领域主要有以下几个方面:(1) 工业控制。基于嵌入式芯片的工业自动化设备具有很大的发展空间,目前已经有大量的8位、16位、32位嵌入式微控制器应用于数控机床、电力系统、电网安全、电网设备检测、石油化工系统等领域。就传统的工业控制产品而言,低端型往往采用的是8位单片机,但是随着技术的发展,32位、64位的微处理器逐
12、渐成为工业控制设备的核心,在未来几年内必将获得更大的发展。(2) 交通管理。在车辆导航、流量控制、信息检测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,很多私人汽车上都配备了GPS导航和定位设备。(3) 信息家电。信息家电将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。(4) 家庭智能管理系统。水、电、煤气表的远程自动抄表和安全
13、防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高、更准确和更安全的性能。目前在服务领域中,一些手持设备已经体现出了嵌入式系统的优势。(5) POS网络及电子商务。公共交通无接触智能卡发行系统、公用电话卡发行系统、自动售货机、各种智能ATM终端将全面进入人们的生活,到时手持一卡就可以行遍天下。(6) 环境监测。环境监测包括水文资料实时监测、防洪体系及水土质量检测、堤坝安全、地震监测网、实时天气信息网、水源和空气污染监测。在很多环境恶劣、地矿复杂的地区,嵌入式系统将实现无人监测。(7) 机器人。嵌入式芯片的发展将使机器人在微型化、高智能方面优势更加明显,同事会大幅度降低机器人
14、的价格,使其在工业领域和服务领域获得更广泛的应用。信息时代、数字时代的到来为嵌入式产品应用带来了巨大的发展契机,为嵌入式市场展现了美好的前景,从中我们可以看出嵌入式系统应用未来的发展趋势。(1) 为设备网络通信提供标准接口。为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。(2) 支持小型电子设备实现小尺寸、微功耗和低成本。为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。(3) 提供精巧的多媒体人机界面。嵌入式设备之所以为亿万用户乐于接受,重要原因之一是它们对使用者的亲和力以及优美的人机交互界面。(4)
15、嵌入式网络。随着信息时代的到来,Internet技术已进入人们日常生活中的各个领域,嵌入式网络应运而生。从而在更好的利用Internet庞大的信息资源的同时,也实现了嵌入式系统功能方面的一个飞跃。第一章 系统方案设计与选型论证1.1硬件设计方案 方案一:采用高性能单片机作为主控平台,由于单片机自带的数据存储或是程序存储区一般大小只有几十KB,已经很难满足存储MP3歌曲的需要,并且在单片机的数据存储区或是程序存储区,写入数据十分不方便,因此我们选择用SD卡作为外存储设备,SD卡的容量大,一般在几百兆到几个G不等,并且价格低廉,是大容量存储设备的首选,SD卡采用SPI的通信方式与单片机相连,单片机
16、从SD卡读取数据后,直接送至音频解码芯片进行解码,然后在音频解码电路中进行解码输出,同时,单片机需通过HD7279外接键盘,并设计定时器中断来定时扫描键盘,以实现通过键盘与用户的交互,来控制音频输出。为了实时显示相关MP3歌曲播放信息,如歌曲名,歌曲长度等,通过外接液晶屏来实现。相关系统框图如图1.1所示。SD卡大容量存储设备高性能单片机液晶屏显示键盘输入音频解码电路音箱输出图1.1 方案一系统框图 方案二:采用mini2440开发板,mini2440是广州友善之臂科技有限公司开发的嵌入式系统开发平台,本开发板采用ARM9系列芯片S3C2440作为主控芯片,搭配3.2英寸液晶触摸屏,以及自带音
17、频解码芯片,配有丰富的硬件接口,是当今最热门的开发开发平台之一。该开发板可以实现车载GPS,以及MP3音乐播放器,MP4视频播放器等高端消费电子产品。用本开发板实现MP3播放器的整体思路是,在移植操作系统的基础上,只需添加USB驱动或SD卡相关驱动和液晶触摸屏的相关驱动,便可以轻松挂载U盘或SD卡外设,实现U盘或SD卡中文件的快速读取,并通过相关软件设计出又好的图形用户接口,用户只需通过触摸屏幕,便可实现和平台的交互。并且,TQ2440开发板自带音频解码芯片UDA1341,能够完全胜任MP3文件的解码工作,该方案的系统框图如图1.2所示。SD卡或U盘大容量存储设备TQ2440开发板液晶触摸屏音
18、频解码电路音箱输出显 示 输 出控 制 输 入图1.2 方案二系统框图 方案论证:方案一硬件成本低廉,实现简单,但是单片机处理能力有限,对于高码率的MP3歌曲以及视频播放就显得力不从心。方案二硬件成本高,但是系统扩展性强,不只可以通过相关软件设计出友好的界面以实现MP3的歌曲播放,还可以进一步播放视频,甚至可以实现网页浏览等高端功能。综合比较以上三种方案,却顶采用方案二。1.2软件设计方案 方案一:不带任何操作系统,在mini2440上直接开发基于硬件层的程序,程序中同时实现数据的读取、信息输出、指令输入、音频解码等工作。该方案同选择单片机作为硬件平台类似,但是因为ARM9芯片S3C2440的
19、性能远远高于高性能单片机,所以完全能够完成高码率音频解码,以及信息输出等功能。软件系统结构如图1.3所示。系统硬件层数据读取显示输出控制输入音频解码图1.3 方案一 无操作系统的结构框图 方案二:采用MicroSoft公司的Windows CE操作系统。Windows CE 关于 VC+ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,以使 OEMS 能够对特定的硬件平台使 Windows CE 标准定制。在应用程序开发方面,使用标准Win32 API子集,很多Windows程序可以方便的移植到CE上,还支持.net等语言。在底层开发方面CE文档比较完善,MSDN提供了详细的参
20、考资料,并且在应用程序开发方面,都有完善的IDE,开发难度低。结构框图如图1.4所示。标准开发板配置文件设备驱动BootLoadr板级支持包(BSP)图1.4 Win CE系统结构框图 方案三:采用开源的Linux系统。Linux操作系统具有诸多优点,并且内核可裁剪,在满足系统要求的同时,具有高度的可移植性,由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片,并且还在不断的被移植到新的芯片上,嵌入式系统具有
21、成本敏感性,处理器速度较低 ,存储器空间较少,这要求嵌入式OS体积小,速度快。Linux体系结构比较灵活,易于裁减,可以小到2M flash,4M RAM。基于Linux的操作系统结构框图如图1.5所示。系统硬件层设备驱动:SD卡、UDA1341系统内核应用层:Qt、madplay图1.5 Linux系统结构框图 方案论证:方案一不需要移植系统,但是却要面对硬件层进行编程,必须了解所用硬件的所有接口信息和特性,所有控制程序必须自行编写,工作量大。方案二中采用的Windows CE系统,目前并没有免费版本,如需使用,则必须支付一定的费用,增加了系统开发成本。方案三采用开源的Linux系统,不需要
22、额外支付系统费用,并且具有高度可移植性与可裁剪性,综上所述,确定采用方案三。第二章 搭建嵌入式开发环境2.1在windows中配置虚拟机由于Linux的兼容性差,目前很多常用软件并不支持在Linux平台上运行,这就导致如果直接安装Linux,那么在Linux环境中,将会有很多不便。因此,我们在此采用虚拟机下安装Linux的方案。虚拟机的工具我们选择Vmware Workstation。VMware Workstation 允许操作系统(OS)和应用程序(Application)在一台虚拟机内部运行。虚拟机是独立运行主机操作系统的离散环境。在 VMware Workstation中,你可以在一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 mini2440 MP3 音乐 播放
链接地址:https://www.31ppt.com/p-2392947.html