0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择可用于音频捕获与回放的微控制器

电子设计 来源:郭婷 作者:电子设计 2019-02-13 08:19 次阅读

音频捕获和回放正成为许多基于微控制器MCU)的应用程序的必备条件。但是,在保真度和编解码器方面的音频支持范围非常广泛。您可以使用基于简单8位MCU的平台来托管支持音频的应用程序,但高质量的音频可能需要数字信号控制器(DSC)或32位MCU。本文将调查音频空间的广度,提出与不同级别的MCU性能相匹配的潜在应用,并指出可以帮助您开始使用音频元素的项目的现成评估工具包。

让我们首先看一下使用8位MCU可以实现的目标。过去,为使用数字信号处理器或专用音频芯片的产品添加语音记录和回放功能。现在,Microchip Technology发布了一份应用笔记,重点介绍如何使用自适应差分脉冲编码调制(ADPCM)在8位PIC18F67J10 MCU上处理简单的语音编码和解码。 ADPCM编码基于连续语音样本高度相关的事实。该算法基于先前的样本预测每个后续样本,并且仅编码预测样本和实际样本之间的差异。您当然不会使用ADPCM来编码音乐,但该算法在语音应用程序中非常有效。

您将找到基于浮点数学和精度数据转换器的ADPCM实现。这样的实现显然超出了8位MCU的能力。 Microchip开发了基于4位ADPCM数据的实现。 8位MCU可以支持8 KHz采样率的单调音频。

ADPCM编码

编码器的设计(图1)接受二进制补码格式的16位数据流。您可以使用片上10位A/D转换器ADC)对来自麦克风的采样进行编码。解码器采用4位ADPCM数据并生成16位二进制补码输出。您可以使用片内捕捉/比较/PWM(CCP)外设将PWM信号驱动至输出滤波器

如何选择可用于音频捕获与回放的微控制器

图1:ADPCM编码器框图,其中sp是预测样本,si是线性输入样本,d是差值,t是4位ADPCM值。

有许多因素可能会限制此类应用程序在8位MCU上的性能,尽管CPU性能通常不是主要因素。例如,集成ADC的转换速度和闪存的写入速度将实现限制为8KHz速率。事实上,Microchip表示可以在性能较低的8位PIC16系列MCU上实现语音功能。 ADPCM应用程序可轻松适应PIC18F67J10 MCU的存储器占用空间。例如,解压缩算法仅使用可用于程序存储的128千字节中的484个字节。

Microchip不为PIC18系列MCU提供以音频为中心的开发套件,但您可以轻松地将其组合在一起。 PICDEM开发板包括PIC18 MCU和dsPIC30F DSP使能的MCU或数字信号控制器(DSC)。将演讲回放PICtail Plus子板添加到套件中,您就可以进行音频实验了。

如果您将任务的编码部分排除在等式之外,那么8位MCU的音频任务能力就更强了。例如,您可以设计一种产品,播放预先录制的语音片段,作为最终用户的语音提示。您可以单独创建样本,只需使用MCU解码数据并输出PWM信号。

16位音频应用程序

升级到16位MCU,您可能会发现可能会瞄准的音频应用程序类型出现重大跳跃。然而,实际上,差异并不像你想象的那么大。正如我们刚才所讨论的,数据转换时间和内存访问速度等特性可以控制音频功能。你得到的是额外的免费MCU周期来托管应用程序的其他元素。

让我们来看看瑞萨最新的16位MCU系列--RL78系列。该MCU系列针对低功耗应用进行了优化,包括用于电池供电设备。该设计提供41 Dhrystone MIPS(DMIPS),最高时钟速度为32 MHz。这种性能水平使其落后于低端32位MCU,实际上比某些更快。

瑞萨发布了一份专注于在ADPCM应用程序中使用RL78的应用笔记。编码器使用集成的10位A/D转换器对输入进行采样。与我们之前讨论过的Microchip示例一样,该实现以8 KHz采样率创建4位ADPCM数据。解码器可以以11.025KHz的采样率操作。

您可以使用RSK RL78/G13开发人员套件(图2)试验瑞萨的ADPCM应用程序。该套件不是特定于音频的,但它集成了许多以音频为中心的功能,包括单调和立体声音频放大器。该板还包括一个麦克风输入和前置放大器以及一个用于数字麦克风的接口

如何选择可用于音频捕获与回放的微控制器

图2:用于低功耗RL78 MCU的瑞萨开发套件包括单调和立体声放大器以及麦克风输入。

通过迁移到16位MCU可以获得的另一个好处是更广泛的编码算法选择,这些算法的CPU密集程度更高,可以提供更好的音频质量或更高级别的压缩,这意味着您可以存储更多音频可用的内存。

编解码器选择

例如,让我们考虑一下Microchip PIC24系列MCU。对于编码和解码应用,Microchip提供对ADPCM,G.711,G.726A和Speex编解码器的支持。实际上有更多的编解码器选择,但列出的编解码器可以免费使用。

G.711是ITU(国际电信联盟)标准,广泛用于电话应用。该标准规定了8位采样,8KHz采样率,并使用PCM算法。

G.726A也是ITU标准,基于ADPCM。该标准规定了8 KHz的采样率,但在样本大小方面提供了灵活性,并提供16,24,32或40 Kbit/s数据速率的选择。

Speex是一款开源编解码器,专为IP语音(VoIP)应用而开发。编解码器基于代码激励线性预测(CELP)算法。编解码器可支持8,16和32 KHz采样率。

一般来说,G.711提供了我们讨论过的最佳选择。 Microchip表示,相对于PIC24 MCU,它需要大约60 MIPS的数量级才能实现。根据所选的编码选项,G.726A编解码器可能需要16到40 MIPS。 Speex编解码器在某些情况下可以在质量方面与G.726A匹配,并且需要不到16 MIPS。

根据Microchip的说法,G.711编解码器需要8 KB才能存储1秒的语音。 G.726A编解码器的要求范围为2到5千字节,可存储一秒钟。同时,Speex编解码器只需要1 KB即可存储一秒钟的语音。

添加DSP功能

Microchip实际上将PCI24系列与dsPIC33 DSC系列组合在一起(图3),因为IC共享相同的CPU架构,尽管后者增加了对DSP应用的数学支持。在音频应用方面,通过转移到DSC可以看到您添加的内容很有趣。

dsPIC33在支持的编解码器方面没有太多增加,但同样,您将释放可用于应用程序其他方面的CPU周期。但是,DSC允许您使用Microchip的自动增益控制库,它可以在编码过程之前自动调整语音信号的幅度。该功能在扬声器和麦克风之间的距离变化的应用中特别有用,例如在扬声器电话中。

Microchip dsPIC33 IC还可以使用该公司的语音和音频快进工具。设计团队在开发过程中使用该工具实时控制以音频为中心的算法,如噪声抑制,回声消除和均衡。先前的特征也在库中实现。此外,基于GUI的语音工具生成可以移植到PIC33 DSC的代码。

Microchip提供了一个全面的以音频为中心的开发工具集(图3),用于基于PIC24和dsPIC33的设计。 Explorer 16通用开发板支持两个MCU系列。您可以通过音频PICtail Plus子卡和该产品附带的软件添加音频支持。该组合支持16位和24位音频,包括用于存储音频的4 Mbits串行闪存,并包含一个低通滤波器,用于解调MCU的PWM输出。

如何选择可用于音频捕获与回放的微控制器

图3:对于dsPIC MCU系列,Microchip提供了一组强大的以音频为中心的库,可通过基于GUI的语音和音频快进开发工具进行管理。

32位和音乐

现在让我们继续前进到32位空间。正如您所料,音乐通过32位MCU进入画面。通常,MCU不能实时将音乐编码为MP3或WMA(Windows Media Audio)等格式。但32位MCU可以处理完美的音乐解码,以及我们之前讨论过的所有音频应用。如果要实现编码,则需要使用专用的编解码器IC。

当您进入音乐区域时,您通常会超越片上外设的功能,以产生所需的音频质量。 MCU和DAC的组合可以处理16至24位音频,采样速率为32至48 KHz。一旦考虑32位空间,您还将看到以音频为中心的MCU产品。例如,Atmel提供AT32UC3系列32位MCU,包括通用和音频专用版本。这些产品基于AVR MCU内核。

音频MCU的一个例子是AT32UC3A0512AU MCU,它集成了512 KB的闪存和64 KB的RAM。音频MCU携带设备执行许可算法(如MP3,WMA和AAC解码器)所需的标识号。 MCU集成了便携式音乐播放器所需的完整功能集,例如支持闪存卡和强大的USB堆栈。

Microchip还在其基于MIPS内核的32位PIC32 MCU系列上支持音乐应用。 32位MCU不支持DSPIC33可用的增益控制库或语音和音频快进开发工具。但是,32位产品支持我们在此讨论的与Microchip MCU相关的所有其他编解码器。

正如您所料,Microchip为32位MCU提供了许多开发工具,这些工具将在音频和音乐项目中派上用场。 PIC32音频开发板(图4)集成了PIC32MX795F512 MCU,512 KB闪存和128 KB SRAM。该板还包括一个Wolfson编解码器,可以处理实时音乐编码和解码。 Microchip还支持通过开源Helix MP3解码器库在PIC32上进行解码

图4:Microchip的基于PIC32的音频开发板与iPod PICtail配对,其中包括用于Apple iPod的对接连接。

开发板包括一个与iPod上使用的Apple MFi接口兼容的连接器。 Microchip还提供名为iPod PICtail Plus的配套产品,其中包括iPod的底座。

如您所见,鉴于MCU供应商提供的工具和库的广泛性,为基于MCU的系统设计添加音频功能相对简单。您必须接近这样的设计,并对某一类MCU可以支持的音频质量抱有现实的期望。您会发现即使是非常低端的MCU也可以处理短音频片段的播放。随着处理能力的提升,您可以为音乐添加编码并最终支持。

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

    关注

    48

    文章

    6812

    浏览量

    147653
  • 解码器
    +关注

    关注

    9

    文章

    1073

    浏览量

    40159
  • 音频
    +关注

    关注

    28

    文章

    2600

    浏览量

    79973
收藏 人收藏

    评论

    相关推荐

    选择最佳微控制器的10个步骤

    生产的器件。步骤8:选择开发套件选择一种新的微控制器的一个重要步骤是找到一款配套的开发套件,并学习控制器的内部工作原理。一旦工程师热衷于某种器件,他们应寻找有什么
    发表于 10-21 15:18

    如何为嵌入式应用选择合适的微控制器

    为嵌入式应用选择合适的微控制器可能是一项至关重要的任务。不仅有各种各样的技术选择需要考虑,还有商业案例问题,如价格和交付时间可能会削弱项目。在项目或嵌入式系统应用程序开始时,很有可能在嵌入式系统
    发表于 12-21 17:58

    IR数据库可用于PIC24微控制器吗?

    我们正在为红外控制设备工作,我们希望用PIC24设计红外发射和红外学习。是否存在相同的应用程序注释。IR数据库可用于PIC24微控制器
    发表于 08-14 12:30

    用于外部微控制器的SPI连接

    BlueNRG-MS设备,用于天线或测量仪器的SMA连接以及用于外部微控制器的SPI连接。该主板基于STM32L,作为驱动BlueNRG
    发表于 06-01 17:03

    用于LPC11Uxx微控制器的12MHz晶体单元的选择指南

    FA-20H,振荡电路和用于LPC11Uxx微控制器的12MHz晶体单元的选择指南用于移动电话,蓝牙,W-LAN,ISM频段用于MPU应用的
    发表于 08-07 09:41

    如何选择最佳微控制器

    为产品选择正确的微控制器可能是项令人怯步的任务。您不仅要思考许多技术特性,还要考虑成本和备货时间等会削弱项目的业务方面问题。在项目初期,您会有立即动手的冲动,想要在商定系统的细节之前开始选择
    发表于 01-26 07:29

    怎样选择适合工程需要的微控制器

    1.4 微控制器选型在项目的最初阶段,首先需要解决的问题是选择适合工程需要的微控制器。通常,选择一款适合工程需求的微控制器,不仅需要考虑成本
    发表于 08-05 06:39

    微控制器MCU是什么

    在开发嵌入式系统时,其中一个选择是将计算硬件基于微控制器,而不是微处理MPU。这两种方法都有其吸引力,但通常它们将在不同的应用中找到。通常,微控制器MCU
    发表于 11-03 06:45

    微控制器MCU的相关资料推荐

    在开发嵌入式系统时,其中一个选择是将计算硬件基于微控制器,而不是微处理MPU。这两种方法都有其吸引力,但通常它们将在不同的应用中找到。通常,微控制器MCU
    发表于 11-11 09:09

    如何使用STM32微控制器的DAC生成音频和波形?

    如何使用STM32微控制器的DAC生成音频和波形?
    发表于 11-19 06:06

    什么是微控制器MCU

    在开发嵌入式系统时,其中一个选择是将计算硬件基于微控制器,而不是微处理MPU。这两种方法都有其吸引力,但通常它们将在不同的应用中找到。通常,微控制器MCU
    发表于 10-29 10:56

    在STM32微控制器系列中使用DAC生成音频和波形

    的模拟电压。 STM32 DAC模块是一个12位字转换,有两个输出通道用于支持立体声音频。 DAC可用于许多音频应用,如:安全警报、蓝牙耳
    发表于 10-10 07:32

    STM8L和STM32L系列微控制器可用封装汇总

    本资料是关于意法半导体的STM8L和STM32L系列微控制器可用封装汇总。 图 STM8L系列微控制器的部分可用封装
    发表于 09-20 16:40 269次下载
    STM8L和STM32L系列<b class='flag-5'>微控制器</b>的<b class='flag-5'>可用</b>封装汇总

    选择一个用于音频捕获回放的MCU

    音频捕获回放成为许多基于微控制器(MCU)的应用程序的必要条件。然而,音频支持的保真度和编解码器的范围是难以置信的广泛。你可以启用基于主机
    发表于 07-03 11:41 7次下载
    <b class='flag-5'>选择</b>一个<b class='flag-5'>用于</b><b class='flag-5'>音频</b><b class='flag-5'>捕获</b><b class='flag-5'>回放</b>的MCU

    如何选择微控制器

    干货 | 如何选择微控制器
    的头像 发表于 09-21 17:23 348次阅读