I2S(InterIC Sound Bus)是飞利浦公司针对数字音频设备之间的音频数据传输而拟定的一种总线标准,选用沿独立的导线传输时钟与数据信号的规划,经过别离数据和时钟信号,避免了时差诱发的失真。I2S总线简略有用,可以有用提高输出数据的质量,在各种嵌入式音频体系中有广泛应用。但是在嵌入式音频体系规划中,并不是一切的MCU都支撑I2S总线格局,再加上I2S还没有一致的接口标准,不同的厂家出产的设备接口也是形形色色,选用软件模仿完成I2S总线可有用处理在不支撑其的MCU和设备之间经过I2S总线完成数据传输时呈现的问题。
总线标准
I2S为三线总线,3个信号分别为:
① 串行时钟SCK,也叫位时钟(BCK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接纳器都可以作为体系的主机来供给体系的时钟频率。
② 帧时钟WS,即指令(声道)挑选,用于切换左右声道的数据。WS的频率等于采样频率,由体系主机供给。WS为“1”表明传输的是左声道的数据,WS为“0”表明传输的是右声道的数据。
③ 串行数据信号SD,用于传输二进制补码表明的音频数据。
I2S格局的信号不管有多少位有用数据,数据位的最高位(MSB)总是被最早传输,1次可以发送的数据决定于I2S格局的有用位数。
1个典型的I2S信号时序如图1所示
图1 I2S总线典型时序图
跟着技能的开展,在一致的I2S接口下呈现了多种不同的数据格局。依据SD信号相对于SCK和WS方位的不同,分为左对齐和右对齐2种格局,如图2和图3所示。
图2 16位有用位数的左对齐格局
图3 16位有用位数的右对齐格局
在上面2种数据传输格局中,当WS为“1”时传输的是左声道的数据,当WS为“0”时传输的是右声道的数据。为了确保数字音频信号的正确传输,发送端和接纳端有必要选用相同的数据格局。