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

需要回放声音的音频应用程序通常分为两类:

  • 回放预先录制和存储的音频
  • 播放流媒体音频

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

Software算法的库


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

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

使用哪种算法的决定通常是基于质量和系统成本之间的权衡,以节省大量音频数据. 下表显示了不同算法在存储到内存中的实际语音秒数方面的表现.

算法 G.711 G.726A 速度
存储一秒钟编码语音所需的内存 8 KB 2、3、4或5 KB 1 KB

这如何影响你选择MCU, DSC或内存组件?


这个表格显示了通过使用相同的编码算法,在一些示例设备上,语音可以被存储在芯片上的Flash内存中的时间:

示例设备及其代码/音频存储能力 G.711 G.726A 速度
25XX1024串行EEPROM (128kb存储) 16秒 25至64秒 128秒
PIC24FJ256GA或PIC24HJ256GP610 (256kb存储) 32秒(1) 52至128秒 n/a
dsPIC33EP512MU810 (512kb存储) 64秒(1) 102 ~ 256秒 512秒
PIC32MX360F512L(存储512kb) 64秒(1) 102 ~ 256秒 512秒

注1:这是理论最大值. 因为应用程序将占用其中的一些内存, 实际的音频存储能力将低于这里所述的限制.

硬件设计方案


基于音频质量和系统成本的权衡,在硬件上有一些变体可以实现, 简单性和系统集成, 等. PIC mcu和dsPIC DSCs支持的流行方法如下所示:

  • 使用芯片外编解码器或dac
  • 使用片上PWM,然后低通滤波
  • 使用片上模数转换器(ADC)

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

方法可以对该选项进行原型化 探索者16/32发展委员会. 演示的原理图和源代码可以在随板提供的zip文件中获得.

硬件选项2:使用片上PWM,然后外部低通滤波

此选项可用于我们的许多8,16和32位PIC mcu和dsPIC DSCs. 使用PWM外围设备驱动扬声器. 在放大之前对PWM输出进行滤波. 方法可以对该选项进行原型化 探索者16/32发展委员会.

硬件选项3:使用片内ADC

在这里显示的选项中, 除扬声器和模拟放大电路外的所有硬件都位于MCU或DSC中. 在一些dsPIC DSCs中可以使用16位音频DAC外设.

文档

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