第二讲:音频路径基础

各位同学,今天我们来聊聊音频编解码器的内部结构。这部分内容,说白了就是音频系统的“地图”。你只有把地图看懂了,才知道声音信号是怎么从麦克风走到喇叭的,也才知道功耗到底浪费在了哪里。

音频编解码器的“五脏六腑”

一个典型的音频编解码器,内部其实挺复杂的。我习惯把它分成三个大块:模拟前端、数字核心、模拟后端。

  • 模拟前端:负责把麦克风进来的微弱模拟信号放大、滤波。这里的关键器件是 PGA(可编程增益放大器)和 ADC(模数转换器)。
  • 数字核心:处理数字音频信号的地方。比如采样率转换、音量控制、数字混音、各种音频算法(EQ、DRC 等)。
  • 模拟后端:把数字信号转回模拟信号,然后驱动耳机或喇叭。核心器件是 DAC(数模转换器)和耳机放大器(Headphone Amp)或喇叭放大器(Speaker Amp)。

我在项目中遇到过一个问题:某个芯片的模拟前端和数字核心之间,电源域是分开的。结果数字核心在跑算法时,噪声串到了模拟前端,导致底噪飙升。嗯,这就是内部结构没吃透的后果。

模拟路径 vs 数字路径

音频路径,说白了就是信号走的“路”。这条路可以是模拟的,也可以是数字的。你想想看,这两种路径的功耗特性完全不同。

特性 模拟路径 数字路径
信号形式 连续电压/电流 0/1 二进制码流
功耗特点 静态功耗高(偏置电流、运放静态电流) 动态功耗高(时钟翻转、逻辑门切换)
抗干扰能力 弱(易受电源噪声、耦合噪声影响) 强(只要时序满足,信号几乎无损)
典型应用 麦克风输入、耳机输出 I2S 总线、数字混音器

我个人习惯,在设计低功耗音频系统时,会尽量让信号在数字域多待一会儿。因为数字路径的功耗,可以通过关时钟、降频率来精确控制。而模拟路径一旦上电,那静态电流就像水龙头没关紧一样,一直在流。

小技巧:如果你发现某个音频路径的功耗降不下去,不妨看看是不是有一段模拟路径在“空转”。比如,麦克风已经静音了,但 PGA 还在工作。这时候,果断把它关掉。

混音器与多路复用器

这两个东西,是音频路径里的“交通枢纽”。很多同学容易搞混,我简单说说。

  • 多路复用器(MUX):说白了就是一个“选路开关”。多个输入,选一个输出。比如,你可以选择从 Line In 进来,还是从 Mic 进来。
  • 混音器(Mixer):这是一个“加法器”。多个输入,可以同时叠加在一起输出。比如,把麦克风的声音和背景音乐混在一起。

我曾经在调试一个蓝牙音箱时,发现播放音乐时,麦克风的声音也串进去了。查了半天,原来是混音器的一个通道没关干净。嗯,这里要注意:混音器的每个输入通道,都有独立的使能位和增益控制。不要以为关掉了主输出就万事大吉。

避坑指南:我曾经遇到过一个问题——混音器的输入通道之间,存在串扰。原因是 PCB 布局时,模拟信号线和数字信号线靠得太近。所以,在设计硬件时,一定要把模拟路径和数字路径物理隔离。

一个典型的音频路径示例

我们来看一个实际的例子。假设一个手机通话场景:

  1. 麦克风拾音 → 模拟前端(PGA 放大 + ADC 转换)
  2. 数字路径(数字混音 + 回声消除 + 编码)
  3. 数字路径(解码 + 数字音量控制)
  4. 模拟后端(DAC 转换 + 耳机放大器驱动听筒)

在这个路径里,功耗大头在哪里?我个人经验,模拟后端(DAC + 耳机放大器)通常占 40%-60% 的功耗。数字核心的算法处理,占 20%-30%。模拟前端占 10%-20%。剩下的就是总线、控制逻辑等。

所以,如果你要优化功耗,优先盯着模拟后端看。比如,降低耳机放大器的输出功率,或者在不播放时快速关断。

路径的“开关”控制

音频编解码器内部,每个模块都有独立的电源开关和时钟开关。这就是 DAPM 机制的基础。你想想看,如果某个路径没有被使用,那它对应的模块就应该被关掉。

举个例子,一个典型的音频编解码器,内部可能有 10 个混音器、8 个 PGA、4 个 ADC、4 个 DAC。但实际使用中,可能只用到 1 个 ADC 和 1 个 DAC。剩下的模块如果都开着,那功耗就白白浪费了。

核心思想:音频路径的功耗优化,本质上就是“按需供电”。用到的模块才上电,不用的模块立刻断电。DAPM 就是干这个事的。

好了,这一讲的内容就到这里。下一讲,我们会深入 DAPM 的核心机制,看看它到底是怎么自动管理这些路径的。