嵌入式GPS语音导航系统中 MP3的解码与播放
3 软件设计
3.1系统平台的选择
目前主流的嵌入式平台主要有嵌入式Linux和Windows CE两大系列。
Linux是一个类似于Unix的操作系统。它起源于芬兰一个名为Linus Torvalds的业余爱好者,但是现在已经是最为流行的一款开放源代码的免费操作系统。Linux从1991年问世到现在,已发展成为一个功能强大、设计完善的操作系统。伴随着网络技术进步而发展起来的Linux OS已成为Mi-crosoft公司Windows系统的强劲对手。Linux系统不仅能够运行于PC平台,还可在嵌入式系统方面大放光芒,很多嵌入式平台都用Linux作为其操作系统。
Windows CE是微软开发的一个开放的、可升级的32位嵌入式实时操作系统。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E则代表电子产品(Electronics)。不同于面向桌面的Windows,微软重写了Windows CE的内核,这使得WindowsCE拥有优越的实时性能。Windows CE中的API是一个缩减的WIN32 API,它是桌面Windows系统的一个子集。这使得许多基于微软桌面Windows开发的应用程序可以经过少许的改动就能用于Windows CE中。同时,在Windows CE系统平台上,也可以使用桌面Windows上的编程工具语言(如VB、VC++等),并使用同样的函数和同样的界面风格.因此,其开发工作比较容易上手。考虑到大部分用户多年来使用Windows系列操作系统的习惯.Windows CE的界面风格比较容易让用户接受。
综上所述.本文选择Windows CE作为系统的开发平台,开发工具选择VS系列的EVC。
3.2 软件流程
图5所示是MP3解码的软件流程图。首先将MP3文件数据读人缓存,寻找文件中的ID3信息(ID3信息指MP3文件中可选的一种内嵌信息,用于表示MP3的音频类型、作者等,目前分ID3vl和I。D3v2两个版本),接着在文件中寻找帧同步头,找到后即进入帧解码子程序,其帧解码的具体流程如图6所示,解码完成后,再将解码出的PCM数据放入音频缓冲进行播放,如此循环直到最后一帧。本文引用地址://m.amcfsurvey.com/article/166839.htm
按键编码电路采用二极管组合逻辑开关阵列来实现对受控电路开关进行编址,其中指令编码电路采用编译码芯片组PT2262。PT2262的A口是地址码设置口,D口是数据码设置端,分别和二极管组合逻辑开关阵列的逻辑输出相连,数据从000~101有6种状态。发射模块电路中采用的射频芯片为MICRF1020当编码芯片PT2262的数据输出端无信号输出时,MICRF102不工作,发射电流为零,而当PT2262的控制端有效时,输出的串行脉冲信号对MICRF102进行调制发射,通过调制电阻R2可调整发射电流,从而调整发射距离,较小的R2取值可提高发射距离,而增加二极管开关阵列则可将系统扩展成为多路遥控发射模块。
3.2 接收控制电路
接收控制系统主要由无线电接收电路、解码电路、单片机电路、开关电路组成。接收控制系统的电路原理图如图6所示。接收控制系统主要完成的功能是对接收进来的信号进行解调和解码,并将解码后的数据送单片机,由单片机根据此数据去控制相应的开关进行动作。
4 结束语
本文提出了一种在嵌入式GPS语音导航系统中实现MP3音频播放的实现方案,给出了解码步骤,并利用S3C2410核心与Windows CE平台完成了这一方案。经过实际产品验证,该解码器播放效果良好。各项指标均可满足要求。
评论