网站大量收购独家精品文档,联系QQ:2885784924

基于PowerPC405MP3实时解码系统设计与实现.docVIP

基于PowerPC405MP3实时解码系统设计与实现.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PowerPC405MP3实时解码系统设计与实现

基于PowerPC405MP3实时解码系统设计与实现   摘要:文章介绍了一种在FPGA上用PowerPC405实现MP3实时解码SoC系统的方法。通过使用IP核搭建SoC硬件结构,并进行定点MP3解码软件算法移植,完成软硬件协同设计和验证,实现MP3音乐实时、高品质的解码播放。   关键字:MP3、解码、FPGA、PoleStar      1引言       随着半导体加工工艺和设计技术的飞速发展,越来越多的系统功能可以集成到一个单芯片(System-on-a chip,SoC)中,加快了不同学科间的交叉融合,使得半导体、电子工程、计算机、自动化、软件工程、通信工程等相关人士均需要学习SoC的相关知识。   工业和信息化部软件与集成电路促进中心(CSIP)作为软件与集成电路产业促进机构, 从促进产业发展、培育创新人才的角度出发,联合国内外知名企业,开发了PoleStar(北极星)综合教学实验平台和配套《SoC系统设计与实践》教程,将业界正在使用的技术和方法转化为适合高校、教育培训机构使用的教程案例,实现高校所学知识与企业所用技术之间的无缝链接,加速我国人才培育培养,助力我国信息产业做大做强。   基于PowerPC405的MP3实时解码系统设计与实现是《SoC系统设计与实践》中的一个高级章节,比较全面的介绍了SoC系统架构设计流程和软硬件协同设计方法。      2SoC平台硬件架构设计      在MP3播放系统实现中,无论硬件架构还是软件优化,目标都是要提高系统的MP3解码及播放能力。其中硬件为解码软件提供平台,软件针对硬件平台特性,实现软件最优效率。   本系统针对MP3解码工作的特性,不同于其它控制类SOC,它需要有很强的运算处理能力。而我们搭建硬件平台的基础还是要看能否达到MP3解码算法的需要。基于以上想法,我们构建的硬件系统需要有较强的乘法运算性能以及高速的内存访问性能。 乘法运算需求:处理器必须要有硬件实现的乘法单元,能够在短时间里完成乘法运算。另外,处理器最好带有额外乘法加速单元,也就是乘加运算单元 。内存访问的需求:为了保证高速的内存访问,系统需要有先进的缓存系统、高效的总线系统以及高速的内存接口控制器,以保证数据能够被高速地读取。   本系统硬件SoC总线采用PLB高速和OPB低速双总线架构,并配置必要的存储器和外设接口,中断控制器采用基于OPB总线的中断控制器,主要实现AC97播放缓存的半满中断响应。音频接口选用基于OPB总线的AC97接口,用于同PCB板级的音频编译码器(Audio Codec)进行音频数据传输,进而实现音频数据的数字和模拟形态的转化,使人听到悦耳动听的音乐。图1为本系统的SoC硬件架构图。考虑到软件解码时,会占用大量的CPU资源,如果CPU在解码的同时,进行数据搬运并发送给音频编译码器(Audio Codec),势必会影响解码的效率,有可能会导致MP3解码和音频播放不连续。本系统采用DMA模块自动进行数据搬运,即在CPU控制下,由AC97发出中断,启动DMA,在不占用CPU资源的情况下,由DMA完成数据搬运工作。在播放音乐时,对AC97接口来说,DMA主要是对AC97 IP核内部的FIFO进行操作,将要播放的音频原始PCM数据压到AC97的播放缓存中。      3MP3音频解压缩      MP3编码的主要方法是在频域上对音频文件内容进行编码压缩,而解码过程是还原频域的内容再变换成原始的时域音频信号。MP3的解码总体上可分为8个过程:比特流分解、霍夫曼解码、反量化处理、频谱重排列、联合立体声处理、IMDCT变换、子带合成、PCM码输出,如图2所示。    MP3解码算法己经有比较成熟的浮点算法实现,在X86体系结构的CPU体系结构中,使用居多。通常对于嵌入式CPU来说,如果没有浮点处理器,可以考虑把浮点运算转化为定点运算将提高运行效率。由于PowerPC405处理器没有浮点协处理器,PowerPC405每运行一次浮点计算,编译器将转化为一次浮点函数库的调用,由于MP3解码中霍夫曼解码、反量化、IMDCT、子带合成过程将使用大量浮点运算,这是一个非常消耗时间的过程,极大的影响解码效率。通过把浮点运算转化为定点运算,同时在不影响精度的情况下,并能有效缩短代码长度,使用定点运算将大幅提高PowerPC405运算效率,同时缩短解码时间。为此我们可以使用定点算法,用定点数表示浮点数,用定点算法代替浮点运算。    图3是一张PowerPC405处理器在对同样算法复杂度任务的软件运行时间的一个统计图,对于同样的运算,采用浮点和定点实现的效率有着一个数量级的差别,如果对定点进行算法优化的话,还将有一个数量级的提高。   浮点小数是数的一种表示方法,由

您可能关注的文档

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档