我们检测到您正在使用不支持的浏览器. 为了获得最好的体验,请使用Chrome, Firefox, Safari或Edge访问该网站. X

语音或音频信号的记录需要压缩(编码),以便有效地存储或传输. 当系统部署在现场时,一些嵌入式应用程序可能需要录制语音. 新的语音信息可以记录为字段更新的一部分,以更改系统正在播放的现有信息. 在通信应用的情况下, 在输出数据之前可以进行记录(包括压缩).

在这两种情况下,音频的质量取决于两种压缩方案(G.726年,Speex等等.)以及硬件外设(PWM, DAC等.)来复制声音. 大多数需要对流音频进行编码的通信应用程序也需要对接收到的语音数据进行解码. 在所有需要录音的应用中, 微控制器(MCU)或数字信号控制器(DSC)所需的处理器吞吐量(MIPS)在很大程度上取决于编码算法. 本文对这些应用进行了详细的讨论 通信 section. 在本节中,我们将分两部分介绍仅播放应用所需的解决方案:

Software Algorithm Libraries


用于回放音频和语音信号的Software算法的选择取决于在存储之前用于编码/记录原始语音数据的压缩算法. 下图比较了目前使用的各种压缩方案. 我们提供Software库来支持无需支付版税的算法, 例如8位和16位mcu的IMA ADPCM, G.711, Speex和G.726A用于PIC24 mcu和dsPIC® PIC32 mcu的DSCs和ADPCM.

注意:上图中灰色椭圆内显示的算法的MIPS使用统计数据代表了我们在16位PIC上实现这些算法的要求® mcu和dsPIC DSCs.

使用算法的决定通常是基于质量和存储成本之间的权衡,以节省大量音频数据. 另一个影响记录应用程序中使用的处理器选择的关键基准是执行编码算法所需的MIPS. 下表显示了我们的16位mcu和DSCs上各种算法所需的MIPS. 因为大多数需要编码的应用程序也需要解码, 编码和解码的MIPS吞吐量如下:

算法 G.711 G.726A 速度
MIPS 1 13 20
Flash (KB) 3.5 6 30
RAM (KB) 3.5 4 7
存储一秒钟编码语音所需的内存 8 KB 2、3、4或5 KB 1 KB
压缩算法的CPU MIPS使用率占最大吞吐量的百分比  
PIC24F家庭 6.25% -  
dsPIC33F家庭 2.5% 32.5% 50%

下表提供了各种微芯片产品的大致吞吐量:

硬件设计方案


基于音频质量与系统成本的权衡,我们可以在硬件上实现一些变化, 简单性与系统集成等等. 我们的mcu和DSCs支持的常用方法如下:

  • 使用芯片外编解码器或adc
  • 使用片上模数转换器(ADC)

硬件选项1:使用芯片外编解码器或adc

使用语音带编解码器执行此选项的代表性设计可以在 PIC32音频开发板(DM320011). 演示的原理图和源代码可以在随板提供的zip文件中获得.

硬件选项2:使用片内ADC

在这里显示的选项中, 一旦麦克风或线路输入的模拟波形被放大并限制了带宽,就可以使用12位ADC对语音数据进行数字化. 12位ADC外设可用于许多PIC mcu和dsPIC DSCs. 执行此选项的代表性设计可以在 MPLAB® dsPIC DSCs入门套件(DM330011). 演示的原理图和源代码可以在随板提供的zip文件中获得.

文档

Title 下载
AN1367 -将Helix MP3解码器移植到Microchip的PIC32MX 32位mcu上 下载
使用过采样实现更高的ADC分辨率 下载
使用PIC32的高质量音频应用程序 下载
基于PIC微控制器的自适应差分脉冲编码调制 下载
Title 下载
dsPIC33EPXXX(GP/MC/MU)806/810/814和PIC24EPXXX(GP/GU)810/814数据表 下载
dsPIC33FJXXXGPX06A / X08A / X10A数据表 下载
PIC32MZ嵌入式连接与浮点单元(EF)系列 下载
PIC32MX1XX/2XX家庭数据表 下载
PIC32MX330/350/370/430/450/470数据表 下载
PIC24FJ1024GA610/GB610系列数据表 下载
datasheet(数据表)11 page - PIC32MX1XX/2XX 下载

开发工具

描述 零件号
PIC32MX好奇心开发板 DM320103
PIC32MM USB好奇心开发板 DM320107
PIC32MZ嵌入式连接与FPU (EF)入门套件 DM320007
PIC32MZ嵌入式图形与堆叠DRAM (DA)入门套件 DM320010
PIC32MZEF好奇心开发板 DM320209
描述 零件号
BM64蓝牙无线子板 AC320032-3
音频编解码女儿卡- AK4642 AC320100
音频编码器女儿卡- AK7755 AC327755
PIC32音频DAC子卡 AC320032-2
描述 零件号
探索者16/32发展委员会
DM240001-2
dsPIC DSC MPLAB启动试剂盒
DM330011

Software库

记录和回放Software库


音频功能 资源类型 标题和链接 支持家庭
音频和语音 图书馆 MP3解码器库PIC32MX PIC32单片机
音频和语音 图书馆 PIC32音频均衡器滤波器库 PIC32单片机
蓝牙音频 图书馆 PIC32蓝牙®音频Software套件 PIC32单片机
AAC回放 图书馆 PIC32的AAC解码器库 PIC32单片机
流式音频 演示 USB音频耳机演示 PIC32MM单片机
记录和播放,流媒体音频 图书馆 样品速率转换 dsPIC33E
记录 应用说明和源代码 使用过采样实现更高的ADC分辨率 dsPIC33E, dsPIC33F
录音和回放,语音通信 图书馆 SW300026 dsPIC / PIC24 G.711语音编码 & 解码库 dsPIC33E, dsPIC33F
录音和回放,语音通信 图书馆 SW300090-dsPIC G.语音编码/解码库 dsPIC33E, dsPIC33F
录音和回放,语音通信 图书馆 SW300070-Speex语音编码/解码库 dsPIC33E, dsPIC33F
录音和回放,语音通信 图书馆 dsPIC®DSC均衡器图书馆 dsPIC33E, dsPIC33F
语音通讯 图书馆 声学回声消除库 dsPIC33E, dsPIC33F
语音通讯 图书馆 行回声取消库 dsPIC33E, dsPIC33F
语音通讯 图书馆 SW300040-Noise抑制图书馆 dsPIC33E, dsPIC33F
语音通讯 图书馆 dsPIC DSC自动增益控制库 dsPIC33E, dsPIC33F
录音和回放,语音通信 GUI dsPIC DSC语音和音频快进(SAFF)工具 dsPIC33E, dsPIC33F
录音和回放,语音通信 GUI 数字滤波器设计 dsPIC33E, dsPIC33F
录音和回放,语音通信 GUI dsPICworks数据分析 & DSPSoftware(用于PCM和WAV之间的转换) PIC24F、dsPIC33E dsPIC33F