看名字I2S和I2C有相似之处,没错,I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,也是飞利浦公司开发出来的一种数据通信总线。I2S是为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,应用于各种多媒体系统。和I2C一样,它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离。
无论是视频信号,还是音频信号,信号的数字化处理早已经成为现实。从磁带机、留声机到CD机、MP3播放器,就是这个趋势的直接体现。同I2C总线一样,I2S也是传输数字信号。在I2S总线传输方式下,使用三根信号线,实现左右两个音频通道的数字信号数据在总线上的传输。这三根总线的构成:
1、串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2、串行数据SDATA,就是用二进制补码表示的音频数据。
3、帧时钟信号LRCK,也称WS,这个信号线上用来区分数据信号线上的数据是左右声道中的哪一个。高电平表示是左声道的,低电平表示是右声道的。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。
I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。
为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。
一、在I2S总线上的电气规范:
对输出端:VL <0.4V,VH>2.4V
对输入端:VIL<0.8V,VIH>2.0V
二、I2S协议中常见的参数
1、位宽(Word Length):位宽指定每个采样数据的位数,通常为16位或32位。较大的位宽可以提供更高的分辨率和动态范围。
2、时钟极性(Clock Polarity):时钟极性确定了数据位传输的时钟沿。根据具体的I2S设备和系统设置,可以定义在时钟上升沿或下降沿开始数据传输
3、帧同步极性(Frame Sync Polarity):帧同步极性确定了帧同步信号的有效电平。帧同步信号指示音频数据的帧起始和结束位置。
4、传输格式(Data Format):传输格式定义了音频数据的编码方式,传输格式还可以指定数据的顺序,如左声道先传输还是右声道先传输
三、主从工作模式
I2S工作模式可以是主模式(Master Mode)或从模式(Slave Mode)。两者唯一的区别是:Master Mode提供时钟信号(SCK)和帧同步信号(LRCK)。如下图所示,一共存在三种工作模式,分别是:
1.发射器(transmitter)为Master,接收器(receiver)为Slave,此时由发射器提供SCK和LRCK
2.接收器(receiver)为Master,发射器(transmitter)为Slave,此时由接收器提供SCK和LRCK
3.发射器(transmitter)和接收器(receiver)均为Slave,由系统中其他模块提供SCK和LRCK