嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可*性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的"器件".MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3.由于闪盘式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。
文中介绍了MAP的主要性能特点,给出了基于MAP芯片ATJ2135的嵌入式MP3播放器的硬件设计、MP3解码流程、实时操作系统设计、系统软硬件调试过程等嵌入式系统设计与实现。
1 引 言
采用 MPEG 标准Layer3算法进行压缩处理后的文件统称为MP3文件,能够对MP3文件进行解码并还原声音的系统都可以被称为MP3播放器。作为消费类电子产品的代表,MP3不断增长的消费要求也促使生产厂家采用更先进的技术来提高自己产品的竞争力。针对MP3 、MP4以及智能手机上的数字音视频应用,SOC芯片厂商如国外的SIGMATEL、国内的珠海炬力集成电路公司均推出了基于MAP的解决方案。
MAP移动应用中间件是专门为传统非无线网络应用开发商量身定做的无线应用开发中间件平台。无需专门学习不同平台的移动应用开发技能,通过MAP,传统网络应用开发人员即能够将传统信息系统扩展到Windows mobile、J2ME、Symbian和Android等无线终端。除此之外,MAP还可帮助用户在线配置和管理部署在无线终端的移动应用。
MAP分为全软件模式与全硬件模式两种。全软件模式采用嵌入式中央处理器加数字信号处理器,即CPU+DSP.MAP中的嵌入式CPU作为一个通用的硬件平台,运行一个通用的操作系统。MAP中的嵌入式DSP是另一个器件,它的任务是完成复杂的高速信息处理。全硬件模式则采用的是CPU+ASIC,由专用集成电路完成音视频解码功能。
下面给出基于珠海炬力公司的全软件模式专用SOC多媒体应用处理器芯片ATJ2135的用于一款智能玩具的MP3播放器嵌入式系统设计与实现方案。
2 MP3系统硬件设计
播放器是炬力的ATJ2135芯片,主要组成包括电源单元、显示单元、键盘输入电路、FM收音机单元、外部存储器、功放及扬声器单元等。系统总体框图如图1.主控MAP中的嵌入式DSP对MP3文件进行音频解码,解码后的序列经MAP中DAC输出至功放及扬声器或耳机。
主控MAP中的嵌入式CPU运行实时操作系统管理包括键盘与LCD、文件系统、FM模块,并实现MP3的数据管理、娱乐游戏、通信等功能。
2.1 主控芯片
ATJ2135是真正理想的"一片解决"SOC数字多媒体处理芯片,为用户提供了一个非常灵活而且价格适宜的嵌入式音频解决方案。选用32位RISC 的MIPS核,并集成24位嵌入式DSP,构成双核结构。其中DSP用于音频解码算法,CPU用于播放器的操作系统。ATJ2135还集成了时钟、内部存储器BROM,以及SDRAM、键盘和YUV2RGB显示接口,ADC、DAC、电源管理PMU、红外接口等外围控制组件。
2.2电源设计
合适的低功耗电源是便携式系统关键设计之一。本硬件系统平常采用锂离子充电电池供电。而在系统与外部PC机交换数据时,系统电源将采用USB供电模式,同时锂电池将停止供电。所以电路应具有完成电源切换、稳压及充放电等功能。由于元件工作在降压模式,选用了XC62系列稳压芯片XC6206P152M、XC6219B182MR和RCR3402等器件来实现。
2.3输入输出组件
2.3.1 A/D式线控键盘接口设计
为了适应MP3应用的特殊性,ATJ2135提供另外一种我们在其他嵌入式应用中很少见的键盘结构--A/D式线控键盘。这种键盘可以进一步减少I/O口的使用数量。利用串联电阻网络在不同的按键按下时输出不同的电压值,然后进行A/D转换求出其对应的数字量,从而根据软件设定确定是哪一个按键按下。为了减小误差和提高软件识别率,分压电阻应采用误差范围为1%的高电阻,软件可以设定适当宽的范围来区分每一个按键值。ATJ2135内部提供一个4位低分辨率A/D转换器,可以很方便的配置成线控按键模式。
2.3.2 LCD显示输出
由于ATJ2135芯片没有自带 LCD Controller ,因此需要选用带 LCD Controller 的 LCD (液晶屏)。本系统选择KGM281E0作为液晶显示屏。KGM281E0是一个240xRGBx320点阵TFT-LCD显示模块,它可以配置为16位或18位并行数据输入方式,可支持视频播放,显示效果非常出色。显示屏的背光驱动需要较高的电压,并且要求根据需要调节背光的亮度,因此就需要一个高效的升压电路来实现这一功能,为此ATJ2135提供了一个背光控制,它可以按照软件的设定值输出8种不同频率的脉冲,通过改变输出频率值来改变背光亮度。
2.4系统存储器
本播放器采用一块512 M NAND FLASH作为片上存储单元,写入速度较快,具有良好的抗震能力,体积、重量较小,尤其适合便携式系统的要求。另外本系统还集成了SD卡插槽以方便用户升级存储空间。Flash芯片采用Hynix的HY27UT084G NAND Flash Memory,其工作电压为1.8或3.3伏。而为了提高系统运行速度,适应视频播放及游戏时的数据处理,还扩展有外部SDRAM存储芯片。存储器接口方式采三总线连接方式。
3 系统软件设计
3.1 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 提供的空间分配表来查找导致异常的模块,然后可以找到该模块对应的 IST 文件来定位错误所在的位置,从而完成调试过程。
3.4固件生成
软件编译和调试完成后,会生成一些*.app应用程序和*.drv驱动文件,应该将这些文件打包,生成后缀为fwu的固件文件,借助于量产工具到嵌入式Mp3裸机上。
4 系统调试
由于嵌入式MP3对信号要求较高,在布线时要充分考虑外界信号的干扰,因此将PCB采用四层板。PCB 板的布局按照功能模块分区,把模拟信号与数字电路及噪声源部分(如 DC-DC 等)合理地分开,使相互间的信号耦合为,尽量减少相互之间的交叉。电源走线应尽量做到由小电流到大电流到供电电源的负极(地)和正极处。电源走线应注意线径,信号线从起点到终点应保持同一线宽,不要有粗细变化。
在整机电流正常的情况下,测量关键点电压,一切正常后才可将样机接电脑。若电路正常,PC操作系统应该会提示发现新的硬件设备,此时用量产工具打开固件文件将固件到系统中,然后对各个功能进行逐个测试,对发现的问题加以纠正。
5 结束语
嵌入式系统是专用的计算机系统,软硬件的设计必须协同和严格规范。本设计多媒体应用处理器SOC芯片ATJ2135实现MP3播放器的嵌入式应用。须以硬件系统为前提以功能定义为要求进行设计现调试。嵌入式系统硬件的定制,程序的设计必须多次的调试与完善。比如,硬件电路无法正常工作,必须分析原因、调试;开发环境相关软件无法正常安装,必须排除各种错误,直到成功搭建开发环境;嵌入式系统是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式便携多媒体播放器是嵌入式系统技术的一个典型应用。嵌入式便携多媒体播放器未来的发展方向将会呈现出多样化、多功能化、普遍化的变化。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。