1、引言
随着音频解码技术、存储器技术、MP3高质量压缩技术等相关技术不断的发展以及人们对消费电子产品需求的增加,MP3新产品层出不穷,成为时尚潮流前沿的一个最佳载体。人们可以用它休闲娱乐 ,也可以用它工作和学习。设计一款性价比优良的MP3 播放器具有实际的应用价值[1]。随着 C语言的发展和嵌入式系统技术的推广 ,在嵌入式系统低端应用中 ,存在着大量的小型嵌入式应用系统。MP3 播放器的设计 ,就是典型的嵌入式系统应用。MP3具有最基本的播放、选曲、音量控制、音效控制功能。当连接到计算机的 USB接口时,MP3变成 U盘,可以向 U盘复制文件,文件包括 MP3歌曲文件和普通文件 [2,3]。系统的功能结构图如图 1所示:
2、系统设计相关技术
2.1 MP3文件格式 [4]
MP3 文件是由帧(frame)构成的,帧是 MP3文件最小的组成单位。MP3的全称应为 MPEG1 Layer-3音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG 音频文件是 MPEG1标准中的声音部分,也叫 MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即 Layer-1、Layer2、Layer3,且分别对应MP1、MP2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1和 MP2的压缩率分别为4:1 和 6:1-8:1,而 MP3的压缩率则高达10:1-12:1,也就是说,一分钟 CD音质的音乐,未经压缩需要 10MB的存储空间,而经过 MP3压缩编码后只有 1MB左右。
MP3文件大体分为三部分:TAG_V2(ID3V2),Frame, TAG_V1(ID3V1)。ID3是一个标记MPEG的标准,具体的讲,这些标记是用来指明歌曲的作者、演唱者,年月、所属专辑等信息,这样,播放器在播放时可以读出并显示这些信息。
每个 FRAME都有一个帧头FRAMEHEADER,长度是4BYTE(32bit),帧头后面可能有两个字节的CRC校验,这两个字节的是否存在决定于 FRAMEHEADER信息的第 16bit,为0则帧头后面无校验,为 1则有校验, 校验值长度为 2个字节,紧跟在 FRAMEHEADER后面,接着就是帧的实体数据了,格式如下:
3、硬件设计
(1)、硬件方案选择 本设计选用 ATMEL公司的 AT89C51SND1C芯片作为 MP3播放器的主控制器。主控制器的选定其实也取决于 MP3方案的选定。
从技术角度上说,MP3播放器有多种实现方案,其中分类方法也较多,这里仅从 MP3解码方式和硬件类型方面进行分类,大体可分为:(1)分离芯片的 MP3播放器;(2)集成 MP3功能单片机的 MP3播放器;(3)定制 ASIC电路的 MP3播放器;(4)采用 FPGA实现MP3播放器;(5)混合 MCU/DSP器件播放器。