MP3解码器的SOPC实现

来源 :电子世界 | 被引量 : 0次 | 上传用户:gcq1987
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】简单的介绍了MP3的解码原理,并应用SOPC技术构建快速合适的硬件系统,以Altera公司的Nios II软核处理器作为控制及解码单元来完成MP3解码器的设计。对MP3解码器中主要算法模块做了优化和改进,用Verilog语言来实现MP3解码器的RTL设计,并在DE2-70开发板上得到了实时验证,达到了较好的优化效果。
  【关键词】MP3;SOPC;Nios II;硬件实现
  1.引言
  MP3(MPEG Audio Layer3)是高品质的音频压缩标准,因其在音质,复杂度与压缩比的完美折中,占据着广阔的市场,目前在便携式设备领域深受人们喜爱。而随着消费电子的快速发展,MP3在各种场合的需求越来越多,同时针对MP3解码器的设计也越来越多。其中主要有以下三种方式:①以专用MP3编解码芯片为核心加上必要外围电路的VLSI实现;②DSP处理器加外部存储器,数模转换等外围器件实现;③以低速核心处理器(CPU/RISC)与其他硬件加速模块的SOPC设计加上外围器件实现。而第三种实现方式相对于前两种方式在功耗和性价比方面有着明显的优势,本文是基于SOPC技术来实现MP3解码器的设计,其中MP3文件数据用SD卡来存放[1]。
  2.MP3解码流程分析
  MP3解码流程如图1所示,解码的主要过程包括同步提取码流(以帧为单位)哈夫曼解码,比例因子解码,反量化,重排列,立体声处理,混叠重建,IMDCT变换,子带综合滤波合成,最后输出原始的PCM数据。
  在解码过程中,耗时比较多的主要是IMDCT和子带综合滤波这两部分。在编译后它们占据着相当多的硬件资源,功耗特高,所以在设计时针对这两个计算量大的算法IMDCT,子带综合滤波器做了硬件加速处理,来提高整个系统的性能。在IMDCT算法中有长块和短块,计算时长块输入是18点而短块输入是6点,长短块输入的值都是非2的n次方,所以可以采用Szu Wei Lee快速算法,此算法对输入点数越大的运算,其速度提升就越明显。传统的IMDCT算法,在计算长块时需要的是36*18次乘法和36*17的加法,采用Szu Wei Lee算法后,长块的计算只需要43次乘法和115次加法,程序的运算速度显著提高了。在设计子带综合滤波时,直接计算则需要执行32*64次乘法和31*64次加法,两声道采样率为44.1KHz,乘法运算量为(44100/32)*(64*32+512)*2=7056000次/秒,而系统时钟一般都采用的是50MHz,单个周期内占着整个解码时间的58.2%,严重影响了整个系统解码的速率。所以可以根据余弦函数的对称性,并结合Byeong Gi Lee快速DCT算法来进行改进,改进后子带综合滤波则只需要进行384次乘法和376次加法,大大提升了运算速度[2]。
  3.系统的硬件设计
  基于Nios II的嵌入式系统主要是由三部分组成:IP库(NiosII软核处理器,Avalon总线,外围设备接口等),GNUPro软件编译器,SOPC Builder开发工具。本文在硬件设计时使用Altera公司的Cyclone II FPGA芯片,型号为EP2C70F896C6,主要外围设备包括片外SDRAM存储器、SD卡、音频芯片WM8731、LCD等,其中FPGA芯片完成对各个硬件模块和数据流的控制,片外存储器存放程序数据和执行代码,SD卡存放MP3文件,音频芯片将PCM数据流转换输出,LCD显示系统状态,IP核的复用是SOPC设计的关键[3]。其硬件系统结构如图2所示。
  而FPGA内部逻辑设计是以Quartus II为开发环境,以Verilog语言编程实现音频控制,SD卡的读写,液晶显示驱动等功能模块的设计。用SOPC Builder配置并产生NiosII软核处理器以及必要的外设,然后在再通过编译,下载到FPGA的配置芯片中,形成硬件逻辑电路的连接,最后验证系统,从而实现MP3音频文件的输出。除了音频模块、SD卡控制模块、LCD显示驱动模块外其他模块都可以通过SOPC Builder来添加IP核构建。
  至于MP3解码算法中的子带综合滤波,IMDCT变换两部分处理起来特耗时,针对这类耗时问题,可以采用软硬件协同处理(软件中耗时较多的部分进行硬件加速后,往往会比原先软件处理时的速度快上好几倍。)来提高整个系统运行的时间。通过这种设计方法,在综合时可以确定系统软件和硬件之间的相互制约关系,从而保证系统的确定性,高效性。
  4.SOPC片上系统的实现
  在FPGA中搭建SOPC系统时,需要用到如下图3所示的软核处理器和Avalon总线结构和外设接口等,其中,系统时钟c0由外部晶振50MHz倍频后得到的,c1为100MHz外设SDRAM时钟,c2为音频芯片提供的18.51MHz工作时钟。timer用于系统内部时间的产生,time_stamp用于记录指令的运行时间。片外SDRAM存储芯片是作为程序存储器及数据存储器。本系统自定义了AUDIO模块,该模块主要用于与WM8731音频芯片数字接口进行数据传输。
  


  5.实现结果
  本文是基于SOPC技术实现MP3解码器的设计,其优势在于系统功能改进的灵活性,即不改变硬件平台的情况下,可以随便的对系统进行增删和优化,降低系统的成本,这是其他方案很难比拟的地方。而本设计是在在DE2-70开发板上实现的,硬件解码系统采用Verilog HDL语言进行描述,经过RTL级仿真和验证后,在Cyclone II EP2C70F896C6器件内资源占用率为8%,总的寄存器为3335个,系统频率可达到72MHz,经过实际测试,本设计达到了预期的效果。但还存在着一些地方不够完善和有待改进,这同时也是以后MP3播放器设计需要改进和研究的重点:
  (1)本设计功能比较简单,编译后FPGA芯片资源占用的比较少,可进一步增加其它功能,如图像显示。
  (2)如何改进更有效的算法,提高系统运行时间,降低功耗,以达到便携式高性能、低功耗的要求,这是未来MP3设计研究的重点。
  参考文献
  [1]毛丽萍.MP3音频编解码运算中IMDCT算法研究及其FPGA实现[D].[硕士学位论文].华东师范大学,2007.
  [2]欧阳潞河.基于NIOS II 的MP3解码实现[D].[硕士学位论文].西安电子科技大学,2011.
  [3]FPGA现代数字系统设计[M].清华大学出版社,2010.
其他文献
自有正史的几千年以来,人类不仅把蜂蜜当食物来养生,还当作药物来疗病。 中国古代医学上对蜂蜜功效的记载很多,李时珍谈:“蜂蜜之功有五;清热也,补中也,润燥也,解毒也,止痛也
本文主要介绍一辆由大众公司生产的帕萨特领驭轿车,行车过程OBD警告灯点亮,同时出现发动机加速无力的故障现象,而进行诊断与排除的过程。
在《电路分析基础》课程中,功率因数的概念和提高功率因数的方法在正弦稳态电路功率的计算部分被引入,其内容与实际应用结合相当紧密,是教学中的一个重点内容,也是难点内容。
本文介绍一种使用TI的16位超低功耗单片机MSP430F149来接收GPS OEM板的时间数据,进行守时处理,并把实时时间数据通过CAN总线来对外传输。其中,CAN总线是利用MSP430F149单片机和独立CAN控制器MCP2515来实现的。
取适量于60℃均匀化的样品(称准至±0.1mg),必要时按一定比例加入基础油稀释后再加入含有钴内标的航空煤油稀释至要求体积。此作为样品溶液用电感耦合等离子体原子发射光谱法
黄原酸盐(ROCSSNa)俗称黄药,是选矿工业中良好的泡沫浮选捕收剂。黄药可伤及人畜的神经系统和肝脏器官,对造血系统存在不良影响。根据烷烃取代基的不同,常用的黄原酸盐包括乙基黄
采用超高效液相色谱法测定参麦注射液中间产品中的人参皂苷Rg1、Re和Rb1。参麦注射液中间产品经0.2μm滤膜过滤,以ACQUITY UPLC shield BEH RP18色谱柱为分离柱,以乙腈-水为
医院收费卫材全程化管理,包括卫材采购、验收入库、使用科室请领、患者使用、财务成本核算、供应商返款。实现收费卫材的实时实库存的数量管理,物流财流实时一致并进行卫材效期
【摘要】CDIO模式为高职院校技师课程体系开发提供了参考模型和标准。本文对照CDIO的模型、大纲、标准和评价对课程开发、课程设计、课程实施和课程评价分别进行分析,特别强调了课程要以具体的三级实践项目贯穿教学,培养学生的实际职业能力。  【关键词】CDIO;课程;技师;基于项目学习  1.引言  源自美国麻省理工学院的CDIO工程实践模式已经在国内各工程类院校推广开来[1]。在强调“做中学”的课程建
提出了顶空-固相微萃取-气相色谱-质谱法测定烟气中挥发性和半挥发性成分。结合信息量最大的原则,确定了固相微萃取时萃取纤维头为碳分子筛/聚二甲基硅烷萃取纤维头,萃取温度