摘要
I2S、TDM(Time Division Multiplexing)与PCM(Pulse Code Modulation)是数字音频系统中最为常见的三种接口协议。三者均用于在音频主控(AP/SoC/FPGA)与音频外设(Codec、DAC、ADC、DSP)之间传输数字音频数据,但在时序模型、声道数量、采样率支持以及布线复杂度上存在显著差异。
本文从时序规格、电气参数出发,详解三大接口的技术细节与工程实践要点,并提供选型对比表与常见问题解答,帮助硬件工程师在芯片对接阶段做出正确判断。
1. 接口概述与核心定位
I2S(Inter-IC Sound)
I2S由飞利浦(现NXP)在1980年代提出,专门用于在集成电路之间传输PCM音频数据。其设计目标是简单、低延迟:仅传输2声道(立体声)音频,以最少的数据线完成高质量数字音频传输。
I2S自诞生起就成为Hi-Fi音频领域的事实标准,几乎所有音频Codec都支持I2S输入/输出。
TDM(Time Division Multiplexing)
TDM是I2S的多声道扩展。在I2S的物理接口上,TDM通过时隙分配机制,将多个声道的数据复用进同一条数据线。TDM也常被称为I2S扩展模式(I2S Extension)或DSP Mode。
TDM常见配置有:
- TDM4:4声道
- TDM6:6声道
- TDM8:8声道
- TDM16:16声道
TDM主要用于多声道音频场景,如会议系统、汽车音频矩阵、专业声卡等。
PCM(Pulse Code Modulation)
PCM在音频领域有两种含义:
- 调制方式:将模拟信号量化为数字样本的基础技术(区别于DSD等)
- 接口协议:一种类似于I2S但时序略有不同的同步串行接口
本文讨论的是后者——PCM接口协议。PCM与I2S高度相似,但主时钟(BCLK)与帧同步(FS/WS)的关系可以更灵活配置,常用于VoIP、蓝牙音频(QCOM平台)、移动通信平台与音频子系统之间的对接。
2. 时序规格详解
2.1 I2S 时序
I2S接口只需三根信号线:
- SCK / BCLK:位时钟,提供数据位的采样节拍
- WS / LRCK:字选择(Word Select),也叫帧同步,标识左/右声道
- SD / SDATA:串行数据线
可选信号线:
- MCK / MCLK:主时钟,供Codec内部采样率生成使用,不是I2S数据传输必需的
时序关系:
WS切换后,第一个数据位延迟1个BCLK周期开始有效(标准I2S)
数据在BCLK下降沿采样(标准模式,Master发送)
典型时序参数(以48kHz/16bit为例):
- LRCK = 48kHz
- BCLK = 48kHz × 2(声道)× 16(位)= 1.536MHz
- 数据格式:MSB优先,左声道在WS=0,右声道在WS=1
2.2 TDM 时序
TDM在I2S基础上增加了时隙概念。FS信号不再是左/右切换,而是多声道帧同步脉冲:
FS周期 = 1 / 采样率
FS脉冲宽度 = 1个BCLK周期(通常)
每个时隙宽度 = 1个BCLK周期
以TDM8、48kHz/32bit为例:
- BCLK = 48kHz × 8声道 × 32位 = 12.288MHz
- 每个声道占用32个BCLK周期
两种TDM时序模式:
| 模式 | WS行为 |
|---|---|
| I2S兼容模式(DSP Mode A) | WS在第一个数据位前一个BCLK周期拉高/低,整个帧期间保持 |
| 同步左对齐模式(DSP Mode B) | WS在帧开始时产生一个短脉冲,宽度1个BCLK周期 |
2.3 PCM 时序
PCM接口时序与I2S非常接近,但关键区别在于WS信号与数据位的对齐关系更灵活:
- I2S:数据位相对WS有1个BCLK延迟(WS在BCLK下降沿改变,数据在下一个下降沿开始)
- PCM:数据位通常与WS同步对齐(WS上升沿后立即开始第一 bit)
这使得PCM在某些平台(尤其是高通、联发科等手机SoC)的蓝牙语音通路中被广泛采用。
3. 电气规格对比
| 参数 | I2S | TDM | PCM |
|---|---|---|---|
| 信号线数(不含MCLK) | 3 | 3 | 3 |
| 最大声道数 | 2 | 2–16(取决于时隙配置) | 2 |
| 数据位宽 | 16/20/24/32bit | 16/24/32bit | 8/16/24/32bit |
| 最大采样率 | 最高384kHz(取决于BCLK) | 同I2S | 同I2S |
| 主时钟(MCLK) | 可选 | 可选 | 可选 |
| 数据格式 | MSB优先,左对齐/右对齐 | 按TDM时隙 | MSB优先 |
| 典型应用 | Hi-Fi立体声Codec | 多声道音频矩阵、会议系统 | 蓝牙语音VoIP、基带通信 |
布线建议:
- 数据线(SD)应尽量走直线,避免过孔
- BCLK频率较高时(>6MHz),建议在PCB两侧包地,减少串扰
- TDM多声道场景下,BCLK频率可能超过10MHz,PCB走线长度匹配(±50mil以内)
- I2S/TDM/PCM信号不建议与其他高速信号(如USB、MIPI)平行走线
4. 应用场景与选型指南
何时选I2S
I2S是最通用的选择,适用于绝大多数立体声音频应用:
- Hi-Fi播放器、声卡、解码耳放
- USB-C音频适配器(音频Codec)
- 立体声麦克风阵列
- 汽车音响中的立体声输出
何时选TDM
TDM适合多声道场景,是绕过高引脚数的有效方案:
- 会议系统全向麦(常见4–8麦阵列)
- 智能音箱多单元音频输出(高频+低频+高音独立通道)
- 汽车音频矩阵(车门、座椅音响、环绕声)
- 专业音频接口的多通道AD/DA对接
何时选PCM
PCM因其简洁的时序与灵活性,常用于平台侧接口:
- 手机SoC与蓝牙芯片之间的语音通路(CVSD/MSBC)
- 基带平台与音频子系统的对接
- VoIP电话、会议摄像头音频
- 物联网设备的低功耗音频节点
5. 选型参数对照表
| 场景需求 | 推荐接口 | 关键理由 |
|---|---|---|
| 立体声Hi-Fi | I2S | 生态最广,所有Codec标配 |
| 多麦阵列(≥3路ADC) | TDM | 节省布线,减少主控GPIO占用 |
| 蓝牙语音(CVSD/MSBC) | PCM | 时序简洁,平台原生支持 |
| 多声道功放矩阵 | TDM | 总线式布线,适合长距离 |
| 便携解码耳放 | I2S | 32bit/384kHz Hi-Res标准接口 |
| 会议系统全向麦 | TDM8/TDM16 | 支持8–16路麦克风同步采集 |
| 入门级USB耳机 | I2S | 与USB音频控制器的I2S输出直连 |
6. 常见问题FAQ
Q:I2S和PCM可以互连吗?
在大多数情况下不可以直接互连,因为两者的WS与数据对齐关系不同。强行连接会导致左/右声道数据错位。若必须对接,需要在中间加一个FPGA或MCU做数据重映射。
Q:TDM可以传输立体声吗?
可以。将TDM配置为TDM2模式(2个时隙)即可传输立体声,且行为与I2S一致。此时TDM的WS在第1个时隙开始前产生。
Q:MCLK是不是必须的?
MCLK(主时钟)主要用于Audio Codec内部生成精确的采样时钟(PLL)。如果Codec内部有精准晶振或PLL可以自己锁定BCLK,则MCLK可以省略。在USB音频应用中,MCLK通常由USB音频控制器提供,用于生成44.1kHz/48kHz等采样率。
Q:BCLK频率如何计算?
BCLK = 采样率 × 声道数 × 数据位宽
例如 48kHz / 立体声 / 32bit:
BCLK = 48000 × 2 × 32 = 3.072MHz
例如 192kHz / 8声道 / 24bit(TDM8):
BCLK = 192000 × 8 × 24 = 36.864MHz
Q:I2S信号最长可以走多长?
在典型PCB上,I2S(≤5MHz BCLK)可走30cm以内无需加驱动。对于TDM高频(>20MHz BCLK),建议走线<10cm,或使用含驱动的主控方案。
Q:如何判断I2S/TDM接口是否正常工作?
- 用示波器检查BCLK与WS频率是否正确
- 测量SD数据线,看是否有数据切换(空闲时为固定电平或持续0)
- 将Codec配置为Loopback模式,从ADC到DAC走直通,确认音频通路
- 用逻辑分析仪抓取完整帧数据,验证声道顺序与位宽
7. 结论
I2S、TDM与PCM三者各有其技术优势与适用场景,并非互相取代的关系。对于硬件工程师而言,理解三者之间的时序差异——尤其是WS与数据位的对齐关系——是在调试音频通路时快速定位问题的关键。
在实际项目中,选型优先级建议如下:
- 立体声Hi-Fi → 选I2S
- 多声道音频矩阵 → 选TDM
- 平台侧语音通路 → 选PCM
掌握这三种接口的时序规格与布线要求,能够让工程师在音频系统设计中避免大量调试陷阱,缩短产品上市时间。
注:本文时序参数参考行业通用规范,不同芯片厂商的时序细节可能存在细微差异,设计前请参考芯片官方数据手册。