赞
踩
I2S(Inter-IC Sound)是一种广泛应用于数字音频传输的串行接口标准。它最初由飞利浦(Philips)公司开发,用于解决在集成电路之间传输音频数据的问题。I2S协议定义了音频数据的传输格式、时序和控制信号。在工作中音频采集和输出,AD和主芯片之间的通信均是通过I2S进行通信的,其应用场景如下:
I2S的应用
I2S协议基本时序关系
如上图I2S接口通常由三类信号线组成,分别是:
I2S工作模式可以是主模式(Master Mode)或从模式(Slave Mode)。两者唯一的区别是:Master Mode提供时钟信号(SCK)和帧同步信号(LRCK)。如下图所示,一共存在三种工作模式,分别是:
1.发射器(transmitter)为Master,接收器(receiver)为Slave,此时由发射器提供SCK和LRCK
2.接收器(receiver)为Master,发射器(transmitter)为Slave,此时由接收器提供SCK和LRCK
3.发射器(transmitter)和接收器(receiver)均为Slave,由系统中其他模块提供SCK和LRCK
I2S的主从工作模式
I2S接口标准中,存在三种数据传输模式,分别是:飞利浦标准模式(I2S mode),左对齐(Left Justified)和右对齐(Right Justified)三种传输模式。
I2S标准模式接口时序
其主要特点如下:
(1)LRCK(左右声道选择信号):LRCK信号用于指示当前数据帧是左声道数据还是右声道数据。飞利浦格式中,当LRCK为低时,表示当前传输的数据是左声道数据;当LRCK为高时,表示当前传输的数据为右声道数据
(2)SCK(位时钟):数据传输的时钟信号。在SCK下降沿发送数据,在SCK上升沿采样数据
(3)Data Delay:发送的有效数据相对于LRCK的跳变沿(从0到1或从1到0)延迟一个时钟周期
(4)数据发送从MSB开始;数据MSB与LRCK delay 1个SCK的边沿对齐
左对齐模式接口时序
其主要特点如下
(1)在左对齐格式中,LRCK为高时,表示当前传输的数据为左声道数据;当LRCK为低时,表示当前传输的数据为右声道数据
(2)在SCK下降沿发送数据,在SCK上升沿接收数据
(3)无data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟
(4)数据发送从MSB开始;数据MSB与LRCK跳变沿对齐
右对齐模式接口时序
其主要特点如下
(1)右对齐格式中,LRCK为高电平时,表示当前传输的数据为右声道数据;当LRCK为低电平时,表示当前传输的数据为左声道数据
(2)在SCK下降沿发送数据,在SCK上升沿接收数据
(3)无Data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0)不延迟
(4)数据发送从MSB开始;数据LSB与LRCK跳变沿对齐
(1)位宽:根据SCK与LRCK的关系:
采样频率位宽位宽
位宽
位宽一般为16位或32位
(2)位深:表示音频数据量化后的精度
需要注意的是,I2S中位宽和位深都是由Master决定的。因此在使用时需要先确定本模块在系统中的工作模式(Master or Slave)。下面以32位位宽,32/24/20/16位位深为例,说明位宽与位深的区别(以下例子的数据格式均为I2S格式)。
位宽=32bit,位深=32bit
位宽=32bit,位深=24bit
位宽=32bit,位深=20bit
位宽=32bit,位深=16bit
①,i2s的时钟使能和GPIO口配置
②,配置为i2s模式
③,i2s标准,无论有多少位有效数据,即数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个CK脉冲处。
④,i2s数据长度,包括16位,16位扩展(16位数据以32位包发送),24位,32位。
⑤,设置i2s时钟
⑥,设置i2s空闲状态下时钟电平
⑦,i2s使能,设置I2S的采样率。采样率一般在8K-192K之间。
1、SDATA,也就是串行数据信号,使用二进制传输数字信号。请注意数据的传输形式为补码的方式
2、例如音频的采样率是8K,一s内存采样8K个点,一个点包含一个左声道,一个右声道,所以LRCK是8K,BCLK是2×采样频率×采样位数
3、同时双向(TX和RX)音频流:串行数据同步移位到时钟信号SCK和LRCK。在SCK的下降沿将TX数据写入SDOUT引脚,并在SCK的上升沿从SDIN引脚读取RX数据。始终首先发送最高有效位(MSB);TX和RX均可在主模式和从模式下使用。
4、MCLK:主时钟(也名过采样率),一般是采样频率[不是bclk而是LRCK]的128、或256、或384或512倍。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。