打印
[牛人杂谈]

I2S接口

[复制链接]
4173|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。
I2S(Inter-IC Sound)是飞利浦公司针对数字音频设备(如CD播放器、数码音效处理器、数字电视音响系统)之间的音频数据传输而制定的一种总线标准。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。标准的I2S总线电缆是由3根串行导线组成的:1根是时分多路复用(简称TDM)数据线;1根是字选择线;1根是时钟线。

沙发
mintspring|  楼主 | 2016-9-29 19:11 | 只看该作者
I2S接口概述

I²S或I2S(Inter-IC Sound或Integrated Interchip Sound)是由飞利浦公司(现NXP)在1986年制定的一种用于音频IC或者设备之间传输数字PCM信息的一种接口标准。I2S常被使用在各种音源到音频DAC中。由于I2S将信号以及时钟分开传送,它的jitter失真十分地小。I2S和I2C名字非常的像,但是切记,他们完全不是一个东西,甚至连时序都不太像,要说同I2S最像的还是SPI。I2S规范最终的修订是在1996年。


I2S接口硬件定义

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

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

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

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

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

i2s timing


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

I2S接口的Master和Slave模式以及其同DSP的连接方法

TI公司的DSP可用的I2S接口有McBSP以及McASP,两个接口大同小异,下图代表了不同模式下的DSP同I2S设备的连接关系:

TI DSP I2S connecting mode


图中,箭头代表了信号的传输方向,主模式(Master)以及从模式(Slave)的区别就在于时钟信号是由哪一边给出的。在使用的时候需要参考McASP以及McBSP的资料。在DSP上使用I2S主要分为以下几个步骤:

  • 器件选型,确定连接模式(Slave or Master)
  • 设计原理图,正确连接电器关系
  • McBSP或者McASP寄存器配置
  • 从(往)FIFO中Put or Get 数据即可
I2S接口的MCLK作用

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


i2s_master_slave_mode.png (72.71 KB )

i2s_master_slave_mode.png

I2S_Timming.jpg (192.5 KB )

I2S_Timming.jpg

使用特权

评论回复
板凳
springvirus| | 2016-10-10 12:31 | 只看该作者
楼主有无弄个实际的片子玩玩I2S

使用特权

评论回复
地板
wahahaheihei| | 2016-10-10 17:55 | 只看该作者
连续串行时钟SCK,在一些资料中也就SCLK或者BCLK,即对应数字音频的每一位数据,SCLK有1个脉冲

使用特权

评论回复
5
wahahaheihei| | 2016-10-10 17:56 | 只看该作者
springvirus 发表于 2016-10-10 12:31
楼主有无弄个实际的片子玩玩I2S

据我所知新唐好几个系列都有。

使用特权

评论回复
6
cowboy2014| | 2016-10-10 20:13 | 只看该作者
以前用vhdl写过iis的时序,速度很快

使用特权

评论回复
7
springvirus| | 2016-10-11 09:51 | 只看该作者
cowboy2014 发表于 2016-10-10 20:13
以前用vhdl写过iis的时序,速度很快

上点实物和资料,一起学习下啊

使用特权

评论回复
8
mintspring|  楼主 | 2016-10-16 14:17 | 只看该作者
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。

使用特权

评论回复
9
yiyigirl2014| | 2016-10-17 10:45 | 只看该作者

使用特权

评论回复
10
energyplants| | 2016-10-17 11:27 | 只看该作者
I2S主要就是为音频设计的吧

使用特权

评论回复
11
稳稳の幸福| | 2016-10-17 14:43 | 只看该作者
这个音频接口是只传输吧,如何解码成不同的模拟信号,可以用3.5MM接口的耳机听

使用特权

评论回复
12
heisexingqisi| | 2016-10-18 19:27 | 只看该作者
这个接口需要几根线才能搞定,还有那个FM的立体声,是如何在一个频段上实现的,好神奇。

使用特权

评论回复
13
稳稳の幸福| | 2016-10-19 12:58 | 只看该作者
I2S格式
左对齐格式,left justified
右对齐格式,right justified,也叫EIAJ或者SONY格式

使用特权

评论回复
14
mintspring|  楼主 | 2016-10-27 10:13 | 只看该作者
有点滞后啊,我登陆半天了,没提醒,刚提醒我有回复。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

296

主题

4896

帖子

24

粉丝