关键词不能为空

当前您在: 主页 > 英语 >

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

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-11 09:23
tags:

-

2021年2月11日发(作者:kathy)


基于嵌入式


ARM- Linux


的播放器的设计与实现




摘要




随着


21


世纪的到来,人类进入了


PC


时代。在这一阶段,嵌入式技术得到


了飞速发展和广泛应用。由此, 本文提出了一种基于嵌入式


ARM-Linux


的播放


器设计与实现的方案。



本文首先详细分析了< /p>


ARM


体系结构,研究了嵌入式


Linu x


操作系统在


ARM9


微处理器的移植 技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌


入式


Linux


内核及建立根文件系统,并且实现了嵌入式


Lin ux



S3C2410


开发

< p>
板的移植。



由于嵌入式系统本身硬件条件的限制 ,常用在


PC


机的图形用户界面


GUI



统不适合在其上运行。为此,本文选择了

Minigui


作为研究对象,在对其体系


结构等方面进行 研究基础上,实现了


Minigui



S3C2410


开发板的移植,完成


了嵌入式图形用户界面开发 ,使得系统拥有良好的操作界面。



对于播放器,本文实现了< /p>


Linux


系统下的通用媒体播放器—


M player



S3C2410


开发板 的移植。通过对音频数据输出的研究,解决了


Mp1ayer


播 放声


音不正常的问题,实现了一个集音乐和视频播放于一体的嵌入式多媒体播放系


统。



最后,总结了论文所做的工作,指出了 嵌入式播放器所需要进一步解决和


完善的问题。




关键词:嵌入式


ARM- Linux



S3C2410



Mplayer



GUI


界面;


Minigui











I


Player Designing and Implement Based On Embedded ARM-Linux



Abstract




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 characteristic 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

< p>
Bootloader



transplanti ng embedded Linux kernel and setting root file


system; Furthermore,


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 research 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


universal


player on Linux



Mplayer 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








II


目录



摘要



.


.. .................................................. ...........


I



Abstract


.


....... .................................................. .


I


I


目录



.


.. .................................................. .........


I


II


第一章



绪论



.


.. .................................................. ...


1



1.1


系统研究背景



.


.................................. ..............


1



1.1.1


多媒体播放器与嵌入式系统



.


..............................


1



1.1.2


嵌入式多媒体播放器国内外发展现状



.


......................


1



1.2


嵌入式处理器



.......... ......................................


3



1.3


嵌入式系统



........... .......................................


4



1.3.1


嵌入式系统的概述



.......................................


4



1.3.2


嵌入式系统的选择



.


......................................


5



1.4


本文的意义和主要工作



...... ..................................


7



第二章



系统软硬件平台的搭建



.

< p>
........................................


8



2.1


硬件开发平台的介绍



....... ..................................


8



2.1.1


核心板



.


. ...............................................


8



2.1.2


外设板



.


. ..............................................


8



2.1.3


设计所用硬件介绍



.


.....................................


9



2.2


硬件平台的设计方案



....... ..................................


9



2.2.1


核心板设计



.


...........................................


9



2.2.2


外设电路设计



.

........................................


1


4


2.3


嵌入式软件开发环境



....... ..................................


1


5


2.3.1


引导装载程序



.

.........................................


1


6


2.3.2


宿主机开发环境配置



.


...................................


1


7


2.3.3


交叉开发环境的建立



.


...................................


1


8


2.3.4


内核的编译



.


...........................................


1


8


2.3.5


烧制内核映像和文件系统



.


...............................


2


0


2.4


嵌入式图形用户界面的实现



...................................


2


0


2.4.1

< br>图形用户界面


minigui


的简介


.


...........................


2


0


2.4.2 MiniGUI< /p>



S3C2410


开发板上的移植过程< /p>



..................


2


1


第三章


Mplayer


的移植



...... ........................................


2


4


3.1 Mplayer


的简介



.

< p>
............................................ .


2


4


3.2 Mplayer


的移植



.

< p>
............................................ .


2


4


3.2.1


安装交叉编译工具及解压源代码



.


.........................


2


4


3.2.2


编译


Mplayer


....... ...................................


2


4


3.3


调试



.............. .........................................


2


6


第四章



嵌入式播放器


Mplayer


的设计< /p>



.


................ .................


3


0


4.1


播放器的工作流程



...........................................


3


0


4.2


播放器的逻辑结构



........ ...................................


3


0


4.3 Mplayer


播放器的目录文件组织结构



.


...........................


3


1


4.4


播放器对解码器和输出设备的管理方式



.........................


3


3


第五章



总结与展望



.


.................................................


3


5


5.1


本文主要完成的工作及结论



...................................


3


5


5.2


完善与展望



........... ......................................


3


5



III


致谢



.


..................................... .........................


3


6


参考文献:



.


................................................. .......


3


7












IV


第一章



绪论



1.1


系统研究背景




从上世纪末开始,随着计算机和电子技术的发展走上快车道, 便携式电子设备,诸如


智能手机,个人电子助理


(PDA)


的运算存储能力和通信能力都得到了长足的进步,便携式


设备的用户 界面也变的越来越友好,从早期的只能显示单色文字的


LED


, 发展到现在大尺



6


万色彩色液晶屏幕 。因此,用户已经不再仅仅满足于早期的便携式电子设备提供的传


统的,简单的语音通信 或文档处理功能。随着多媒体技术发展,用户希望能够在轻巧的便


携式设备上同样能够享 受到过去只能在笨重的台式机或笔记本电脑上才能享受到语音甚


至视频等多媒体服务。< /p>



1.1.1


多媒体播放器与嵌入式系统



随着芯片 技术的快速发展,嵌入式系统的性能逐步提高,功能也越来越丰富。嵌入式


系统在众多领 域的应用给我们的生活带来了便利,并且对人们的生活方式的改变和生活质


量的提高具有 重要的影响。在这些领域中,消费电子产品的应用具有更为广泛的潜力,尤


其是便携式消 费电子产品。当前,消费类电子产品更新换代的速度进一步加快,市场需求


不断增大。在


MP3


数码随身听取得巨大的市场成功后,支持视频的便携式播 放器逐渐进入


消费者的视线,成为继


MP3

之后的新一代数码影音娱乐平台。受


MP3


的影响,人们习 惯的


将这一类嵌入式多媒体系统称作


MP4



在法国


Archos


公司推出第一款


MP4


掌上影院后,

< p>
众多企业均看好


MP4


的发展态势。



一代


MP4


良好的发展前 景和潜在的市场,成为移动数码产业的新亮点,吸引着众多厂商大


力研发,并将其推向市 场。



除播放视频这一基本功能外,


嵌 入式多媒体系统还附带了若干增值功能,


如音乐播放、


图片浏览 、游戏、调频收音、录音、电子书以及拍照、录像功能。



1.1.2


嵌入式多媒体播放器国内外发展现状



目前嵌入式多媒体的内部结构,比较成熟的解决方案有三种


:


基 于


SigmaDesigns851x


系列芯片的解决方案、基于


TlDM32ODSP+ARM


处理器的解决方案和基于工


n telPXA27x



解决方案,这三种解决方案是目前的主流 方案。上述几种方案各有特点:




1



SigmaDesigns 851x


方案



SigmaDesignS85 1x


处理器是目前性能最强、最全面的专业解码芯片,采用双核设计,

< br>将


200MHz 32



RIS C


处理器和


MPEG


解码处理器集成于 单芯片上,在无需其它外围芯片支


持的情况下,完成系统所需各种接口的提供、系统处理 以及流畅的


WMA V9



DivXV3.11




DivXV4 .X



S.X



MPEG-4



MPEG-2



MPEG-1


等音视频解码。


其中对系统要 求极高的


MPEG-2


解码,


Sig maDesigns851x


能轻松达到


3OfpsDI


,流畅自如,难能可贵


!


优点


:


单芯片,低成本,低功耗


;


硬核视频解码,视频播放效果好



缺点


:


无法播放网络视频格式


RM



RMVB





2



TI DM320 DSP-I-ARM


处理器的解决方案



作为


DSP


巨头,


TI


力推


DM320 DSP


< p>
PMP


解决方案。


TI


方 案是利用


DM320


DSP


进行音



1


视频编解码处理,


ARM


处理器负责系统处理及提供外围设备接口。



S igmaDesigns


方案一


样,


T I


方案支持的媒体类型非常丰富,


能支持


WMV



DivXV3.11



DivXV4.X


5.X



MPEG-4



MPEG-2



MP EG-1


等。但由于


TlDM320


为纯


DSP


芯片,因此必须配合


ARM


处理器才能组成


完整的解决方案,因此在成本上并不具备优势。



优点


:


支持 的媒体类型丰富,编解码能力强



缺点


:


必须配合


ARM


处理器,成本不占优 势,功耗较大


;


不支持网络视频格式


R M



RMVB


3



Intel PXA27x


的解决方案



Intel


公司于


2003


年底推出了性能最为强劲的


PXA27x


嵌入式处理器,最高频率可达


62 4MHz


。作为一款性能及其强劲的嵌入式处理器,配合嵌入式


Linux



wince


操作系统,< /p>


PXA27x


理论上可以支持任何媒体格式,

并通过软件升级,


支持未来媒体格式。


但由于


MPEG-2


对硬件的极高要求,因此单纯依靠


PX A27x


处理器进行


MPEG-2


编解 码是不现实的。


Intel


公司于


20 04


年推出了


2700G


多媒体加速芯 片,配合


PXA270


进行视频加速与


3D


加速。同


时,


PXA27x


加入了


wireless MMX


技术和


SpeedStep


动态电源管理技术,不但大大增强了

< p>
PXA270


的媒体处理能力,而且极大降低了系统功耗,延长

< p>
PMP


产品的电池寿命。


2700G

< p>
的加入,更使


PXA27x


方案成为全能解决方案 ,不但完美解决了


MPEG-2


编解码问题,更使


基于


PXA27x



PMP


产品能向多功能化发展,可以加入游戏、摄像等功能,成为个人娱乐

终端。



优点


:

< br>支持目前所有的媒体类型,可通过软件升级支持未来媒体类型


;

< br>接口丰富,可支



SD



MS



CF



;


支持最大


400


万 象素摄像头


;


支持动态电源管理,功耗低



缺点


:


成本可能较高



目前市面上还有其它几种非主流方案,如


PxA2 55


解决方案、


Sunplus SPCA536


解决方


案、


21


解决方案等。基于


PXA255


的方案特点 是功耗较低,且能够支持较


多的媒体格式,但缺点是无法支持大尺寸图像的编解码,如< /p>


MPEG-2


等。


Sunplus < /p>


SPCA536


解决方案价格低廉,但仅支持

MPEG-4


编解码与


JPEG


, 支持媒体类型单纯,功能单



21


芯片原为智能手机专门设计,接口类型比较丰富,但音视频处理能


力一般,无法进行流畅 的


MPEG-4


播放,无法处理


MPE G-2


视频。



由于

< br>PMP(


便携式多媒体播放器


)


产品的研发难度较大,


目前市面上的大多数


PMP


产品均


为国外或台湾设计。中国大陆消费类娱乐产品的生产商因研发能力普遍 较低而无法自己研


发产品,因此未来中国大陆


PMP

< p>
设计制造将更多的按照生产商


+Design House

< p>
的模式进


行,这样生产商可以充分发挥自己的渠道和规模优势,而


Design House


则发挥自己的强


设 计能力和低营运成本优势,双方合作则能够共同把


PMP


市场做 大、做强。



国内目前也有进行


PMP


方案设计的公司,如南京东集公司


()

,采用的



Intel


嵌入式处理 器


PXA255


方案。


采用

< p>
SigmaDesignS


解决方案的公司主要集中在深圳,


如深圳市深视通科技开发有限公司


()


,该公司目前 己经设计出了基于



SiglnaDesigns85n


处理器的成熟的


PMP


解决方案,并制作了< /p>


DEMO


。而


TIDM320


方案,目


前主要依靠


TI


合作伙伴美国


Ingenient


公司推广

< br>[1]





2


1.2


嵌入式处理器



嵌入式处理器是嵌入式 硬件平台的核心,负责系统事件的响应、任务的调度、外围器


件的控制以及信号的处理。 嵌入式处理器是由通用计算机中的


CPU


演变而来的。它的特征



32


位以上,具有较高的性能。与通 用计算机中的


CPU


不同的是,嵌入式处理器在实际

< p>
嵌入式应用中只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样

< p>
就以最低的功耗和资源实现嵌入式应用的特殊要求。嵌入式处理器体积小、功耗低、成本

< p>
低、可靠性高的优点使其在互联网、通信、消费类电子等多个领域得到了广泛的应用。目

< p>
前主要的嵌入式处理器按体系结构不同可分为五大类


:ARM



MIPS



POWERP C



x86



SH



列。



ARM


内核是由


ARM


公司开发的一系 列


32



RISC

处理器内核,当前有


6


个系列的产



:ARM7



ARM9



ARM9E



ARM10 E



SecurCore


以及最新的< /p>


ARM11


系列。目前业界可以提供


AR M


内核处理器的著名半导体公司有


Intel

< br>,


TI



Freescale< /p>



Analog Devices



Cirrus


L ogic



Samsung


等。本课题 设计采用的


S3C2410


处理器就是


Samsung


提供的一款采用


32



ARM


内核的处理器。



S3C2410


内部集成了微处理器和一些手持设备的常用外围组件,



特别适用于手持产


品。


S3C2410


微处理器是一个多用途的通用芯片,


它内部集成了微处理器和常用外围 组件,


可用于各种领域。它是应用于手持设备的低成本实现,提供了更高性价比。



HHARM2410


套件由核心板和底 板(外设板或称基本板)组成,核心板上集成


Samsung


S3C2410


处理器,


64M SDRAM


以及


16M


< p>
FLASH


,为您的应用研发提供了足够的空间。底


板上则提供以下外设接口:一个四线


RS-232


串口< /p>


(COM1)




一个


USB HOST


接口,



一个


10M/100M


自适应以太网接口,



一个


TFT LCD


接口


,


一个触摸屏接口。核心 板和底板配合


即构成一个最小的完整应用系统。系统具有体积小、耗电低、处理能力强、 等特点,能够


装载和运行嵌入式


Linux

< br>操作系统。用户可以在这个系统平台上进行自主软件开发。


HHARM2410


套件中提供底板硬件电路图及硬件设计文档,极大的方便了用户进行硬件扩展

< p>
开发。



HHARM2410

< br>套件提供完备的嵌入式


Linux


开发环境及丰富的开发调试工具软件。



S3C2410


微处理器的精彩特性


[2]




?



ARM920T


嵌入式处理器内核,主频可达


203MHz




?



扩展总线最大 频率


100MHz




?



32


位数据


,27


位外部地址线





?



完全静态设计


(0-203M)




?



存储控制器


(


八个存储体


)




?



包含


RAM(SDRAM)


控制器


,NAND


控制器





?



复位时引导芯片选择


(8-



16-


比特存储或


NAND


可供选择


)




?



四个带有


PWM



16


位定时器



?



多达


55


个中断源的中断控制器






3


?



RTC




?



三个


UART



Supports IrDA 1.0




?



四个


DMA


通道;



(支持外设


DMA




?



8


通道,


500KSPS



10-bit ADC




?



支持


STN


?



看门狗;



?



IIS


音频接口;



?



两个


US B


口;



?



IIC-Bus


接口;



?



两个串行外围接口电路(


SPI




?



SD


卡接口;




?



HH ARM2410


开发套件硬件主要结构:



?



Sumsung S3C2410


处理器



?



16Mbytes 16



FLASH


?



64Mbytes 32



SDRAM


?



一个四线


RS-232


接口



?



一个


10M/100M


自适应以太网接口



?



一个


TFT LCD


接口


,


?



一个触摸屏接口。



?



JTAG


接口



?



9V


直流电源



?



H/W


复位建



?



运行状态指示


LED




1.3


嵌入式系统



1.3.1


嵌入式系统的概述



嵌入式系统的定义如下


:


是一种以应用为中心 、


以计算机技术为基础,


软件硬件可裁剪,

适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。由嵌入式

系统的定义可见,嵌入式系统具有以下几大特点


:


(1)


技术密集



嵌入式系统是将先进的计算 机技术、半导体技术和电子技术以及各个行业的具体应用


相结合后的产物。这一点就决定 了它必然是一个技术密集、不断创新的知识集成系统。



(2)


专用性强



嵌入式系统是与应用紧密结 合的,具有很强的专用性。嵌入式系统的个性化很强,其


中的软件系统和硬件的结合非常 紧密,


一般要针对硬件进行系统的移植,


即使在同一品牌、



4



?




TFT LCD


控制器;



同一系 列的产品中也要根据系统硬件的变化不断进行修改。同时针对不同的任务,往往需


要对系 统进行较大的更改,程序的编译下载要和系统相结合。



(3)


系统精简



嵌入式系统必须根据应用需 求可对软硬件进行裁剪,满足应用系统的功能、可靠性、


成本、


体积等要求。


因此目前嵌入式系统的开发一般是先建立一个相对通用的软硬件平台,


然后在其基础上进行裁剪和精简,开发出适应各种需要的系统。一般而言,嵌入式系统的


结构自底向上可分为


3


个部分,如图


1-1


所示



嵌入式应用软件



嵌入式操作系统



嵌入式硬件平台





1-1


嵌入式系统的结构




嵌入式硬件平台是整个嵌入式操作系统和应用软件运行的基础。不同的应用通常有不

同的硬件平台,


但是基本的结构是相同的,


通常包括嵌入式 处理器、


存储器和输入输出


(



/0)


接口,如图


1-2

所示


[1]




输入




嵌入式处理器



输出



存储器





1-2


嵌入式硬件平台结构




1.3.2


嵌入式系统的选择




现今,


与嵌入式应用相结合的嵌入式 操作系统有


VxWorks



Linu x



WinCE


?


COS-II


等,他们各有其特点,相比较而言,嵌入式


Linux


更具有优势。归纳起来,嵌入式

Linux


至少具有以下优势


[3]





5




(1)


开放的源码,丰富的软件资源





Linux


是自由的操作系统,它的开放源码使用户获得了最大的自由度。


Linux

< p>
上的软


件资源十分丰富,每一种通用程序在


Lin ux


上都可以找到。





(2)


功能强大的内核,性能高效、 稳定,多任务




< br>Linux


的内核非常稳定,


它的高效和稳定性已经在各 个领域,


尤其在网络服务器领域,


得到了事实的验证。


Linux


内核小巧灵活,易于裁减,这使得它很适合嵌入式系统的应用 。





(3 )


支持多种体系结构,如


X86



ARM



MIPS



ALPHA



SPARC

< p>





目前,


Linux


已经被移植到数十种硬件平台上,几 乎支持所有流行的


CPU






(4)


完 善的网络通讯、图形、文件管理机制





Linux


自产生之日起就与网络密 不可分,网络是


Linux


的强项。另外,

Linux


还支持


多种文件和图形系统。

< br>




(5)


支持大量的周边硬件设备





Linux


上的驱动已经非常丰富了,它们支持各种主流硬件设备和最新硬件技术。





(6)


大小、功能都可定制





Linux


秉承


Unix


的优秀设计思想,非常灵活,各部分的可定制性 都很强。





(7)


良好的开发环境,不断发展的开发工具集





Linux


有着非常优秀的完整开发工具链,


有十几种集成开发环境,


其 中很多是免费的,


大大降低了开发费用。





(8)


软件开发者的广泛支持





Linux


的自由精神吸引了成千上万的程序员投入到


Linux


的开发 和测试中来,这使得


Linux


在短时间内就成为一个功能强大 的操作系统。





(9)


价格低廉





有效降低产品成本,对成本敏感的 嵌入式系统来说至关重要,


Linux


恰好具有这一特


性。



正是这些优势,嵌入式

< br>Linux


系统的研发热潮正在蓬勃兴起,并且占据了很大的市场


份额,除了一些传统的


Linux


公司


(



RedHat



Monta Vista


等)正在从事嵌入式


L inux


的开发和应用之外,


IBM



Intel



Motorolar


等著名企业也开始进行嵌入式


Linux


的 研究


[4]




嵌入式图形用户界面


(Graphics


User


Interface)


系统 是嵌入式实时操作系统的一个重


要组成部分,随着嵌入式系统硬件设备可获得性的提高和 价格的不断降低及嵌入式系统应


用范围的不断扩大,嵌入式


GU I


系统的重要性越来越突出


,


特别是对 高性能嵌入式人机图


形交互界面的要求也越来越迫切,比如消费电子和工业实时控制系统


[5][6][7]


。这些系统对


GU I


的基本要求包括:



?



轻型、占用资源少



?



高性能



?



高可靠性




6


?



可配置



此外,适合嵌入式

< p>
Linux



GUI


还要 求是开放源码的自由软件


[8]



< /p>


时代的发展告诉我们,


图形用户界面


GU I


的应用加速了计算机的普及广度


,


嵌 入式技术


的发展加速了计算机的普及深度


,


PC


时代呼唤着两者日益紧密的结合

[9]


。所以对二者的


研究有着深刻的意义。



1.4


本文的意义和主要工作



< p>
本文在研究嵌入式系统开发技术的基础上,提出了一套满足要求的低成本的嵌入式多


媒体终端的解决方案。通过对系统的功能需求分析以及市场上主流处理器的功能和性能分


析,选择了华恒公司的


HHARM9-EDU-R3


实 验平台和


Red Hat 9.0 Linux


分别作为系统 的


硬件和软件开发平台。




本文的主要工作包括三方面的内容,首先,基于


ARM

< br>平台开发相应的引导



加载程序、构建嵌入式

< p>
Linux


操作系统;第二,针对


ARM


处理器和


Linux


操作



系统特点进行音视频解码器的设计和研究


;


第三,对系统进行验证;论文的主要结构如下


:




第二章



系 统软硬件平台的搭建。包括


ARM


处理器及硬件核心部件介绍、


bootloader


第三章


Mpl ayer


到开发板的移植。


Mplayer


Linux


下通用的媒体播放软件,但非为


实现、交叉开发环境建立、


Linux


移植、


minigui


移植等;


< br>嵌入式系统而设计,然而其强大的功能却是嵌入式系统所需要的。为此本章完成其到开发

< br>板的移植,来完善嵌入式系统对音视频文件的支持;





第四章



嵌 入式播放器


Mplayer


的设计,


针 对播放器


Mplayer


整体结构设计及数据处理


最后,对论文进行总结与展望。



流程到诸如分流器 ,音、视频解码,音、视频同步等各个关键功能模块作描述。




7


第二章



系统软硬件平台的搭建



2.1


硬件开发平台的介绍



本设计使用的硬 件开发平台是华恒科技的


HHARM9-EDU-R3


教学实验 系统,此平台由核


心板和外设板组成,下面分别对这两部分进行介绍

[10]




2.1.1


核心板



核心板的功能模块结构图如图


2-1


所示,板上集成


Samsung S3C2410


处理器,


16M



FLASH



64M

SDRAM


,它能为我们的研发、应用提供足够的空间。





2-1


核心板功能模块结构图





S3C2410


是一款


16/32-bit RISC(


精简指令集


)


高性价比,低功耗,体积小,高性能,


高集成度的微处理器,采用< /p>


203MHZ



ARM920T


内核。集成了


16KB


指令缓存和


16KB


数据


缓存,利用


M MU


实现对虚拟内存的管理,支持


TFT


LCD


屏,支持


NAND

< p>
FLASH


。正是由于


S3C2410

< p>
的这些特点,才使核心板的模块组成成为可能,也为


Linux

< p>
系统的移植提供必要


的硬件资源。



2.1.2


外设板





外设板为核心板的应用提供了其它 的接口和设备,它提供以下外设接口:



(1) 10M/100M


自适应以太网接口一个;



(2)


四线


RS-232


串口


(COM1)


一个;



(3)


四线


RS232/RS4 85


串口各一个


(COM2



COM3)




(4) IDE/CF


卡接口;



(5) SD/MMC


卡接口;



(6) USB HOST


接口一个;




8


(7) USB Device


接口一个;



(8) TFT LCD


接口;



(9)


触摸屏接口;



(10)


音频输入输出接口,麦克风接口;



(11) A/D



D/A

< p>
接口;



(12) PS/2


接口;



核心板和底板是通过 一个


144


针的插槽相接,


它们配合后 即构成一个完整的应用系统。



2.1.3


设计所用硬件介绍





首先,核心板是必不可少的部分,它是一个最小系统。



其次,本设计是一个人机交互界面设计的应用,故需要一个


LCD


显示屏和触摸屏,通


过以上的


TFT


LCD


接口和触摸屏接口与外设板相接


.


最后,设计的调试需要通过在


PC Linux


上运行


minicom


与开发板通信,所以需要使


用到一个串口,并且,内核文件等镜像的下载需要网络接口,故开发板上的网络接口就必


不可少了。



以上的设备即构成本设计中必需的硬件开发平台,缺一不可。



2.2


硬件平台的设计方案



参考华恒


HHARM9-EDU-R3


教学实 验平台的硬件电路设计,


为了减小难度,


增加通用性,


我们可以选用跟实验平台相似的设计,把整个硬件电路设计成两个主要部分:核心板和外


设板,两者通过插槽接口相接,功能的扩展只需通过对外设板的修改来达到。


2.2.1


核心板设计



核心板的正面俯视图如图


2-2


所示:



根据功能模块分别介绍各个主要组成部分:



(1)


存储部分构成



核心板内存由图


2-2


中两块


HY57V561620CT



16M*16


位数据宽度的


SDRAM


构成,


两片


拼成


32


位模式,公用


nGCS6


片选空间,共


64M


RAM


。通过参考


s3c2410

< br>技术手册的内存


映像地址,如图


2-3,


可以知道内存的起始地址为


0x30000000


[1 2]




核心板还集成有一片


8M*16


位数据宽度的


INTEL 28F128J3C FLASH


,通过


nGCS0

< p>
作为


片选,从图


2-3


可 知,起始地址为


0x00000000




根据地址的分配与片选设置,我们设计的核心板存储部分电路图如图


2-4


和图


2-5



示,从图


2-4


中可以看到,

< br>FLASH


使用的地址线为


MA1



MA24


,而使最高位


A0


接地,这




9




2-2


核 心板正面俯视图





2-3 s3c2410


内存映射



样使得

FLASH



0


地址为

< p>
0x01000000,


以后内核等的烧写地址也是以此为准。数据地址线



MD0



M D15


,正好为


16


位的数据宽度。< /p>



从图


2-5


可 见,两片内存使用的地址线为


MA2



MA25


,而数据线分别为


MD0-MD15

< br>和


MD16-MD31


,由于共用地址线和片选


nGCS6


,而分别使用


32

< br>位数据线,所以这两片


16


位宽


度的内存共同组成了


32


位宽度的内存存储空间。




10




2-4 FLASH


电路接线





2-5


内存电路接线




11


(2)


供电部分构成



核心板的供电部分由


LV14A


六角施密特触发倒相器


(HEX


SCHMITT-TRIGGER


INVERTERS)



AMS 1117


800mA


低门限稳压器


(800mA Low Dropout Voltage Regulator)


构成,具体


电路如图


2-6


和图


2 -7


所示:





2-6 LV14A


电路





2-7 AMS


1117


电路



从图中还可以看到,核心板还有相应的电源指示灯


D5


LED


,当核心板接收到


reset


信号时,指示灯灭,而正常工作状态,指示灯亮。



(3)


振荡电路部分构成



核心板的振荡电路由两个晶振电路组成,如图


2-8



12MHz


的晶振与


s3c2410



XTIpll



XTOpll


两个管脚相接,为内部振荡电路提供振 荡



(for internal OSC circuit)



32.768KHz


晶振与


XTIrtc



XTOrtc

< br>两个管脚相接,作为


实时时钟


(Real Time C lock,RTC)


振荡源


[11]






12




2-8


振荡电路





2-9 DIMM


144


引脚说明




13


(4)


与外设板接口部分



核心板与外设板是 通过


144


针的插槽相接的,


主要把核 心板电路中的


16


根存储数据线


DM0 -DM16



24


根存储地址线


MA0-MA23



8


根外部中断引线


EINT0-EINT7


、两路


UART


数据


线与控制线、通用接口


GPIO



IIC



SPI


以及其它的读写信号、控制线等引出供外设板调

< br>用。详细请参见图


2-9



< /p>


这里只使用到了


144


针的插槽接口,而 没有使用


168


线的内存条接口插槽或者


PCI



槽,是由于


168


线需要用到金手指,走线很密,而且工艺要求高,两层板布线很难实现,


可能需要


4


层板才能完成,对于学校项目设计来说难度很大,而 这样增加难度是没有必要


的,因为


144


针的接线已经基本能够满足实际需要,通过以上的接口可以连接通常使用的


器件,如本 项目需要使用到的


LCD


和触摸屏等。



2.2.2


外设电路设计



本设计中需要使用到的外设有


LCD


显示屏和触 摸屏,并且作为一个应用平台,外设电


路不再包括有调试用的


C OM


接口和网络接口。因为软件的调试可以先在


HHARM9- EDU-R3



台上测试好后,再把核心板放到外设电路板上进 行实测。



(1)LCD


显示屏模块接口



基于电路设计的模块化,


我们把


LCD


显示屏与外设板分开,


使用


40


针的数据线进行联


接,因为


LCD

< br>屏及其外围电路通常可以整块地进行购买,这样设计也即省下了不必要的电


路设计 的麻烦。


LCD


屏我们选用


HHARM 9-LCD-R4


模块,屏幕的大小为


240x320


象素,


LCD


屏模块接口电路如图

< p>
2-10


所示。





2-10 LCD


屏模块接口电路






14


(2)


触摸屏电路


< br>触摸屏控制器选用


ADS7846


,由于触摸屏与


LCD


显示屏是贴在一起的,所以


ADS78 46


的采集信号输入也是通过


LCD


显 示屏模块接口引线接出来的,


如图


2-10

中的


RIGHT



LEFT



UPPER



D OWN


引脚。通过对这四路输入信息的转换,即可把触摸屏上响应的电压信息转换


成相应的坐标信息。


ADS7846


电路如图


2-11


所示。





2-11


触摸屏控制器


ADS7846


电路




2.3


嵌入式软件开发环境




本文设计的播放器是基于嵌入式


Linux


操作系统 进行设计。嵌入式


Linux


是按照嵌入


式操作系统的要求而设计的一种小型操作系统。相对于


WinCE


pSOS



palm05


等商用实时


操作系统


(RTOS)

< p>
它具有源码开放、易移植、模块化、资源丰富等优势。支持多线程、多进


程 ;支持多种平台,如


x86



Powe rPC



ARM


MIPS


等等。如图


2-11


所示 ,它是由一个内


核和一些可以定制系统模块组成,


如文件模块,


网络模块,


各种驱动模块等。


针对本应 用,


对其进行了裁剪和配置,只包含了系统所需的模块支持


ex t2jffs2


等文件系统;内存驱


动模块提供内存管理功能;


网络接口模块支持以太网接口;


GPIO


驱动模块主要是提供给键


盘和触摸屏使用;图形驱动模块是图形用户界面(

< p>
GUI


)和图像显示的底层支撑模块;音


频设备输 出驱动模块支持音频数据的数模转换。




15


应用程序








模块



嵌 入式


Linux


内核



硬件平台





2-12


嵌入式

< br>Linux


体系结构



2.3.1


引导装载程序




BootLoader


就是在操作系 统内核运行之前运行的一段小程序。通过这段小程序,我们


可以初始化硬件设备、建立内 存空间的映射图,从而将系统的软硬件环境带到一个合适的


状态,以便为最终调用操作系 统内核准备好正确的环境。最终,


bootloader


把操作 系统内


核映像加载到


RAM


中,并将系 统控制权传递给它。




Bootlo ader


程序与硬件平台有很强相关性,不同开发板需要不同的


bootloader


。与


Linux


一样,网上有很多开放源代码的


bootloader


,在为自 己的开发板写


bootloader



序时,


可以先找到与硬件平台相类似的


bootloader< /p>



然后只要做一些改动就可以在开发板


上 运行了。




Bootloader< /p>


的功能相当于一个通信控制器,有了它之后,才可以通过串口或网口完成

< br>内核的加载和应用程序的烧写。当然,利用


JTAG


技术 也可以完成上述任务,但是,


JTAG


烧写速度很慢

< p>
[12]




本系统采用 的是


ppcboot



ppcboot


在嵌入式系统中相当于


PC


机的


BI0S


加上操作系统


引导头部的内容,并且 引导操作系统进行装载和运行,


ppcboot


启动后有一系列 的命令,


使得我们能够方便地对


FLASH


RAM


进行操作,同时


ppcb oot


己经对系统的频率、定时器


进行了设置,初始化了一个调 试串口,这样可以通过串口或以太网进行数据的下载。


PPCBoot

< br>的主要特点如下表所示


[13]










16






模块< /p>







模块



GPIO< /p>




模块







模块




< p>





模块


-


-


-


-


-


-


-


-



本文更新与2021-02-11 09:23,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/635452.html

基于嵌入式ARM-Linux的播放器的设计与实现的相关文章