您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于uC/OS-II的MP3文件播放系统设计 正文
基于uC/OS-II的MP3文件播放系统设计

基于uC/OS-II的MP3文件播放系统设计

点击数:7940 次   录入时间:03-04 11:54:41   整理:http://www.55dianzi.com   嵌入式系统-技术

1 引言

近几年,MP3音频产品受到消费者的青睐,而高质量的音效是当前MP3音频产品发展的重要趋势。MP3文件解码一般采用软件解码和硬件解码两种方法。硬件解码实现简单,但需增加硬件成本。软件解码需占用大量CPU时间,实现难度大,但成本低、处理灵活,只要CPU具有足够的处理速度则是一种很好选择。本文介绍了MP3文件播放系统硬件和软件设计,采用Cirrus LogIC公司的EP9315处理器和UDA1341编解码器,并介绍了基于μC/OS-II开源实时操作系统的MP3解码原理,播放函数以及硬件接口初始化等。

2 MP3编解码原理

MP3是MPEG-1 Atdio Layer-3的缩写,它是一套完整的基于感知的音频编码算法。这一算法应用了心理声学模型可达到1:12的压缩比率。心理声模型应用于人耳特性,最大限度保持原始声音质量。MPEG-1 Audio编码对象是20 Hz~20 000 Hz的宽带声音,采用感知子带编码,也叫做子带编码(sub-band coding,SBC),从而达到既压缩声音数据又尽可能保持声音原有质量的目的。SBC编码对象不局限于话音数据和某一种声源。具体思想是:首先把时域中的声音数据变换到频域,对频域内的子带分量分别量化和编码,根据心理声学模型确定样本精度,从而达到压缩数据量的目的。子带编码的理论根据是听觉系统的掩蔽特性,主要是利用频域掩蔽特性,编码过程中保留信号带宽,但是却扔掉被掩蔽的信号,因此编码后还原(解码、重构)的声音信号与编码前的声音信号不相同,但人的听觉系统很难分辨出它们的差别。因此,对于听觉系统,这种压缩是"无损压缩"。

当打开MP3文件后,播放器首先试图对帧进行同步,然后分别读取通道息及增益因子等数据,再进行霍夫曼解码,至此已获得解压数据。但这些数据不能播放,它们仍处于频域,若要播放,还需将其通过特定手段由频域变换到时域。然后再分别进行立体化处珲、抗锯齿处理、IMDCT变换、IDCT变换及窗口化滑动处理。这样得到的数据就可进行D/A转换并播放。

MP3歌曲的解码是一个非常复杂的过程,可通过Start_mp3_decode()解码函数完成。另外,还需给解码函数进行供给数据、针对音频接口的初始化、针对播放过程的初始化等操作。

3 系统硬件设计

3.1 系统结构分析

本系统以EP9315为核心,包括Philips公司的UDA1341型立体声音频编解码器、SDRAM、Flash存储器。处理器通过IIS接口控制音频数据在系统内存(SDRAM)与UDA1341之间传输。通过L3控制端口实现UDA1341的配置和控制,本设计系统MP3采用USB Host结构,使用时需插U盘。系统结构图如图1所示。




本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术