基于简单8位MCU的支持音频的应用程序

发布者:楼高峰最新更新时间:2022-09-20 来源: elecfans关键字:8位MCU  应用程序 手机看文章 扫描二维码
随时随地手机看文章

  音频捕获和播放正在成为许多基于微控制器 (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 信号驱动到输出滤波器。

pYYBAGL1zn-AQbZ6AABV-AXy2Cg214.png

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

  有许多因素可能会限制此类应用在 8 位 MCU 上的性能,尽管 CPU 性能通常不是主要因素。例如,集成 ADC 的转换速度和闪存的写入速度将实现限制为 8 KHz 速率。事实上,Microchip 表示,语音功能可以在性能较低的 8 位PIC16 系列MCU 上实现。ADPCM 应用很容易适应 PIC18F67J10 MCU 的内存占用。例如,解压缩算法仅使用 128 KB 中的 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,而且实际上比某些 MCU 更快。


  瑞萨电子发布了一份应用说明,重点介绍在 ADPCM 应用中使用 RL78。编码器使用集成的 10 位 A/D 转换器对输入进行采样。与我们之前讨论的 Microchip 示例一样,该实现以 8 KHz 采样率创建 4 位 ADPCM 数据。解码器可以以 11.025 KHz 的采样率运行。您可以使用RSK RL78/G13开发人员套件(图 2)


  对 Renesas 的 ADPCM 应用程序进行试验。该套件不是针对音频的,但它确实集成了许多以音频为中心的功能,包括单音和立体声音频放大器。该板还包括一个麦克风输入和前置放大器以及一个用于数字麦克风的接口。

pYYBAGL1zoyAHYtLAAJQ4suh38w367.png

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


  迁移到 16 位 MCU 的另一个好处是可以选择更广泛的编码算法,这些算法更占用 CPU 资源,可以提供更好的音频质量或更高级别的压缩,这意味着您可以在可用内存中存储更多音频。


  编解码器选择

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


  G.711 是广泛用于电话应用的 ITU(国际电信联盟)标准。该标准规定了 8 位样本、8 KHz 采样率,并使用 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 KB 以存储一秒。同时,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 系列。您可以通过Audio PICtail Plus添加音频支持该产品附带的子卡和软件。该组合支持 16 位和 24 位音频,包括用于存储音频的 4 Mb 串行闪存,并包括一个用于解调来自 MCU 的 PWM 输出的低通滤波器。

pYYBAGL1zpmAR41zAAGeqkVXOAg194.png

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

  32 位和音乐

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


  当您进入音乐领域时,您通常会超越片上外围设备的能力来生成所需的音频质量。MCU 和 DAC 的组合可以处理具有 32 到 48 KHz 采样率的 16 到 24 位音频。考虑 32 位空间后,您还将看到以音频为中心的 MCU 产品。例如,Atmel 提供AT32UC3 系列32 位 MCU,有通用版本和音频专用版本。该产品基于 AVR MCU 内核。


  音频 MCU 的一个示例是AT32UC3A0512AU集成 512 KB 闪存和 64 KB RAM 的 MCU。音频 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 上解码

poYBAGL1zqWAK-iWAALsaCh7vfI915.png

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

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


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


关键字:8位MCU  应用程序 引用地址:基于简单8位MCU的支持音频的应用程序

上一篇:专有2.4-GHz的无线音频设计方案
下一篇:嵌入式USB 音频桥多媒体设计方案

推荐阅读最新更新时间:2024-11-12 21:53

乐鑫 ESP32-LyraT 音频开发板可支持百度 DuerOS
电子网消息,近日,百度在深圳发布了 DuerOS 全球合作伙伴计划,作为百度合作伙伴的乐鑫科技,也携可支持 DuerOS 的 ESP32-LyraT 音频开发板首次亮相。 据悉,乐鑫软解音频开发板(ESP32-LyraT)是基于语音交互市场的开发板,使用的是乐鑫开发设计的 ESP32-WROVER 模组,模组自身包含双核处理器和 4.5MByte 内存,搭配外围极少的器件实现高集成度音频解决方案。搭配 DuerOS 可以快速开发出适合智能音响、智能故事机、智能家居等产品,极大缩短产品研发周期。 去年9月,乐鑫正式推出了 ESP32 云上芯片(Wi-Fi/BT Combo 双核 MCU)。该款芯片在产品和市场两个方面都有很大
[半导体设计/制造]
STC89C52RC单片机8位流水灯程序
电路很简单就不用画了 就是P0口上个接上啦电阻 然后接8个led灯 #include reg52.h //头文件 /***********宏定义*******************/ #define uint unsigned int #define uchar unsigned char /*********数组定义并赋值************/ uchar LED ={ 0XFE,0XFD,0XFB,0XF7, 0XEF,0XDF,0XBF,0X7F }; /**********延时子程序***************/ void delayms(uint xms) { uint i,j; for(i=xms;i 0;
[单片机]
Android 7.0新功能:李鬼应用无处躲
     据外媒报道,谷歌在本周二正式放出了Android 7.0最终预览版。在该版本中,谷歌对应用程序的来源进行了更清晰的标注。 Android 7.0新功能(图片来自cnbeta)   谷歌介绍,在新的“App Info”页面中,谷歌为“App Details”下方添加了一行标注,在这里用户可以看到,该应用的来源究竟是Google Play商店还是第三方。此外,该功能还能识别出该应用是否是通过拷贝的APK安装而来。   在这项功能出现之前,用户如果想要查询应用来源,只能够通过“GetInstallerPackageName”的方法来获得这项信息。   对于谷歌添加这一功能的做法,外媒推测,这很有可能暗示着谷歌正在采取
[手机便携]
STM8 8位MCU 开发环境搭建
1 安装STVD和STVP 安装完成后,出现以下图标。 根据安装过程中的提示,这个时候需要关机重起。 重启完成之后,就可以用ST Visual Develop 打开工程了。 点击编译按钮,这个时候消息提示框出现一个错误提示: 提示 找不到cxstm8 ,原来STVD里面没有包含编译器。 安装编译器 安装完成,多了一个这个图标。 编译成功。
[单片机]
STM8 <font color='red'>8位</font><font color='red'>MCU</font> 开发环境搭建
Windows下PIC8位单片机源程序汇编和固化(二)
3 MPLAB中源程序文件被存入到指定的目录和装载   在PC机屏幕上,当用键盘键入并编辑了源程序(COUNTASM)之后,再用鼠标键打开File下拉菜单,选择Save(保存)命令,用鼠标键点击Save,即可打开图1(目录路径为C:PROGRA~1MPLAB)的窗口。在该窗口的File Name(文件名)栏中(标题——Save File As),选择好路径,用键盘输入文件名PIC COUNTASM(用户自定义名),再用鼠标键点击OK,即可将源程序文件以指定的文件名PIC COUNTASM存入到指定的目录中。这一过程通常称为对PIC单片机(微控制器)源程序(COUNTASM)的存盘。   在MPLAB集成开发环境下,在M
[单片机]
恩智浦推出面向通用市场的最小8位S08微控制器
电子网消息,恩智浦半导体宣布推出其最小的8位S08微控制器(MCU) - MC9S08PA4AVDC微控制器。这款产品采用全新封装,尺寸仅为3 x 3 x 0.9 mm,可在不增加BOM成本的前提下,助力攻克未来技术面临的PCB空间不断缩小的技术难题。MC9S08PA4AVDC可用于各种需要使用微型MCU的尺寸受限类应用,比如工业控制、BLDC电机控制和物联网(IoT)控制。 MC9S08PA4AVDC MCU的问世,丰富了恩智浦低成本、高性能HCS08系列8位微控制器阵容。这款新型MCU采用增强型HCS08中央处理器,并提供多种外设、存储器容量和产品类型。凭借8位S08内核,MC9S08PA4AVDC MCU工作在全温度范围
[半导体设计/制造]
开发工程师的创意变戏法:8位MCU变身32位MCU?! 2013-05-31
目前的MCU市场分为三个部分, 8位、16位和32位内核(4位内核MCU现在已相当少用,故在本次比较中将其忽略)。对于这三个部分中的每一个,其规模大体相同。传统上8位内核占最大的市场份额。根据一些分析人士报告,可能32位内核市场占有率已经超过了8位内核。即使目前尚未超过,时间也不会太长。32位内核市场份额是迄今为止增长最快的。8位内核和16位内核仍在增长,但在速度方面远不如32位内核(8位内核的增长速度仍快于16位内核) 在很长的一段时间内, 很多人相信16位MCU可能会被8位MCU和32位MCU取代。目前的32位MCU器件采用最新技术制造(与8位内核和16为内核相比)。 MCU制造商能够使用这些最新的技术,使得32位MCU体
[单片机]
开发工程师的创意变戏法:<font color='red'>8位</font><font color='red'>MCU</font>变身32位<font color='red'>MCU</font>?! 2013-05-31
使用8位MCU的物联网控制应用
使用8位MCU的物联网控制应用 追溯到20世纪70年代,单片机(MCU)在控制各种汽车、消费品和工业产品方面发挥了重要作用。如今,单片机的应用已扩展到包括便携式、无线和可穿戴物联网(IoT)产品。除了物联网以外,医疗保健行业也出现了大规模发展,各种应用中都采用了8位MCU。 具有8位MCU的嵌入式电子产品需要在规模经济中具有竞争力的设备(每个应用需要数十万甚至数百万个器件)。例如,在汽车应用中,8位MCU控制许多子系统,如电动座椅和车窗、智能门把手,甚至轮胎压力传感器。这意味着几美分的价格差相当重要。应用成本的另一方面是数百万设备的维护成本,在设计阶段通常会忽视这一点。可靠性和设备耐用性可以通过简化代码和硬件来提高,而
[物联网]
使用<font color='red'>8位</font><font color='red'>MCU</font>的物联网控制应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved