EDN China > 技术文章 > 消费电子设计 > 音频处理 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

如何在SoC设计中加入低开销、低功耗的音频处理功能

来源:21ic?? 2008年04月18日 ?? 收藏0

?

  硬件实现编解码

  方案2,采用一颗性能相对较低的处理器搭配专门的音频处理硬件,所有的音频处理任务都由专用硬件来完成。通常,这块硬件作为外设挂在系统总线上。音频采样由处理器通过总线送给编解码硬件,或者由编解码硬件通过DMA直接从内存中读取。在这种方案中系统总线也是共享的。

  使用专用编解码硬件的优点在于针对某种特定的编解码格式,它的面积和功耗与其他方案比较是最优的。因此90年代中期的MP3播放器都采用这种方案。它的缺点是每种编解码格式都要增加硬件模块来支持。如图1的设计中,为了支持3种编解码格式,就必须在设计中增加3块硬件逻辑。因此,在需要多格式音频的设计中,这种方案就不再具有优势,而几乎当前所有的SoC设计都需要支持多格式音频编解码。其次,如果编解码算法进行了升级或者出现了bug,为了修复问题,整个SOC芯片就必须重新流片,而不可能通过软件升级来修正错误。此外,实现新的编解码算法时,必须要设计新的硬件模块,将它集成到系统设计中,并重新流片。

在使用专用编解码硬件的方案中

  图1:在使用专用编解码硬件的方案中,每种编解码格式都需增加硬件模块来支持。

  方案3,在通用DSP处理器上通过软件来实现音频编解码,系统中同时包括一颗用来作控制的主处理器(这里的通用DSP处理器是指没有专门针对音频处理做过优化的DSP处理器)。采用DSP处理器的方案有很多优点。首先,DSP处理器中都有硬件乘法器,可以极大提高音频编解码程序的执行效率。其次,因为采用软件方式实现,只增加少量的存储器开销就可以支持多格式音频编解码。实现新的编解码算法也仅仅需要编写新的软件,不必重新流片,从而延长产品的生命周期。

  采用DSP的方案也有缺点。大多数DSP的C编译器效率都比较低,所以一般不用DSP来做控制。系统的控制需要通用处理器来完成。而且,16或32位的DSP处理器对音频处理来说并不是最理想的。虽然当前大多数编解码算法采用16位采样,但在运算的中间过程中为了避免舍入错误,需要留有一定余量。所以16位DSP处理器在实现复杂音频算法时会带来问题。使用双精度整数计算可以避免问题,但效率又不够高导致需要更高的处理器主频。反过来,32位DSP处理器又不能被充分利用。实际上,对于音频算法而言,24位DSP处理器是最适合的。

  音频专用RISC处理器

  基于上述考虑,我们提出了第4种方案,即采用音频专用处理器。基于通用处理器进行音频处理的扩展,使处理器在高效执行音频编解码程序的同时,保持C编译器的效率。图2所示就是一个采用音频专用处理器进行编解码的系统。

采用音频专用处理器进行编解码的系统

  图2:采用音频专用处理器进行编解码的系统。

  这种设计方案有很多优点。首先,音频专用扩展使处理器更加高效的执行音频算法,在较低的主频下提供算法所需的性能,从而显著降低系统功耗。与基于DSP的方案一样,此方案便于实现多格式的音频编解码,也可以通过升级软件来支持新的编解码算法。它的不足之处在于大家对于音频专用处理器的概念还很陌生,下面我们就来介绍一下音频专用处理器。

  Tensilica Hi-Fi2音频处理引擎是基于32位Tensilica Xtensa RISC处理器经过配置和扩展得到的,它可以非常高效的完成音频处理任务。顾名思义,Hi-Fi2音频处理引擎是Tensilica第二代音频处理器。Hi-Fi2音频处理引擎中最关键的扩展就是增加了两个24位的硬件乘法器,它们可以大大提高音频计算的速度。

  然而,乘法器本身并不会减少执行音频算法需要的周期数,周期数减少是因为Hi-Fi2音频处理引擎每个周期可以执行1到2条指令。48位或56位宽的寄存器可以存放2个24位的采样值。利用这些寄存器文件可以高效的处理立体声音频数据。Tensilica总共在Xtensa RISC处理器上添加了300条音频专用指令,创建了一个灵活高效的音频算法处理引擎。

  一套优秀的音频SOC解决方案不仅限于高性能的硬件,还需要有编解码软件,而由于时间的原因,你可能并不打算自己编写程序。虽然从互联网上可以找到一些音频处理程序,但是这些程序并没有经过优化,执行起来效率不高。其次,像Dolby音频编解码这样需要授权的程序是很难在互联网上找到的。目前流行的音频编解码算法都已经移植到了Tensilica的Hi-Fi2音频处理引擎上,而且支持的格式还在不断增加,如图3所示,所有这些编解码程序都是用C语言编写的。处理器的RISC基本指令和音频扩展指令都允许程序员继续用C语言来编程,在保证性能的前提下,提高了软件的可维护性。

目前流行的音频编解码算法都已经移植到了Tensilica的Hi-Fi2音频处理引擎上

  图3:目前流行的音频编解码算法都已经移植到了Tensilica的Hi-Fi2音频处理引擎上。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

音频? 解码?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈