开发人员当然可以使用分立元件和DAC从他们的系统中获得不错的音频,但是音频编解码器已经变得非常便宜并且对于嵌入式开发来说太贵了人们提供了广泛的功能,否则实施起来既费时又费钱。在今天的文章中,我们将研究一些将音频编解码器添加到嵌入式系统的技巧。技巧#1–使用微控制器作为主时钟音频编解码器通常通过I2S(Inter-ICSound)接口连接到系统。许多音频编解码器为开发人员提供了如何为音频编解码器生成时钟的灵活性。例如,时钟源可以由微控制器通过I2S总线或连接到编解码器的振荡器生成。编解码器本身可以充当主时钟源并将时钟发送到微控制器。然而,如果开发人员希望最大限度地降低物料清单(BOM)成本,最简单的方法是将微控制器设置为主机并为编解码器生成时钟。这最大限度地降低了成本和组件数量,并简化了音频播放系统。技巧#2–使用外部音频放大器大多数音频编解码器都带有内置音频放大器。这些放大器通常可以输出0.5到1.5瓦的任何地方,但也有例外。如果音频应用简单且不需要大输出,则再次利用内部放大器以节省BOM成本是有利的。然而,在大多数应用中,内部放大器无法为应用提供足够的输出功率或灵活性。由于这些原因,嵌入式开发人员经常使用外部音频放大器,可以通过扬声器输出系统对其进行调整以获得更好的性能。在这些应用中,音频编解码器通常设置为绕过内部音频放大器,因为它们通常需要驱动4或8欧姆负载。然后使用线路输出驱动外部音频放大器。技巧#3–使用音频块调整扬声器许多音频编解码器通常包含在数字块中。这个数字音频模块允许开发人员根据他们的应用微调他们的音频播放系统。例如,一个典型的音频模块可能包含多个可编程的低通和高通滤波器以及一个多点均衡器。这些可编程组件允许开发人员仔细调整他们的输出系统,以最大限度地提高音频质量,同时最大限度地减少系统所需的外部组件数量。如何对这些组件进行编程取决于最终应用中使用的扬声器的频率特性以及将使用的音频类型,例如器乐与人类语音。技巧#4–在表中存储编解码器配置音频编解码器配置通常通过I2C总线传输,而数字音频流通过I2S接口传输。大多数音频编解码器都有几十个需要配置的寄存器,以便编解码器按照应用程序需要的方式运行。嵌入式开发人员存储此配置信息的一个好方法是将配置表保存在EEPROM或闪存中,然后在系统初始化时将表加载到RAM中。然后,如果需要调整系统性能,例如调整当前音量,用户可以修改RAM值。在启用音频播放系统之前的初始化期间,可以通过I2C发送初始配置,之后可以根据需要提供单独的寄存器更新。提示#5–在PCB中添加备用电容器电容器很重要,因为有时扬声器需要吸收“大量”瞬时能量,而电容器充当储能器。电容太小,扬声器可能无法按预期移动,从而产生人耳可听到的音频伪像。确保足够的唯一方法是在系统运行时进行测量。没有人愿意浪费PCB旋转来确保有足够的电容,因此一个好的做法是按照您的预期设置电容,但添加一些额外的并行封装以防您需要调整所需的电容。结论高保真音频正成为许多系统的要求,因为它为用户提供声音反馈,帮助他们了解系统状态。嵌入式开发团队在第一次使用音频编解码器时可能会被吓到,但事实是,它们并没有数据表中最初出现的那么糟糕。
