摘要:面向嵌入式系统进行mp3播放器设计可以获得较多的优势,文在对嵌入式系统及其特点进行简要介绍的基础上,面向ARM嵌入式系统进行了mp3播放器的设计,提出了软硬件设计方案和构想最后对其实现进行了相关技术层面的研究。
关键词:嵌入式系统;mp3播放器;设计
作者简介:左凯(1994,6-),男,湖北黄石人,湖北理工学院计算机学院本科生,研究方向:嵌入式应用
1概述
Mp3作为目前比较流行的音频文件,其本身具有多方面的优点,诸如音质较好、压缩比率合适、资源广泛下载方便等,因此目前大量的软硬件资源都支持mp3文件的播放。当前市场上流行的大部分mp3播放器其处理器都是硬核处理器,使用数字信号处理器来对mp3音频文件进行解码和传输,硬核处理器虽然具有速度方面的优势,但其硬件配置方面相对单一,造成了mp3播放器系统的软件和硬件维护与升级变得十分困难。而以嵌入式作为mp3播放器的控制中心,可以打造出具有软核处理器的mp3播放器,其具有硬核处理器所不具备的优势,诸如多元化控制、多任务并发控制、方便容易的软硬件维护与升级等,因此本文提出了面向嵌入式系统的mp3播放器设计方案。
2嵌入式系统及其特点
通常意义上的嵌入式系统是指一种用于监控、监视或辅助设备、机器操作的装置,其与传统pc系统一样包括硬件和软件两个部分,硬件部分包括各种处理器、图形图像处理设备、存储介质、I/O输入输出设备以及其他外设设备等,软件部分包括操作系统软件、用户自行开发的软件、各种具有特点功能的应用程序。嵌入式系统与pc系统相比较具有自身的特点,嵌入式系统面向用户特定的应用目的,现有的大部分嵌入式cpu在为特定用户设计的系统环境中工作,嵌入式系统是一个具有较宽覆盖领域、投资较大、知识集成的系统,集先进的计算机技术、半导体技术、电子技术于一体。
3面向嵌入式系统的mp3播放器设计方案
3.1总体构想
本方案基于ARM嵌入式系统进行设计,由硬件系统和软件系统两大部分所组成,硬件系统为整个系统提供底层支持,负责任务执行的监督、协调和数据的存储,软件系统包括操作系统OS、人机界面UI、音频解码控制等软件模块,是系统中心控制枢纽和关键部分,统筹安排和协调优化硬件系统的工作,具有音频播放、数据通信和任务管理等功能。
3.2硬件设计方案
Mp3播放器音频文件播放的顺序为:首先从存储器中读取mp3或wma格式的音频文件,然后将读取的信号送到解码器上进行解码转化为二进制数字信号,再通过数模转换器将数字信号转为模拟信号,然后将模拟信号输送到信号放大器进行放大,完成噪声过滤处理后输送到耳机。
3.3软件设计方案
系统的软件组成模块主要包括有操作系统、音频解码模块、文件存储系统、显示模块、SPI闪存模块以及人机界面模块等。嵌入式操作系统使用的平台为uc/os-II,它在整个软件系统中处于核心地位,当前状态下的多个任务执行都有其负责处理和调度,用户可以基于该嵌入式系统根据特定目的而创设具体的任务,诸如屏幕触摸任务、lcd屏幕显示任务,音频解码任务、文件读取任务以及文件存储任务等。
4面向嵌入式系统的mp3播放器的实现
4.1音频文件格式
mp3格式的音频文件是mp3播放器的主流文件,在结构上它包括三个部分,一是id3v2,这部分包含作者、专辑、作曲等属性字段的信息,长度不固定,是在id3v1基础上的信息扩充,二是frame,它是mp3音频文件的主体部分,由若干个帧组成,其长度值由音频文件的大小和帧长度决定,每个frame又包括两部分,一是帧头,二是数据实体,帧头部分包含了mp3音频文件的采样率、版本、位率等信息,每个帧之间是相互对立的。每首mp3音频文件的比特位速率是指每秒钟包含的音频数据信息量的大小,值越大,说明音频文件的声音质量越高,相应的文件所占用的存储空间也就越大。
4.2文件驱动系统
Mp3音频文件的数据存储在存储器中,由于音频文件的普遍较大,相应的存储器介质SD卡也就越大,基于此本设计中设计了免费的fatfs文件系统,该文件系统能够在单片机上对文件进行读写操作,其所占的空间较小,大约为6k左右,这对于通常有128k空间的闪存来说所占的比例完全是可以接受的,同时也获得了较高的可移植性优势,重写相关的函数参数就可以对文件系统的进行移植,经过检测,在32位系统环境中,18mspi时钟下文件的读取速度为300k/秒左右,文件的写入速度为100k/秒左右,这种磁盘读写速度对于嵌入式应用而言已经足够。
4.3音频文件的解码输出
Mp3音频文件的数据流中包含了以下信息:头文件译码信息、旁译码信息以及同步化和crc检查的区块,从这些信息中可以得到文件头信息、crc信息以及旁信息,读取并存储起来以备使用。译码器经过对相关数据信息解读和翻译得到初始的频谱信息,再经过立体声效处理、虚拟信号过滤、频谱重新排序、离散余弦转换以及多项合成滤波组等最后合成可以输出的高质量信号。
4.4lrc文件的处理
Lrc文件里包含有mp3音频文件的歌词信息,每一句歌词都精确对应某个具体的时间点,这是保证mp3音乐播放过程中声音与歌词同步的重要原因。一个lcr文件包括歌词和时间标签两部分,时间标签是基于每句歌词而建立的,这样lrc文件就在歌词和声音之间建立了一一对应的关系,在mp3音乐播放过程中就会按照lrc文件中所设定的时间显示对应的歌词,对lrc文件的读取在本质上与mp3文件的读取是一样的。
5结论
本文面向ARM嵌入式系统平台使用stm32f103vet作为主控芯片设计了一个mp3播放器,硬件解码芯片采用了vs1053b,并使用了带有触控功能的液晶显示屏,并支持tf卡扩展,使用ucos-II嵌入式操作系统使mp3播放时课可以显示歌词以及进行了人性化操作,并且使得播放器可以执行多任务,同时占用最小的资源,同时可扩展接口和灵活的软硬件设计也使得该款播放器比较容易扩展。
参考文献
[1]袁卫,党纪源.基于单片机的MP3播放器设计[J].现代电子技术,2011(4).
[2]凌泽明,刘桂林.基于单片机的便携式MP3播放器设计[J].科技创新导报,2011(4).
[3]洪家平.基于VS1003解码器的MP3播放器设计[J].单片机与嵌入式系统应用,2010(11).
[4]李媛,辛修芳.基于LPC2131的SD卡MP3播放器的设计[J].佳木斯大学学报(烟草经济论文自然科学版),2010(4).
[5]李宁,熊刚,徐良平.基于Cortex-M3的MP3播放器设计[J].单片机与嵌入式系统应用,2009(2).
[6]马.基于AT89C51SND1C的mp3播放器的设计[J].中小企业管理与科技(下旬刊),2009(1).
作者:左凯 单位:湖北理工学院计算机学院
相关专题:婴幼儿营养与保育答案 陇东学院学报