3. 车载音频硬件接口与信号链
在 Qualcomm 座舱平台上,音频从麦克风到扬声器要穿过一条由多种数字接口串联而成的信号链。不同接口承担不同职责:I2S 负责点对点短距离高质量音频;TDM 用一条总线承载多路时分复用通道;PDM 直接输出麦克风的 1-bit 脉冲密度流;SoundWire 用两线同时传输音频、控制与时钟;A2B 通过单对双绞线把音频、控制与供电送到远端节点;AVB 则基于以太网提供带时间同步的流式音频。理解它们的电气特性与配置方式,是保证整条链路可通、可测、可量产的前提。
一、接口定位与选型判断
选型时先看三个维度:距离、通道数、是否需要控制通道。I2S 适合 SoC 与 Codec 或功放之间 10 cm 以内的连接,通常 2 通道(左右各一),走 BCK、LRCLK、SDATA 三线加 MCLK。TDM 在同一组时钟线上扩展到 4/8/16 个时隙,适合多麦克风阵列或多路功放输入。PDM 只有 CLK 与 DATA 两根线,适合数字 MEMS 麦克风,但数据是 1-bit 密度流,必须由 SoC 内的抽取滤波器转成 PCM。SoundWire 用 CLK 与 DATA 两线,可挂多从设备,并携带寄存器读写,适合 Codec、功放、麦克风的统一管理。A2B 与 AVB 面向远距离与多节点,A2B 常用于功放分布在车身各处的场景,AVB 用于以太网音频骨干。
二、I2S 与 TDM 的配置要点
I2S 配置的核心是主从关系与时钟极性。以 Qualcomm 平台常见的配置为例,SoC 作为主设备输出 BCK 与 LRCLK,Codec 作为从设备接收。BCK 频率由采样率、位宽和通道数决定:48 kHz、32 bit、2 通道时,BCK = 48000 × 32 × 2 = 3.072 MHz。LRCLK 等于采样率 48 kHz。若 Codec 要求左对齐或右对齐,需在设备树中设置 qcom,msm-lsm-client 或对应的 DAI 格式字段,常见取值为 I2S、LEFT_J、RIGHT_J。MCLK 通常由 SoC 的 PLL 分频得到,Codec 若需要 256×Fs 的 MCLK,则 48 kHz 下为 12.288 MHz,需确认 PLL 能输出该频率且抖动在 Codec 允许范围内。
TDM 在 I2S 基础上增加时隙概念。一条 TDM 总线可承载 8 个时隙,每个时隙 32 bit,BCK = 48000 × 32 × 8 = 12.288 MHz。配置时需明确每个从设备占用哪些时隙,例如麦克风阵列占用 slot 0–3,功放占用 slot 4–7。设备树中通过 qcom,tdm-slot-mask 或类似属性指定,同时要保证所有从设备对帧同步极性、数据延迟(data offset)的理解一致,否则会出现通道错位或半帧偏移。
三、PDM 麦克风与抽取滤波
PDM 麦克风输出的是 1-bit 密度流,其时钟频率通常在 1.2 MHz 到 3.2 MHz 之间。以 3.072 MHz 为例,若目标 PCM 采样率为 48 kHz,则抽取比为 64。Qualcomm 平台的 LPASS 内部提供 CIC 或 FIR 抽取滤波器,配置时需要设置 qcom,pdm-clk-freq 与 qcom,pdm-sample-rate,并确认高通滤波(HPF)是否使能以抑制直流偏置。PDM 麦克风的左右声道通过 CLK 的上升沿与下降沿区分,布线时 DATA 与 CLK 应等长并远离高频开关节点,否则密度流误码会直接表现为底噪升高。
四、SoundWire 与 A2B 的配置差异
SoundWire 的配置围绕主从设备枚举与流映射展开。SoC 作为 Master,通过 CLK 与 DATA 两线访问从设备的寄存器,完成设备 ID 读取、DP(Data Port)分配和流带宽协商。在 Linux 侧通常通过 ASoC 的 sdw 框架描述,设备树中给出 soundwire-controller 节点及从设备的 reg 地址。A2B 则不同,它由主节点通过超帧(superframe)周期性地读写各从节点寄存器,音频通道以 I2S/TDM 形式在节点内部落地。A2B 的配置重点是总线供电电流预算、节点地址分配和超帧速率,常见超帧率为 48 kHz,每个超帧包含多个下行与上行时隙。
五、电气连接与匹配
数字接口之外,模拟端的匹配同样关键。麦克风偏置通常为 2.5 V 至 3.3 V,经偏置电阻接入麦克风正端,差分输入需保证共模电压在 Codec 允许范围内。功放输出到扬声器要关注阻抗与功率:4 Ω 负载下,若功放输出 4 Vrms,则功率约为 4 W;8 Ω 下同样电压约为 2 W。线束电阻会分压,长线束需加粗或缩短。扬声器极性反接会导致低频抵消,装配后可用极性测试信号确认。
六、配置检查清单(示例)
| 接口 | 关键参数 | 示例值 | 检查点 |
|---|---|---|---|
| I2S | BCK / LRCLK / 格式 | 3.072 MHz / 48 kHz / I2S | 主从一致、无半帧偏移 |
| TDM | 时隙数 / 时隙掩码 | 8 slot × 32 bit | 各从设备时隙不重叠 |
| PDM | CLK 频率 / 抽取比 | 3.072 MHz / 64 | 底噪与直流偏置 |
| SoundWire | 设备 ID / DP 映射 | Master + 2 Slave | 枚举成功、流带宽足够 |
| A2B | 超帧率 / 节点地址 | 48 kHz / 0–3 | 供电电流与线束压降 |
| AVB | gPTP 同步 / 流 ID | 802.1AS / Stream 1 | 时钟锁定与延迟 |
整条信号链的可测性来自分段验证:数字侧看时钟与数据格式,模拟侧看偏置、阻抗与功率,网络侧看同步与流状态。把每一段的输入条件、配置参数和可观察结果对应起来,才能在出现无声、杂音或通道错位时快速定位到具体接口。