Audio驱动开发 之 音频链路学习笔记

本文介绍了一种使用ALC5677 Codec芯片的音频链路设计方案,详细阐述了音频输入与输出部分的工作原理及实际电路连接方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【元器件说明】

        本文中使用的 Codec 芯片为 ALC5677。


【音频链路模型】

        一个常见的音频链路如 图1 所示,包含 音频输入、ADC、DSP、DAC、音频输出 5 大部分。

图1 音频链路模型

 

【音频输入部分】

        在 图1 中,DSP 的音频数据来源,也即音频输入部分只有麦克风。而实际上,这部分音频数据也可以从文件中读取,比如我们在电脑或手机上播放一个 mp3 文件。在我们项目中,DSP 的音频来源分为 3 大部分。如图2 所示:

图2 实际项目的 DSP 音频输入

        第 1 部分音频输入是 IF1_DAC_0/1 和 IF2_DAC_0/1,这是从 I2S 接口传递过来的数据,是 CPU 打开并读取的音频文件数据;第 2 部分音频输入是 Stereo1_ADC_Mixer,这是麦克风采集的声音信号经过 ADC 之后得到的;第 3 部分音频输入是 DAC1_FS,目前只知道她是音频输出前对各路信号混音后的产物(见图3),但还不清楚其存在的意义。

        MX-A3[14:12] 的作用是决定哪一部分音频可以进入 DSP 进行处理,每个时刻只允许一路数据进入到 DSP。在这里,音频信号重新被拆分成左、右声道数据,用 InBound0、InBound1 表示。

 

【音频输出部分】

        音频输出到扬声器或耳机前,需要对待输出的音频信号进行混音。在项目中,这些音频信号也分为 3 部分。如 图3 所示(如果图比较小可以按下 ctrl 键同时向前滚动鼠标滚轴以放大):

图3 实际项目的音频输出

        第1 部分待混音数据是 Stereo1_ADC_Mixer_L/R,这是麦克风采集到声音数据;第 2 部分待混音数据是 OutBound0/1,这是经过 DSP 处理后的音频数据;第 3 部分待混音数据是 IF1_DAC_0/1 和 IF2_DAC_0/1,这是 CPU 从文件读取后,经 I2S 接口传递过来的信号。混音的输出结果是 Stereo1_DAC_MIXL 和 Stereo1_DAC_MIXR,即左右 2 个声道的最终音频流形式。这 2 路最终的数字音频信号输出被送入 DAC 电路转换为模拟音频信号,之后再送入扬声器或耳机进行播放。如图4 所示:

图4 输出部分混音后的音频最终被送入 DAC 电路

        在 图3 中我们还可以看到合成了上文提到的 DAC1_FS 音频流。

 

【实际电路连接】

        知道了音频数据的流向之后,我们再来看看电路板上音频相关的实际电路连接。我将所有音频相关的引脚整理成了一个关系图。如 图5 所示(如果图比较小可以按下 ctrl 键同时向前滚动鼠标滚轴以放大):

图5 电路连接结构图

        通过这幅结构图我们可以很清晰地看到:

        麦克风音频输入通过 MIC2P 接入到 Codec 芯片;音频文件数据输入通过 I2S_2_xxx 接入到 Codec 芯片。

        耳机音频输出通过 LOUT1P/N 和 LOUT2P/N 从 Codec 芯片引出到耳机功放芯片 MAX97220,之后连接到耳机喇叭。

        扬声器音频输出通过 LOUT1P/N 和 LOUT2P/N 从 Codec 芯片引出到扬声器功放芯片 AW8736FCR,之后连接到扬声器喇叭。


Android音频链路是指在Android操作系统中,用于处理和管理音频流的一组软件和硬件组件。它提供了对音频输入和输出的支持,包括麦克风输入、扬声器输出和耳机插入等功能。音频链路的主要组件包括以下几个方面: 1. 音频输入:Android音频链路通过麦克风接口提供对音频输入的支持。它能够从外部麦克风或内部麦克风收集音频数据,并通过音频处理进行预处理,如降噪、消除回声等。 2. 音频输出:Android音频链路通过扬声器接口提供对音频输出的支持。它将音频数据从应用程序传输到扬声器,并通过音频处理进行后处理,如均衡器、音量调节等。 3. 音频路由:Android音频链路能够根据外部设备的连接状态和应用程序的需求,动态地切换音频输入和输出路由。例如,当插入耳机时,音频链路可以自动将音频路由到耳机,当拔出耳机时,则切换到扬声器输出。 4. 音频效果:Android音频链路提供了各种音频效果类和接口,用于实现音效处理,如混音、立体声空间扩展、回音消除等。开发者可以利用这些接口,为应用程序添加各种音频特效。 5. 音频通信:Android音频链路还支持语音通话和视频通话中的音频通信功能,包括音频编码、解码、回声抵消、自动增益控制等。它能够与通信应用程序集成,实现高质量的语音和视频通话体验。 总之,Android音频链路是Android操作系统中负责处理和管理音频流的一组软件和硬件组件。它提供了丰富的功能和接口,使开发者能够轻松地实现各种音频处理和音效效果,并实现高质量的音频输入和输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值