一文快速理解I2S协议

作者:FPGA入门到精通

在数字音频领域,I2S协议扮演着至关重要的角色。它不仅定义了音频数据的传输格式和时序,还确保了数据在不同设备间的高效、准确传输。

本文将带领FPGA初学者深入了解I2S协议的奥秘,探索其在FPGA开发中的应用。

一、I2S协议简介

I2S(Inter-IC Sound)协议由飞利浦公司开发,广泛用于音频设备间音频数据的串行传输。

它通过定义数据传输的格式、时序和控制信号,使得音频数据能够在不同的数字音频设备间无缝传输 。

二、I2S基本信号

I2S协议涉及三种基本信号线:时钟线(SCK)、左/右声道线(LRCK)和数据线(SD)。

1.JPG

(1)串行时钟SCK

SCK提供同步音频数据传输的时钟信号,也叫BCLK,其频率是采样频率和位宽的函数 。

数字音频的每一位数据,对应一个脉冲。

SCK的时钟频率 = 音频声道数 * 采样频率 * 采样位数。

(2)字段选择信号WS

字段选择信号WS,也叫LRCK,指表示当前传输的是左声道还是右声道的音频数据 。

I2S Philips标准WS信号电平定义如下:

WS为0,表示正在传输左声道数据;WS为1,表示正在传输右声道数据。

(3)串行数据SD

SD线则负责传输实际的音频数据,其位宽通常为16位或32位 ,用二进制补码表示,传输模式MSB,先发送高位,再发送低位。

三、I2S参数解析

位宽:决定了每个采样数据的位数,影响音频数据的分辨率和动态范围。

时钟极性:确定了数据位传输的时钟沿,可以是上升沿或下降沿。

帧同步极性:确定了帧同步信号的有效电平,指示音频数据的帧起始和结束位置。

传输格式:定义了音频数据的编码方式和声道数据的传输顺序 。

四、主从工作模式

I2S协议支持主模式和从模式两种工作方式。

在主模式下,设备提供时钟信号和帧同步信号;

在从模式下,设备则依赖其他模块提供这些信号 。

五、数据传输模式

I2S协议支持三种数据传输模式:飞利浦标准模式、左对齐和右对齐模式。每种模式都有其特定的数据传输时序和特点 ,其中飞利浦标准模式应用最为广泛。

1、飞利浦(Philips)标准模式

2.JPG

(1) 数据传输

在飞利浦标准模式下,数据以二进制补码格式传输,最高有效位(MSB)首先发送。
由于发送器和接收器可能具有不同的字长,因此MSB具有固定位置,而最低有效位(LSB)的位置取决于字长。
数据相对于LRCLK的跳变沿延迟一个时钟周期开始发送。
(2)时钟同步
数据在时钟信号的下降沿改变,接收器在时钟信号的上升沿读取数据。
(3)字选择信号(WS)
WS为0,表示正在传输左声道数据;WS为1,表示正在传输右声道数据。
2、左对齐模式

3.JPG

与I2S Philips标准相比,左对齐标准中的数据没有相对于LRCLK(WS)的跳变沿延迟一个时钟周期 。

LRCLK(WS)为1时,传输左声道数据。
LRCLK(WS)为0时,传输右声道数据。
(3)右对齐模式

4.JPG

发送数据的最低有效位(LSB)与LRCLK跳变沿对齐。
LRCLK(WS)为1时,传输左声道数据。
LRCLK(WS)为0时,传输右声道数据。

六、FPGA中的I2S应用

在FPGA中,I2S协议常用于音频数据的采集、处理和传输。

1、音频数据的采集与播放

FPGA可以通过I2S协议与ADC(模拟/数字转换器)和DAC(数字/模拟转换器)进行通信,实现音频数据的采集和播放。

例如,将模拟信号通过ADC转换为数字信号,经过FPGA处理后再通过DAC还原为模拟信号输出。

2、数据中转

在一些项目中,FPGA作为数据中转的角色,将多路I2S数据合并或转换,然后输出到其他设备,如CPU或其他数字音频处理器。

3、多声道处理

通过增加I2S接口的数量或使用其他I2S设备,FPGA可以处理多声道音频数据,适用于多声道音频系统的设计。

使用时分复用(TDM):I2S协议通过时分复用技术来支持多声道数据传输。在TDM模式下,多个声道的数据在同一个数据线上交替传输。

也可以使用更高级的接口如PCM或AC'97。