几种常见的I2S数据格式(转)

Posted Cvdog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几种常见的I2S数据格式(转)相关的知识,希望对你有一定的参考价值。

来自:http://blog.sina.com.cn/s/blog_6aaa97370100vdo1.html

I2S有4个主要信号:

  1. SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数 
  2. LRCK:帧时钟,用于切换左右声道的数据。LRCK的频率=采样频率。
  3. SDATA:串行数据,就是用二进制补码表示的音频数据
  4. MCLK:主时钟,也叫系统时钟(Sys Clock)。为了使系统间能够更好地同步,MCLK的频率= 256倍或384倍采样频率。

随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同分为:

  • 左对齐(较少使用)
  • I2S格式(即飞利浦规定的格式)
  • 右对齐(也叫日本格式、普通格式)。

这些格式的具体描述如下。

24位左对齐格式

技术分享

24/16位I2S格式

技术分享    对于这种标准I2S格式的信号,无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

 

24位右对齐格式

技术分享

 

20位右对齐格式

技术分享
 

18位右对齐格式

技术分享

 

16位右对齐格式

技术分享

由上述数据格式图可知:

对于左/右对齐格式:LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据;

对于标准I2S格式:LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。

综上为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对标准I2S格式来说数据长度可以不同。




以上是关于几种常见的I2S数据格式(转)的主要内容,如果未能解决你的问题,请参考以下文章

Audio-音频传输接口(I2SPCMPDM)

SQL语句读取几种常见文件格式中的数据

一文搞懂I2S通信总线

一文搞懂I2S通信总线

如何在线把Excel表数据转json格式

I2S音频总线