
I²S数字音频接口图解
三根信号线 · BCLK/WS/SD · 标准与左右对齐 · 主从时钟 · TDM 多声道
门口机里的一句通话、智能音箱里的一段音乐、行车记录仪里的一段录音——这些数字音频在芯片之间流动时,走的几乎都是 I²S。它是飞利浦在 1986 年定义的一种专门传输数字音频的串行接口,用三根线就把采样数据稳稳地从处理器送到编解码器、再送到功放和喇叭。这一期,我们把 I²S 的三根信号线、标准时序、数据对齐、主从时钟与 TDM 多声道一次讲清。
01 I²S 是什么:专门搬运数字音频的接口
I²S(Inter-IC Sound)是一种专为数字音频设计的串行通信接口。它和 SPI、UART 一样是芯片间的串行总线,但只干一件事:把一段一段的音频采样(PCM 数据)准确地在器件之间传输。日常的播放链路是:处理器(SoC)把数字音频经 I²S 送给音频编解码器(Codec),由其内部 DAC 还原成模拟信号,再经功放推动喇叭;录音链路则相反,麦克风的声音经 ADC 采样后,由 I²S 回传给处理器。

图 1I²S 在系统中:连接处理器与音频编解码器
和承载控制命令的 I²C 不同,I²S 是一条只跑音频数据的高速通道——它不关心音量怎么调、寄存器怎么配(那是 I²C 的活),只负责把一帧帧采样按精确的时序搬过去。很多音频芯片因此同时带两套接口:I²C配置参数,I²S 传输音频,各司其职。
02 三根信号线:BCLK、WS、SD
标准 I²S 用三根信号线就完成传输,理解了这三根线,就理解了 I²S 的骨架:

图 2I²S 的三根信号线:BCLK · WS · SD
BCLK(位时钟,也叫 SCK)每一拍对应一个数据位,是整条总线的节拍器;SD(串行数据,也叫 SDATA/DOUT)上跑的就是 MSB 在前的音频采样;WS(字选择,也叫 LRCLK)则有两个作用——既指示当前传的是左声道还是右声道,又用它的翻转标记出一帧的边界。三根线里,BCLK 和 WS 由主端统一产生,保证收发双方严格同步。
03 标准时序:延迟一拍与 MSB 在前
I²S 之所以是“标准 I²S”,关键就在它独特的时序约定:

图 3I²S 标准时序:WS 翻转后延迟 1 拍、MSB 在前
WS 为低时传左声道、为高时传右声道;数据在每个 BCLK 节拍上一位一位地送出,且高位(MSB)最先送。最有特色的一点是:数据并不在 WS 翻转的那一拍立刻出现,而是延迟一个 BCLK 周期才开始。正是这“延迟一拍”,把标准 I²S 与左对齐、右对齐两种格式区分开来——也是现场对接时最容易因为配置不一致而出问题的地方。
04 三种数据对齐:标准 / 左对齐 / 右对齐
围绕“数据相对 WS 翻转放在哪里”,衍生出了三种常见格式,许多 Codec 都可在寄存器里选择:

图 4 三种数据对齐:标准 I²S / 左对齐 / 右对齐
标准 I²S 在 WS 翻转后延迟一拍输出 MSB;左对齐(Left-Justified)则在 WS 翻转后立即输出 MSB、没有那一拍延迟;右对齐(Right-Justified)把数据靠齐到字尾,让 LSB 对齐 WS 的下一次翻转。三者承载的采样内容完全一样,只是摆放位置不同。对接时只要收发两端选的格式不一致,轻则左右声道对调,重则全是噪声,所以这一项必须严格对齐。
05 主从角色:谁产生 BCLK 与 WS
I²S 链路上必须有且只有一个“主”(时钟源)来产生 BCLK 和 WS,谁来当主则要看系统设计:

图 5 主从角色:谁产生 BCLK 与 WS
常见做法是处理器做主,自己产生时钟、按需驱动 Codec;但在对音质要求高的场合,往往让带有低抖动晶振的 Codec 做主,由它产生更干净的时钟,处理器反过来做从——因为音频时钟的抖动(jitter)会直接影响还原出来的音质。无论谁做主,BCLK 与 WS 始终成对地由主端提供,从端只是跟随采样。
06 从 I²S 到 TDM:一线承载多声道
标准 I²S 一根数据线只跑左右两个声道。当声道更多时(多麦克风阵列、多路功放),就会用到它的扩展——TDM:

图 6 从 I²S 到 TDM:一根数据线承载多声道
TDM(时分复用)把一帧按时间切成多个时隙(Slot),每个时隙塞一个声道,于是一根数据线就能承载 4、8 甚至 16 路声道,WS 也换成标记帧头的 FSYNC。这对带阵列麦克风的智能门口机、会议设备非常实用——省下大量数据线和引脚。此外还有 PDM(脉冲密度调制)等数字麦克风常用的接口,与 I²S/TDM 互为补充。
07 选型与设计要点
落到板级设计与调试,下面几条直接决定一条 I²S 音频链路是否好声、好调:
|
设计要点
|
说明
|
|
格式一致
|
收发两端的对齐方式(标准 I²S/左/右)、声道位宽必须完全一致,否则声道错位或出噪声。
|
|
时钟关系
|
BCLK = 采样率 × 位深 × 声道数;主端时钟通常由音频专用 PLL/MCLK 分频得到,注意整除关系。
|
|
主从规划
|
明确谁产生 BCLK/WS;音质敏感场景优先让低抖动晶振一侧做主,减小 jitter。
|
|
MCLK 供给
|
不少 Codec 还需要一路主时钟 MCLK(常为采样率的 256/384 倍),别漏接。
|
|
走线与等长
|
BCLK 是高速时钟,走线短、少过孔;数据相对时钟保持合理时序裕量,避免边沿采样出错。
|
|
TDM 时隙
|
用 TDM 时规划好时隙数与位宽,确认每个器件的 Slot 分配不冲突。
|
|
地与电源
|
音频对电源噪声敏感,模拟/数字地合理分割,给 Codec 干净供电以降低底噪。
|
08 结语
三根线、一套精确的时序、MSB 在前的采样流——I²S 用最朴素的方式,几十年来稳稳地承载着芯片之间的数字音频。对做带语音、带音频产品(从门口机、对讲到智能音箱)的工程师而言,读懂 BCLK/WS/SD 的分工、读懂标准与左右对齐的差别、读懂主从时钟与 TDM,就能在音频链路的设计与调试中快速定位“没声、噪声、声道反”这类常见问题。 |