2. 数字音频基础
在I2S/TDM多通道音频硬件设计中,所有时钟、数据线、通道映射的最终目的,都是把模拟声音可靠地转换为数字比特流,再在接收端还原。理解采样率、位深、量化噪声、PCM编码以及音频数据流与时钟的关系,是读懂I2S时序图、配置TDM时隙、判断爆音与底噪问题的前提。本节从“模拟到数字”的链路出发,把这些概念串成一条可验证的硬件设计线索。
一、核心原理:从连续声波到离散比特
声音本质是随时间连续变化的模拟压力波。数字音频系统要做的第一件事是采样:以固定时间间隔读取模拟幅度,把连续时间轴变成离散时间点。这个固定间隔的倒数就是采样率(fs),常见值有8 kHz、16 kHz、44.1 kHz、48 kHz、96 kHz、192 kHz。采样率决定可表示的最高频率,依据奈奎斯特准则,可无混叠还原的带宽上限为fs/2。例如48 kHz系统理论带宽为24 kHz,覆盖人耳可听范围。
第二件事是量化:把每个采样点的连续幅度映射到有限个离散电平。量化位数就是位深(bit depth),常见16 bit、24 bit、32 bit。位深决定幅度分辨率,也决定理论动态范围。理想情况下,量化信噪比近似为6.02N+1.76 dB,其中N为位深。16 bit约98 dB,24 bit约146 dB。这个公式是硬件选型时判断“底噪是否够低”的快速标尺。
第三件事是编码:把量化后的整数按约定格式排列成二进制流。PCM(脉冲编码调制)是最基础、最通用的线性编码方式,I2S和TDM传输的音频数据本质上都是PCM样本。PCM样本可以是左对齐、右对齐或I2S格式,区别在于有效位在帧中的位置,而不是数值本身。
二、量化噪声与位深选择
量化噪声来自“连续幅度被四舍五入到离散电平”这一不可逆过程。它通常被近似为均匀白噪声,幅度约为±0.5 LSB。位深每增加1 bit,量化台阶减半,噪声功率下降约6 dB,动态范围提升约6 dB。因此24 bit相对16 bit,理论动态范围多出约48 dB,这对高保真录音、远场拾音和低电平细节保留非常关键。
硬件设计中要注意:位深并不等于“有效位数”。ADC/DAC的实际ENOB(有效位数)受模拟前端噪声、参考电压抖动、电源纹波和时钟抖动限制。一个标称24 bit的Codec,若模拟底噪较大,实际可能只有18~20 bit有效。因此选型时应同时看THD+N、SNR、动态范围,而不是只看“支持24 bit”。
快速估算:若系统要求底噪低于-100 dBFS,则至少需要约17 bit有效位;若要求-120 dBFS,则至少需要约20 bit有效位。设计时建议留3~6 dB余量。
三、PCM编码与数据流组织
PCM把每个采样点的量化值表示为二进制补码整数。以24 bit单声道为例,一个样本占3字节;立体声则按L/R交替排列。I2S协议规定:WS变化后,数据在SCK边沿逐位输出,MSB通常比WS边沿延迟一个SCK周期。TDM则把多个通道塞进同一个WS帧内,每个通道占用固定时隙(slot),时隙宽度通常为32 bit。
下面是一个典型的TDM 8通道、32 bit时隙、48 kHz采样率的参数计算:
fs = 48000 Hz
slot_bits = 32
channels = 8
SCK = fs × slot_bits × channels
= 48000 × 32 × 8
= 12.288 MHz
WS = fs = 48 kHz
每帧时长 = 1 / 48000 ≈ 20.833 μs
每时隙时长 = 1 / (48000 × 8) ≈ 2.604 μs
这些数字直接决定PCB走线、时钟树和Codec配置。若SCK过高而走线过长,容易引起建立/保持时间不足;若WS与SCK相位关系配置错误,则会出现左右声道交换或通道错位。
四、案例:48 kHz/24 bit立体声与TDM 8通道对比
| 项目 | I2S 立体声 | TDM 8通道 |
|---|---|---|
| 采样率 fs | 48 kHz | 48 kHz |
| 位深 | 24 bit | 24 bit(32 bit时隙) |
| 通道数 | 2 | 8 |
| WS频率 | 48 kHz | 48 kHz |
| SCK频率 | 48k × 32 × 2 = 3.072 MHz | 48k × 32 × 8 = 12.288 MHz |
| 数据线 | 1根SD,L/R交替 | 1根SD,8个时隙循环 |
| 典型应用 | 耳机、立体声Codec | 麦克风阵列、车载音频 |
五、常见误区与复盘
- 误区一:采样率越高越好。采样率提高会增加SCK频率和数据吞吐,若后端DSP或存储带宽不足,反而引入丢帧。应按应用带宽需求选择,语音常用16 kHz,音乐常用48 kHz,高保真才上96/192 kHz。
- 误区二:位深等于精度。位深只是理论分辨率,实际精度受模拟噪声、时钟抖动和电源质量限制。24 bit系统若时钟抖动大,ENOB可能明显下降。
- 误区三:WS和SCK可以任意配置。WS必须与SCK保持整数倍关系,且TDM时隙数、位深、通道数必须与Codec寄存器一致,否则会出现通道错位或数据截断。
- 误区四:忽略MSB延迟。I2S标准要求MSB在WS边沿后延迟一个SCK,若主控配置为“左对齐”而Codec配置为“I2S”,会导致数据整体偏移一位,表现为音量减半或噪声。
排障提示:若听到周期性“咔哒”声,优先检查WS与SCK是否同源、PLL是否锁定;若底噪偏高,优先检查量化位深、模拟前端增益和电源纹波;若左右声道反相,检查WS极性及L/R时隙顺序。
把采样率、位深、量化噪声、PCM编码和时钟关系放在同一张链路图中理解,就能在硬件设计时快速判断:SCK是否超限、WS是否匹配、时隙是否对齐、底噪是否达标。这些判断直接决定I2S/TDM系统能否稳定传输多通道音频。