DIY编程器网

标题: 基于MAP的嵌入式MP3播放器设计与实现 [打印本页]

作者: liyf    时间: 2012-1-22 00:17
标题: 基于MAP的嵌入式MP3播放器设计与实现
摘要: 多媒体应用处理器简称MAP,是一种适用于便携式数字音视频设备的新型嵌入式应用处理器。文中介绍了MAP的主要性能特点,给出了基于MAP芯片ATJ2135的嵌入式MP3播放器的硬件设计、MP3解码流程、实时操作系统设计、系统软硬件调试过程等嵌入式系统设计与实现。
关键字:   多媒体应用处理器   嵌入式MP3     全软件模式
1 引  言  
采用 MPEG 标准Layer3算法进行压缩处理后的文件统称为MP3文件,能够对MP3文件进行解码并还原声音的系统都可以被称为MP3播放器。作为消费类电子产品的代表,MP3不断增长的消费要求也促使生产厂家采用更先进的技术来提高自己产品的竞争力。针对MP3 、MP4以及智能手机上的数字音视频应用,SOC芯片厂商如国外的SIGMATEL、国内的珠海炬力集成电路公司均推出了基于MAP的解决方案。
MAP,即Multimedia application processors,是多媒体应用处理器的简称。它是在低功耗CPU的基础上扩展音视频功能和专用接口的超大规模SOC集成电路,是一种新型的嵌入式应用处理器。MAP的主要应用领域是便携式消费类电子。MAP要求低功耗,体积微小,并具备尽可能高的性能。因此,许多微电子和IT领域的最新技术均用到了MAP中。例如用90和45纳米工艺提高速度和集成度,并采用前后台工作的双核和多核CPU和DSP提升性能。
MAP分为全软件模式与全硬件模式两种。全软件模式采用嵌入式中央处理器加数字信号处理器,即CPU+DSP。MAP中的嵌入式CPU作为一个通用的硬件平台,运行一个通用的操作系统。MAP中的嵌入式DSP是另一个核心器件,它的任务是完成复杂的高速信息处理。全硬件模式则采用的是CPU+ASIC,由专用集成电路完成音视频解码功能。
下面给出基于珠海炬力公司的全软件模式专用SOC多媒体应用处理器芯片ATJ2135的用于一款智能玩具的MP3播放器嵌入式系统设计与实现方案。
2 MP3系统硬件设计
播放器核心是炬力的ATJ2135芯片,主要组成包括电源单元、显示单元、键盘输入电路、FM收音机单元、外部存储器、功放及扬声器单元等。系统总体框图如图1。主控MAP中的嵌入式DSP对MP3文件进行音频解码,解码后的序列经MAP中DAC输出至功放及扬声器或耳机。



图2 MP3解码流程图MP3采用了较为复杂的比特流结构,所有MPEG的比特流都被分割成了单独的帧。对于MPEG图2音频,每秒都传送固定数目的帧,也就是说,当比特率和采样率固定时,每一帧具有相同的大小,并携带有相同数目的样本。解码算法由嵌入式DSP软件实现,流程如图2所示。
3.2嵌入式实时操作系统设计
ATJ2135采用μCOS-Ⅱ操作系统进行软件移植设计。μCOS-Ⅱ是一个源代码公开的嵌入式实时操作系统,具有小内核、多任务、丰富的系统服务、容易使用等特点并且非常稳定、可靠。而由于其极小的内核,就特别适用于对程序代码存储空间要求极其敏感的嵌入式MP3应用系统开发。本系统采用可剥夺型多任务内核,其任务层设计及任务流程如图3所示。
3.3 嵌入式系统软件编译与调试
系统所采用ATJ2135的嵌入式开发工具为cygwin。cygwin软件是cygnus solution公司开发的,是一个在Windows平台运行的Unix模拟环境。其中,USDK13O 提供最主要的调试手段。它需要在调试的代码段添加打印语句,而运行则是观察超级终端上的打印输出,以此来诊断程序是否符合设计逻辑。通过打印输出来调试程序是一种简单实用的调试手段。它可以在不打断系统运行的情况下获知其运行过程。超级终端提供日志功能,只要点击传送菜单下的捕获文字项,然后设置日志所在的目录,这样输出的所有信息都将记录在日志文件中,便于后续的分析和查找。当程序存在设计或编码的缺陷时,系统运行会崩溃,并在终端输出异常信息。此时可以将异常出现的地址比对 USDK130 提供的空间分配表来查找导致异常的


                                               
图3  任务层结构及任务流程图
模块,然后可以找到该模块对应的 IST 文件来定位错误所在的位置,从而完成调试过程。
3.4固件生成
    软件编译和调试完成后,会生成一些*.app应用程序和*.drv驱动文件,应该将这些文件打包,生成后缀为fwu的固件文件,借助于量产工具下载到嵌入式Mp3裸机上。
4 系统调试
由于嵌入式MP3对信号要求较高,在布线时要充分考虑外界信号的干扰,因此将PCb采用四层板。PCb 板的布局按照功能模块分区,把模拟信号与数字电路及噪声源部分(如 DC-DC 等)合理地分开,使相互间的信号耦合为最小,尽量减少相互之间的交叉。电源走线应尽量做到由小电流到大电流最后到供电电源的负极(地)和正极处。电源走线应注意线径,信号线从起点到终点应保持同一线宽,不要有粗细变化。
在整机电流正常的情况下,测量关键点电压,一切正常后才可将样机接电脑。若电路正常,PC操作系统应该会提示发现新的硬件设备,此时用量产工具打开固件文件将固件下载到系统中,然后对各个功能进行逐个测试,对发现的问题加以纠正。
5 结束语
本文给出了基于多媒体应用处理器SOC芯片ATJ2135实现MP3播放器的嵌入式应用。该MP3被用于一款智能玩具中,表现出了强大的功能与优异的性能。ATJ2135的全软件工作模式使得该MP3播放器只需将嵌入式DSP执行的音频解码算法调整为视音频解码算法就可以迅速变身为MP4,而不需要改动硬件结构。而针对实时操作系统的改动也是同样的。这样就为属于消费类电子的便携式数字音视频设备快速升级换代以适应市场需求变化提供了保证。本款产品已于07年投入生产并产生经济效益约一百万元。
本文作者创新点:
通过嵌入式MP3播放器的MAP应用设计实践可以表明嵌入式MP3设计比较好的结构是采用CPU+DSP,即在MAP的嵌入式CPU上安装实时操作系统运行应用程序并处理用户数据,利用嵌入式DSP中的软件算法对付各类格式繁杂的视音频信号,可以获得强大的性能并能很容易进行产品的升级换代。
参考文献:
[1]. 姜秀华.数字电视原理及应用. 北京:人民邮电出版社,2003
[2]. 沈胜庆. 嵌入式操作系统的内核研究[J].微计算机信息,2006,2:72-74.
[3]. 任哲. 嵌入式实时操作系统μC/OS _II原理及应用. 北京:北京航空航天大学出版社,2005.         
                          
                       
                          
                               




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2