3、电源域概念:音频芯片的电源域划分、AVDD/DBVDD/CPVDD等供电轨、不同电源域对功耗的影响。

好,咱们接着聊。上一节我讲了DAPM的基本原理,说白了就是按需供电。但有个问题你得先搞清楚——芯片内部到底有哪些“电”?它们各自管什么?

这就引出了电源域的概念。我个人习惯把电源域想象成一座大楼里的不同电路系统。照明是一路电,空调是另一路,电梯又是单独一路。虽然都从总闸进来,但各自独立控制。音频芯片也是这个道理。

3.1 为什么需要划分电源域?

你想想看,如果整个芯片只有一个电源,会发生什么?

  • 模拟电路需要低噪声,数字电路开关噪声大,混在一起模拟性能直接报废
  • 有些模块需要高压(比如电荷泵),有些只需要1.2V,统一供电不现实
  • 功耗管理没法做细——想关掉某个模块,结果整个芯片都得断电

所以,芯片设计时会把不同功能的电路放在不同的“电源域”里。每个域有自己的供电轨,可以独立开关、独立调压。

核心思想: 电源域划分的本质,是把“噪声敏感度”和“功耗需求”不同的电路隔离开。这是音频芯片低功耗设计的第一道防线。

3.2 音频芯片的三大核心供电轨

以我常用的Codec芯片为例,通常有这三个主要的供电轨:

供电轨 全称 典型电压 供电对象 噪声敏感度
AVDD Analog VDD 2.5V - 3.3V ADC、DAC、运放、混音器 极高
DBVDD Digital Buffer VDD 1.8V - 3.3V 数字接口、I2C/SPI、控制逻辑 低
CPVDD Charge Pump VDD 1.8V - 3.3V 电荷泵、耳机放大器 中等

嗯,这里要注意——不同厂家的命名可能略有差异。有的叫VDD_A、VDD_D、VDD_CP,但本质是一样的。

AVDD:模拟电路的“生命线”

AVDD是模拟域的主电源。ADC、DAC、运放这些最核心的模拟模块都靠它供电。为什么它要求电压高?因为模拟电路的动态范围跟电源电压直接相关。电压越高,信号摆幅越大,信噪比越好。

我在项目中遇到过一件事:有个产品底噪始终压不下去,查了半天发现是AVDD纹波太大。后来在AVDD入口加了一颗10uF的钽电容+0.1uF的陶瓷电容,问题立刻解决。所以,AVDD的电源质量,直接决定了音频性能的天花板。

警告: AVDD绝对不能跟数字电源共用同一路LDO。数字电路的高频开关噪声会通过电源耦合进模拟电路,导致THD+N指标恶化。我曾经见过有人为了省成本把AVDD和DBVDD短接,结果SNR直接掉了6dB。

DBVDD:数字接口的“动力源”

DBVDD负责给数字接口供电。I2C、I2S、SPI、GPIO这些数字引脚的IO电平,都由DBVDD决定。

它的电压范围比较宽,1.8V到3.3V都可以。但要注意——DBVDD的电压必须跟主控端的IO电平匹配。比如主控是1.8V的IO,你给DBVDD供3.3V,那芯片的输入引脚可能承受不住。

功耗方面,DBVDD的电流通常不大,因为数字接口只在通信时才有电流消耗。但有个坑:如果I2S的BCLK跑得很高(比如24.576MHz),DBVDD的功耗会明显上升。我建议在低功耗场景下,尽量降低BCLK频率。

CPVDD:电荷泵的“能量站”

CPVDD是专门给电荷泵供电的。电荷泵的作用是什么?产生负压或者升压,驱动耳机放大器。

你想想看,耳机放大器需要输出正负对称的电压,才能驱动耳机振膜。但芯片只有正电源,怎么办?电荷泵就把正电压转换成负电压,或者把电压升高到5V甚至更高。

CPVDD的功耗跟耳机负载直接相关。驱动32欧姆的耳机,CPVDD电流可能只有几毫安;但驱动16欧姆的低阻抗耳机,电流可能飙升到几十毫安。所以,低功耗设计时,尽量选择高阻抗耳机。

个人经验: 我习惯在CPVDD入口预留一个0欧姆电阻的位置。调试时先不焊,测一下电荷泵的启动电流。如果启动瞬间电流过大,可以串一个小电阻限流,或者调整软启动电容。

3.3 不同电源域对功耗的影响

好,现在咱们聊聊功耗。不同电源域对总功耗的贡献,差别非常大。

我拿一个典型的Codec芯片举例,在播放音乐的场景下:

电源域 典型电流 功耗占比 说明
AVDD (3.3V) 5mA - 15mA 30% - 50% 模拟电路静态电流大,但动态变化小
DBVDD (1.8V) 1mA - 3mA 5% - 10% 数字接口功耗低,但跟时钟频率相关
CPVDD (1.8V) 10mA - 40mA 40% - 60% 耳机放大器功耗最大,跟音量、负载相关

看到了吗?CPVDD的功耗占比最大,其次是AVDD,DBVDD最小。所以,优化功耗的优先级应该是:

  1. 先优化CPVDD——降低耳机输出功率、使用高效率的电荷泵
  2. 再优化AVDD——关闭不用的模拟通路、降低采样率
  3. 最后优化DBVDD——降低I2S时钟频率、关闭空闲接口

我曾经在一个TWS耳机项目里,把CPVDD的电压从1.8V降到1.5V(芯片支持),耳机播放功耗直接降了25%。当然,前提是芯片的电荷泵能在低压下正常工作,这个得看数据手册。

3.4 电源域之间的“隔离”与“交叉”

这里有个容易忽略的点:电源域之间不是完全独立的。它们之间有交叉。

比如,模拟信号从AVDD域进入数字DBVDD域时,需要电平转换电路。这个转换电路本身也会消耗功耗。而且,如果两个电源域的上电时序不对,可能导致芯片锁死或者损坏。

我建议你在设计时,仔细阅读芯片的“Power-Up Sequence”章节。通常要求:

  • DBVDD先上电
  • AVDD后上电
  • CPVDD最后上电

为什么?因为数字控制逻辑需要先准备好,才能正确配置模拟电路的状态。如果AVDD先上电而DBVDD没上电,模拟电路可能处于不确定状态,产生大电流甚至闩锁。

避坑指南: 我曾经在一个项目中,为了省一个LDO,把AVDD和DBVDD用同一个电源。结果每次上电,芯片都有概率死机。后来加上RC延时电路,让DBVDD先稳定100ms再给AVDD供电,问题解决。所以,电源域的上电时序,千万别马虎。

3.5 低功耗设计中的电源域策略

最后,我总结几条实战经验:

  • 动态调压: 如果芯片支持,可以在低负载时降低AVDD或CPVDD的电压。比如播放低音量音乐时,CPVDD从1.8V降到1.2V,功耗能降一半。
  • 电源域关断: 不播放音乐时,把CPVDD和AVDD完全关断,只保留DBVDD供电。这样待机功耗可以做到微安级别。
  • 电源域分组: 有些芯片把模拟域又细分成多个子域(比如MICVDD、DACVDD)。按需开启,能进一步降低功耗。

嗯,关于电源域的概念,今天就聊到这儿。下一节我会讲DAPM的电源域映射关系,看看软件是怎么控制这些电源域的开关的。