欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于ARM的音乐播放器的设计与实现.doc

    • 资源ID:2392648       资源大小:494.50KB        全文页数:34页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于ARM的音乐播放器的设计与实现.doc

    摘 要多媒体技术融计算机、声音、文本、图像、动画、视频和通信等多种功能于一体,是当今信息技术领域发展最快、最活跃的技术,是新一代电子技术发展和竞争的焦点。嵌入式设备与多媒体技术的融合使得PDA,智能手机,平板等智能终端得到快速发展。未来,智能终端与物联网的结合将推动嵌入式设备快速发展。所以,基于嵌入式终端的应用前景广阔。设计目的是在嵌入式平台上开发一款基于开源Linux操作系统的多媒体播放器,它以mplayer作为核心播放程序,将支持更多的文件播放格式甚至可以与PC机上的媒体播放器相媲美。多媒体播放器的硬件部分:以S3C2440开发板为硬件平台,它的外围设备可以外插U盘作为存储器、TFT-LCD触屏、key23键盘,以及外接耳机作音频设备。因为播放器开发是基于成熟的硬件平台,主要工作集中在软件部分,主要包括:搭建开发环境,配置编译mplayer可执行程序,编写触屏驱动,及key23驱动,编写主控程序等等,最后将程序移植安装到开发板,完成基于Linux的嵌入式播放器的设计。经过测试,播放器符合设计要求。关键词: 触屏,移植,线程,嵌入式Abstract The multimedia technology involves sound, text, image, animation, 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 rapid 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 an 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 platform, 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, the 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; thread; embedded;目录第1章 绪论11.1 选题背景11.2 研究意义2第2章 需求分析与方案制定42.1 功能性分析42.2 可行性分析42.3 设计的主要目标任务52.4 系统方案制定52.5 本章小结5第3章 系统功能模块介绍63.1 S3C2440开发板简介63.2 S3C2440芯片特性简介63.2.1 S3C2440芯片参数73.2.2 内核结构73.2.3 总线结构73.2.4 处理器通用模块183.2.5 处理器通用模块283.2.6 存储器接口93.2.7 外围总线接口93.2.8 人机接口93.3 LCD模块介绍93.4 软件模块介绍103.5 本章小结11第4章 硬件系统124.1 开发板系统的硬件框架124.2 LCD模块原理124.2.1 A/D转换器124.2.2 触摸屏原理结构134.3 系统硬件介绍144.4 各个外设接口144.4.1 JTAG接口144.4.2 USB_UART转换接口154.4.3 RS232接口154.4.4 USB主接口154.4.5 USB从接口164.4.6 AD输入接口164.4.7 复位系统164.5 本章小结16第5章 系统软件设计175.1 系统软件设计流程图175.2 Bootloader内核的配置175.2.1 Bootloader175.2.2 配置编译bootloader-u-boot185.2.3 裁剪编译linux-2.6.34(编译内核)195.3 制作根文件系统195.4 烧录镜像文件205.4.1 烧录Bootloader205.4.2 烧录Linux2.6内核和根文件系统225.5 安装交叉编译编译工具链245.6 对Mplayer源码进行重新配置编译245.7 编写主程序(包含触屏驱动)255.8 设计人机交互界面255.9 程序移植265.10 本章小结26第6章 结论27参考文献28致谢30第1章 绪论1.1 选题背景多媒体是全面的综合性的信息资源,它常常指信息表示媒体的多样化,常见的形式有文字、资料、图形、影像、动画、视讯、声音、特殊效果,再经由电脑表现出来,它能用来达成信息传播中的任何媒体资源。多媒体技术的产生和发展,是技术和应用发展的必然。在信息社会,人们迫切希望计算机能以人类习惯的方式提供信息服务,因而多媒体技术应运而生。它的出现,使得原本“面无表情”、“死气沉沉”的计算机有了一副“生动活泼”的面孔。用户不仅可以通过文字信息,还可以通过直接看到的影像和听到的声音,来了解感兴趣的对象,并可以参与或改变信息的演示。一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件,嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。嵌入式系统一般由嵌入式计算机系统和执行机构组成,嵌入式计算机系统是由硬件层、中间层、系统软件层和应用软件层组成的。执行机构也作为控制对象,它可以接收由嵌入式计算机系统发出的控制命令,执行所需的操作或任务。执行器可以很简单,如手机上的微小型点击,手机在振动时机大开,也可以是非常复杂的,如SONY智能机器人集成以上的小型和微型控制电机,以及各种传感器,它可以执行各种复杂的动作和感情的各种状态信息。嵌入式微处理器在世界上有超过1000种,30多个系列,其中的主流体系结构有ARM,MIPS,PowerPC上,X86和SH等。但不像全球PC市场,没有那种嵌入式微处理器能够主宰市场,就32个产品而言,有超过100种嵌入式微处理器。嵌入式微处理器的选择是由具体应用决定的。这几年掀起的嵌入式系统的应用热潮主要有以下几种原因:首先,芯片技术的发展,使一个单一的芯片具有更强的处理能力,而且集成多种接口已成为可能,许多芯片制造商焦点在这方面。另一方面,其原因在于应用需求,产品的可靠性,成本,更换为嵌入式系统的需求不断增加,从纯硬件实现的和使用通用计算机来实现的的应用中脱颖而出,成为令人关注的焦点 Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。 大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。软件可移植性指一种计算机上的软件转置到其它计算机上的能力(也可称作软件自动搬家)。软件移植是实现功能的等价联系,而不是等同联系软件可移植性的主要标志是:这类软件有个通用的标准文本;它们独立于具体的计算机。软件相对于具体计算机的独立性,从狭义上讲,是指可移植软件应独立于计算机的硬件环境;从广义上讲,可移植软件还应独立于计算机的软件,即高级的标准化的软件,它的功能与机器系统结构无关,可跨越很多机器界限。从一种计算机向另一种计算机移植软件时,首先要考虑所移植的软件对宿主机硬件及操作系统的接口,然后设法用对目标机的接口代换之。因此,接口的改造容易与否,是衡量一个软件可移植性高低的主要标志之一。多媒体已成为我们日常生活的重要组成部分,但一个优秀的播放器,却往往因为系统环境,不开源等问题,而不是被广泛认可、使用,这是我们的损失。因此,跨平台的多媒体播放器移植有很好的市场前景。1.2 研究意义未来对多媒体的研究,主要有以下几个研究方面:数据压缩、多媒体信息特性与建模、多媒体信息的组织与管理、多媒体信息表现与交互、多媒体通信与分布处理、多媒体的软硬件平台、虚拟现实技术、多媒体应用开发。 展望未来,网络和计算机技术相交融的交互式多媒体将成为21世纪多媒体发展方向。所谓交互式多媒体是指不仅可以从网络上接受信息、选择信息,还可以发送信息,其信息是以多媒体的形式传输。利用这一技术,人们能够在家里购物、点播自己喜欢的电视节目。21世纪的交互式多媒体技术的实现将会极大的改变我们的生活。由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。 开源的特性也决定了它使用的人越多,程序进步越快的特点。我们可以预见在不久的将来,linux一定会大行其道,linux的强大的兼容性,可移植性也将发挥的淋漓尽致。含有嵌入式系统设备统称嵌入式系统,如:手机,电子手表,多媒体播放器等,覆盖消费类电子产品,汽车电子,军用电子,生产,工业控制,通信,网络等领域。随着技术的进步,越来越高性能的嵌入式设备被广泛使用。操作系统是通过软件的运行带动硬件工作。然而,大部分的软件对操作系统有要求。 这就要进行软件的移植,使其在需要的其他操作系统下也能正常工作。在这种情况下,一个好的软件就不会仅仅局限于一个小领域,例如:把Iphone上的应用移植到其他平台上,从而改善我们的生活,促进技术进步的发展。第2章 需求分析与方案制定本章分析了设计需求,并对设计的可行性进行分析,阐述了设计的主要目标以及设计的大体流程,并最终制定了系统的实施方案。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 可行性分析随着人们的生活水平不断提高,精神资料的需求逐渐提高,多媒体已经成为生活中必不可少的一部分。各式各样的多媒体迅速充斥了我们的生活,现在,多媒体正在向便携个人多媒体发展。我们生活中数字信息的数量在今后几十年中将急剧增加,质量上也将大大地改善。多媒体正在迅速的、意想不到的方式进入人们生活的多个方面,大的趋势是各个方面都将朝着当今新技术综合的方向发展。他们可以归结为两大类:音频,视频。但是现在多媒体的格式越来越多,比较流行的多媒体格式就有十多种,他们音质画质参差不齐,便携式设备上可用的媒体播放器较PC上的应用还有不小的差距。那些在电脑上运行的播放器经常因为操作环境等原因而不能在我们的机器上运行。这就凸显处软件移植的必要性,现在的手机大部分都带有嵌入式操作系统,这为我们软件的移植提供了一定程度的方便,我们完全可以把一款优秀的多媒体播放器软件如Mplayer移植到手机上,它几乎支持几乎所有的音频视频文件,方便我们享受多媒体的乐趣。2.3 设计的主要目标任务这次设计的主要任务是将一款Linux下的开源多媒体播放器Mplayer从电脑上移植到arm平台上,实现一款软件可以跨平台运行的播放器。本设计主要研究了软件在不同平台上运行所需要的条件,以及达到触屏操作所需要的一系列要求,并研究了应用程序是如何进行不同程序及资源间调度配合。本次设计最终达到触屏控制软件实现软件在原来环境下的功能等效果。可以流畅播放多种格式的视频音频文件。2.4 系统方案制定本系统分为两大部分:软件部分,硬件部分。软件部分包含经过arm交叉编译器编译生成的Mplayer可执行程序,libmad解码库,触屏驱动源代码,以及arm-linux-gcc交叉编译工具链,Windows自带的超级终端,linux操作系统,Bootloader,内核,根文件系统以及在Windows下的连接工具,烧录软件等。硬件部分包括S3C2440开发板,串口线,并口线,LCD触摸屏,5V变压器,带串、并口的PC机。将bootloader,内核,根文件系统烧录到S3C2440开发板上,在pc机上完成主控程序编写,和交叉编译工作,然后将程序序放到开发板上测试,运行。2.5 本章小结本章首先对设计的功能进行分析,通过对开发环境以及开发语言的分析,得到的结论是开发环境完全可以支持设计的开发,接着对Mplayer的功能支持进行分析,结论是足以支持播放器的开发,最后在论证成功的情况下确定了一套可行的系统的方案。第3章 系统功能模块介绍本章首先详细的介绍了开发板的各个部件,然后介绍了三星的S3C2440芯片,并介绍了用于实现播放器人机界面的显示器及触摸屏,最后系统的介绍软件是如何实现对应功能的。3.1 S3C2440开发板简介S3C2440微处理器电源串口USB喇叭复位音量触摸屏这里所用的S3C2440嵌入式系统开发板功能比较强大,配备了完备的硬件资源和开发软件,开发板的结构如图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存储器,还有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为单机器周期执行指令集。具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作,降低产品功耗。3.2.2 内核结构内核结构具有如下特点:1) 采用ARM920T内核,具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU。2) 指令高速存储缓冲器(I-Cache),数据高速存储缓冲器(D-cache)提高指令执行效率及数据存储效率,减少主存带宽和响应性带来的影响。3) 加强的ARM体系结构MMU,用于支持winCE、linux等操作系统。4) 内部高级微控制总线(AMBA)体系结构(AMB2.0,AHB/APB)。3.2.3 总线结构S3C2440芯片采用的是ARM920T结构,ARM920T的总线结构如图3.3所示。图3.3 总线结构3.2.4 处理器通用模块1有60个中断源,可以设定1个为快速中断,其余为普通中断,有24个外部中断,可编程电平/边沿触发方式。1个看门狗定时器、5个定时器、9个UART、24个外部中断、4个DMA中断、2个RTC中断、2个ADC中断、1个IIC、2个SPI、1个SD、2个USB、1个LCD、1个触摸屏中断、1个电池故障、1个NAND、2个摄像头、1个AC97。3.2.5 处理器通用模块23个通道的UART,带有16字节的TX/RX FIFO,支持IrDA1.0功能。8通道的10位A/D转换器,最高速率可达500kSPS、提供有触摸屏接口。具有130个通用I/O口。有4个具有PWM功能的16位定时器和1个16位内部定时器。看门狗定时器。3.2.6 存储器接口sram、sdram、norflash、NANDflash、外部存储器控制器,可扩展8组,每组128MB,总容量达1GB、支持NandFlash作为启动存储器及数据存储器、支持最高达256M的SDRAM存储器接口、支持NOR FLASH、SRAM存储器接口、4通道的DMA,并且有外部请求引脚。3.2.7 外围总线接口32位地址总线、8/16/32位可编程数据总线、控制总线,具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口,有2个USB主机总线端口,1个USB设备总线端口,兼容MMC的SD卡接口。3.2.8 人机接口带有四线电阻式触摸屏接口,有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道,支持多种屏幕尺寸,典型的屏幕尺寸有640*480,320*320,160*160,集成Camer摄像头控制器,具有日历功能的RTC。3.3 LCD模块介绍电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。很多LCD模块都采用了电阻式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。电阻式触摸屏基本上是薄膜加上玻璃的结构,薄膜和玻璃相邻的一面上均涂有ITO(纳米铟锡金属氧化物)涂层,ITO具有很好的导电性和透明性。当触摸操作时,薄膜下层的ITO会接触到玻璃上层的ITO,经由感应器传出相应的电信号,经过转换电路送到处理器,通过运算转化为屏幕上的X、Y值,而完成点选的动作,并呈现在屏幕上。原理:触摸屏包含上下叠合的两个透明层,四线和八线触摸屏由两层具有相同表面电阻的透明阻性材料组成,五线和七线触摸屏由一个阻性层和一个导电层组成,通常还要用一种弹性材料来将两层隔开。当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。所有的电阻式触摸屏都采用分压器原理来产生代表X坐标和Y坐标的电压。分压器通过将两个电阻进行串联来实现的。上面的电阻连接正参考电压,下面的电阻接地。两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。同时,将未偏置的那一层连接到一个ADC的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比。触摸屏结构主要由6部分构成:1) 信号输入通道2) 触摸屏接口3) 8转1切换开关4) 中断信号发生器5) A/D转换器6) 控制逻辑3.4 软件模块介绍1) 子进程:在子进程中:启动Mplayer,参数规定通过命名管道进行通信。Mplayer会自动从命名管道中读取主进程发来的命令。Mplayer发出的内容通过把标准输出重定向到命名管道中,父进程通过读管道就可以读到Mplayer发出的信息。然后在父进程实现任务调度及调用各用户界面显示模块来实现信息同步的功能。2) 父进程: 进行相应的窗口创建,界面的初始化。(把歌曲列表显示到屏幕上) 检测触摸屏,通过返回按键,向命名管道写命令。 开线程1:给Mplayer发获取歌曲播放进度的命令。 开线程2:读命名管道,即读Mplayer发来的信息。 开线程3:解析收到的Mplayer发来的信息。3、4、5步实现播放进度条所需信息的获得。(获取进度信息后进行相应的界面处理)驱动程序模块:LCD驱动、触摸屏驱动、键盘驱动、音频驱动Linux内核:内核是负责创建和终止进程和处理与他们和外界联系(输入和输出)。在不同的进程之间的通信(通过信号,管道,进程间通信原语)是整个系统的功能是基本的,这也是由内核来处理。Linux内核的主要用途就是为了与计算机硬件进行交互,实现对硬件的编程控制和接口操作,调度对硬件资源的访问,并为计算机上的用户程序提供一个高级的执行环境和对硬件的虚拟接口。目前,操作系统内核的结构模式主要可分为整体式的单内核模式和层次式的微内核模式。单内核模式的主要优点是内核代码结构紧凑、执行速度快,不足之处主要是层次结构性不强。在单内核模式的系统中,操作系统所提供服务的流程为:应用主程序使用指定的参数值执行系统调用指令(int x80),使CPU从用户态(User Mode)切换到核心态(Kernel Model),然后操作系统根据具体的参数值调用特定的服务程序,而这些服务程序则根据需要再调用底层的一些支持函数以完成特定的功能。在完成了应用程序所要求的服务后,操作系统又使CPU从核心态切换回用户态,从而返回到应用程序中继续执行后面的指令。因此概要地讲,单内核模式的内核也可粗略地分为3个层次:调用服务的主程序层、执行系统调用的服务层和支持系统调用的底层函数。播放器界面主要包括主窗口、操作窗口、播放列表窗口,歌曲信息窗口,歌词显示窗口。主窗口有一个显示屏和一些控制按钮,包括播放、暂停、快进、快退、下一首、上一首、音量调整以及播放进度条和播放时间显示。播放列表窗口可以使用户选择要播放的文件。播放列表用来播放最近播放的几个多媒体文件。3.5 本章小结本章详细的介绍了开发环境,包括开发板的结构,ARM920T的架构,以及内核的结构,并总体介绍了程序的结构以及程序实现的功能,其中详细阐述了如何使用线程和进程来控制播放器的。第4章 硬件系统本章系统介绍了各部分硬件的实现原理并着重阐述了与控制模块有关的触摸屏模块的原理,然后简单介绍了开发板个部分的原理。4.1 开发板系统的硬件框架上图为本次设计的多媒体平台的硬件框图,以S3C2440开发板为硬件基础,TFT-LCD和key23键盘作为主控制器,循环采集触摸屏数据,然后将数据传入主控程序,主程序根据获得的参数进行时间判断和任务调度。最终实现多媒体播放功能。该设计的前期,要使用到并口和网络进行Bootloader,kernel,root的烧写。调试阶段可以通过NFS挂载根文件系统,这样方便省时。USB接口用来挂载U盘,因为S3C2440开发板的存储空间较小,可以挂载U盘或其他存储。4.2 LCD模块原理4.2.1 A/D转换器A/D转换器按照转换速度、精度、功能等因素,常用的A/D转换器分为两种:双积分型、逐次逼进型。它是模拟信号和CPU之间联系的接口,将采集到的连续变化的模拟信号转换为数字信号,以供计算机或数字系统进行分析、处理、存储、控制和显示。在工业控制和数据采集及许多其他领域中,A/D转换都是不可缺少的。S3C2440的A/D转换器包含一个8通道的模拟输入转换器,可以将模拟输入信号转换成10位数字编码,输入电压范围为03.3V。在A/D转换时钟频率2.5MHz时,其最大转换率为500KSPS。AD转换接口中的AIN7通道和AIN5通道为触摸屏的模拟信号输入口。AD的启动方式有两种,分别为读取即转换方式和置位启动方式。读取即转换方式:将ADCCON中的READ_START设置为,即每次读取ADCDAT0中的数都会触发下一次AD转换。置位启动方式:将ADCCON中的ENABLE_STAERT设置为,即启动AD转换;AD转换开始后改位自动清零。两者在使用上基本没什么太大区别,任意选中一种即可。要使用S3C2440的A/D转换器进行模拟信号到数字信号的转换,需要配置以下寄存器:1) ADC控制寄存器(ADCCON)2) ADC触摸屏控制寄存器(ADCTSC)3) ADC启动延时寄存器(ADCDLY)4) ADC转换数据寄存器(ADCDATn)4.2.2 触摸屏原理结构在电阻式触摸屏的表面保护涂层和基层之间有两层透明导电层ITO(ITO:氧化铟,弱导电体),分别对应X、Y轴,它们之间用细微透明的绝缘颗粒绝缘,触摸产生的压力会使两导电层接通,按压不同的点时,该点到输出端的电阻值也不同,因此会输出与该点位置相对应的电压信号(模拟量),经A/D转换后即可获取X、Y的坐标值,触摸屏的结构图如图4.1所示。图4.1 触摸屏结构采用多次采样取平均值算法来计算触摸点坐标,即首先从触摸屏的四个顶角得到两个最大值和两个最小值,分别标识为Xmax、Ymax和Xmin、Ymin。确定X、Y方向后坐标值的计算可通过以下方式求得:Xa、Ya:为多次测量的平均电压值X、Y为坐标值由X/320=(Xmax-Xa)/(Xmax-Xmin)得(X = (Xmax-Xa)×320)/(Xmax-Xmin)Xa = X1+ X2+ .+ Xn/n由Y/240=(Ya-Ymin)/(Ymax-Ymin)得(Y = (Ya-Ymin)×240)/(Ymax-Ymin)Ya = Y1+ Y2+ + Yn/n测量X坐标:从XP输出电压给X+端,从XM输出地电位给X-端,从YP脚输入按压点电压。控制信号: YMON=0; nYPON=1;XMON=1;nXPON=0;触摸屏接口信号:XP=上拉 XM=接地 YP=AIN5 YM=高阻测量Y坐标: 从YP输出电压给Y+端,从YM输出地电位给Y-端,从XP脚输入按压点电压。控制信号:YMON=1; nYPON=0;XMON=0;nXPON=1;触摸屏接口信号:YP=上拉YM=接地XP=AIN7XM=高阻从YP做为输入,从YM输出地电位给Y-端,从XP脚输入采样按压中断。控制信号: YMON=1; nYPON=1;XMON=0;nXPON=1;触摸屏接口信号:YP=AIN5YM=接地XP=AIN7(上拉)XM=高阻4.3 系统硬件介绍本次毕设涉及到的硬件有:1) 笔记本电脑2) S3C2440开发板3) 标准5V变压器4) TFT-LCD触屏5) 扬声器6) U盘7) USB-UART线将USB-UART线接到电脑USB接口上,U盘插到开发板上,接通电源。然后通过电脑的超级终端登陆开发板运行程序,就可进行触屏操作了。4.4 各个外设接口4.4.1 JTAG接口JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable 在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程。本实验所用的的JTAG调试器为EZ-JTAG,是一种简易的并口调试器,成本较低,速度没有JLINK、ULINK快,但是可以基本满足调试代码的需求,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线,加上电源和地,一般6条线;为了方便调试,大部分仿真器还提供了一个复位信号。为了方便连接,一般将接口设置为标准接口。这里用的的S3C2440开发板提供了包含完整JTAG标准信号的 20 Pin JTAG 接口。4.4.2 USB_UART转换接口S3C2440配置了USB_UART模块,实现usb与串口转换,该模块的芯片为SPCP825A,通过此USB接口可以连接至S3C2440的串口0。4.4.3 RS232接口S3C2440开发板提供了一个标准的RS232接口,可以通过跳线选择2440芯片的串口0或者串口1进行数据输出,当JP1接口通过跳线冒接(3、5短接,4、6短接)时,此时RS232接口连接2440芯片串口0,当JP1接口通过跳线冒接(1、3短接,2、4短接)时,此时RS232接口连接2440芯片串口1。另外,通过J4接口可以获得串口0的TTL电平信号。串口选择跳线的结构如图4.2所示。图4.2 S3C2440串口选择跳线4.4.4 USB主接口S3C2440芯片提供了一个USB HOST接口,对于目前的众多USB设备来讲不太够用,所以S3C2440开发板扩展了USBHUB接口,可以扩展四路USB设备,方便USB键盘、USB鼠标、USB摄像头、USB无线网卡等USB设备同时使用,由于S3C2440开发板本身外扩了SATA硬盘接口,该硬盘在正常使用时需要占用一个USB主通道,板子只预留了两路USB接口,另外一路保留。4.4.5 USB从接口S3c2440芯片本身自带了USBSlave接口,可以方便的跟PC通过USB接口进行高速数据通信,这次设计的kernel和yaffs就是通过此接口烧写的,大大减少了用时。4.4.6 AD输入接口S3C2440芯片内置8路12bitAD输入接口,为了方便用户使用,开发板将其中的4路AD直接引出至J19。使用时,将需要采样的AD信号直接接入J19接口即可。4.4.7 复位系统S3C2440实验仪通过Reset按键实现对板子所有可复位芯片的复位操作,具体电路如图4.3所示。图4.3 复位系统电路图4.5 本章小结本章详细的介绍了作为播放器人机界面的触摸屏以及lcd显示屏的结构和原理,以及如何得到坐标。然后详细介绍了各个用到的接口。第5章 系统软件设计本章主要介绍设计的软件实现包括以下部分:1) Bootloader与kernel的配置2) 根文件系统制作3) 烧录镜像文件4) 交叉编译编译工具链的安装5) 重新配置编译Mplayer源码进行6) 配置编译libmad解码库7) 主控程序的编写8) 人机交互界面设计9) 程序移植5.1 系统软件设计流程图这次毕设的软件模块我是按照环境搭建,安装工具,编写程序,可执行程序移植的顺序设计的,软件的开发环境搭建如图5.1所示。Bootloader内核的配置制作根文件系统烧录镜像文件配置编译libmad解码库安装交叉编译工具对Mplayer源码进行配置编译图5.1 开发环境搭建流程图5.2 Bootloader内核的配置5.2.1 Bootloader大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如

    注意事项

    本文(基于ARM的音乐播放器的设计与实现.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开