毕业设计(论文)基于单片机的MP3播放器设计.doc
毕 业 设 计设计题目: 基于单片机的MP3播放器设计 学 生: 指导教师: 学 院: 专 业: 2015年6月河南理工大学毕 业 设 计 任 务 书设计题目 基于单片机的MP3播放器设计 指导教师 专 业 学 生 2015年6月xx日基于单片机的MP3播放器设计摘 要MP3是MPEG一1音频层的简称。MPEG音频是目前普遍应用的音频压缩标准,其中层的算法最为复杂,但压缩比最大,效果较好,在低码率条件下基本能达到CD的音质效果。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算,数据传送,中断处理)的微处理器,随即存取数据处理器,只读程序存储器,输入输出电路,可能还包括定时计数器,串行通信口,显示驱动电路,模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小而又完善的计算机系统。本文介绍了一种基于ATMEL公司生产的AT89C51单片机的MP3播放器设计,分析了基于单片机的音乐播放器的工作原理,详细介绍了音乐播放器的功能以及硬件设计和软件设计的方法。本次设计主要以AT89C51单片机为核心,对音乐播放器的设计与实现进行了硬件及软件的设计,并给出了一套完整的解决方案,实现了单片机音乐播放器对音乐的演奏。关键词:音乐播放器;单片机;Microcontroller-based MP3 Player DesignAbstractMP3 is MPEG-1 Audio Layer for short. MPEG Audio is widely used audio compression standards, including the most complex algorithm level, but the maximum compression ratio, better, at lower bit rate can be achieved under the conditions of the basic CD's sound quality. Low data volume and the advantages of high playback quality make it a music store, digital broadcasting, the main form of online music transmission.Single tablets machine is a integrated circuit chip, used Super mass technology to has data processing ability (as arithmetic operations, logic operations, data transfer, interrupt processing) of microprocessor, immediately access data processing device, only read program memory, entered output circuit, may also including scheduled counter, serial pass socket, display driven circuit, simulation more road conversion device and the A/D conversion device, circuit integrated to a single block chip Shang, constitute a minimum and and perfect of computer systems. This article describes has a based on ATMEL company production of AT89C51 single tablets machine of MP3 play device design, analysis has based on single tablets machine of music play device of work principle, more describes has music play device of function and hardware design and software design of method, to single tablets machine for core, by minimum system.In this paper, the AT89C51 microcontroller as the core of the music player's design and implementation of hardware and software design, and gives a complete solution to achieve a single chip music player for playing music.Key words:Music Player, Single-chip computer, Decoder目 录摘要Abstract1 绪论11.1 研究现状11.2 课题研究的目的和意义21.2.1 课题研究的目的21.2.2 课题研究的意义21.3 国内外概况31.4 课题研究内容42 MP3的编解码过程52.1 MP3的工作原理52.2 MP3播放器编码过程52.2.1 编码分析52.2.2 编码过程72.3 MP3播放器解码过程93 MP3播放器的硬件设计与实现113.1 系统的总体设计113.2 主电路设计123.2.1 单片机最小系统143.2.2 电源部分143.2.3 D/A 转换部分163.2.4 控制部分173.3 单片机复位电路173.4 单片机晶振电路184 MP3播放器软件设计及实现204.1 MP3播放器播放功能的设计204.2 MP3功能按钮设计224.3 USB通信功能程序设计245 结论27参考文献致谢基于单片机的MP3播放器设计1 绪论1.1 研究现状随着信息化、智能化、网络化的发展,嵌入式系统技术的应用也随之提高。目前,嵌入式系统已广泛用于信息家电、移动通信、工业控制、军事电子等领域。电子技术的飞速发展,使得嵌入式设备在各个领域的应用越来越广泛,复杂度也越来越高,对其开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件用于操作系统编译连接成一个整体,然后下载到目标机上运行。所以,嵌入式设备的开发过程是一个复杂的过程。因为复杂,所以很有发展的潜力。MP3作为高质量音乐压缩标准,给音频产业带来了巨大的冲击。MP3技术使音乐数据压缩比率大,回放质量高。如CD格式的音乐数据压缩成MP3格式,音效相差无几,但大小至少可压缩12倍。由于MP3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,MP3格式的音乐文件刚在网络上传播时,主要用Winamp等播放软件进行播放,使MP3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着MP3播放器的出现及其技术的发展,人们对MP3播放器的要求越来越高,制造商在MP3播放器的选型、设计、开发、附加功能和试用领域等方面做了很多努力,设计了多种方案1-3。详细分析了嵌入式MP3播放器的开发过程,为嵌入式MP3播放器提供了一种合适的集成开发方法和框架。消费类的电子应用在嵌入系统中所扮演的角色变得越来越重要,尤其是手持类产品更是越来越丰富。这类的产品的体积通常较小,价位通常相对较低,对于功耗的要求也相对的严格许多。也因此先进设计的焦点已经不只是放在传统的性能上,低功耗和低成本已经转而变成最重要的因素之一。本设计研究的是在MP3多媒体的应用之下,以降低运行频率,降低功耗这个重要特性为目标,对软件和硬件两方面分别作分析、评估和优化,以达到所设立的目标。硬件方面,分析了MP3的算法后,找出最迫切需要硬件加速的部分。通过验证系统可行性,期望能以尽量小的硬件成本,达到尽量好的加速效果。希望此研究分析的经验及成果,能成为以后开发一个特殊应用平台时的基础。科技的迅猛发展给音乐带来了意想不到的发展机会。MP3播放器无疑是音乐史上极具颠覆性的传播媒介。由于MP3播放器的生产成本较低、外观可塑性强,并且可置于手机等不同产品中,满足了不同消费者的需求,因此,受到了不同层次消费者的青睐。另一方面,MP3格式是世界上第一个有损压缩的编码方案,基本上所有的播放器都支持它。从有音乐开始,音乐的传播方式是突飞猛进的发展,音乐的传播方式按照时间的先后顺序可以划分为乐谱传播、唱片传播、广播传播、电视传播、网络传播等五个阶段。在网络中的各种音乐格式中,MP3是目前最流行的一种音乐格式,深受广大音乐爱好者的喜爱。MP3数字化设备以及数字化信息正是迎合网络传输方便性的趋势,通过全球庞大的计算机网络得以广泛应用。音质是选择音乐格式最重要的一个因素,MP3音乐具有压缩比高,音质较好、制作简单、容易获取、交流方便等优点。制作精良的MP3音乐,在专门的数字播放器中播放,完全可以达到普通CD唱机播放的音质。适中的价格、良好的音质,使用便于携带、长时间播放和丰富的资源使MP3播放器成为最受欢迎的网络音乐媒体。1.2课题研究的目的和意义1.2.1 课题研究的目的MP3早在多年前就打败了CD/MD播放器,夺取了随身听市场的头把交椅。然而事隔多年,MP3播放器非但没有任何即将衰败的迹象,反而因为越来越强悍的功能,越来越多变的造型以及工业设计新元素的添加,让MP3能够持久的焕发着生机和活力。倘若站在潮流的浪尖往回看,视频概念,拍照功能,彩屏大屏拓展,巧克力按键,双层注塑亚克力面板,双概念炒作,镜面工艺,2.8英寸超大屏幕,国内的主流MP3厂家似乎总能够保持一种默契,每隔一段不太长的时间就会为当时的MP3加入一些新的设计元素,让MP3在消费者面前永远保持着新鲜的卖点和创新的活力。然而当我们更进一步细致斟酌一下近期MP3曾经火热过的卖点,在各式各样华丽光环底下,却未必全然都那么地完美无缺4。也许厂家在设计之初,仅仅是为了增加卖点而不曾深入考量过这样的新设计,是否就能够更好的服务于用户。甚至已可以说,一些新鲜元素仅仅是一种吸引眼球的卖点,当站在实用好用的角度考虑时,更多的只是一种设计上的缺陷。如今MP3技术已经非常成熟,现阶段各大商家最为关心的并不是如何实现MP3,而是如何能在低成本低功耗的平台上实现MP3,这就意味着对原始MP3标准在实现过程中的优化是当前的一个热点,这也是进行本课题研究的现实意义之所在。音频信号数字化后所面临的一个不容忽视的问题是:巨大的数据量给存储和传输带来的压力。因此音频压缩技术在广播专业领域、网络传输及多媒体应用中受到广泛关注,成为音频信号处理的关键技术之一。MPEG(Moving Picture Experts Group)运动图像专家组,在1992年底制定了第一个世界范围的Hi-Fi(High-Fidelity)质量的音频编码标准MPEG-1。MPEG-1分为三种不同的方式,称为Layer1、Layer2和Layer3。序号越高,复杂性越大,但是可提供更好的编码效率,特别是在低比特率时。MP3就是MPEG-1 Layer3,是基于感知编码的算法,目前在CD音质的声音压缩方面,是一种通用的方法。使用MP3标准对于音频数据编码既可以获得较大的音频数据压缩比,又可以得到较好的音乐回放质量。MP3的解码器结构复杂,涉及到大量的数学计算,对处理器与内存的要求相当高。目前,AT89C51处理器以其高性价比,丰富的外设资源,越来越受到各种嵌入式研发人员的青睐5-7。基于以上背景,我在此次设计中提出了AT89C51SND1C微处理器的软件解码方案,在降低硬件成本的基础上保证高质量的播放效果。1.2.2 课题研究的意义MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。另外一个原因是近年来,嵌入式系统与单片机开发的有机结合,已广泛被应用于网络通信、工业控制、机顶盒、PDA等诸多领域8。本文提出了一种基于单片机的MP3播放器的设计方案,这就进一步的体现了该设计的灵活性。目前该设计方案已经实现,实践证明,此播放器拥有市面MP3所有的全部功能并能够很好的运行。1.3 国内外概况随着经济全球化的推进和中国加入WTO,每一个企业都被置于了一个全球性的大市场中,任何一个企业都面临着行业内部各个方面的竞争压力,同时也面临着行业外部的进入威胁,企业要想在竞争中立于不败之地,就必须首先在一个市场或一个行业取得绝对性的竞争优势,同时以此为基础在向另一个潜在的市场扩张,这其中拥有的核心竞争力是企业获胜的关键,企业只有通过不断的增强核心能力,并通过这些能力的强化组个来形成企业的核心竞争力,才能获得持续的竞争优势。本文以嵌入式MP3播放器业务为研究的对象,通过对整个市场的研究、分析、比较得出嵌入式MP3的核心竞争力所在,并籍此制定出合理的竞争和发展战略,最终在市场竞争中获胜。尽管经历了许多次洗牌,但国内外MP3/MP4市场竞争依旧十分的激烈。生存压力迫使不少厂商变得急功近利,尽量压低产品成本的同时,产品的质量也严重缩水。很少有人在产品的技术上下工夫。随着微电子技术的飞速发展,嵌入式产品以其自然的人际交互界面和丰富的多媒体处理能力迅速得以推广,并取得了巨大成功。随着人们生活水平的不断提高以及对美好生活的渴望,对便携试听的要求也越来越高。MP3播放器近乎完美的播放效果和丰富歌曲资源、可靠性高、功耗低、无机械结构等特点,普遍受到广大音乐爱好者的欢迎。从2004年到现在,MP3市场继续保持高速增长,销量达到330.2万台,同比增长143.9%,销售额达到25.8亿元,同比增长110.0%。MP3市场超高速增长主要依赖以下因素:(1)国际市场闪存的价格迅速回落,使得MP3的生产成本大幅度下降,从而引发MP3价格的雪崩,市场平均价格从1100多元下降到700多元,一直到现在的200到300元,有效的刺激了学生等低收入群体的购买(2)MP3的功能不断增强,大多数MP3在基本的播放功能的基础上已经具备了录音、收音、FM等附加功能,同时音质不断改善,播放模式更加多样化,容量也在不断扩大9。在MP3市场上,国内品牌厂商具有绝对优势。爱国者、联想、朝华等厂商都占据市场销售的前列。但国外品牌,如三星、iRIVER、iPOD、并没有放弃对市场的争夺。一方面他们继续巩固在高端市场的优势,同时也在不断想中低端市场渗透。松下、三洋和创新等加大投入,连索尼、HP和DELL等IT巨头也相继宣布进军中国MP3市场。国内的品牌也不再满足低端定位,纷纷推出自己的高端产品。国内品牌爱国者、蒙恬、明基等厂商相继推出各自的硬盘MP3。在此基础上,爱国者还另辟蹊径,推出独特的彩屏MP3。现在已经是百花争鸣的MP3时代。虽然2004年MP3在市场价格不断下降,但总体来说下降速度明显低于预期,以至于256MMP3收到价格过高的影响迟迟没有替代128M产品。在2004年虽然主流MP3在价格上也有计划的调整,但相对来说都比较克制。随着价格的回落与技术的成熟,当前的MP3已经不再是过去发烧友们享受音乐的专利。其实,就像手机、PC所走过的道路一样,MP3在容量、功能、外观设计、视听统一等多方面有了长足的进步之后,便开始显露出市场细化趋势。针对这种情况,几乎所有的厂商都加大了新产品的推出力度,并细分产品线。在市场细分下,爱国者月光宝盒MP3针对不同的用户推出不同的经典之作,产品划分为经典、时尚、经济、实用型等等。苹果的硬盘式MP3iPod也因人性化的操作方式、巨大的容量,引起了轰动,为MP3产品带来了全新的思路。松下也开发了带摄像头的MP3。支持市场细分的,是厂商的综合实力、技术、市场、渠道和服务。这决定了未来的较量,将充满众多变数和无限可能。MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入。存储器可以是Flash存储器或硬盘。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同CD原声区别不大,不影响一般音乐爱好者对音乐的欣赏。MP3大大缩小了声音文件的长度,使音乐的存储和传输更方便。1.4 课题研究内容随着现代电子工业技术的飞速发展,MP3播放器越来越受到人们的喜爱。目前单片机本的应用已经渗透到我们生活的各个领域,许多开发领域都离不开单片机,而且单片机在音乐播放器领域有很大的应用,本课题主要围绕以下四个部分对基于单片机的音乐播放器进行设计:(1)对MP3播放器的编解码进行深入的分析。(2)对MP3播放器的整体结构进行分析。(3)对MP3播放器的硬件进行设计。(4)对MP3播放器的软件进行设计与调试。2 MP3的编解码过程2.1 MP3的工作原理一个完整MP3播放器要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频D/A和功放、显示界面和控制键、其中中央处理器和解码器是整个系统地核心。这里的中央处理器我们通常成为MCU(单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware(或者固件程序)。控制MP3的各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作;显示系统运行状态等任务。解码器是芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码,由高速中央处理器完成)。它可以直接完成各种格式MP3数据流的解码操作,并输出PCM或I2S格式的数字音频信号10。存储设备是MP3播放机的重要部分,通常的MP3随身听都是采用半导体存储器(FLASH MEMORY)或者硬盘(HDD)作为储存设备的11。它通过接收储存主机通讯端口传来的数据(通常以文件形式),回放的时候MCU读取存储器中的数据并送到解码器。数据的存储是要有一定格式的,众所周知,PC管理磁盘数据是以文件形式,MP3亦不例外,最常用的办法就是直接利用PC的文件系统来管理存储器,微软操作系统采用的是FAT文件系统,这也是最广泛使用的一种12。播放机其中一个任务就是要实现FAT文件系统,即可以从FAT文件系统支持的磁盘中按文件名访问并读出其中的数据。主机通讯端口是MP3播放机与PC机交换数据的途径,PC通过该端口操作MP3播放机存储设备中的数据,拷贝、删除、复制文件等操作。目前最广泛使用的是USB总线,并且遵循微软定义的大容量移动存储协议规范,将MP3播放机作为主机的一个移动存储设备。这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI协议13-15。音频DAC是将数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备。这里要介绍一下数字音频信号。数字音频信号是相对模拟音频信号来说的。我们知道声音的本质是波,人们能听到的声音频率在20Hz到20kHz之间,称为声波。模拟信号对波的表示是连续的函数特性,基本的原理是不同频率和振幅的波叠加在一起。数字音频信号是对模拟信号的一种量化,典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这是ADC(模拟数字转换)过程,DAC(数字模拟转换)过程相反,将连续的数字按采样时候的频率转换成对应的电压。MP3解码器解码后的信息属于数字音频信号(数字音频信号有不同的格式,最常用的是PCM和I2S两种),需要通过DAC转换器变成模拟信号才能推动功放,被人耳所识别。2.2 MP3播放器编码过程2.2.1 编码分析一、音频信号数字化信号的数字化就是将连续的模拟信号转换成离散的数字信号,一般需要完成采样、量化和编码三个步骤,如图2-1所示。采样是指用每隔一定时间间隔的信号样本值序列来代替原来的时间上连续的信号;量化是用有限个幅度近似表示原来的时间上连续变化的幅度值,把模拟信号的连续幅度变为有限数量、有一定时间间隔的离散值;编码则是按照一定的规律,把量化后的离散值用二进制数码表示。上述数字化的过程又称为脉冲编码调制,通常由A/D转换器来实现。模拟音频信号低通滤波器编码数字流采样量化图2-1音频信号数字化数字音频信号经过处理、记录或传输后,当需要重现声音时,还必须还原为连续变化的模拟信号。将数字信号转换成模拟信号为D/A转换。数字音频的质量取决于采样频率和量化位数。采样频率越高,量化位数越多,数字化后的音频质量越高。二、音频采样采样就是从一个时间上连续变化的模拟信号取出若干个有代表性的样本值,来代表这个连续变化的模拟信号。一个在时间和幅值上都连续的模拟音频信号的函数表示为,采样的过程就是在时间上将函数离散化的过程。一般的采样是按照均匀的时间间隔进行的。设这一时间间隔为T,则取样后的信号为,n为自然数。根据奈奎斯特采样定理:要从采样值序列完全恢复原始的波形,采样频率必须大于或等于原始信号最高频率的2倍。设连续信号的频谱为,以采样间隔时间T抽样得到离散信号,如果满足时,其中是截止频率,即时,可以由完全确定连续信号,如公式(2-1)所示。 (2-1)因此,可由离散信号完全确定频谱,如公式(2-2)所示。 (2-2)当采样频率为1/2T时,即时,称为奈奎斯特采样频率。三、音频量化采样把模拟信号变成了时间上离散的样值序列,但每个样值的幅度仍然是一个连续的模拟量,因此还必须对其进行离散化处理,将其转换为有限个离散值,才能最终与数码来表示其幅值。量化过程是将采样值在幅度上再进行离散化处理的过程。所有的采样值可能出现的范围被划分成有限多个量化阶的集合,把凡是落入某个量化阶内的采样值都赋予相同的值,即量化值。通常这个量化值用二进制来表示,用N位二进制码字可以表示2N个不同的量化电平。存储数字音频信号的比特率为:,其中的是采样率,N是每个采样值的比特数。表示采样值的二进制的位数为量化位数,它反映出各采样值的精度,如3位能表示采样值的8个等级,8位能反映256个等级,其精度为音频信号最大振幅的1/256。量化位数越多,量化值越接近于采样值,其净度越高,但要求的信息存储量就越大。根据以上公式可知,要减小比特率I,在2s已经确定的情况下,只能去减少N的值。N的值降低会导致量化的精度降低,N的值增加又会导致信息存储量的增加。因此在编码时就需要合理地选择N的值16。均匀量化就是采用相等的量化间隔进行采样,也称为线性量化。用均匀量化来量化输入信号时,无论对大的输入信号还是小的输入信号都一律采用相同的量化间隔。因此,要想既适应幅度大的输入信号,同时又要满足精度高的要求,就需要增加采样样本的位数。非均匀量化的基本思想是对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号采用小的量化间隔,这样就可以在满足精度要求的情况下使用较少的位数来表示。其中采样输入信号幅度和量化输出数据之间一般定义了两种关系,一种成为u律压缩算法,另一种成为A律压缩算法。采用不同量化方法,量化后的数据量也就不同。因此说量化也是一种压缩数据的方法。四、音频编码采样、量化后的信号还不是数字信号,需要把它转换成数字脉冲,这一过程成为编码。最简单的编码方式是二进制编码。具体说就是用n比特的二进制编码来表示已经量化了的样值,每个二进制数对应一个量化电平,然后把它们排列,得到由二值脉冲串组成的数字信息流。用这种方式组成的二值脉冲的频率等于采样频率与量化比特数的乘积,成为数字信号的数码率。采样频率越高,量化比特数越大,数码率就越高,所需要的传输带宽就越宽17。音频编码方法归纳起来可分三大类:波形编码、参数编码、混合编码。波形编码是尽量保持输入波形不变,即重建的语音信号基本上与原始语音信号波形相同,压缩比较低;参数编码是要求重建的信号听起来与输入语音一样,但其波形可以不同,它是以语音信号所产生的数学模型为基础的一种编码方法,压缩较高;混合编码是综合了波形编码的高质量潜力和参数编码的高压缩效率的混合编码方法,这类方法也是目前低码率编码的方向。2.2.2编码过程MP3文件由一系列长度不同的帧组成,一个接着一个,就好像电影胶片一样。每一帧的前面都有一个头信息,其中就包括一些关于后继数据的额外信息。在某些编码中,这些帧可以互相影响。例如,一帧有剩余的空间,而下一帧没有,他们就可以组合起来产生一个优化的结果。在一个MP3文件的开始或者结尾,通常会存储一些额外的信息,包括歌手、曲目名、专辑名、录制时间、流派以及个人评论。这叫做“ID3”数据,当文件数目不断增长是,将会非常有用。MP3使用两种技术获得好的压缩比:一种有损压缩,一种无损压缩。首先,压缩过程将人类根本不能听到的部分丢弃(或者至少做出可接受的折衷),然后对冗余编码进一步的压缩18。然而,正是第一部分的压缩做了大部分的工作,也具有更多的复杂性,这里也被更多的考虑。MP3编码工具分析信号源,把它分解为各种数学模板,并与编码器存储的心理声学模板进行比较。编码器就可以丢弃大部分不匹配的数据。MP3编码过程可以分成几个步骤:首先,将信号分解成称为帧的组建片、每一帧持续不到一秒。这和电影中的帧很类似。第二,分析信号已决定其“光谱能量分布”,也就是说,在整个可听频率的光谱范围内,找出怎样将比特流进行分布,以产生最好的音频编码。因为频率光谱的不同部分使用相同的算法,经过轻微的变换,可以进行高效编码,这一步将信号分解为子带(sub-bands),子带可以独立的进行处理以产生最优的效果(注意所有的子带都使用相同的算法,不同只是因为使用的编码器不同造成的其分配的比特流大小不同而已)。第三,要考虑数据传输率,它决定了每一帧能够分配的比特最大值。例如,如果数据传输率是128kbit/s,那么每一帧可以分配的数据上限就确定了(除非使用变比特率方法)。这一步决定了可以存储多少可获得的数据以及有多少数据被丢弃。把每一帧的频率分布于人类心理声学的数学模板进行比较(数学模板作为一个索引表存储在编/解码器中),从这些模板中就可以决定,哪些频率应该准确的渲染表现出来,那些频率可以丢弃或者分配较少的bit。第四,经过Huffman编码的处理,这个过程去处取样的冗余信息。Huffman编码与心理声学模型并不相关,它只是通过传统的压缩方式获得额外的压缩比。因此,读者可以看到,整个MP3编码过程是:首先,利用所有的心理声学模板选择性的丢弃大量数据,然后压缩剩余的数据,消除冗余。其中的第二步,并不丢弃数据,它仅仅使用更小的空间存储剩余的数据。把一定数量的帧集合起来,再在每个数据帧前加上头信息,就组装成一系列的比特流,头信息主要包括一些相关帧的指令。在这个过程中,许多其他因素需要考虑,这经常在开始编码前就需要预先设定。另外,对每个单独的帧的编码算法经常还依赖于对前一帧和后一帧。整个过程包含了某种程度的同步,前面的步骤并不必须按顺序进行19。MP3的声音数据分成帧,每帧包含1152个样本的数据,由32个子带分别输出MP3的编码器输入,以12个样本为一组,每组样本经过时间-频率变换之后进行一次位分配并记录一个比例因子(scale factor)。位分配的信息告诉解码器每个样本由几位表示,比例因子用6位表示解码器,使用6位的比例因子乘以量化器的每个输出样本值,以恢复被量化的子带值。比例因子的作用是充分利用量化器的量化范围,通过位分配的比例因子相配合,可以表示的动态范围超过了120dB的样本20。MP3使用了从ASPEC(Audio Spectral Perceptual Encoding)和OCF(Optimal Coding In The Frequency domain)导出的算法。在滤波器组上,MP3在使用了正交镜像滤波(和MP1和MP2相同)后,紧跟着使用了改进离散余弦变换MDCT(Modified Discrete Cosine Transform),对正交镜像滤波的不足进行了一些补偿。MDCT把子带的输出在频域里进一步细分已达到更高的频域分辨率。而且通过对子带的进一步细分,编码器部分消除了多相滤波器组引入的混迭效果。MP3编码器的详细框图如图2-2所示。分析滤波器组比例器和量化器哈夫曼编码掩蔽域值边信号编码器FFTMDCT动态加窗逆MDCT动态加窗合成滤波器组逆比例器和量化器哈夫曼解码器边信号解码器MCUMCU数字通信图2-2 MP3编码器和解码器的结构MP3指定了两种MDCT的块长:长块的块长为18个样本,短块的块长为6个样本,相邻变换的窗口之间有50%的重叠。长块对于平稳的声音信号可以得到更高的频域分辨率,而短块对跳变的声音信号可以得到更好的时域分辨率。在短块模式下,3个短块代替了一个长块,短块的长恰好是一个长块的1/3,所以MDCT的样本数不受块长的影响。给定的一个帧声音信号,MDCT可以全部使用长块或全部使用短块,也可以长短块混合使用。因为低频区的频域分辨率对音质有重大影响,所以在混合块长模式下MDCT对低频的2个子带使用长块,而对其余的30个子带使用短块。这样,既能保证低频区的频域分辨率,又不会牺牲高频域的时域分辨率。长块和短块之间的切换有一个过程,一般用一个带特殊长转短或者短转长数据窗口的长块来完成这个长短块之间的切换。除了使用MDCT外,MP3还采用了其他许多改进措施来提高压缩比而不降低音质。虽然MP3引入了许多复杂的感念,但是它的计算量并没有比MP2增加许多。增加的主要是编码器的复杂度和解码器所需要的存储容量。2.3 MP3播放器解码过程作为一个整体,MP3系统的大部分工作放在了解码部分。但是,普通用户主要是播放MP3文件而不是制造它,这里将重点介绍解码过程。解码器并不需要存储或者利用人类心理声学理论,也不需要进行比特分配过程。MP3播放器所关注的只是检查比特流的头和频谱分布的数据帧,以及和它们存储在一起的边信息,然后再将重建这些信息为音频信号。从某种意义上说,播放器其实就是一个MP3文件、播放列表和声卡的接口,将它们包装为相对简单明了的解码MP3比特流格式的规则。不同的MP3解码器在效率上有着很大的不同,同样在解码后声音的质量上也有很大的不同,在过去的几年里,这些不同对计算机硬件的依赖在很大程度上被忽视了,实际上解码器也同样要消耗大量系统资源的。这在那些没有良好微线程特征的操作系统中特别的明显,如果有适当的硬件,可以在很大程度上免除MP3的中断的问题。一些MP3解码器比其他解码器占用更多的CPU时间,但是,用效率来衡量它们之间的区别并不比用其它特征来衡量的区别大。选择MP3播放器关系到成本、可扩展性、音频质量和外观。图2-3为MP3的整个解码过程的流程图,与解码器的图相对应:同步并读取帧头解码边信息解码比例系数霍夫曼解码转化为PCM采样逆离散余弦变化删除伪信号重新量化图2-3 MP3解码流程本节主要介绍了MP3的编解码过程。MP3播放器的编码过程包括:音频信号数字化、音频采样、音频量化和音频编码。编码器将模拟信号经处理后,转换成数字信号进行传输。MP3的解码是编码的反过程,主要是从编码后的谱线成分中,经过反量化和逆变换,提取出声音信号。MP3的解码总体上可分为比特流分析,霍夫曼编码,逆量化处理,立体声处理,频谱重排列,抗锯齿处理,逆离散余弦变化,子带合成,PCM输出。3 MP3播放器的硬件设计与实现 3.1 系统的总体设计此次设计方案可以方便的将外部的MP3格式的音乐文件传输到本系统的存储器Flash中。如图3-1可以看出本系统的具体硬件设计主要包括:主芯片和USB接口的连接设计,此部分主要用于MP3文件的传输和固件下载;主芯片和按键以及LCD之间的设计连接,用户通过显示屏幕获取播放器的进程息,通过按键来对音乐进行选择和控制;主芯片和D/A转换器之间,这一系统将该系统解码后的数字信号转换为人耳能识别的模拟信号,这一部分主要包括时钟信号、数据信号以及反馈信号的连接;电源转换部分,本系统内部使用的电源一般为3.3V,而USB接口以及电池的电源都需要DC-DC部分来进行转换,从而为系统提供所需的3.3V电源;播放系统和存储系统的切换电路设计。LCD显示器Keyboard(操作按键)MCU(STC89C51)MP3解码器转换器功放音频输出图3-1系统硬件结构MP3工作原理流程图如图3-2所示。读取存储器上的信号解码器对信号进行解码通过D/A转换器将解码出的数字信号转换成模拟信号把转换后的模拟音频放大低通滤波后到音频输出图3-2工作原理流程图MP3播放器的软件结构跟硬件是相对应的,即每一个硬件部分都有相应的软件代码,这是因为大多数的硬件部分