Fork me on GitHub
0%

IIS

ADC将模拟信号转换为数字信号,而数字信号的音频数据则是按照一定标准(硬件传输协议)传入SOC中进行处理;同理DAC将数字信号转换为模拟信号,模拟信号的音频数据也是按照同样的标准将数据传输到喇叭进行声音的播放

数字音频信号传输标准

类型

数字音频信号传输标准也可以称作音频硬件传输协议,主要包括:

  • I2S:Integrated Interchip Sound,集成电路内部音频
  • PCM:Pulse Code Modulation,脉冲编码调制
  • PDM:Pulse Density Modulation,脉冲密度调制
  • S/PDIF:Sony/Philips Digital Interface,索尼/飞利浦数字接口

特点

PCM:单声道,时延小。打电话之间的数据;

I2S:双声道,速度快。主要用于传输音乐;

PDM:尺寸受限的场景。手机cpu到蓝牙的通话实时音频;

S/PDIF:用于板间长距离及需要电缆连接的场合

I2S基础

概念

I2S(Inter-IC Sound)总线, 又称集成电路内置音频总线,是飞利浦半导体公司(现为恩智浦半导体公司)针对数字音频设备之间的音频数据传输而制定的一种总线标准。

该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。

它采用了独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。

信号定义

WS

WS:Word Select,左右声道选择信号(也称帧时钟 Left Right Clock)

标准I2S定义:WS=0,表示正在传输左声道的数据;WS=1,表示正在传输右声道的数据。

SCK

SCK:Serial Clock,串行时钟信号(也称位时钟Bit Clock)

SCK是模块内的同步信号,从模式时由外部提供,主模式时由模块内部自己产生。对应数字音频的每一位数据,SCK都有一个脉冲。

SD

SD:Serial Data,串行数据信号(分时复用)

SD以二进制补码形式在数据线上传输,并且按照由高位(MSB)到低位(LSB)依次进行传输。之所以这样设计是为了保证重要的数据能够保存下来。因为发送设备和接收设备的字长可能不一样,如果接收设备接受的字长比规定的字长长的话就会产生截断,将超出字长部分忽略,相反如果接收设备接收的字长比规定字长短就会将空位补0。这样确保了最高有效位能够传输。

  • LSB:Least Significant Bit,最低有效位
  • MSB:Most Significant Bit,最高有效位

发送器可以在时钟脉冲的前沿或后沿发送数据,,这可以在相应的控制寄存器中配置。但是接收器仅在时钟脉冲的前沿锁存串行数据和 WS。

MCLK

除了SCK和WS外,CODEC经常还需要控制器提供MCLK(Master Clock)也叫做SYSCLK,用于提供给音频功放工作时钟,通常是2/4/8倍的BCLK。这是由CODEC内部基于Delta-Sigma (Δ∑)的架构设计要求使然。MCLK时钟频率一般为256*WS,具体参考特定器件手册。

需要注意的是,MCLK仅仅是MCU给出来的一个时钟用于CODEC工作而已,它和I2S是master/slave没有关系。只有Bitclock / LRCLK由谁来提供才决定主从关系

系统框图

  • 只有一个主设备,并且SCK和WS信号一定是主设备产生
  • 在复杂系统中,通常有多个发送器和接收器,此时通常有外部控制器进行控制

image

典型I2S时序图

说明:本部分的作图是以位宽为16bit为例进行说明

可以参考文章尾TI CODEC文中对于时序的描述

随着技术的发展,I2S也出现了一些变种,但是换汤不换药协议核心是不变的。

根据SD相较于LRCLK的位置的不同分为三种模式:I2S格式(PHILIPS模式)、左对齐格式(较少使用)、右对齐格式(日本格式/SONY格式)

共通特性

  1. WS叫字选择,即每一个高低电平持续时间内传输的是一个字(32bit)的数据;

  2. SCK叫位时钟,用于同步数据传输,波形为方波(对应WS一个周期最大有64个方波)

  3. WS的频率等于采样频率。假设采样频率44.1khz,即1秒内有44100采样点(44100个周期)

  4. SCK的频率 = 声道数 * 采样频率 * 采样位数。

I2S格式

  • 左声道的MSB在字时钟下降沿后的第二个位时钟上升沿有效。 同样,右声道的MSB在字时钟上升沿后的第二个位时钟上升沿有效

  • SCK延迟一个时钟位开始传输数据(为接收器提供了时间来存储已经接收的字,并清除下一个字的输入寄存器)

image

左对齐

  • 左对齐模式下,右声道的 MSB 在字时钟下降沿之后的位时钟上升沿有效。 同样,左声道的MSB在字时钟上升沿之后的位时钟上升沿有效

image

右对齐

  • 右对齐模式,左声道的 LSB 在字时钟下降沿之前的位时钟上升沿有效。 同样,右声道的 LSB 在字时钟上升沿之前的位时钟上升沿有效。

  • 接收设备必须事先知道待传数据的字长

image

注意事项

  • 发送端和接收端的数据格式要一致,同为左对齐、右对齐或I2S格式

  • 标准左对齐和标准右对齐模式的LRCK/WS高低电平对应的左右声道与标准I2S模式的规定相反。I2S:0:L,1:R;左对齐/右对齐:0:R,1:L;

参考资料