使用音频编解码器,实现高保真的嵌入式音频体验:详细的设计攻略在此!

电子工程世界 2022-07-12 07:31

在嵌入式系统中,越来越需要提供高保真音频而不是蜂鸣器来实现用户反馈,包括报警和警报。虽然过去哔哔声或者鸣叫声很有效,但用户期望通过播放MP3等文件格式音频才能产生的高级声音。问题是,音频播放可能会让人紧张,并增加系统成本和复杂性。第一直觉是找到可以播放MP3的微控制器,但这往往会使物料清单 (BOM) 增加几美元并需要相当复杂的嵌入式软件。

 

音频编解码器就是一个特别能平衡额外成本和软件复杂性的解决方案。音频编解码器不仅能接受来自微控制器的音频数据流,往往还具有多种功能,使得开发人员可以对音频播放系统进行精心调校,提高系统播放音质。

 

本文将讨论音频编解码器的作用、开发者在选择时应考虑的主要特点以及如何有效使用。本文将以AKM Semiconductor、Texas Instruments和Maxim Integrated的解决方案为例进行介绍和说明,同时也会介绍其他厂商的解决方案。最后将介绍如何使用编解码器加速开发音频播放应用并降低系统成本的小窍门和小技巧。




什么是音频编解码器?


音频编解码器是一种硬件组件,能够对包含音频信息的数字数据流进行编码或解码。音频编解码器能够分担微控制器的音频处理任务,因此非常有用。这样可以大大降低软件复杂性,也可以在具体应用中采用成本较低、性能较低的微控制器。
 
典型的音频编解码器会包含几个功能块:
  • 一个用于传输或接收经过编码处理的数字音频数据的I2S接口。
  • 一个用于配置和读取音频编解码器的控制寄存器的I2C接口。
  • 一个连接到模数转换器 (ADC) 的麦克风输入。
  • 至少一个音频输出通道,如扬声器输出,但大多数还包括一个线路输出,也可能包括多个扬声器输出,用于立体声播放。
  • 一个包含高通、低通、缺口和均衡器滤波器的数字功能块,用于调节音频播放和录音。

我们以AKM Semiconductor的AK4637EN 24位音频编解码器为例,这是一款凭借成本低、音频能力强大而颇受欢迎的音频编解码器(图1)。AK4637EN 具有所有这些功能,还配有一个蜂鸣器输入,可以使用所需频率的脉宽调制(PWM) 信号来产生蜂鸣。

1:AK4637EN是一款具有单声道扬声器输出的音频编解码器,并具有音频播放和录音功能。该器件还包含内部音频功能块,可用于对输入和输出的音频进行滤波,以提高音频保真度。(图片源:AKM Semiconductor)

 
开发者会发现,音频编解码器的主要区别在于提供输出单声道音频还是立体声音频,以及数字块功能。例如,AK4637EN采用了一个高通滤波器、一个低通滤波器、一个四段均衡器、一个自动调平通道功能和一个单段均衡器。后者可作为陷波滤波器使用。开发者如何设置这些数字滤波器会极大地影响系统的声音。
 
刚接触音频播放的开发者有时会对音频编解码器感到恐惧。例如,虽然AK4637EN是一款简单的音频编解码器,但快速浏览规格书会发现它有64个可配置寄存器。乍一看好像很多,但这些寄存器大多是用来设置各种可用数字滤波器的滤波系数的。要想让系统正常输出音频,只需使用少量寄存器,这使得音频编解码器的驱动开发远比新手想象的简单。

如何选择音频编解码器


在产品开发过程中,选择任何器件的关键因素之一就是成本,音频编解码器也不例外。不过需要牢记的是,开发人员得到的东西物有所值,所以当涉及到音频时,团队必须在设计要求和解决方案的关键参数之间仔细权衡。
 
首先考虑的是音频编解码器的输出要求。有几种不同的选择。例如,AK4637EN有一个线路输出和一个单声道扬声器输出。还有其他编解码器,比如Texas Instruments的TLV320AIC3110IRHBR立体声音频编解码器,可以1.29W的功率驱动两个扬声器(图2)。

2:TI TLV320AIC3110IRHBR是一款音频编解码器,除了麦克风输入外,还有立体声输出和放大功能。该编解码器可通过内部放大器驱动1.29W功率,并具有可编程数字音频功能块。(图片来源:Texas Instruments)

 
如Maxim Integrated MAX9867等其他音频编解码器都设计成只驱动一对耳机(图3)。MAX9867具有典型的I2S和I2C数字接口,还包含立体声麦克风输入和两个数字化选择线路输入。

3:Maxim Integrated MAX9867音频编解码器可以驱动立体声耳机,并在数字、麦克风和线路输入之间进行选择。(图片源:Maxim Integrated)

 
在这三种解决方案中,确定采用什么样的输出类型(甚至输入类型)是早期的关键决策。
 
开发者还需要考虑他们将驱动什么负载。音频编解码器将要直接驱动耳机、一个音箱还是一对音箱,并提供何种输出等级?如果系统要驱动一个5W扬声器,那么没有多少嵌入式系统的编解码器能做到这一点。相反,开发人员可能希望选择线路输出,并使用单独的D类放大器直接驱动扬声器。这样既能节省一些成本,又能带来设计灵活性。
 
最后两个考虑因素是内部布线和数字滤波能力。这里是决定音频编解码器实现真正差异化和成本差异的地方。例如,TLV320AIC311IRHBR具有去爆音和软启动功能,可以将扬声器的爆音降到最低,并使其平稳过渡到音频播放。该器件的每个输出通道还配备了一个内部混音器和数字音量控制器。
 
开发者应在音频编解码器需求、BOM以及电路所需电路板空间之间进行仔细平衡。

音频播放系统


在使用音频编解码器时,务必考虑到除音频编解码器之外还有几个不同的功能块是成功播放音频所必需的。具体的功能块会根据应用和决定采取的播放方法略有不同,图4所示只是一个概括说明。

4:如典型嵌入式应用中音频播放系统的通用连接框图所示,需要在单片机或者外部存储器中存储音频文件。(图片来源:Beningo Embedded Groupz)

 
在这张图中有几点值得讨论一下。首先,需要有一些存储音频播放文件的方法。有两种选择,一是以内部方式存储文件,即存储在微控制器闪存中,二是存储在外部闪存中。如何选择取决于音频文件的大小,以及微控制器的内部闪存容量。
 
开发者还需要考虑采用什么样的音频播放格式。最常见的格式是MP3。在这种情况下,所选的单片机需要有一个支持MP3解码的软件栈。这样就可以打开MP3文件,然后使用动态内存访问 (DMA) 控制器通过I2S接口将音频信号推送出去。即使是I2S端口也可以配置为主/从和其他几种模式,因此需要仔细检查,以确保数据以正确的速率传输到编解码器。
 
如前所述,根据应用确定需不需要外部音频放大器。典型的编解码器输出功率约为1 - 1.5W,这对驱动小型扬声器很有用。如果要驱动3W或功率更高的扬声器,则需要使用外部放大器。同样,应用最广泛的是D类音频放大器。放大器也不一定需要具有可变增益。音频编解码器可以通过数字方式调节音量控制器,提供较宽的输出功率范围。
 
经常被忽视的一个方面是大容量电容器。当播放音频时,会严重拉动电源轨。如果电路板上的电容不足,会极大影响输出质量,并会出现一种类似鼻音的声音以及其他一些不必要的噪声。在测试过程中,可以通过仔细监控电源轨来检测这些声音。在PC板开发过程中,为了能调节输出电路而通过在电路板上预留更多的空间来尝试不同的电容值,是一个不错的想法。

音频编解码器选型应用小窍门和小技巧


音频编解码器可以极大地简化嵌入式软件,为应用提供良好的音质。如果开发人员之前没有使用过音频编解码器,那么音频编解码器可能会很棘手。为了成功地利用音频编解码器,研发团队应记住如下几个"小技巧和小窍门":

  • 在微控制器内使用直接内存访问控制器(DMA)功能,以最少的CPU干预来供给音频编解码器。这将有助于确保编解码器具有充足的数据来处理。
  • 不播放音频时,请使用编解码器静音功能,以防止低电平输出噪音进入扬声器。
  • 在禁用或启用播放时,请使用音频编解码器的软静音功能,以防止扬声器爆音和其他不必要的噪音。
  • 编解码器初始化后,使用终端应用输出编解码器寄存器。当尝试调试问题或调节扬声器输出电路和箱体时,这一点特别有用。
  • 充分利用编解码器中的内部数字滤波机制。通过数字滤波器,开发人员可实现均衡输出,过滤掉不需要的高频和低频信号,最大限度地提高音响系统音质。

  • 请不要忘了,只有当电路板和扬声器安装在箱体内时,调音才是一项有用的工作,因为箱体和安装会造成巨大差异。


要想入门,开发人员可以使用Maxim Integrated的MAX9867EVKIT+评估套件进行实验(图5)。

5:MAX9867的MAX9867EVKIT+评估套件通过USB电缆连接到PC,具有RCA输入、耳机输出和光纤发射和接收模块。(图片源:Maxim Integrated)

 
该套件由电路板和相关软件组成,配置为使用Sony/Philips数字接口(S/PDIF) 发送和接收音频数据,但也可以设置为使用I2S。该套件有两个RCA输入插孔,两个3.5毫米(mm)模拟输出耳机插孔,以及光纤接收和发射模块。该软件兼容Windows,通过USB电缆连接PC时会打开一个图形用户界面(GUI),开发人员可在该界面中对MAX9867的设置进行实验(图6)。

6:使用基于Windows的GUI,用户可以实验MAX9867的各种设置,从时钟和数字音频(选定的选项卡)开始,一直到寄存器1和寄存器2(右侧)。(图片源:Maxim Integrated)


结语


嵌入式系统用户已经习惯了高质量音频,以至于现在已经不愿意使用蜂鸣器和蜂鸣声来代替报警、警报和其他用户音频反馈。这使得开发团队有责任在其系统中实现MP3播放功能。乍看起来这是一项复杂的工作。然而,通过在微控制器旁边使用正确的音频编解码器,并遵循一些设计最佳实践,开发人员就可以平衡与音频应用相关的成本和复杂性。

喜欢Digi-Key的文章吗?立即到Digi-Key官网,或关注Digi-Key官方微信digikey_electronics吧!


欢迎扫码关注

电子工程世界 关注EEWORLD电子工程世界,即时参与讨论电子工程世界最火话题,抢先知晓电子工程业界资讯。
评论
  •         在有电流流过的导线周围会感生出磁场,再用霍尔器件检测由电流感生的磁场,即可测出产生这个磁场的电流的量值。由此就可以构成霍尔电流、电压传感器。因为霍尔器件的输出电压与加在它上面的磁感应强度以及流过其中的工作电流的乘积成比例,是一个具有乘法器功能的器件,并且可与各种逻辑电路直接接口,还可以直接驱动各种性质的负载。因为霍尔器件的应用原理简单,信号处理方便,器件本身又具有一系列的du特优点,所以在变频器中也发挥了非常重要的作用。  &nb
    锦正茂科技 2024-12-10 12:57 76浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 71浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 79浏览
  • 我的一台很多年前人家不要了的九十年代SONY台式组合音响,接手时只有CD功能不行了,因为不需要,也就没修,只使用收音机、磁带机和外接信号功能就够了。最近五年在外地,就断电闲置,没使用了。今年9月回到家里,就一个劲儿地忙着收拾家当,忙了一个多月,太多事啦!修了电气,清理了闲置不用了的电器和电子,就是一个劲儿地扔扔扔!几十年的“工匠式”收留收藏,只能断舍离,拆解不过来的了。一天,忽然感觉室内有股臭味,用鼻子的嗅觉功能朝着臭味重的方向寻找,觉得应该就是这台组合音响?怎么会呢?这无机物的东西不会腐臭吧?
    自做自受 2024-12-10 16:34 141浏览
  • 概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些之前系列器件还未遇到的问题,这些问题将在本文中进行详细描述介绍。 在五代Cyclone器件内部系统时钟受限的情况下,意味着大量逻辑资源将被浪费在于实现较大长度的TDL上面。是否可以找到方法可以对此前TDL的长度进行优化呢?本文还将探讨这个问题。TDC前段BIN颗粒堵塞问题分析 将延时链在逻辑中实现后
    coyoo 2024-12-10 13:28 102浏览
  • 全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)宣布与Taiwan Semiconductor Manufacturing Company Limited(以下简称“台积公司”)就车载氮化镓功率器件的开发和量产事宜建立战略合作伙伴关系。通过该合作关系,双方将致力于将罗姆的氮化镓器件开发技术与台积公司业界先进的GaN-on-Silicon工艺技术优势结合起来,满足市场对高耐压和高频特性优异的功率元器件日益增长的需求。氮化镓功率器件目前主要被用于AC适配器和服务器电源等消费电子和
    电子资讯报 2024-12-10 17:09 88浏览
  •         霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子
    锦正茂科技 2024-12-10 11:07 64浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 51浏览
  • 智能汽车可替换LED前照灯控制运行的原理涉及多个方面,包括自适应前照灯系统(AFS)的工作原理、传感器的应用、步进电机的控制以及模糊控制策略等。当下时代的智能汽车灯光控制系统通过车载网关控制单元集中控制,表现特殊点的有特斯拉,仅通过前车身控制器,整个系统就包括了灯光旋转开关、车灯变光开关、左LED前照灯总成、右LED前照灯总成、转向柱电子控制单元、CAN数据总线接口、组合仪表控制单元、车载网关控制单元等器件。变光开关、转向开关和辅助操作系统一般连为一体,开关之间通过内部线束和转向柱装置连接为多,
    lauguo2013 2024-12-10 15:53 85浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 50浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 83浏览
  • 【萤火工场CEM5826-M11测评】OLED显示雷达数据本文结合之前关于串口打印雷达监测数据的研究,进一步扩展至 OLED 屏幕显示。该项目整体分为两部分: 一、框架显示; 二、数据采集与填充显示。为了减小 MCU 负担,采用 局部刷新 的方案。1. 显示框架所需库函数 Wire.h 、Adafruit_GFX.h 、Adafruit_SSD1306.h . 代码#include #include #include #include "logo_128x64.h"#include "logo_
    无垠的广袤 2024-12-10 14:03 71浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-10 16:13 109浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦