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

EETOP 2022-07-20 12:45

在嵌入式系统中,越来越需要提供高保真音频而不是蜂鸣器来实现用户反馈,包括报警和警报。虽然过去哔哔声或者鸣叫声很有效,但用户期望通过播放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播放功能。乍看起来这是一项复杂的工作。然而,通过在微控制器旁边使用正确的音频编解码器,并遵循一些设计最佳实践,开发人员就可以平衡与音频应用相关的成本和复杂性。


点击下方“阅读原文”查看更多

让我知道你在看哟 
EETOP EETOP半导体社区-国内知名的半导体行业媒体、半导体论坛、IC论坛、集成电路论坛、电子工程师博客、工程师BBS。
评论
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 49浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 41浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 121浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 100浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 111浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 183浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 390浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 150浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦