2. I2S接口

1. I2S接口概述

I2S全称Inter-IC Sound, Integrated Interchip Sound,或简写IIS,是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内部器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。除了都是由飞利浦定义外,I2S和I2C没有任何关系。

I2S硬件接口定义

  • 串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲,SCLK的频率=2采样频率采样位数。

  • 帧时钟LRCK,用于切换左右声道的数据,1为左声道,0为右声道,LRCK频率等于采样频率。

  • 串行数据SD,就是用二进制补码表示的音频数据。

有时为了使系统能够更好地同步,还需要另外一个信号MCLK,称为主时钟,也叫系统时钟(sys clock),一般是采样频率的256倍或是384倍。切记,MCLK并不是必须的。可有可无,看设计要求。
电气连接

  • IIS是比较简单的数字接口协议,没有地址或设备选择机制。

  • 在IIS总线上,只能同时存在一个主设备和发送设备。

  • 主设备可以是发送设备,也可以是接收设备,或是协调发送设备和接受设备的其它控制设备。

在IIS系统中,提供时钟的设备为主设

image.png

传输速率

传输速率一般为,32k、 44.1k、 48k、 96k,时钟一般为128或192或256或384或512倍速率。

I2S特点

  • ①,支持全双工和半双工通信。

  • ②,支持主/从模式。

I2S初始化配置

  • ①,i2s的时钟使能和GPIO口配置

  • ②,配置为i2s模式

  • ③,i2s标准,包括左对齐,右对齐,i2s标准,即数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个CK脉冲处。

  • ④,i2s数据长度,包括16位,16位扩展(16位数据以32位包发送),24位,32位。

  • ⑤,设置i2s时钟

  • ⑥,设置i2s空闲状态下时钟电平

  • ⑦,i2s使能

  • ⑨,设置I2S的采样率。采样率一般在8K-192K之间。

I2S的读写流程

  • ①,WS时钟线用于切换左右声道,在该时钟的同一周期内的高电平和低电平应发送相同的数据,然后左右声道的声音才会一样。
  • ②,CK时钟用于启动传输每一位音频数据,单声道音频数据转双声道音频数据

把单声道数据转换成双声道数据传输时,可作如下数据转换:

for(res=0;res

你可能感兴趣的:(2. I2S接口)