芯片资讯
- 发布日期:2024-07-29 07:19 点击次数:95
一文搞懂I2S通信总线的工作原理
今天我们来讨论I2C通信总线,这篇文章将说说I2C的变体:I2S通信总线
I2C和I2S都是飞利浦半导体发布的串行总线(2006年迁移到NXP恩智浦)I2S是在I2C之后发布的,I2S是为传输音频数据而设计的。
I2S(Inter-IC Sound)总线,也称为集成电路内置音频总线,是飞利浦半导体公司开发的用于数字音频设备之间音频数据传输的总线标准。采用独立有线传输时钟和数据信号的设计,通过将数据和时钟信号分离,避免了时差引起的失真。
I2S总线的特点如下:
支持全双工和半双工模式
支持主从模式
1 物理性质
I2S总线一般由1条系统时钟线和3条信号线组成:
MCLK: 它被称为主时钟,也称为系统时钟(Sys Clock)。一般来说,MCLK信号的添加,使系统之间更好的同步。MCLK的频率=128或256或512*采样频率
SCLK的英文缩写:串行时钟SCLK,也叫位时钟(BCLK),即对应于数字音频数据的每一位,SCLK有1个脉冲
SCK频率=通道数*采样频率*采样位数
LRCK: 帧时钟LRCK(也称为WS)用于切换左右通道的数据。
如果LRCK为“1”,则表示正在传输右信道的数据,如果为“0”,则表示正在传输左信道的数据。
LRCK的频率等于采样频率。
SDATA(SD):它是以二进制补码表示的音频数据。最高位有一个固定的位置,而最低位的位置取决于数据中有效数字的数目。
2 通用的I2S数据格式
随着技术的发展,在统一的I2S硬件接口下,出现了多种不同的I2S数据格式,可分为:I2S飞利浦半导体公司的标准、左对齐(MSB)标准和右对齐(LSB,又称日本格式、普通格式)标准。
发送端和接收端必须使用相同的数据格式,以确保发送和接收的数据是一致的。
2.1 飞利浦半导体公司标准的I2S
I2S飞利浦标准时序图如下图所示:
LRCLK信号用于指示数据当前被发送到的信道。如果LRCLK为“1”, 电子元器件采购网 则表示正在传输右信道的数据,如果为“0”,则表示正在传输左信道的数据。LRCLK信号从当前通道数据的第一位(MSB)之前的一个时钟起有效。
LRCLK信号在BCLK的下降沿上变化,发送方在时钟信号BCLK的下降沿上变化数据,接收方在时钟信号BCLK的上升沿上读取数据。如上所述,LRCLK频率等于采样频率Fs和一个LRCLK周期(1/Fs)包括发送左右通道数据。
对于这个标准的I2S格式信号,无论有多少有效数据位,数据的最高位总是出现在LRCLK变化后的第二个BCLK脉冲(即一帧的开始)。这使得接收端的有效位数与发送端的位数不同。如果接收端能够处理的有效比特数小于发送端的有效比特数,则可以丢弃数据帧中冗余的低阶数据。如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。
这种同步机制使得数字音频设备的互连更加方便,不会造成数据错位。
2.2. 左对齐(MSB)标准
左对齐(MSB)标准时序图如下图所示:
这个标准很少使用。它开始传输数据时LRCLK翻转。注意,当LRCLK为1时,传输左信道的数据,当LRCLK为0时,传输右信道的数据。这与I2S飞利浦标准正好相反。
2.3. 右对齐(LSB)标准
右对齐(LSB)标准时序图如下图所示:。
在完成声音数据LSB传输的同时,LRCLK完成了第二次翻转(正因为LSB和LRCLK是右对齐的,所以称之为右对齐标准)。请注意,当LRCLK为1时,左通道数据被传输,当LRCLK为0时,右通道数据被传输,这正好与I2S飞利浦标准相反。