第1章绪论1.1 MP3播放器的发展沿革MP3播放器的设计是一门集计算机技术、通信技术和数字多媒体技术于一体的综合设计。
媒体在中国的宽带建设中被列为最主要的应用之一,越来越多的提供网络在线服务的运营商开始采用网络视频媒体服务解决方案,以增强在网络服务上的优势。
媒体将成为未来互联网应用的主流,并将推动互联网整体架构的革新。
近年来,媒体技术在世界范围内己有应用,特别是1995年推出第一个Internet媒体播放器以来,Internet媒体应用有了爆炸性增长。
互联网的发展更是决定了媒体市场的广阔前景。
商业网站利用媒体上新闻、音乐直播和点播,企业和机构采用点播和媒体进行员工培训、信息发布、公司介绍等,可提高效率,节约开支。
随着计算机技术、网络技术、数字多媒体技术等高科技技术的发展,媒体播放器技术也得到了迅速发展。
媒体播放器的发展大致可分为两个阶段:基于PC的媒体播放器阶段和嵌入式媒体播放器阶段。
目前基于PC的MP3播放技术市场上主流的媒体技术有三种,分别是RealNetworks公司的RealMedia, Microsoft的Windows Media和Apple公司的Quicklime。
这三家的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议这三个关键要素在里面。
Apple公司的Quicklime是一个非常老牌的媒体技术集成,是数字媒体领域事实上的工业标准。
之所以说集成这个词是因为Quicklime实际上是一个开放式的架构,包含了各种样的流式或者非流式的媒体技术。
目前的最新版本支持MP4文件格式的播放。
RealNetworks公司在20世纪90年代中期首先推出了媒体技术,并随着互联网的急速发展而壮大了自身,在市场上处于主动地位,并拥有最多的用户数量。
RealMedia通过基于SMIL并结合自己的RealPix和RealText技术来达到一定的交互能力和媒体控制能力,不过相比Quicklime来说还有一段距离。
Microsoft是三家之中最后进入这个市场的,但利用其操作系统的便利很快便取得了一定的市场份额。
Windows Media的关键核心是MMS协议和ASF数据格式,MMS用于网络传输控制,ASF则用于媒体内容和编码方案的打包。
其实从一般的角度来看,这三种技术之间的差异并不大。
总的来说,如果使用Windows 服务器平台,Windows Media的费用最少。
Quicklime在性能价格比上具有优势,而RealMedia 则在用户数量上有优势。
目前虽然基于PC的媒体播放系统仍然占据多媒体应用的主要市场,但是它具有一个致命缺点就是,使用基于PC平台的媒体播放器的用户必须熟练掌握PC技术,并且其应用无法离开多媒体PC。
近两年随着媒体技术应用到各个领域,特别是计算机、通信、消费电子产品领域(3C产业—Computer,Communication,Consumer Electronics),对视频播放系统的要求也越来越高:操作简单、实时可靠、多功能、数字化、经济实用的媒体播放器的开发和设计正越来越多地受到人们的瞩目。
基于嵌入式技术的媒体播放器应运而生。
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统以其本身体积小,实时性高,稳定性好,支持以太网等优点,成为多媒体应用领域的新热点。
基于嵌入式技术的媒体播放器有效地将嵌入式技术和媒体技术结合在一起,可以很好地解决基于PC的媒体播放器在实际应用中存在的不便和问题。
和基于PC的媒体播放器相比,基于嵌入式技术的媒体播放器具有:体积小,携带方便,功能专业化高,成本较低,稳定性高,实时性好等特点。
因此基于嵌入式技术的流体播放器必将有良好的应用与发展前景,特别是在消费电子产品领域(3C产业)。
1.2 课题的内容和意义在一个典型的嵌入式媒体播放器的无线以太网应用中,多个嵌入式媒体播放器利用其无线网卡和一个无线接入点(Access Point,简称AP)组成一个BSS (Basic Service Set),这个BSS通过无线接入点和计算机网络相连;媒体服务器也通过其以太网接口连接在计算机网络上。
媒体服务器根据获得的请求向嵌入式媒体播放器发送媒体数据;嵌入式媒体播放器向媒体服务器提出请求,在媒体服务器响应后接收媒体服务器发送过来的多媒体数据流并进行相应的解码和播放。
本课题对该嵌入式媒体播放器的嵌入式系统进行了分析和设计:●首先结合主要芯片的性能对MP3播放器的硬件进行了设计。
●本播放器的硬件设计以AT89C51SND1C为核心。
●其次根据硬件设计基础和Linux下编程的特主要芯片的性能对MP3播放器的硬件进行了设计点对嵌入式软件进行了总体设计。
●嵌入式Linux操作系统使用的是Monta Vista Linux。
在其基础上开发的嵌入式媒体播放器应用软件主要有三部分构成,分别是图形用户界面模块、系统管理主控模块和音频视频解码器。
图形用户界面模块通过事件/消息机制和系统管理主控模块交互。
音视频解码器模块可则从系统管理主控模块获得编码的音视频数据并对其解码后发送己解码的音视频数据给系统管理主控模块。
●接着对嵌入式媒体播放器的应用软件的音频视频解码模块的实现进行了详细设计。
本嵌入式媒体播放器支持MP3的音频。
●为了达到性能需求的要求,还需要对软件进行必要的优化。
对于MP3音频解码,采用定点优化的MP3算法以及利用IPP库中对MP3的优化,使得实时解码MP3达到比较高的效率。
●最后完成对硬件功能和性能的测试工作。
第2章方案选择及主要芯片简介2.1 MP3播放器原理说明经过近段时间的学习和了解,我认为MP3播放器的原理归根结底就是数字化信号的压缩、解码转换、传送放大的一个过程。
数字化的声音有很多种存在形式:W A V、MP3、AAC 等等。
但是无论怎样,声音的数据量由两方面决定:频度和样本精度。
由于对于声音的数字化涉及较广的数学和感知领域的知识,我们只是简要介绍一下MP3音频。
MPEG-1音频定义了3个分明的层次,它们的基本模型是相同的。
层1是最为基础的,层2和层3都在层1的基础上有所提高。
每个后继的层次都有更高的压缩比,但也因此需要更加复杂的解码器。
我们平时说的MP3解码就是说MPEG-1音频解码标准的第三层。
MPEG-1声音标准所提供的三个独立的压缩层次具体如下:层1:编码器最为简单,编码的输出数据率为384kb/s,主要用于小型数字盒式磁带;层2:编码器的复杂程度较高,编码输出数据率为256kb/s到192kb/s,广泛应用于CD,VCD等;层3:编码器最为复杂,编码器的输出数据率为64kb/s,即为现今非常流行的MP3。
MP3的数据是以帧流的形式存储或传输的,每个帧由帧头和帧数据组成。
媒体每一帧包含的比特数可以是不定的,但是能从帧头信息中的数据计算得到媒体。
公式为:帧内比特数=(帧内采样数x位率)/采样率。
对于MP3,帧内的数据包含2x576个时城采样值,采样率有44.1kHz,48kHz,32kHz3种,位率是从32kbps到320kbps。
帧头(header)包括头信息(4个字节),CRC校验数据(可选,2个字节),帧边信息(也可称为附加信息。
单声道为17个字节,双声道为32个字节)。
其中头信息中包含了MP3帧流的特征信息,有4个字节,32位。
具体为:同步字(OXFFF)、标识符、层、CRC校验位、使能位串指数、采样频率、填充位、私有标志、模式、模式扩展位、版权、原始流/复制流和增强方式。
帧边信息包含了解码所需的一切信息,如主数据开始指针、主数据位数、与Huffman解码相关的信息、与逆量化相关的信息等。
帧数据(main_data)包括两个粒度组的数据,这两个粒度的数据几乎是相互独立的。
每个粒度有576个时域的采样值。
每个粒度的数据又包含了每个声道的数据(分单声道和双声道),而每个声道数据中具体包含了MP3解码所需要的比例因子和Huffman编码的数据。
最后是辅助数据。
但是,用于解码的帧的主数据的起始位置并不一定在该帧边信息后,而是根据帧边信息中主数据开始的值来步扩展和完善。
采样频率的选择性更高,更接近CD音质;并且采用了解析度更高的滤波器组,达到很高的压缩率,并且可大幅度降低传输时间及介绍存储空间,适合新一代音乐产品决定主数据起始位置的前移字节数。
但是,用于解码的帧的主数据的起始位置并不一定在该帧边信息后,而是根据帧边信息中主数据开始的值来决定主数据起始位置的前移字节数。
2.2 方案选择在了解以上的基本原理后,我就开始收集关于MP3和U盘的具体资料。
其基本情况如下:(1)了解各个基本部分的技术细节经过对U盘和MP3技术细节的了解,得到了以下一些结论:关于CPU、USB Device接口芯片和存储器3部分,市面上的商业产品,一般是把前两个部分集成在一起的,采用专用的带USB控制器的CPU;存储器一般为Flash,容量为8MB、16MB、32MB、64MB不等,而这里又以三星的NAND(与非型)非线性Flash存储器最为常用。
(2)重新对功能整体进行整合对功能定义中的各个基本部分的具体内容的技术细节有一个大体了解之后,需要重新对各个基本部分进行整合,可能对应着某个芯片。
而整个系统就是这些芯片之间的有机协调与配合。
除了整个系统各个功能模块所对应的芯片间可能有不同的集成形式外,每种芯片也有可选方案,不同厂商生产的同类芯片可能各有千秋。
也可根据其他一些偶然因素来确定使用何种芯片。
当然是具体问题具体对待了!经过各种途径的查找,最后总结出3种有代表性的MP3(U盘)方案,如下表2-1所示。
表2-1 带有U盘功能的MP3的可选方案在经过对芯片的价格、可购性进行了详细的了解之后,方案最终确定下来之前,还需要了解一下一些芯片可用的参考设计多不多,或曾经用过的人对此的评价,可以为自己的最终选择提供一些参考。
最后决定采用方案1。
影响方案综合评价的各主要原因如表2-2所示。
表2-2 影响方案综合评价的各主要原因由上表分析结果,我们不难看到方案1的优点,其主要内容如下:(1)CPU+解码器+USB 控制器:A T89C51SND1C。
(2)D/A 转换:CS4330A 。
(3)音频放大:任意双路功率放大芯片即可。
(4)存储器:K9F2808,16MB 。
根据方案的选择以及各个芯片资料中的说明,下图为主要芯片间的通信框图,如图2-1所示。
图2-1 MP3播放器内部通信框图2.3 主要芯片简介2.3.1 AT89C51SND1C单片机采用美国ATMEL公司的AT89C51SND1C芯片为主控制器,三星公司的闪存芯片K9F2080为外部存储器进行MP3硬件播放器设计与实现。