如何为音频应用设计选择合适的微处理器

描述

目前正在要求为许多消费产品和嵌入式系统供电的MCU支持以前由DSP,ASSP或其他专用芯片处理的各种数字音频功能。幸运的是,许多16位MCU的功能和复杂性可以支持基本的音频处理功能,并允许它们执行诸如音频录制/回放,音频流转换和其他创新音频应用程序之类的任务。但是,您如何选择能够为您的产品提供所需价格,性能和设计灵活性的MCU呢?继续阅读这些设计问题的答案,以及最新的音频应用芯片和开发套件。

音频特性

您为音频应用选择的处理能力的类型和数量是解决方案成本,所需音频质量和可用存储空间之间关系网络中的一个方面。虽然特定应用程序使用的实际样本大小可以在8到24位之间,但我们假设我们在这里处理的大多数使用12到16位样本。由于采样率是您将要处理的声音质量的主要决定因素)我们提供了有用的音频源细分和通常用于捕获或重现它们的采样率(表1)。

音频源频率流行的采样率音调,蜂鸣器通常是3 kHz范围内的单频正弦波,具有最大频率的音调的2到4倍DTMF在500 Hz和3 kHz之间的特定标准频率下两个正弦波的加权和7.2 kHz或更高的报警通常是一系列频率的时变扫描最大频率的两倍人类语音/语音可以被视为300 Hz至3.3 kHz之间信号的加权和。人声能够产生8kHz,11.02kHz,16kHz音频和频率。乐器可以被视为20 Hz和20 kHz之间信号的加权和。人耳可以感知这些频率32 kHz(大多数乐器足够好),44.1 kHz(CD质量),48 kHz(PC声卡)

用于语音级应用的MCU

由于存储空间(和传输带宽)通常在嵌入式系统中非常重要,因此数字压缩应用于数据流,要么丢弃部分它包含的信息或使用更复杂的编码算法以更紧凑的方式表示它。可以使用外部编解码器或在MCU本身上运行的软件编解码器来完成压缩/解压缩。图1说明了使用最常用的ITU(G.7xx)算法以及Speex¹开源编解码器压缩标准128-k/s音频流的质量/数据速率权衡。

dsp

图1:常用语音编解码器的比特率与音频质量。 (由Microchip Technology提供。)

特定编解码器所需的处理能力(MIPS)与压缩比和它提供的音频质量大致成比例,如表2所示。幸运的是,即使是便宜的16-位通用MCU可以轻松支持用于语音处理的简单软件编解码器,例如自适应差分脉冲编码调制(ADPCM)或更简单的G.7xx ITU标准。 G.711算法需要大约1MIPS来以2:1的压缩比处理中等质量的人类语音。 G.722宽带算法提供更好的音频质量和4:1压缩比,同时仅消耗5 MIPS。两种编解码器均可在16位MCU上轻松支持,例如飞思卡尔的HC12系列,Microchip的PIC24F/PIC24H系列或德州仪器广泛的MSP430 MCU系列,并为监控代码或其他应用提供足够的保留。除了通常的电话和VoIP应用之外,这些廉价的技术还可以利用许多嵌入式系统中潜伏的多余MIPS来为烟雾探测器,报警系统或运动和工业设备添加音频警报(甚至语音合成)。

算法G.711 G.726A Speex MIPS 1 13 20闪存(KB)3.5 6 30 RAM(KB)3.5 4 7存储1秒编码语音所需的存储器8 KB 2,3,4或5 KB 1 KB

表2:常用语音编解码器的处理要求。 (由Microchip Technology提供)。

用于音乐应用的MCU

用于解码大多数流行媒体播放器中使用的MP3/4流的处理和内存要求明显高于前面讨论的语音级应用。对于光盘(CD)质量的音频,标准是16位分辨率,采样率为44.1 kHz,许多应用使用24位,采样率为96 kHz或更高。许多设计也需要支持微软的WMA和Apple的AAC解码,这需要更强大的处理能力。因此,使用专用音频解码器(如ROHM的BU9457KV或Cirrus Logic音频解码器)实现这些复杂的编码方案通常更具成本效益,该解码器可生成馈送到集成D/A级或片外的串行PCM数据音频编解码器,例如Cirrus Logic的CS4270或NXP的UDA1341TS。然而,低成本的MCU仍然可以在消费类音频中发挥重要作用,通常是通过管理音频配件中的数字音乐流,例如扩展坞和数字扬声器组(图2)。在这些应用中,PCM音频数据帧(封装在USB音频类格式中)通过处理器的SPI/I²C串行通道之一每1 ms到达一次。 USB音频类数据格式还提供对音量,音调,增益控制和均衡器等常用功能的控制。

dsp

图2:在音频扩展坞中,低成本MCU可用于执行格式转换,采样率调整和流管理,以及支持扩展坞的用户界面。 (由Microchip Technology提供。)

根据信号源的不同,音频流可能会以多种格式之一(即左对齐,右对齐,I2S等)到达,而一些低成本的编解码器只能接受特定的格式。在这些情况下,MCU必须确保数据在送入编解码器之前已正确对齐。由于并非所有音频源都使用相同的采样率,因此编解码器必须使其采样频率适应源或依靠MCU将采样数据流转换为通用数据速率。在使用低成本编解码器的情况下,它通常缺少自己的缓冲区,因此MCU还必须管理流以避免运行不足或过度运行的情况,否则会导致出现静音,爆音和音频不连续数据丢失。

一些提供40 MIPS或更高容量的16位MCU和几乎任何32位MCU都具有处理容量,可支持音频扩展坞中的流管理,缓冲和格式转换。像Microchip这样的一些制造商增加了特殊功能,可以降低实施成本。例如,Microchip MX2系列中的某些MCU具有专门针对这些类型应用的存储器,并具有I²C参考时钟输出。这允许MCU提供采样速率时钟(主时钟),从而无需使用集成或外部PLL的更昂贵的编解码器。

在需要完全可编程解决方案的应用中,可以使用通用MCU(通常为16位)执行MP3/4,AAC或WMA解码,该MCU可提供40 MIPS或更高的通用功能 - 目的RISC处理。这些应用程序的应用程序代码通常占用128k的闪存,可能需要高达48k的RAM,以及用于其他功能的内存,例如用户界面或用于播放器的小型LCD的简单图形处理。例如,Atmel的AT32UC3系列MCU也专为各种消费类音频应用而设计,包括扩展坞,解码器/播放系统和USB音频类设备(图3)。

dsp

图3:Atmel的多功能AT32UC3系列可用作音频扩展坞,MP3,WMA和AAC音频解码器/播放系统或USB音频类设备的基础。 (由Atmel提供。)另一种选择是使用所谓的数字信号控制器(DSC),它具有支持乘法累加(MAC)操作的扩展指令集和支持类DSP功能的硬件加速器。 DSP增强型MCU,如飞思卡尔的56800/E,Microchip的dsPIC 30系列,STMicro的ST10处理器,需要更少的指令来执行等效的代码/解码功能,从而节省资源,用于其他一些功能,如速率适配,高级滤波和均衡算法。

入门大多数制造商通过在一个方便的软件包中提供包含所有必需的硬件,软件和开发工具的特定应用开发套件,使数字音频项目的入门变得简单。其中一个例子是Microchip针对PIC32 MX1和MX2系列的DM320013音频开发套件(图4)。这款灵活的USB供电平台预装了演示代码,用于具有高品质音频功能的音频播放器,包括24位音频记录和播放,USB数字音频,MP3解码和采样率转换,以及支持开发基本用户界面。

图4:PIC32 MX1/MX2入门工具包(DM320013)专为使用mTouch按钮开发高质量音频应用和基本用户界面而设计。 (由Microchip Technology提供。)

Atmel还提供多种专用开发套件,包括EVK1104,其中包含Hi-Fi音频解码和流媒体应用的所有元素。该板采用Atmel的AT32UC3A3256AU 32位微控制器构建,包括一个高速USB On-The-Go(OTG)接口,一个双SD卡接口,ECC NAND闪存和一个立体声16位DAC。该套件还包含用于从大容量存储设备播放MP3文件的参考固件,并演示了Atmel的专利QTouch电容式触摸控制。对于扩展坞,Atmel的EVK1105包含所有必需的参考硬件和软件,用于从iPod,iPhone和iPad设备进行控制和数字音频流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分