linux音频-IIS音频接口

IIS 总线 IIS(Integrate Interface of Sound)即集成音频接口,在上个世纪 80 年代首先被 Philips 公司用于消费产品的音频设备,

I2S规范

I2S总线只能用来处理audio data,而别的信号比如控制信号,编码信号则交给别的模块处理。为了最小化所需引脚以及保持简单的布局,I2S拥有三条数据信号线。

SCK(continuous serial clock)
WS(word select)
SD(serial data)
对于系统而言,产生SCK和WS的信号端是主设备(Master)。

trams是主设备(播放音乐的过程)
linux音频-IIS音频接口_第1张图片
receive是主设备(录音的过程)
linux音频-IIS音频接口_第2张图片
SCK
可以理解为该I2S需要工作的时钟频率,如下是SCK的计算公式:

SCK=2采样频率采样位数。

WS
WS选择线表明使用那个通道在传输数据。

WS=0,使用通道1,也就是左声道。

WS=1,使用通道2,也就是右声道。

注意以下几点:

  1. WS可以在串行时钟SCK的上升沿或者下降沿改变,并且WS信号不一定需要对称。(对称什么意思? 没搞懂)

  2. 在从设备中,WS在时钟信号的上升沿改变。

  3. WS总是在MSB传输前的一个时钟周期改变。这样有利于从发送设备提交建立下次传输,同时有利于从接受设备接受数据,为一下接受做准备工作。

SD
用二进制补码的形式表示音频数据。传输数据的规则:

  1. 保证数据的最高位(MSB)最先被传输。

  2. 当系统的发送端数据长度大于接受端数据长度,则接受端会将多余的数据截断。

  3. 当系统的发生端数据长度小于接受端数据长度,则接受端会将缺少的数据补齐。

Time Diagram

linux音频-IIS音频接口_第3张图片
关于I2S的接口协议就简单介绍到这里。

如果要同时实现录音和放音,则需要两条数据线,分别用于录音数据和放音数据。
linux音频-IIS音频接口_第4张图片

你可能感兴趣的:(音视频)