音频——I2S 协议基本概念(一)

  • I2S 基本概念
  • 飞利浦(I2S)标准模式
  • 左(MSB)对齐标准模式
  • 右(LSB)对齐标准模式
  • DSP 模式
  • TDM 模式

I2S 协议基本概念

信号线定义

I2S 信号有多种模式

  • 五线 I2S
  • 四线 I2S
  • 两线 TX
  • 两线 RX

以五线 I2S 为例,各个信号线的功能及描述见下表

信号线 描述
SCLK 串行时钟,也叫位时钟(BCLK),对应数字⾳频的每⼀位数据,SCLK 都有⼀个脉冲。SCLK 的频率=2x采样频率x采样位数
ADC_LRCLK 帧时钟,⽤于切换左右声道的数据,控制上行数据。LRCLK(Left/Right CLOCK),LRCLK 的频率 = 采样频率
DAC_LRCLK 帧时钟,⽤于切换左右声道的数据,控制下行数据。LRCLK(Left/Right CLOCK),LRCLK 的频率 = 采样频率
SDATAI 串行数据输入,用二进制补码表示的音频数据输入信号(MSB->LSB:数据由高位到低位依次传输)
SDATAO 串行数据输出,用二进制补码表示的音频数据输出信号(MSB->LSB:数据由高位到低位依次传输)
MCLK 主时钟,也叫系统时钟(Sys Clock),为了使系统间能够更好的同步,MCLK的频率=256fs 或384fs(fs 指采样频率)
  • 需要注意的是 MCLK 其实不是 I2S 中规定的,只是为了让 codec 和 MCU 间能够更好的同步。

协议分类

根据 data 相对于 LRCLK 与 BCLK 位置的不同,I2S 协议一般分为 6 种不同的模式,发送端和接收端必须使用相同的数据格式。

  • 飞利浦(I2S)标准模式
  • 左(MSB)对齐标准模式
  • 右(LSB)对齐标准模式
  • DSP 模式
    • DSP 模式 A
    • DSP 模式 B
  • TDM 模式
    • TDM 模式 A
      • 4 通道 TDM
      • 6 通道 TDM
      • 8 通道 TDM
      • N 通道 TDM
    • TDM 模式 B
      • 4 通道 TDM
      • 6 通道 TDM
      • 8 通道 TDM
      • N 通道 TDM
    • TDM 模式 C
      • 4 通道 TDM
      • 6 通道 TDM
      • 8 通道 TDM
      • N 通道 TDM

相关术语

  • MSB:表示数据的最高 BIT 位
  • LSB:表示数据的最低 BIT 位
  • PCM:Pulse Code Modulation - 脉冲编码调制
  • TDM:Time Division Multiplexing - 时分复用
  • slot:槽 - 是指某个通道的一帧数据
  • slot_num:槽的个数
  • slot_width:一帧数据的位数

位宽与位深

位宽

根据上面公式 SCLK 的频率=2x采样频率x位宽,可以得到 I2S 的数据位宽
位宽 = S C L K / B C L K 2 L R C L K = S C L K / B C L K 2 f s 位宽 = {\frac{SCLK/BCLK}{{2} {LRCLK}}} = {\frac{SCLK/BCLK}{2fs}} 位宽=2LRCLKSCLK/BCLK=2fsSCLK/BCLK

位深

表示音频数据量化后的精度

示例

例如,在下文出现的图中,位宽均为 32 位,位深可以设置为 32/24/20/16

需要注意在 I2S/LJ/RJ 模式中,位宽/位深 是由 master 决定的

32位位宽,32位位深

  • I2S mode
  • MSB first
  • 32位位宽 word width,32位位深 bit depth
  • 2通道

时序如下
在这里插入图片描述

32位位宽,24位位深

  • I2S mode
  • MSB first
  • 32位位宽 word width,24位位深 bit depth
  • 2通道

时序如下
在这里插入图片描述

32位位宽,20位位深

  • I2S mode
  • MSB first
  • 32位位宽 word width,20位位深 bit depth
  • 2通道

时序如下
在这里插入图片描述

32位位宽,16位位深

  • I2S mode
  • MSB first
  • 32位位宽 word width,16位位深 bit depth
  • 2 通道

时序如下
在这里插入图片描述

你可能感兴趣的:(音频,位宽,位深,TDM,I2S,DSP)