目录
SCK = 2 * 采样频率(fs) * 采样位深(fwb)
-
I2S介绍
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。
-
I2S模式
I2S模式分为以下三种:
- 主机发送SCK/WS/SD
- 主机发送SCK/WS,从机发送SD
- 主机发送SCK/WS,从机1发送SD至从机2
Note:其中发送SCK和WS信号的为主机,其余的为从机。
-
I2S协议
I2S传输的数据为数字格式,而声音是模拟信号。所以从采集到传输的过程为:
采样->量化->编码
如下图:
其中 横轴 t为fs为采样率,纵轴为fwb采样位宽。
fs常用值:44.1KHz、48KHz....192KHz
fwb常用值: 16bit/24bit
到这里,模拟音频已经转换成数字音频。接下来要按照I2S的协议进行传输。
由上面可以知道,I2S最少需要三根传输线:
SCK:用来加载bit数据。
WS: 用来指定传输的数据为Left or Right channel。(常用WS High为R, WS low为L)
SD: 传输的音频数据。
计算SCK公式:
SCK = 2 * 采样频率(fs) * 采样位深(fwb)
传输波形图如下:
图中列出的可能性有两种,24bit位宽和16bit位宽。
在传输数据的过程中,SD对其方式有两种:
- 左对齐
- 右对齐
Note:
1. 不管是左对齐还是右对齐,始终会先发送最高有效位(MSB 优先)。
2. 数据的最高位总是出现在LRCLK变化(也就是一帧开始)后的第2个BCLK脉冲处。
这就使得接收端与发送端的有效位数可以不同。
如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;
如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。
这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
3. WS的边沿跳变需要在SCK的跳变边沿,时间上需要同步,方向上可以不同。