一、I2S介绍
I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于
音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号
分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。
二、I2S特点
1、支持全双工/半双工
2、支持主/从模式
3、和PCM相比,I2S更适合立体声系统。当然,I2S的变体也支持多通道的时分复用,因此可以支持多声道。
I2S主要有三个信号
1、串行始终SCLK,也叫位始终(BCLK),对应数字音频的每一位数据,SCLK都有一个脉冲。SCLK的频率=2 * 采样频率 * 采样位深。
2、帧时钟LRCK(也称WS),用于切换左右声道的数据。LRCK为‘1’表示传输右声道数据,为“0”则是左声道。LRCK的频率 = 采样频率
3、串行数据(SDATA),就是用二进制补码表示的音频数据,(MSB ---> LSB:数据由高位到低位依次传输)
4、一般还有MCLK,主时钟。
三、典型I2S信号时序图
随着技术的发展,也出现了很多种不同的数据格式。根据data相对于LRCK海人SCLK位置的不同,分为I2S标准格式(飞利浦规定的格式
),左对齐(较少使用)和右对齐(日本格式,普通格式),发送和接收端必须使用相同的数据格式。
I2S标准格式:
左对齐:
右对齐:
四、I2S初始化配置
①,i2s的时钟使能和GPIO口配置
②,配置为i2s模式
③,i2s标准,无论有多少位有效数据,即数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个CK脉冲处。
④,i2s数据长度,包括16位,16位扩展(16位数据以32位包发送),24位,32位。
⑤,设置i2s时钟
⑥,设置i2s空闲状态下时钟电平
⑦,i2s使能
⑨,设置I2S的采样率。采样率一般在8K-192K之间。
五、使用GPIO模拟I2S程序
待补充。。。