I2S(InterIC Sound Bus)总线,又称集成电路内置音频总线,是飞利浦公司针对数字音频设备之间的音频数据传输而制定的一种总线标准,采用沿独立的导线传输时钟与数据信号的设计,通过分离数据和时钟信号,避免了时差诱发的失真。I2S总线简单有效,可以有效提升输出数据的质量,在各种嵌入式音频系统中有广泛应用。但是在嵌入式音频系统设计中,并不是所有的MCU都支持I2S总线格式,再加上I2S还没有统一的接口标准,不同的厂家生产的设备接口也是五花八门,采用软件模拟实现I2S总线可有效解决在不支持其的MCU和设备之间通过I2S总线实现数据传输时出现的问题。
I2S为四线总线,四个信号分别为:
1)串行时钟SCK,也叫位时钟(BCLK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接收器都可以作为系统的主机来提供系统的时钟频率。
2)帧时钟WS,也叫(LRCLK)即命令(声道)选择,用于切换左右声道的数据。WS的频率等于采样频率,由系统主机提供。WS为“1”表示传输的是左声道的数据,WS为“0”表示传输的是右声道的数据。
3)串行数据信号SD,也叫sdatain,sdataout。用于传输二进制补码表示的音频数据。
4)MCLK,有时为了使系统间能够更好的同步,需要传输一个信号MCLK,称系统时钟(Sys Clock),其频率一般是采样频率的倍数(一般是128fs、256fs、384fs)。
1、如果是16bit的采样,两通道数据?162=32fs,按照倍速的增加,会有如下的选择:64fs、128fs、256fs、512fs
2、如果是24bit的采样,两通道数据?242=48fs,按照倍速的增加,会有如下的选择:96fs、192fs、384fs、768fs
I2S接口常见的有四种协议模式,分别是MSB对齐(左对齐)、LSB对齐(右对齐)、飞利浦标准和PCM标准、DSP标准等。以下展示几种比较常见的IIS时序图
1)飞利浦模式(IIS模式)
2)左对齐(Left Justified)
3)右对齐(Right Justified)
4)DSP/PCM (A )模式
5)DSP/PCM (B )模式
通信的对象都是各种型号的音频芯片,那么在通信过程中需要重点关注手册的以下内容:
一、音频芯片端
1)手册中关于采样频率的描述,最重要的一点是如何设置或者计算采样频率;
2)IIS通信模式的选择,如何选择芯片的IIS通信模式;
3)主从模式的选择,不同模式下MCLK、SCK、WS信号的由谁提供的;
二、接收端(MCU)
1)当作为主机时需要根据采样频率计算出MCLK、SCK、WS的时钟数值;
2)修改IIS通信模式;
3)设置主从模式;