3. 音频基础概念

在SA8155这类车载智能座舱平台中,音频链路往往从麦克风、蓝牙、USB、Tuner一路延伸到DSP、功放和扬声器。工程师如果只记住“能出声”或“没声音”,很难定位问题。真正有效的排障与设计,必须回到数字音频的基础概念:采样率决定时间轴分辨率,位深决定幅度量化精度,声道决定空间与通道组织,PCM是原始音频数据的通用载体,而I2S、TDM、PDM则是把这些数据在芯片之间搬运的接口协议。理解这些术语之间的关系,等于拿到了音频链路的“坐标系”。

一、采样率、位深与声道:数字音频的三根支柱

模拟声音是连续变化的电压信号,数字音频要把它变成离散序列,必须完成两个动作:时间上离散化,幅度上离散化。时间离散化的密度就是采样率,单位是Hz或kHz。根据奈奎斯特采样定理,采样率必须大于信号最高频率的两倍,才能无混叠地还原。例如48kHz可覆盖24kHz以内的音频,足以覆盖人耳听觉范围。车载常见采样率包括8kHz(窄带通话)、16kHz(语音识别)、44.1kHz(音乐)、48kHz(多媒体与车机主链路)、96kHz/192kHz(高解析音频)。

位深决定每个采样点用多少比特表示幅度,常见有16bit、24bit、32bit。位深越高,量化噪声越低,理论动态范围越大。粗略估算,动态范围约为6.02×位深+1.76dB,因此16bit约96dB,24bit约144dB。在SA8155平台中,DSP内部常以32bit定点或浮点处理,以保留足够的余量,避免级联增益调整时产生截断噪声。

声道描述音频的通道数量与组织方式。单声道Mono只有一路;立体声Stereo有左右两路;5.1、7.1则包含多路环绕与低频效果通道。车载场景中,声道还常与区域绑定,例如主驾、副驾、后排、头枕扬声器,形成多区域音频。声道数、采样率、位深三者共同决定原始PCM码率:码率=采样率×位深×声道数。例如48kHz、16bit、2声道立体声的码率为1.536Mbps。

核心公式:PCM码率 = 采样率 × 位深 × 声道数。它决定了总线带宽、DMA缓冲大小和DSP负载的基线。

二、PCM:数字音频的“通用货币”

PCM即脉冲编码调制,是最基础、最未压缩的数字音频表示形式。它按时间顺序排列每个采样点的量化值,可以是8bit无符号、16bit有符号小端、24bit打包或32bit对齐等多种格式。几乎所有音频接口最终传输的都是某种PCM样式,区别只在于帧结构、时钟关系和通道映射。

在Linux/Android音频系统中,PCM设备通常以/dev/snd/pcmC0D0p这类节点出现,其中C代表card,D代表device,p表示playback,c表示capture。ALSA的hw_params会配置采样率、位深、声道和周期大小。若应用层提交的PCM格式与硬件能力不匹配,就会出现-EINVAL或播放变调、噪声等问题。

# 查看PCM设备能力示例
cat /proc/asound/card0/pcm0p/sub0/hw_params
# 典型输出
format: S16_LE
rate: 48000
channels: 2
period_size: 1024
buffer_size: 8192

需要特别区分“PCM数据格式”和“PCM接口”。前者描述样本如何排列,后者描述数据如何被时钟同步地搬运。I2S、TDM、PDM都属于后者,它们承载的负载通常就是PCM样本。

三、I2S、TDM、PDM:三种典型数字音频接口

I2S是最常见的芯片间音频接口,使用三根核心信号线:SCK/BCLK位时钟、WS/LRCK左右声道帧时钟、SD数据线。标准I2S中,WS低电平表示左声道,高电平表示右声道,数据在BCLK边沿移入移出。它适合两声道高保真传输,接线简单,SA8155与音频Codec、DSP之间大量使用I2S。

TDM是I2S的时分复用扩展。它仍然使用BCLK和帧同步,但在一帧内划分多个时隙,可承载4、8、16甚至更多通道。车载多区域音频、麦克风阵列回传常使用TDM,以减少引脚数量。TDM的关键参数包括时隙数、时隙宽度、帧同步宽度和有效数据位置。如果主从设备的TDM模式不一致,会出现通道错位、左右串音或只有部分声道有声。

PDM用于数字麦克风,只有时钟CLK和数据DATA两根线。它用高密度1bit脉冲的密度表示模拟幅度,随后由抽取滤波器转换为PCM。PDM布线简单、抗干扰好,适合麦克风阵列。但PDM本身不是PCM,必须经过抽取和低通滤波才能进入DSP处理。

数字音频:PCM 数据与 I2S / TDM / PDM 接口关系 PCM 样本 采样率 × 位深 × 声道 48kHz / 16bit / 2ch 码率 1.536 Mbps I2S 接口 BCLK + WS + SD 左右声道帧同步 适合 2ch 高保真 TDM 接口 一帧多时隙 4/8/16 通道复用 多区域 / 麦克风阵列 信号结构对比 I2S: L R L R WS 每帧切换左右 TDM: CH0 CH1 CH2 CH3 CH4 CH5 一帧内多时隙复用 PDM: 1bit 密度调制,需抽取滤波转 PCM

四、案例与排障:从参数不匹配到通道错位

某SA8155座舱项目在播放提示音时出现“左声道正常、右声道极小”的现象。检查发现,DSP输出配置为I2S标准模式,而Codec被配置为左对齐模式,导致数据在WS边沿后的位置不一致,右声道样本被部分截断。将Codec改为I2S标准模式后恢复正常。这个案例说明,接口协议名称相同,但数据对齐方式、帧同步极性、时钟主从关系必须逐项核对。

另一个常见问题是采样率不匹配。应用层以44.1kHz播放,而硬件链路固定为48kHz,若没有采样率转换,就会出现音调偏高、播放速度异常。Android AudioFlinger通常会在混音前统一到主输出采样率,但离线音频、USB音频和蓝牙SCO路径可能绕过该机制,需要单独确认。

排障提醒:遇到“有噪声但无有效音频”时,优先检查BCLK是否存在、WS频率是否等于采样率、SD数据是否在正确边沿采样。PDM麦克风无声时,先确认CLK频率和抽取滤波器配置,而不是直接怀疑麦克风损坏。

五、关键参数速查清单

术语 核心含义 典型值/形式 在SA8155链路中的关注点
采样率 每秒采样点数,决定频率上限 8/16/44.1/48/96/192 kHz 主输出统一采样率、SRC是否启用
位深 每个样本的量化比特数 16/24/32 bit DSP内部位宽、增益余量、截断噪声
声道 音频通道数量与映射 Mono/Stereo/5.1/7.1 多区域路由、扬声器映射、混音策略
PCM 未压缩脉冲编码调制数据 S16_LE、S24_3LE、S32_LE ALSA hw_params、DMA缓冲、格式匹配
I2S 芯片间双声道同步串行接口 BCLK/WS/SD 主从模式、对齐方式、时钟极性
TDM 时分复用多通道接口 4/8/16时隙 时隙宽度、帧同步、通道顺序
PDM 1bit密度调制数字麦克风接口 CLK/DATA 抽取滤波、时钟频率、麦克风阵列时序