3、数字音频接口:I2S、TDM、PDM、S/PDIF、AES/EBU 协议简介
数字音频接口,说白了就是芯片之间、设备之间传音频数据的「高速公路」。选错接口,轻则音质受损,重则系统直接罢工。我刚开始做音频项目时,就吃过接口不匹配的亏——板子调了三天,最后发现是 I2S 的位时钟极性搞反了。
这一章,我把最常见的五种接口给你捋一遍。你不需要背寄存器,但得知道它们各自适合什么场景、有什么坑。
3.1 I2S:最经典的芯片间音频总线
I2S(Inter-IC Sound)是飞利浦在 80 年代搞出来的。到现在,几乎所有音频 Codec、DSP、蓝牙芯片都在用。它只有三条线:
- BCLK(位时钟)——每个 bit 跳一次,频率 = 采样率 × 位深 × 通道数
- LRCK(左右声道时钟)——切换左右声道,频率 = 采样率
- SDATA(数据线)——串行传输音频数据
举个例子:44.1kHz、16bit、立体声,BCLK 就是 44.1k × 16 × 2 = 1.4112 MHz。这个数你最好记一下,调试时经常要拿示波器量。
I2S 的标准数据格式是:MSB 先传,左对齐,LRCK 低电平左声道、高电平右声道。但很多芯片厂商会搞「变种」——比如右对齐、PCM 模式。所以,对接两个芯片时,一定要先看 datasheet 里的时序图,别想当然。
3.2 TDM:I2S 的多通道进化版
I2S 天生只支持两个声道。如果你要做 8 通道麦克风阵列、或者 32 通道调音台,I2S 就不够用了。这时候 TDM(时分复用)上场。
TDM 本质上还是那三根线,但 LRCK 变成了帧同步信号(FSYNC),一个帧里可以塞 4、8、16 甚至 32 个时隙。每个时隙对应一个通道。
| 特性 | I2S | TDM |
|---|---|---|
| 最大通道数 | 2 | 2~32(取决于 BCLK 频率) |
| 帧同步信号 | LRCK(50% 占空比) | FSYNC(脉冲信号) |
| 典型应用 | 立体声 Codec、蓝牙音频 | 麦克风阵列、多通道 ADC/DAC |
| 布线复杂度 | 低 | 中(BCLK 频率更高) |
嗯,这里要注意:TDM 的 BCLK 频率会随着通道数增加而飙升。比如 8 通道、48kHz、24bit,BCLK = 48k × 24 × 8 = 9.216 MHz。如果走线太长,信号完整性会出问题。我建议超过 8 通道时,尽量用差分驱动或加缓冲器。
3.3 PDM:MEMS 麦克风的「专属语言」
PDM(脉冲密度调制)跟上面两种完全不同。它不传 PCM 数据,而是传一串 1bit 的脉冲流。脉冲密度越高,代表信号幅度越大。
为什么 MEMS 麦克风喜欢用 PDM?因为内部就是一个 Σ-Δ 调制器,天然输出 1bit 流。省去了芯片内部的抽取滤波,成本低、功耗小。
PDM 只有两条线:
- PDM_CLK——由主设备提供,典型频率 1~4 MHz
- PDM_DATA——数据线,左右声道通常分时复用(上升沿左声道,下降沿右声道)
PDM 信号不能直接听,必须经过抽取滤波转成 PCM。大多数 MCU 或 DSP 内部都有现成的 PDM 到 PCM 转换模块,但要注意滤波器的延迟——有些低端芯片的延迟能到 5ms 以上,做 ANC(主动降噪)时会出问题。
3.4 S/PDIF 与 AES/EBU:设备间的「数字音频线」
这两个协议本质上是同一套东西,只是物理层和连接器不同。
- S/PDIF(Sony/Philips Digital Interface)——消费级,用 RCA 同轴或光纤(TOSLINK),传输距离 10 米左右
- AES/EBU(Audio Engineering Society / European Broadcasting Union)——专业级,用 XLR 卡侬头或 BNC,平衡传输,距离可达 100 米
它们都采用双相标记编码(Biphase Mark Code),时钟和数据混在一起传。接收端需要从信号里恢复时钟——这就是所谓的「时钟恢复」。
你想想看,如果发送端和接收端的时钟有微小偏差,长时间播放就会产生「丢帧」或「重复帧」,表现出来就是咔嗒声或爆音。专业设备会用 PLL(锁相环)加 VCXO(压控晶振)来抑制抖动。
| 参数 | S/PDIF | AES/EBU |
|---|---|---|
| 连接器 | RCA / TOSLINK | XLR / BNC |
| 阻抗 | 75 Ω | 110 Ω(XLR)/ 75 Ω(BNC) |
| 电平 | 0.5 Vpp | 3~10 Vpp |
| 最大传输距离 | ~10 m | ~100 m |
| 典型场景 | CD 机、电视、游戏机 | 录音棚、调音台、广播设备 |
3.5 接口选型速查表
最后给你一张速查表,做方案选型时直接翻到这里就行:
| 需求场景 | 推荐接口 | 理由 |
|---|---|---|
| 立体声 Codec 对接 | I2S | 简单、成熟、几乎所有芯片都支持 |
| 4 路以上麦克风阵列 | TDM 或 PDM | TDM 灵活,PDM 适合 MEMS 麦 |
| 低功耗可穿戴设备 | PDM | 省掉 Codec,直连 MCU |
| 消费级设备间互联 | S/PDIF | 光纤隔离、接口普及 |
| 专业录音棚级联 | AES/EBU | 长距离、抗干扰、多通道 |