收藏 分销(赏)

基于嵌入式ARM-Linux的播放器的设计与实现.doc

上传人:丰**** 文档编号:4902466 上传时间:2024-10-18 格式:DOC 页数:42 大小:960KB
下载 相关 举报
基于嵌入式ARM-Linux的播放器的设计与实现.doc_第1页
第1页 / 共42页
基于嵌入式ARM-Linux的播放器的设计与实现.doc_第2页
第2页 / 共42页
基于嵌入式ARM-Linux的播放器的设计与实现.doc_第3页
第3页 / 共42页
基于嵌入式ARM-Linux的播放器的设计与实现.doc_第4页
第4页 / 共42页
基于嵌入式ARM-Linux的播放器的设计与实现.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、基于嵌入式ARM-Linux的播放器的设计与实现摘要随着21世纪的到来,人类进入了PC时代。在这一阶段,嵌入式技术得到了飞速发展和广泛应用。由此,本文提出了一种基于嵌入式ARM-Linux的播放器设计与实现的方案。本文首先详细分析了ARM体系结构,研究了嵌入式Linux操作系统在ARM9微处理器的移植技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌入式Linux内核及建立根文件系统,并且实现了嵌入式Linux到S3C2410开发板的移植。由于嵌入式系统本身硬件条件的限制,常用在PC机的图形用户界面GUI系统不适合在其上运行。为此,本文选择了Minigui作为研究对象,在对其体系结构等方面

2、进行研究基础上,实现了Minigui到S3C2410开发板的移植,完成了嵌入式图形用户界面开发,使得系统拥有良好的操作界面。对于播放器,本文实现了Linux系统下的通用媒体播放器Mplayer到S3C2410开发板的移植。通过对音频数据输出的研究,解决了Mp1ayer播放声音不正常的问题,实现了一个集音乐和视频播放于一体的嵌入式多媒体播放系统。最后,总结了论文所做的工作,指出了嵌入式播放器所需要进一步解决和完善的问题。关键词:嵌入式ARM-Linux; S3C2410; Mplayer; GUI界面; MiniguiPlayer Designing and Implement Based On

3、 Embedded ARM-LinuxAbstract Along with the 21st century arrivals, the humanity enters the post PC time. In this stage, embedded technology gets rapidly developed and widely used. So, this paper aims to design a player based on embedded ARM-Linux.First, in this paper, ARM architecture and the charact

4、eristic are analyzed in detail. The emphasis of the study is put on the porting techniques of embedded Linux operation system based on the ARM9 micro-processor, which include setting cross complier、transplanting Bootloader、transplanting embedded Linux kernel and setting root file system; Furthermore

5、, implement the technique of transplanting Embedded Linux to S3C2410 board.GUI (Graphical User Interfaces) systems which are supported by normal PCs cannot run well on the embedded systems, just because of the restriction of the hardware of embedded devices. So, this paper selects Minigui as researc

6、h object. Based on the Minigui architecture and its other aspects, the technique of transplanting Minigui to S3C2410 board is given in detail, and then an embedded GUI system is established and it also makes the handle interface friendly.About the player, this paper implements transplanting the univ

7、ersal player on LinuxMplayer to S3C2410 board. By learning of audio data, it solves the problem of sound abnormality, and achieves an embedded multimedia system which could play audio and video files.Key words: Embedded ARM-Linux; S3C2410; Mplayer; GUI interface; Minigui目录摘要IAbstractII目录III第一章 绪论11.

8、1系统研究背景11.1.1 多媒体播放器与嵌入式系统11.1.2 嵌入式多媒体播放器国内外发展现状11.2 嵌入式处理器31.3 嵌入式系统41.3.1嵌入式系统的概述41.3.2 嵌入式系统的选择61.4 本文的意义和主要工作7第二章 系统软硬件平台的搭建82.1硬件开发平台的介绍82.1.1 核心板82.1.2外设板82.1.3设计所用硬件介绍92.2硬件平台的设计方案92.2.1核心板设计92.2.2外设电路设计142.3 嵌入式软件开发环境152.3.1 引导装载程序162.3.2 宿主机开发环境配置172.3.3 交叉开发环境的建立182.3.4 内核的编译182.3.5 烧制内核映

9、像和文件系统202.4 嵌入式图形用户界面的实现212.4.1 图形用户界面minigui的简介212.4.2 MiniGUI在S3C2410开发板上的移植过程21第三章 Mplayer的移植243.1 Mplayer的简介243.2 Mplayer的移植243.2.1 安装交叉编译工具及解压源代码243.2.2 编译Mplayer253.3 调试26第四章 嵌入式播放器Mplayer的设计304.1 播放器的工作流程304.2 播放器的逻辑结构304.3 Mplayer播放器的目录文件组织结构314.4 播放器对解码器和输出设备的管理方式33第五章 总结与展望355.1 本文主要完成的工作及

10、结论355.2 完善与展望35致谢36参考文献:3738第一章 绪论1.1系统研究背景从上世纪末开始,随着计算机和电子技术的发展走上快车道,便携式电子设备,诸如智能手机,个人电子助理(PDA)的运算存储能力和通信能力都得到了长足的进步,便携式设备的用户界面也变的越来越友好,从早期的只能显示单色文字的LED,发展到现在大尺寸6万色彩色液晶屏幕。因此,用户已经不再仅仅满足于早期的便携式电子设备提供的传统的,简单的语音通信或文档处理功能。随着多媒体技术发展,用户希望能够在轻巧的便携式设备上同样能够享受到过去只能在笨重的台式机或笔记本电脑上才能享受到语音甚至视频等多媒体服务。1.1.1 多媒体播放器与

11、嵌入式系统随着芯片技术的快速发展,嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式系统在众多领域的应用给我们的生活带来了便利,并且对人们的生活方式的改变和生活质量的提高具有重要的影响。在这些领域中,消费电子产品的应用具有更为广泛的潜力,尤其是便携式消费电子产品。当前,消费类电子产品更新换代的速度进一步加快,市场需求不断增大。在MP3数码随身听取得巨大的市场成功后,支持视频的便携式播放器逐渐进入消费者的视线,成为继MP3之后的新一代数码影音娱乐平台。受MP3的影响,人们习惯的将这一类嵌入式多媒体系统称作MP4。在法国Archos公司推出第一款MP4掌上影院后,众多企业均看好MP4的发展态势。新

12、一代MP4良好的发展前景和潜在的市场,成为移动数码产业的新亮点,吸引着众多厂商大力研发,并将其推向市场。除播放视频这一基本功能外,嵌入式多媒体系统还附带了若干增值功能,如音乐播放、图片浏览、游戏、调频收音、录音、电子书以及拍照、录像功能。1.1.2 嵌入式多媒体播放器国内外发展现状目前嵌入式多媒体的内部结构,比较成熟的解决方案有三种:基于 SigmaDesigns851x系列芯片的解决方案、基于 TlDM32ODSP+ARM处理器的解决方案和基于工 ntelPXA27x的解决方案,这三种解决方案是目前的主流方案。上述几种方案各有特点:(1)SigmaDesigns 851x 方案SigmaDe

13、signS851x处理器是目前性能最强、最全面的专业解码芯片,采用双核设计,将200MHz 32位RISC处理器和MPEG解码处理器集成于单芯片上,在无需其它外围芯片支持的情况下,完成系统所需各种接口的提供、系统处理以及流畅的 WMA V9、 DivXV3.11、 DivXV4.X和S.X、MPEG-4、MPEG-2、MPEG-1等音视频解码。其中对系统要求极高的MPEG-2解码, SigmaDesigns851x能轻松达到3OfpsDI,流畅自如,难能可贵!优点:单芯片,低成本,低功耗;硬核视频解码,视频播放效果好缺点:无法播放网络视频格式RM,RMVB等(2)TI DM320 DSP-I-

14、ARM处理器的解决方案作为DSP巨头,TI力推DM320 DSP的PMP解决方案。TI方案是利用DM320 DSP进行音视频编解码处理,ARM处理器负责系统处理及提供外围设备接口。与SigmaDesigns方案一样,TI方案支持的媒体类型非常丰富,能支持WMV、 DivXV3.11、 DivXV4.X和5.X、MPEG-4、MPEG-2、MPEG-1等。但由于 TlDM320为纯DSP芯片,因此必须配合ARM处理器才能组成完整的解决方案,因此在成本上并不具备优势。优点:支持的媒体类型丰富,编解码能力强缺点:必须配合ARM处理器,成本不占优势,功耗较大;不支持网络视频格式RM,RMVB(3)In

15、tel PXA27x 的解决方案Intel公司于2003年底推出了性能最为强劲的PXA27x嵌入式处理器,最高频率可达624MHz。作为一款性能及其强劲的嵌入式处理器,配合嵌入式Linux或wince操作系统,PXA27x理论上可以支持任何媒体格式,并通过软件升级,支持未来媒体格式。但由于MPEG-2对硬件的极高要求,因此单纯依靠PXA27x处理器进行MPEG-2编解码是不现实的。Intel公司于2004年推出了2700G多媒体加速芯片,配合PXA270进行视频加速与3D加速。同时,PXA27x加入了wireless MMX技术和SpeedStep动态电源管理技术,不但大大增强了PXA270的

16、媒体处理能力,而且极大降低了系统功耗,延长PMP产品的电池寿命。 2700G的加入,更使PXA27x方案成为全能解决方案,不但完美解决了MPEG-2编解码问题,更使基于PXA27x的PMP产品能向多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐终端。优点:支持目前所有的媒体类型,可通过软件升级支持未来媒体类型;接口丰富,可支持SD、MS、CF等;支持最大400万象素摄像头;支持动态电源管理,功耗低缺点:成本可能较高目前市面上还有其它几种非主流方案,如PxA255解决方案、Sunplus SPCA536解决方案、 Freescalei.MX21解决方案等。基于PXA255的方案特点是功耗较低

17、,且能够支持较多的媒体格式,但缺点是无法支持大尺寸图像的编解码,如MPEG-2等。 Sunplus SPCA536解决方案价格低廉,但仅支持MPEG-4编解码与JPEG,支持媒体类型单纯,功能单一 ;FreeSCalei.MX21芯片原为智能手机专门设计,接口类型比较丰富,但音视频处理能力一般,无法进行流畅的MPEG-4播放,无法处理MPEG-2视频。由于PMP(便携式多媒体播放器)产品的研发难度较大,目前市面上的大多数PMP产品均为国外或台湾设计。中国大陆消费类娱乐产品的生产商因研发能力普遍较低而无法自己研发产品,因此未来中国大陆PMP设计制造将更多的按照生产商 +Design House的

18、模式进行,这样生产商可以充分发挥自己的渠道和规模优势,而 Design House则发挥自己的强设计能力和低营运成本优势,双方合作则能够共同把PMP市场做大、做强。国内目前也有进行PMP方案设计的公司,如南京东集公司 (),采用的是Intel嵌入式处理器PXA255方案。采用SigmaDesignS解决方案的公司主要集中在深圳,如深圳市深视通科技开发有限公司(),该公司目前己经设计出了基于 SiglnaDesigns85n处理器的成熟的PMP解决方案,并制作了DEMO。而 TIDM320方案,目前主要依靠TI合作伙伴美国Ingenient公司推广1。1.2 嵌入式处理器嵌入式处理器是嵌入式硬件

19、平台的核心,负责系统事件的响应、任务的调度、外围器件的控制以及信号的处理。嵌入式处理器是由通用计算机中的CPU演变而来的。它的特征是32位以上,具有较高的性能。与通用计算机中的CPU不同的是,嵌入式处理器在实际嵌入式应用中只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。嵌入式处理器体积小、功耗低、成本低、可靠性高的优点使其在互联网、通信、消费类电子等多个领域得到了广泛的应用。目前主要的嵌入式处理器按体系结构不同可分为五大类:ARM、MIPS、POWERPC、x86和SH系列。ARM内核是由ARM公司开发的一系列32位RISC处理器

20、内核,当前有6个系列的产品:ARM7,ARM9,ARM9E,ARM10E,SecurCore以及最新的ARM11系列。目前业界可以提供ARM内核处理器的著名半导体公司有Intel,TI,Freescale, Analog Devices, Cirrus Logic和Samsung等。本课题设计采用的S3C2410处理器就是Samsung提供的一款采用32位ARM内核的处理器。S3C2410 内部集成了微处理器和一些手持设备的常用外围组件, 特别适用于手持产品。S3C2410微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用外围组件,可用于各种领域。它是应用于手持设备的低成本实现,提供了

21、更高性价比。 HHARM2410 套件由核心板和底板(外设板或称基本板)组成,核心板上集成Samsung S3C2410 处理器,64M SDRAM以及16M 的FLASH,为您的应用研发提供了足够的空间。底板上则提供以下外设接口:一个四线RS-232 串口(COM1), 一个USB HOST接口, 一个10M/100M自适应以太网接口, 一个TFT LCD接口, 一个触摸屏接口。核心板和底板配合即构成一个最小的完整应用系统。系统具有体积小、耗电低、处理能力强、等特点,能够装载和运行嵌入式Linux 操作系统。用户可以在这个系统平台上进行自主软件开发。HHARM2410 套件中提供底板硬件电路

22、图及硬件设计文档,极大的方便了用户进行硬件扩展开发。 HHARM2410套件提供完备的嵌入式Linux 开发环境及丰富的开发调试工具软件。S3C2410 微处理器的精彩特性2: ARM920T 嵌入式处理器内核,主频可达203MHz; 扩展总线最大频率100MHz; 32 位数据,27 位外部地址线 ; 完全静态设计(0-203M) ; 存储控制器(八个存储体) : n 包含 RAM(SDRAM)控制器,NAND 控制器 ; n 复位时引导芯片选择(8-,16-比特存储或NAND 可供选择) ; 四个带有PWM 的16 位定时器 多达 55 个中断源的中断控制器 ; RTC; 三个UART ,

23、Supports IrDA 1.0; 四个 DMA 通道; (支持外设 DMA) 8通道,500KSPS,10-bit ADC; 支持 STN 与 TFT LCD 控制器; 看门狗; IIS音频接口; 两个USB口; IIC-Bus接口; 两个串行外围接口电路(SPI) SD卡接口; HHARM2410开发套件硬件主要结构: Sumsung S3C2410 处理器 16Mbytes 16 位FLASH 64Mbytes 32 位SDRAM 一个四线 RS-232 接口 一个 10M/100M 自适应以太网接口 一个TFT LCD 接口, 一个触摸屏接口。 JTAG 接口 9V 直流电源 H/W

24、 复位建 运行状态指示LED 灯 1.3 嵌入式系统1.3.1嵌入式系统的概述嵌入式系统的定义如下:是一种以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。由嵌入式系统的定义可见,嵌入式系统具有以下几大特点:(1) 技术密集嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、不断创新的知识集成系统。(2) 专用性强嵌入式系统是与应用紧密结合的,具有很强的专用性。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即

25、使在同一品牌、同一系列的产品中也要根据系统硬件的变化不断进行修改。同时针对不同的任务,往往需要对系统进行较大的更改,程序的编译下载要和系统相结合。(3) 系统精简嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。因此目前嵌入式系统的开发一般是先建立一个相对通用的软硬件平台,然后在其基础上进行裁剪和精简,开发出适应各种需要的系统。一般而言,嵌入式系统的结构自底向上可分为3个部分,如图1-1所示嵌入式应用软件嵌入式操作系统嵌入式硬件平台图1-1 嵌入式系统的结构嵌入式硬件平台是整个嵌入式操作系统和应用软件运行的基础。不同的应用通常有不同的硬件平台,但是基本

26、的结构是相同的,通常包括嵌入式处理器、存储器和输入输出(工/0)接口,如图1-2所示1。嵌入式处理器存储器输入输出图1-2 嵌入式硬件平台结构1.3.2 嵌入式系统的选择现今,与嵌入式应用相结合的嵌入式操作系统有VxWorks、Linux、WinCE、COS-II等,他们各有其特点,相比较而言,嵌入式Linux更具有优势。归纳起来,嵌入式Linux至少具有以下优势3:(1)开放的源码,丰富的软件资源Linux是自由的操作系统,它的开放源码使用户获得了最大的自由度。Linux上的软件资源十分丰富,每一种通用程序在Linux上都可以找到。(2)功能强大的内核,性能高效、稳定,多任务Linux的内核

27、非常稳定,它的高效和稳定性已经在各个领域,尤其在网络服务器领域,得到了事实的验证。Linux内核小巧灵活,易于裁减,这使得它很适合嵌入式系统的应用。(3)支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已经被移植到数十种硬件平台上,几乎支持所有流行的CPU。(4)完善的网络通讯、图形、文件管理机制Linux自产生之日起就与网络密不可分,网络是Linux的强项。另外,Linux还支持多种文件和图形系统。(5)支持大量的周边硬件设备Linux上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术。(6)大小、功能都可定制Linux秉承Unix的优秀设计

28、思想,非常灵活,各部分的可定制性都很强。(7)良好的开发环境,不断发展的开发工具集Linux有着非常优秀的完整开发工具链,有十几种集成开发环境,其中很多是免费的,大大降低了开发费用。(8)软件开发者的广泛支持Linux的自由精神吸引了成千上万的程序员投入到Linux的开发和测试中来,这使得Linux在短时间内就成为一个功能强大的操作系统。(9)价格低廉有效降低产品成本,对成本敏感的嵌入式系统来说至关重要,Linux恰好具有这一特性。正是这些优势,嵌入式Linux系统的研发热潮正在蓬勃兴起,并且占据了很大的市场份额,除了一些传统的Linux公司(如RedHat、Monta Vista等)正在从事

29、嵌入式Linux的开发和应用之外,IBM、Intel、Motorolar等著名企业也开始进行嵌入式Linux的研究4。嵌入式图形用户界面(Graphics User Interface)系统是嵌入式实时操作系统的一个重要组成部分,随着嵌入式系统硬件设备可获得性的提高和价格的不断降低及嵌入式系统应用范围的不断扩大,嵌入式GUI系统的重要性越来越突出,特别是对高性能嵌入式人机图形交互界面的要求也越来越迫切,比如消费电子和工业实时控制系统567。这些系统对GUI的基本要求包括:l 轻型、占用资源少l 高性能l 高可靠性l 可配置此外,适合嵌入式Linux的GUI还要求是开放源码的自由软件8。时代的发

30、展告诉我们,图形用户界面GUI的应用加速了计算机的普及广度,嵌入式技术的发展加速了计算机的普及深度,后PC时代呼唤着两者日益紧密的结合9。所以对二者的研究有着深刻的意义。1.4 本文的意义和主要工作本文在研究嵌入式系统开发技术的基础上,提出了一套满足要求的低成本的嵌入式多媒体终端的解决方案。通过对系统的功能需求分析以及市场上主流处理器的功能和性能分析,选择了华恒公司的HHARM9-EDU-R3实验平台和Red Hat 9.0 Linux分别作为系统的硬件和软件开发平台。本文的主要工作包括三方面的内容,首先,基于ARM平台开发相应的引导加载程序、构建嵌入式Linux操作系统;第二,针对ARM处理

31、器和Linux操作系统特点进行音视频解码器的设计和研究;第三,对系统进行验证;论文的主要结构如下:第二章 系统软硬件平台的搭建。包括ARM处理器及硬件核心部件介绍、bootloader实现、交叉开发环境建立、Linux移植、minigui移植等;第三章 Mplayer到开发板的移植。Mplayer为Linux下通用的媒体播放软件,但非为嵌入式系统而设计,然而其强大的功能却是嵌入式系统所需要的。为此本章完成其到开发板的移植,来完善嵌入式系统对音视频文件的支持;第四章 嵌入式播放器Mplayer的设计,针对播放器Mplayer整体结构设计及数据处理流程到诸如分流器,音、视频解码,音、视频同步等各个

32、关键功能模块作描述。最后,对论文进行总结与展望。第二章 系统软硬件平台的搭建2.1硬件开发平台的介绍本设计使用的硬件开发平台是华恒科技的HHARM9-EDU-R3教学实验系统,此平台由核心板和外设板组成,下面分别对这两部分进行介绍10。2.1.1 核心板核心板的功能模块结构图如图2-1所示,板上集成Samsung S3C2410处理器,16M的FLASH和64MSDRAM,它能为我们的研发、应用提供足够的空间。图2-1 核心板功能模块结构图S3C2410是一款16/32-bit RISC(精简指令集)高性价比,低功耗,体积小,高性能,高集成度的微处理器,采用203MHZ的ARM920T内核。集

33、成了16KB指令缓存和16KB数据缓存,利用MMU实现对虚拟内存的管理,支持TFTLCD屏,支持NANDFLASH。正是由于S3C2410的这些特点,才使核心板的模块组成成为可能,也为Linux系统的移植提供必要的硬件资源。2.1.2外设板外设板为核心板的应用提供了其它的接口和设备,它提供以下外设接口:(1) 10M/100M自适应以太网接口一个;(2) 四线RS-232 串口(COM1)一个;(3) 四线RS232/RS485串口各一个(COM2、COM3);(4) IDE/CF卡接口;(5) SD/MMC卡接口;(6) USB HOST接口一个;(7) USB Device接口一个;(8)

34、 TFT LCD接口;(9) 触摸屏接口;(10) 音频输入输出接口,麦克风接口;(11) A/D,D/A接口;(12) PS/2接口;核心板和底板是通过一个144针的插槽相接,它们配合后即构成一个完整的应用系统。2.1.3设计所用硬件介绍首先,核心板是必不可少的部分,它是一个最小系统。其次,本设计是一个人机交互界面设计的应用,故需要一个LCD显示屏和触摸屏,通过以上的TFTLCD接口和触摸屏接口与外设板相接.最后,设计的调试需要通过在PC Linux上运行minicom与开发板通信,所以需要使用到一个串口,并且,内核文件等镜像的下载需要网络接口,故开发板上的网络接口就必不可少了。以上的设备即

35、构成本设计中必需的硬件开发平台,缺一不可。2.2硬件平台的设计方案参考华恒HHARM9-EDU-R3教学实验平台的硬件电路设计,为了减小难度,增加通用性,我们可以选用跟实验平台相似的设计,把整个硬件电路设计成两个主要部分:核心板和外设板,两者通过插槽接口相接,功能的扩展只需通过对外设板的修改来达到。2.2.1核心板设计核心板的正面俯视图如图2-2所示:根据功能模块分别介绍各个主要组成部分:(1) 存储部分构成核心板内存由图2-2中两块HY57V561620CT为16M*16位数据宽度的SDRAM构成,两片拼成32位模式,公用nGCS6片选空间,共64MRAM。通过参考s3c2410技术手册的内

36、存映像地址,如图2-3,可以知道内存的起始地址为0x3000000012。核心板还集成有一片8M*16位数据宽度的INTEL 28F128J3C FLASH,通过nGCS0作为片选,从图2-3可知,起始地址为0x00000000。根据地址的分配与片选设置,我们设计的核心板存储部分电路图如图2-4和图2-5所示,从图2-4中可以看到,FLASH使用的地址线为MA1到MA24,而使最高位A0接地,这图2-2核心板正面俯视图图2-3 s3c2410 内存映射样使得FLASH的0地址为0x01000000,以后内核等的烧写地址也是以此为准。数据地址线为MD0到MD15,正好为16位的数据宽度。从图2-

37、5可见,两片内存使用的地址线为MA2到MA25,而数据线分别为MD0-MD15和MD16-MD31,由于共用地址线和片选nGCS6,而分别使用32位数据线,所以这两片16位宽度的内存共同组成了32位宽度的内存存储空间。图2-4 FLASH电路接线图2-5内存电路接线(2) 供电部分构成核心板的供电部分由LV14A 六角施密特触发倒相器(HEX SCHMITT-TRIGGER INVERTERS)和AMS 1117800mA低门限稳压器(800mA Low Dropout Voltage Regulator)构成,具体电路如图2-6和图2-7所示:图2-6 LV14A电路图2-7 AMS1117

38、电路从图中还可以看到,核心板还有相应的电源指示灯D5LED,当核心板接收到reset信号时,指示灯灭,而正常工作状态,指示灯亮。(3) 振荡电路部分构成核心板的振荡电路由两个晶振电路组成,如图2-8。12MHz的晶振与s3c2410的XTIpll、XTOpll两个管脚相接,为内部振荡电路提供振荡源(for internal OSC circuit)。32.768KHz晶振与XTIrtc、XTOrtc两个管脚相接,作为实时时钟(Real Time Clock,RTC)振荡源11。图2-8 振荡电路图2-9 DIMM144引脚说明(4) 与外设板接口部分核心板与外设板是通过144针的插槽相接的,主

39、要把核心板电路中的16根存储数据线DM0-DM16、24根存储地址线MA0-MA23、8根外部中断引线EINT0-EINT7、两路UART数据线与控制线、通用接口GPIO、IIC、SPI以及其它的读写信号、控制线等引出供外设板调用。详细请参见图2-9。这里只使用到了144针的插槽接口,而没有使用168线的内存条接口插槽或者PCI插槽,是由于168线需要用到金手指,走线很密,而且工艺要求高,两层板布线很难实现,可能需要4层板才能完成,对于学校项目设计来说难度很大,而这样增加难度是没有必要的,因为144针的接线已经基本能够满足实际需要,通过以上的接口可以连接通常使用的器件,如本项目需要使用到的LC

40、D和触摸屏等。2.2.2外设电路设计本设计中需要使用到的外设有LCD显示屏和触摸屏,并且作为一个应用平台,外设电路不再包括有调试用的COM接口和网络接口。因为软件的调试可以先在HHARM9-EDU-R3平台上测试好后,再把核心板放到外设电路板上进行实测。(1)LCD显示屏模块接口基于电路设计的模块化,我们把LCD显示屏与外设板分开,使用40针的数据线进行联接,因为LCD屏及其外围电路通常可以整块地进行购买,这样设计也即省下了不必要的电路设计的麻烦。LCD屏我们选用HHARM9-LCD-R4模块,屏幕的大小为240x320象素, LCD屏模块接口电路如图2-10所示。图2-10 LCD屏模块接口

41、电路(2)触摸屏电路触摸屏控制器选用ADS7846,由于触摸屏与LCD显示屏是贴在一起的,所以ADS7846的采集信号输入也是通过LCD显示屏模块接口引线接出来的,如图2-10中的RIGHT、LEFT 、UPPER、DOWN引脚。通过对这四路输入信息的转换,即可把触摸屏上响应的电压信息转换成相应的坐标信息。ADS7846电路如图2-11所示。图2-11 触摸屏控制器ADS7846电路2.3 嵌入式软件开发环境本文设计的播放器是基于嵌入式Linux操作系统进行设计。嵌入式Linux是按照嵌入式操作系统的要求而设计的一种小型操作系统。相对于WinCE、pSOS、palm05等商用实时操作系统(RT

42、OS)它具有源码开放、易移植、模块化、资源丰富等优势。支持多线程、多进程;支持多种平台,如x86、PowerPC、ARM、MIPS等等。如图2-11所示,它是由一个内核和一些可以定制系统模块组成,如文件模块,网络模块,各种驱动模块等。针对本应用,对其进行了裁剪和配置,只包含了系统所需的模块支持ext2jffs2等文件系统;内存驱动模块提供内存管理功能;网络接口模块支持以太网接口;GPIO驱动模块主要是提供给键盘和触摸屏使用;图形驱动模块是图形用户界面(GUI)和图像显示的底层支撑模块;音频设备输出驱动模块支持音频数据的数模转换。应用程序文件系统驱动模块内存驱动模块网络驱动模块GPIO驱动模块图

43、形驱动模块音频输出驱动模块嵌入式Linux内核硬件平台图2-12 嵌入式Linux体系结构2.3.1 引导装载程序BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。最终,bootloader把操作系统内核映像加载到RAM中,并将系统控制权传递给它。Bootloader程序与硬件平台有很强相关性,不同开发板需要不同的bootloader。与Linux一样,网上有很多开放源代码的bootloader,在为自己的开发板写bootloader

44、程序时,可以先找到与硬件平台相类似的bootloader,然后只要做一些改动就可以在开发板上运行了。Bootloader的功能相当于一个通信控制器,有了它之后,才可以通过串口或网口完成内核的加载和应用程序的烧写。当然,利用JTAG技术也可以完成上述任务,但是,JTAG烧写速度很慢12。本系统采用的是ppcboot,ppcboot在嵌入式系统中相当于PC机的BI0S加上操作系统引导头部的内容,并且引导操作系统进行装载和运行,ppcboot启动后有一系列的命令,使得我们能够方便地对FLASH、RAM进行操作,同时ppcboot己经对系统的频率、定时器进行了设置,初始化了一个调试串口,这样可以通过串

45、口或以太网进行数据的下载。PPCBoot的主要特点如下表所示13:功能描述系统加载支持NFS、以太网挂载操作系统和根文件系统内存操作支持内存查看、修改和比较设备驱动支持串口、FLASH、外部SDRAM、EEP、ROM、LCD、USB、PCI等驱动上电自检自动检测FLASH、SDRAM选型及使用情况,CPU类型交互命令通过设定和访问环境变量灵活配置系统各项参数,灵活升级其他特点支持在线读写Flash,支持SCC/FCC以太网、TFTP引导、IP和MAC的预置功能表2-1 PPCBoot的主要特点2.3.2 宿主机开发环境配置(1)安装Linux系统宿主开发环境,我们选用在windows下安装VM

46、ware WorkStation虚拟机+RedHat Linux 9.0的组合来组建2。在虚拟机中安装Linux系统,我们选择自定义安装(Custom),安装过程中先不用指定PC机上网卡的IP地址,在配置防火墙(Firewall)时,选择不安装防火墙(No Firewall),在选择软件Package时选择完全安装,即最后一项:Everything,这一项非常重要,这样安装会装上一些无用的东西而浪费一点磁盘空间,但是却可以避免以后使用中找不到某个程序的烦恼。(2)NFS和TFTP服务器的配置这里设置开发环境的网络环境,首先设置PC机的IP地址为192.168.2.111,因为HHARM9开发平台在烧写时默认的IP为192.168.2.222,所以建议PC机也在此网段(192.168.2.X),故我们选择了此IP地址。然后配置NFS服务器,它是用于网络文档的共享之用的,可以把网络上的某个服务器的内容mount到本PC上,达到在本机访问网络服务器的目的。最后配置TFTP服务器,它是用于在网络中传送大型文件时用的,通过它可以方便进行文件的传输。以上的详细配置可以参见参考文献2中“NFS和TFTP服务器的配置”一节。开发板上程序的调试

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服