概述
I2S(Inter-IC Sound)是一种广泛应用于数字音频传输的串行接口标准。它最初由飞利浦(Philips)公司开发,用于解决在集成电路之间传输音频数据的问题。I2S协议定义了音频数据的传输格式、时序和控制信号。
在工作中音频采集和输出,ADC/DAC和主芯片之间的通信均是通过I2S进行通信的,其应用场景如下:
I2S信号线
- 时钟线(Continues Serial Clock,SCK):也称为位时钟(Bit Clock,BCLK),用于同步音频数据的传输,确定数据传输的速度和时序。SCK的频率=2x采样频率x位宽
- 左/右声道线(Left-Right Clock,LRCK):也称为帧同步信号(Frame Sync),用于指示当前传输的是左声道,还是右声道的音频数据。LRCK的频率=采样频率
- 数据线(Serial Data,SD):用于传输实际的音频数据。数据的位宽可以根据具体应用而变化,通常为16位或32位。在发送方向上称为Serial Data Out(SDO),在接收方向上称为Serial Data In(SDI)。
- 如果需要实现收和发功能,则可能需要第四根信号线,用于区分接收和发送的数据信号。
- 有时,为了使系统间能够更好地同步,还可能需要一个额外的主时钟信号MCLK,也称为系统时钟(System Clock),它是采样频率的128、或256、或384或512倍*。*但MCLK不是I2S接口的标准配置,而是在某些应用中可能需要的额外信号。
三种数据传输模式
飞利浦标准模式(Phillips Standard I2S mode)
(1)LRCK(左右声道选择信号):LRCK信号用于指示当前数据帧是左声道数据还是右声道数据。飞利浦格式中,当LRCK为低时,表示当前传输的数据是左声道数据;当LRCK为高时,表示当前传输的数据为右声道数据
(2)SCK(位时钟):数据传输的时钟信号。在SCK下降沿发送数据,在SCK上升沿采样数据
(3)Data Delay:发送的有效数据相对于LRCK的跳变沿(从0到1或从1到0)延迟一个时钟周期
(4)数据发送从MSB开始;数据MSB与LRCK delay 1个SCK的边沿对齐
左对齐模式(Left Justified Standard)
(1)在左对齐格式中,LRCK为高时,表示当前传输的数据为左声道数据;当LRCK为低时,表示当前传输的数据为右声道数据
(2)在SCK下降沿发送数据,在SCK上升沿接收数据
(3)无data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟
(4)数据发送从MSB开始;数据MSB与LRCK跳变沿对齐
右对齐模式(Right Justified Standard)
(1)右对齐格式中,LRCK为高电平时,表示当前传输的数据为右声道数据;当LRCK为低电平时,表示当前传输的数据为左声道数据
(2)在SCK下降沿发送数据,在SCK上升沿接收数据
(3)无Data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟
(4)数据发送从MSB开始;数据LSB与LRCK跳变沿对齐