小猫爪:嵌入式小知识10-I2S,TDM,PCM等音频格式详解
1 前言
??前段时间接触到了一个音频相关的应用,所以就粗略的学习了一下音频格式,接下来就做个小总结吧。关于音频格式的命名,可能不同的资料都会有一些出入,这点不重要,重要的是看波形。接下来就以NXP的命名规则来进行一些相关介绍吧(偷偷告诉大家,其实接下来的内容我是翻译人家资料得来的,嘿嘿嘿嘿嘿,白P…)。
2 I2S
??串行协议(I2S)是一种专门针对数字音频应用的用于IC制造商和音频处理单元之间的标准化通信。I2S总线有三条线路:
- 连续串行时钟(SCK),比特时钟(BCLK)
- Word选择(WS)、帧同步(FS)、单词时钟(WCLK)、左右时钟(LRCLK)
- 串行数据(SD)、串行数据输出/输入(SDOUT、SDIN)
??串行时钟(SCK),也被称为位时钟(BCLK),是用于为每个音频比特提供时钟参考。Word选择(WS)、帧同步(FS)或单词时钟(WCLK)表示正在传输的通道:当此线路设置为“0”时,正在传输通道1(左),当设置为“1”时,则传输通道2(右)。WS行在传输MSB之前提前一个时钟周期发生改变。
??该信号的频率对应于音频采样速率的频率。串行数据(SD)总是首先传输MSB数据(因为发送端和接收端可能有不同的字长度)。数据的范围从8位到32位。I2S格式示意图如下图所示。
3 Codec模式(左/右对齐)
??Codec模式不同于I2S协议,WS信号和SD信号同步,即在同一时刻发生改变(在I2S中SD信号延迟WS信号一个时钟周期)。此外,与I2S相比,WS信号则相反,即:当WS设置为“0”时,发送右信道数据,当设置为“1”时,发送左信道数据。
??下面介绍Codec模式的两种模式。
3.1 左对齐(MSB对齐)
??对于左对齐,也称为MSB对齐,当有数据帧需要发送时,WS将发生更改。串行数据在左边是有效的,这意味着如果WS的半周期是32位长数据,前24位将用于音频,其余8位必须设置为零。
??下图描述了左对齐的格式。
3.2 右对齐(LSB对齐)
??对于右对齐,也称为LSB对齐,当有数据帧需要发送时,WS将发生更改。串行数据在右边是有效的,这意味着如果WS的半周期是32位长数据,只有24位用于音频数据,前8位则必须设置为零。由于串行数据以MSB格式传输,LSB位在WS改变其状态之前与最后一个位时钟周期相匹配。
??下图描述了右对齐的格式。
4 DSP模式
??DSP模式类似于左对齐Codec格式,但WS的宽度可能取决于IC架构(最小允许值为1位时钟)。由于WS不是50%占空比信号,WS的上升沿信号表示音频数据的开始,首先是左通道数据,接着是右通道数据。WS的频率仍然定义了音频采样率。 ??因为WS的高电平宽度不定,所以DSP模式通常有以下几种:
??在一些DSP模式中,数据延迟WS一个时钟。下图说明了这种DSP模式,其中WS宽度只有1个时钟周期长度。
??注意:有些IC可能需要在每个左右通道之间放置0强制数据,而不是将其放置在最后。在从机设备的数据表中了解集成电路的需求是很重要的。
5 时分多路复用(TDM)
??对于上述的音频格式,只能在单个WS周期内发送2个频道,但是,对于TDM格式,可以在一个WS周期间内发送2个以上的频道。在TDM格式中,WS的宽度只有1个时钟周期长度。
??当多个从机设备连接到总线时,通常使用TDM模式,其中,主机使用相同的同步信号(WS)向从机发送数据。每个从机设备可以配置偏移参数来获取自己相对应的通道数据。
??TDM的形式有很多,但是其实就是DSP模式和I2S的变种,就是在一个周期内塞多通道数据,一些常见的波形如下所示:
I2S模式的TDM: DSP模式的TDM:
6 PCM
??在PCM模式中,一个同步周期内只传输一个通道。同步模式有两种类型:短帧和长帧。对于短帧同步模式,“WS/帧同步”的下降沿表示串行数据的开始。WS/帧同步信号宽度总是为一个时钟周期长度。对于长帧同步模式,“WS/帧同步”的上升沿表示串行数据的开始。WS/帧同步信号宽度保持13个时钟周期。下图显示了两种同步模式的PCM格式。
END
|