I2S(Inter-IC Sound)总线,又称集成电路内置音频总线,是由飞利浦半导体公司针对数字音频设备之间的音频数据传输而定制的一种音频总线标准。该总线能够广泛应用于各种多媒体系统中,一个重要的原因在于其采用独立的时钟线和数据线,在主设备和从设备之间能够实现同步传输;
本总线共需3根线:SCK(Continuous Serial Clock 连续串行时钟)、WS(Word Select字选择)和SD(Serial Data 串行数据)。
I2S大概有3种工作场景,产生时钟的就是Master,比较特别的是第三种场景(一般是多个发生器和接收器,不易定义一个Master),是需要单独的控制器来产生时钟和左右声道的选择信号。
1.串行数据SD
数据信号线上的数据用二进制补码来表示,先传输最高位(MSB),如果接收设备与发送设备的字长不匹配,当发送设备字长大于接收设备时,低位数据会被丢掉;当发送设备字长小于接收设备时,低位数据补0。
2.字选择WS
WS指示出正在传输的通道,
-
WS = 0; channel 1 (left);
-
WS = 1; channel 2 (right).
3.时序要求
所有定时要求都是相对于时钟周期或设备的最小允许时钟周期来指定的。这意味着将来可以使用更高的数据速率。Master时序图如下:
时序参数(以2.5MHz举例)要求如下,其中仅产品测试的话(非IC厂商),tDTR和tHTR无需关注,这个是芯片本身的性能参数,硬件研发选型需要关注的参数,另外需注意的是tHC和tLC不是卡常用的时钟50%电平,而是卡在VIH和VIL电平:
Slave时序图如下:
时序参数(以2.5MHz举例)要求如下,其中建立保持时间针对的不仅仅是SD数据,还包括WS信号,实际测试时需要根据芯片规格书来获取要求,不是所有芯片的参数都按照规范来做的:
通用时序要求如下:
4.输入输出电平
输出电平要求:
-
VOL<0.4V
-
VOH>2.4V
输入电平:
-
VIL≤0.8V
-
VIH≥2V