基于可配置处理器Xtensa LX的数字音频方案
时间:05-15
来源:Tensilica公司 Steve Leibson
点击:
所有的媒体都正在向数字格式进行转换,现在就连音乐也几乎都是数字的。电视和视频正迅速转换为全数字格式。数码照片将很快淘汰过时的胶卷。在今后几年,这种转换将是全方位的,数字媒体格式将会成为标准格式。因此,电子行业需要面临数字媒体格式转换引擎的开发,以此为媒体用户提供声音和图像。
音频技术作为第一种完全数字化的媒体,在转换方面进行得最为深入。现在的音频系统必须支持多种数字音频格式,从最早的格式到最新的格式。随着数字音频格式变得越来越先进,其技术也越来越复杂,目的是通过使用更少的位数来得到更好的声音效果。随着大量的数字音频媒体格式(包括MP3、AC3、AAC和WMA|0">WMA)和用于手机的各种语音编解码器的使用,数字音频格式的转换需要某种固件可编程的处理器。对于诸多不同数字音频格式的转换而言,采用专用硬件会显得过于复杂。
许多种可编程处理器都可以用于数字音频格式的转换处理。对PC而言,一般采用通用的32位或者64位CPU处理音频数据,因为这在PC中已经很普遍。这些CPU的主频现在已经达到几GHz,因此其带宽足可以轻松地处理音频数据格式的转换,然而其成本也高达数百美元,且功耗达到几十上百瓦,因此,通用CPU并不适合低功耗、以电池作为电源的设备。
低功耗、低成本的数字信号处理器(DSP)也可以在许多消费类设备中用于实现数字音频编解码器。一般而言,低成本DSP为16位DSP,这类处理器在正确处理现在复杂的16位音频数据编解码时缺少足够的位精度,更不用说更加先进的20位音频格式了。而且,DSP一般缺少媒体产品中与任务控制相关的指令和输入/输出功能,因此在这类设计中通常需要一个控制处理器。这样做的后果是,即使是一个简单的基于DSP的音频播放器也必须要采用双处理器体系结构,这使得设计变得复杂,并增加了设计中存在缺陷的风险。
采用可配置处理器内核可以构建一个音频处理器,该处理器既具有DSP的高性能与低功耗特性,又具有通用处理器的良好控制能力。Tensilica Inc|573|1">Tensilica的基于Xtensa的HiFi音频引擎即是该类处理器的范例。HiFi音频处理器基于32位的Xtensa V处理器内核,具有24位音频专用的指令。该处理器内核已经在多种产品中采用,包括移动电话、便携式音频播放器、便携摄像机、数码相机以及个人视频录像(PVR)。
Tensilica公司Xtensa LX可配置处理器的推出可以提高原有的HiFi音频引擎性能,为用户提供被称为Xtensa HiFi 2音频引擎的更加强大的音频处理器。该引擎可以利用更窄的带宽(因而功耗和能量更低)来运行更复杂的数字音频编解码算法。Xtensa LX处理器具有某些可配置特性,因而可以允许上述的这些改进。
特别的是,Xtensa LX处理器具有称为FLIX(可变长度指令扩展)的功能,允许处理器将现有的16位和24位Xtensa指令混和生成定制的宽指令。每一条FLIX格式的指令都可以将多个独立的操作放进每个宽指令字中的操作槽中。Xtensa LX处理器的Xtensa HiFi 2音频引擎扩展就增加了300多条专用音频DSP指令,包括24位的MAC(乘法/累加)指令和流编码指令,这些指令的引入大大减少了复杂音频编解码算法的执行周期数。
有些新的专用音频指令为24位指令,有些则为64位FLIX格式的指令。HiFi 2音频引擎的FLIX格式指令包括两个操作槽。所有的HiFi 2音频引擎指令扩展都可以直接利用与Tensilica的自动化Xtensa Processor Generator(处理器生成器)生成的处理器一起产生的编译器。如图1所示。
图1:HiFi 2指令格式 HiFi 2音频引擎扩展对Xtensa LX处理器增加的硬件包括两个MAC单元。每个MAC单元可以执行24×24位和32×16位的乘法,两个MAC单元都采用流水线方式执行,因此每个时钟周期都可以产生一个新的执行结果。增加的硬件还包括哈夫曼编码器和解码器、一个位流处理器和两个用于处理24位音频数据的专用寄存器文件。其中一个寄存器文件包括8个48位寄存器,每个寄存器可以存放两个24位数据值;另一个寄存器文件包括4个56位寄存器,保存两个MAC单元产生的扩展精度运算结果。如图2所示。
|
Tensilica DSP Mac Xtensa LX AAC WMA 相关文章:
- 可配置处理器技术优势详解(05-15)
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)