gkb986 发表于 2025-4-16 10:02:06

I2S串行总线协议

P001:I2S串行总线协议(By高老庄子,2025年4月16日,主要参考:UM11732 I2S bus specification User manual,Rev. 3.0)
(一)I2S总线协议的基本概念
I2S = Inter-IC Sound = Integrated Interchip Sound = IIS,它主要用于数字音频设备之间的通信,特别是在音频信号需要在芯片之间传输时,I2S 提供了一种简洁而高效的解决方案。I2S协议由飞利浦公司在1986年首次提出,并迅速成为数字音频领域的行业标准。其简单的硬件连接和高效的数据传输能力,使其广泛应用于编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。
I2S协议是一种专门用于数字音频数据传输的接口协议,支持多种音频数据格式,如线性PCM(Pulse Code Modulation);I2S的主要目的是在数字音频系统中传输未经压缩的音频数据,保证数据的完整性和高保真度。

gkb986 发表于 2025-4-16 10:03:26

(二)I2S串行总线基本结构
I2S总线只用于传输音频信号而不包括控制信号,为简化设计只使用了三条信号线组成串行总线:一条分时复用的数据线Serial Data (SD),一条字选择线Word Select (WS),一条时钟线Continuous Serial Clock (SCK)。数据发送端和接收端使用相同的时钟信号(即同步传输),由发送时钟信号(SCK和WS)的一端作为总线控制器。
时钟线(Continues Serial Clock,SCK):SCK线提供了同步音频数据传输的时钟信号。确定了数据传输的速度和时序。该时钟也称为Bit Clock(BCLK)。SCK的频率=2x采样频率x位宽。
字选择线Word Select (WS)或左/右声道线(Left-Right Clock,LRCK):LRCK线指示了当前传输的是左声道的音频数据还是右声道的音频数据。它被称为帧同步信号。LRCK的频率=采样频率。
数据线(Serial Data,SD):SD线用于传输实际的音频数据。数据的位宽可以根据具体应用而变化,通常为16位或32位。

gkb986 发表于 2025-4-16 10:04:39

(三)I2S串行总线基本时序(以I2S标准格式为例)
   串行数据Serial Data (SD)以二进制补码形式传输,MSB在前。MSB在先是因为发送端和接收端的字长(bits-per-word)可能不同,发送端和接收端不需要知道对方规定的字长。当系统字长比数据发送端字长长的时候,数据会被截断(truncated),即如果数据接收端接收的数据位比它规定的字长长的话,那么规定字长最低位LSB之后的数据会被忽略,如果接收的字长比它规定的字长短,不足的位会被补0。这种处理使最高位MSB在数据帧中有一个固定的位置,而最低位LSB的位置取决于字长,发送端总是在WS变化后的第一个时钟周期内送出下一个字的最高位MSB。
串行数据SD可以在时钟的下降沿或是上升沿更新,但总是在串行时钟的上升沿被锁存进接收端,因此时钟上升沿前后数据需要保持稳定。

gkb986 发表于 2025-4-16 10:06:06

(四)I2S传输模式之一Philips 标准模式(I2S 标准模式)
这是 I2S 接口最常用的传输模式,通常也被称为 I2S 模式,由 Philips 公司(现 NXP)定义,主要特点:
(1)LRCK(左右声道选择信号):I2S格式中,当LRCK为低时为左声道数据,当LRCK为高时为右声道数据。
(2)SCK(位时钟):数据传输的时钟信号。在SCK下降沿发送数据,在SCK上升沿采样数据。
(3)Data Delay:发送的有效数据相对于LRCK的跳变沿(从0到1或从1到0)延迟一个时钟周期。
(4)数据发送从MSB开始;数据MSB与LRCK delay 1个SCK的边沿对齐。
(5)对于这种标准I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在WCLK/LRCK变化(也就是一帧开始)后的第2个BCLK/SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

gkb986 发表于 2025-4-16 10:07:16

(五)I2S传输模式之二Left Justified 模式(左对齐模式,LJ 模式)
其主要特点如下:
(1)在左对齐格式中,LRCK为高时,表示当前传输的数据为左声道数据;当LRCK为低时,表示当前传输的数据为右声道数据。
(2)在SCK下降沿发送数据,在SCK上升沿接收数据。
(3)无data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟。
(4)数据发送从MSB开始;数据MSB与LRCK跳变沿对齐。
(5)左对齐格式的数据的MSB没有相对于BCLK延迟一个时钟。左对齐格式的左右声道数据的MSB在WS边沿变化后SCK/BCLK的第一个上升沿有效。左对齐格式的优点在于,由于在WS变化后的第一个SCK上升沿就开始采样,它不需要关心左右声道数据的字长。

gkb986 发表于 2025-4-16 10:08:15

(六)I2S传输模式之三Right Justified 模式(右对齐模式,RJ 模式)
其主要特点如下:
(1)右对齐格式中,LRCK为高电平时,表示当前传输的数据为左声道数据;当LRCK为低电平时,表示当前传输的数据为右声道数据。
(2)在SCK下降沿发送数据,在SCK上升沿接收数据。
(3)无Data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟。
(4)数据发送从MSB开始;数据LSB与LRCK跳变沿对齐。
(5)右对齐格式也叫日本格式,sony格式。相比于标准左对齐格式,标准右对齐的不足在于接收设备必须事先知道待传数据的字长。

gkb986 发表于 2025-4-16 10:08:40

(七)三种 I2S 模式对比

天门冬 发表于 2025-4-16 11:18:56

请教坛友,CD机CXD2508AQ的I2S串行总线如何引出?

world_all 发表于 2025-4-16 11:31:47

刚好看到一个左右声道分离的电路。

gkb986 发表于 2025-4-16 11:48:18

本帖最后由 gkb986 于 2025-4-16 11:52 编辑

天门冬 发表于 2025-4-16 11:18
请教坛友,CD机CXD2508AQ的I2S串行总线如何引出?


1、测量42脚LRCK频率应为44.1K
2、测量46脚BCK频率应为2.12M
3、示波器观察44脚PCMD为数据输出
4、输出I2S模式为24bit,右对齐
希望能帮到你。

天门冬 发表于 2025-4-16 14:00:01

gkb986 发表于 2025-4-16 11:48
1、测量42脚LRCK频率应为44.1K
2、测量46脚BCK频率应为2.12M
3、示波器观察44脚PCMD为数据输出


谢谢,DATA应该是9脚?还是46脚?另外DAC板上标出的MCK没有找到。

wyqgyn 发表于 2025-4-16 14:08:27

天门冬 发表于 2025-4-16 14:00
谢谢,DATA应该是9脚?还是46脚?另外DAC板上标出的MCK没有找到。

普通状态是不需要MCK的。只有使用滤波器的时候才需要。因为对于移位2.8224M的信号必须使用更高的频率做时钟。
页: [1]
查看完整版本: I2S串行总线协议