I2S接口硬件定义及电气连接方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xsophiax/article/details/100561305

1. I2S协议介绍

I2S全称Inter-IC Sound, Integrated Interchip Sound,或简写IIS,是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内部器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。除了都是由飞利浦定义外,I2S和I2C没有任何关系。

1.1 I2S接口硬件定义

NXP公司的I2S是一套硬件+时序规范。I2S硬件上有3个主要信号:

  1. continuous serial clock,连续串行时钟SCK,在一些资料中也就SCLK或者BCLK,即对应数字音频的每一位数据,SCLK有1个脉冲。SCLK的频率=2×采样频率×采样位数。
  2. word select,字选择WS,又叫帧时钟LRCK,用于切换左右声道的数据。WS为“0”表示代表传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。WS的频率等于采样频率。
  3. serial data,串行数据SD,又叫SDATA,是用二进制补码表示的音频数据。
  4. 有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍,这个信号在后面会单独讲到。

1.2 I2S接口时序与对齐

I2S接口有着统一的硬件定义,但是数据的传输格式又各有不同,我们把他们分成三类:

  • I2S格式
  • 左对齐格式,left justified
  • 右对齐格式,right justified,也叫EIAJ或者SONY格式

这三种传输格式,基本都是相同的,不同之处在于SD数据同WS信号的对齐位置。I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个SCK脉冲处,见下面I2S格式图:

i2s timing

故名思议,左对齐(left justified)、右对齐(right justified)指的是数据信号对齐的方式,左对齐的时候最高位数据在第一个时钟就出现,而右对齐的时候数据最低位在最后一个时钟出现。这就是他们的本质区别。左右对齐模式随具体的芯片不同而不同,在使用的时候需要仔细阅读芯片手册。I2S允许接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

1.3 I2S接口的MCLK作用

       MCLK是Master clock的缩写,在DAC内部的delta-sigma调制器以及数字滤波器都需要用到这个时钟,大部分的DAC可以使用内部的振荡器产生这个时钟,在某些要求较高的场合,例如HIFI音响系统等,需要使用一个额外的高质量的时钟用以获得最好的性能。这时候就需要用到MCLK信号了。切记,MCLK并不是必须的。可有可无,看设计要求。MCLK一般是Fs*256或者Fs*384。

另外在百度资料库有I2S的接口规范,讲的较为详细:https://wenku.baidu.com/view/eae9cb97c8d376eeafaa3143.html

猜你喜欢

转载自blog.csdn.net/xsophiax/article/details/100561305