I2S接口规范.doc
文本预览下载声明
I2S接口规范
? I2S(Inter-IC?Sound?Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号:1、串行时钟SCLK,也叫位时钟,即对应数字音频的每一位数据,SCLK有1个脉冲。SCLK的频率=2×采样频率×采样位数2、?帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。
3串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys?Clock),是采样频率的256倍或384倍。一个典型的I2S信号见图3。(图3?I2S信号)图3??
???? I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。???? 随着技术的发展,在统一的?I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。这些不同的格式见图4和图5。(图4?几种非I2S格式)图4(图5?几种I2S格式)图5
????
????为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。
?? 有了这些背景知识,让我们用示波器来观察一下CT7160的输出波形。图6中的波形是采用Creative原厂的EEPROM?ini文件,选择Dolby?Prologic方式时的I2S接口输出。可以测得LRCK的频率是48KHz,SCLK的频率是2.304MHz,也就是说采样频率是48KHz,数据位数是24bit,数据格式是右对齐。(图6?LS-220输出的数字音频信号)图6???? 然而CT7160采用的音频DAC?CS4331接受的是16bit或18bit的I2S格式信号,而不是右对齐的信号。难道Creative在设计时选错了元件?仔细想想,这却是一个“歪打正着”的设计。从图中我们可以看到,音频数据的有效位数大概是18位左右。目前在DVD中,Dolby?AC-3编码的6个声道均采用16位的精度。LS-220对AC-3信号进行Down-mix,形成Dolby?Pro logic的输出,这个过程进行的是数字混音。数字混音最简单的方法就是将两个数据相加,两个16位的数据相加,就产生了17位的结果。随着在混音过程中加入其他声道的信号,以及选取不同的混合比例(就是乘以不同的系数),得到的结果将具有20位以上的有效数据。让我们参考一下图4和图5,如果让一个18位的I2S接收器接收一个24位的右对齐信号,会发生怎样的结果呢?数据发生错位,所有的数据左移1位,最高位被挤到上一帧成了最低位。可是我们听到的音频输出却一切正常,这又是为什么呢?
????原来,LS-220的输出虽然有24bit的宽度,但这24bit并不都是有效数据。我们并不清楚LS-220在Dolby?Pro logic方式下输出的有效位数到底是多少,但有一点是肯定的,那就是这个有效位数一定小于24。这样一来第24位和第23位永远是相同的,第24位被挤到上一帧,由第23位取而代之成为最高位,对音频输出就不会产生不良影响。这就像在C语言程序中用整数型变量表示字节型数据一样,高8位永远是相同的0或1。
???? 同时,在外部时钟方式下,无论输入信号有多少位,CS4331只取其中的18位,也就是说,LS-220输出的数据中,只有第23位到第6位被CS4331真正接收了(图6中红线圈出的部分)。这样一来,数据错位虽然存在,但对音频输出是没有影响的。大家还可以看到,LS-220输出的低位数据被CS4331丢掉了一部分。只要实际有效数据达到16bit左右,人耳听到的就是圆润清晰的声音,再多的数据只是提供更多的细节而已。如果Creative真的在CT7160上使用24位精度的DAC,倒是成本过高,有违低价DVD的精神了。(未完待续)本文作者:xuxu??转载自飞翔鸟硬件资讯站??
什么I2S的数字音频
音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处
显示全部