许多消费产品和嵌入式系统所采用的 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。人类声音 能够生成这些频率 |
8 kHz,11.02 kHz,16 kHz |
音乐和 音乐 乐器 |
可视为信号的加权和 20Hz 至 20 kHz。人耳 可以感知这些频率 |
32 kHz(对大多数 乐器来说已经足够),44.1 kHz(CD 品质),48 kHz(PC 声卡) |
Audio Source | Frequencies | Popular Sampling Rates |
Tones,Buzzers | Usually a sinusoid of single frequency within the 3 kHz range |
2 to 4 times the tone with the largest frequency |
DTMF | A weighted sum of two sinusoids at specific standard frequencies between 500 Hz and 3 kHz |
7.2 kHz or greater |
Alarms | Usually a time-varying sweep of a range of frequencies |
Twice the largest frequency |
Human Speech /Voice |
Can be viewed as a weighted sum of signals between 300 Hz to 3.3 kHz.A human voice is capable of generating these frequencies |
8 kHz,11.02 kHz,16 kHz |
Music & Musical Instruments |
Can be viewed as a weighted sum of signals between 20Hz and 20 kHz.A human ear can perceive these frequencies |
32 kHz(Good enough for most instruments),44.1 kHz(CD quality),48 kHz (PC soundcards) |
用于语音级应用的 MCU 由于嵌入式系统中的内存空间(和传输带宽)通常非常宝贵,因此对数据流应用数字压缩,要么丢弃其中包含的部分信息,要么使用更复杂的编码算法以更紧凑的方式表示它。压缩/解压缩可以使用外部编解码器或在 MCU 本身上运行的软件编解码器来完成。
图 1 说明了使用最常用的 ITU (G.7xx) 算法以及 Speex¹ 开源编解码器压缩标准 128 kbit/s 音频流所涉及的质量/数据速率权衡。
特定编解码器所需的处理能力 (MIPS) 数量与其提供的音频的压缩比和质量大致成正比,如表 2 所示。
幸运的是,即使是廉价的 16 位通用 MCU 也可以轻松支持用于语音处理的简单软件编解码器,例如自适应差分脉冲编码调制 (ADPCM) 或更简单的 G.7xx ITU 标准。G.711 算法需要大约 1 MIPS 来处理 2:1 压缩比的中等质量人类语音。
G.722 宽带算法提供更好的音频质量和 4:1 的压缩比,同时仅消耗 5 MIPS。这两种编解码器都可以轻松地在 16 位 MCU 上得到支持,例如 Freescale 的 HC12 系列、Microchip 的 PIC24F/PIC24H 系列或德州仪器的 MSP430 MCU 系列,并为监控代码或其他应用提供足够的储备。
除了常见的电话和 VoIP 应用之外,这些廉价的技术还可以利用许多嵌入式系统中剩余的 MIPS,为烟雾探测器、报警系统或运动和工业设备添加音频警报(甚至语音合成)。
表 2:常用语音编解码器的处理要求。(由 Microchip Technology 提供)。 用于音乐应用的 MCU 解码大多数流行媒体播放器中使用的 MP3/4 流的处理和内存要求明显高于前面讨论的语音级应用。
对于光盘 (CD) 质量的音频,标准是 16 位分辨率和 44.1 kHz 采样率,许多应用使用 24 位,采样率为 96 kHz 或更高。许多设计还需要支持 Microsoft 的 WMA 和 Apple 的 AAC 解码,这需要更多的处理能力。
因此,使用专用音频解码器(如 ROHM 的 BU9457KV 或 Cirrus Logic 音频解码器)实现这些复杂的编码方案通常更具成本效益,该解码器产生串行 PCM 数据,馈送到集成 D/A 级或片外音频编解码器,如 Cirrus Logic 的 CS4270 或 NXP 的 UDA1341TS。
尽管如此,低成本 MCU 仍可在消费音频领域发挥重要作用,通常是通过管理音频配件(如扩展坞和数字扬声器组)中的数字音乐流(图 2)。在这些应用中,每 1 毫秒就会通过处理器的 SPI/I²C 串行通道之一到达一帧 PCM 音频数据(封装在 USB 音频类格式中)。
USB 音频类数据格式还提供对音量、音调、增益控制和均衡器等常见功能的控制。
图 2:在音频基座中,低成本 MCU 可用于执行格式转换、采样率调整和流管理,以及支持基座的用户界面。(由 Microchip Technology 提供。)
根据源的不同,音频流可能以几种格式之一到达(即左对齐、右对齐、I2S 等),并且一些低成本编解码器只能接受特定格式。在这些情况下,MCU 必须确保数据在馈送到编解码器之前正确对齐。由于并非所有音频源都使用相同的采样率,因此编解码器必须根据源调整其采样频率或依靠 MCU 将采样数据流转换为通用数据速率。
在这些使用低成本编解码器的情况下,它通常没有自己的缓冲区,因此 MCU 还必须管理流以避免出现过低或过高的运行条件,否则会导致数据丢失导致的静音、爆音和音频不连续。
一些 16 位 MCU 和几乎任何 32 位 MCU 都能够提供 40 MIPS 或更高的处理能力,支持音频底座中的流管理、缓冲和格式转换。一些制造商(如 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)。
图 3:Atmel 多功能 AT32UC3 系列可用作音频扩展坞、MP3、WMA 和 AAC 音频解码器/播放系统或 USB 音频类设备的基础。(Atmel 提供)
另一种选择是使用所谓的数字信号控制器 (DSC),它具有支持乘法累加 (MAC) 操作的扩展指令集和硬件加速器,使其具有类似 DSP 的功能。DSP 增强型 MCU(如 Freescale 的 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 设备进行数字音频流传输的所有必需参考硬件和软件。
我们推荐一款应广科技语音单片机,
应广单片机语音控制IC芯片开发应用设计 语音OTP烧录芯片
广PMS132/B单片机简介
通用 OTP 系列
不建议使用于AC 阻容降压供电或有高EFT要求之应用
工作温度范围: -20°C ~ 70°C
应广PMS132/B单片机特性
- 2KW OTP 程序储存器;
- 128 Bytes 数据储存器;
- 一个16位定时器;
- 两个8位定时器(可做为PWM产生器);
- 三个11位硬件PWM生成器;
- 提供一个比较器;
- 支持乘法指令 (1T 8×8);
- 14 个IO 引脚带有上拉电阻选项;
- 每个IO 引脚都可设定唤醒功能
- Band-gap 电路提供1.2V 参考电压;
- 12信道12位ADC,其中一个通道来自于内部 band-gap 参考电压或 0.25*VDD;
- 提供ADC 参考电压:外部输入,内部VDD,Band-gap 1.2V,4V,3V,2V;
- 时钟源:内部高频RC震荡器,内部低频RC震荡器和外部晶体震荡;
- 对所有带有唤醒功能的IO,都支持2种可选择地唤醒速度:正常唤醒与快速唤醒;
- 八段LVR 复位电压设定: 4.0V, 3.5V, 3.0V, 2.75V, 2.5V, 2.2V, 2.0V, 1.8V;
- 四个可选择的外部中断引脚。
应广PMS132/B单片机CPU 特性
- 单一处理单元工作模式;
- 提供87 个有效指令;
- 1T(单周期)指令;
- 可程序设定的堆栈指针和堆栈深度;
- 数据存取支持直接和间接寻址模式,用数据存储器即可当作间接寻址模式的数据指针(index pointer);
- IO 地址以及储存地址空间互相独立