I2S和PCM

本文详细介绍了I2S总线标准,包括其三种主要信号:串行时钟SCLK、帧时钟LRCK及串行数据SDATA的功能与工作原理。此外还探讨了I2S格式与其他非I2S格式的区别,并通过实例说明了如何在实际应用中配置I2S参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I2S总线规范

I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号:

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

2、帧时钟LRCK,用于切换左右声道的数据。LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。

3、串行数据SDATA,就是用二进制补码表示的音频数据。

有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。

I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处,见下面I2S格式图。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。

非I2S格式如图:

I2S格式如图:

对非I2S格式而言,为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。对I2S格式来说数据长度可以不同。而且帧时钟LRCK高低电平对应左右声道的意义也不同?

注意I2S总线和I2S格式的区别,I2S总线是一种总线标准,I2S格式是飞利浦制定的数据格式。在统一的I2S总线接口下,出现了左对齐和右对齐等非I2S格式。

在我们系统Android中,设置sample_rate=44.1Khz,sample_length=16,channel=2;那么BCLK应该为2×44.1Khz×16=32xsample_rate,而实际上MCLK=11.289Mhz,BCLK=MCLK/4,sample_rate=LRCK=BLK/64=44.1Khz,BCLK和理论计算的值不符。引用“如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位”,因此这是可以解释的。


I2S/PCM时序对比

PCM


I2S

转载:

http://www.360doc.com/content/13/0409/17/3234041_277194157.shtml


### 回答1: I2SPCM都是数字音频传输协议,都可以用于将音频信号从一个数字音频设备传输到另一个数字音频设备。它们之间的主要区别在于数据格式时钟信号。 PCM是一种基于采样的编码方法,它将模拟音频信号转换为数字信号。PCM数据是一系列被采样的音频值,每个采样值用二进制表示,这些二进制编码的采样值就是PCM数据。此外,PCM是同步信号的,以采样率为基准进行转换。 I2S(Inter-IC Sound)是一种串行协议,被广泛用于连接数字音频设备。与PCM不同,I2S不仅传输音频数据,同时传输3种时钟信号,包括时钟(SCK)、帧时钟(WS)主时钟(MCLK),这些信号定义了音频数据流的时序速率。 其中,MCLK是用于同步采集转换时钟的信号,I2S接口需要外部提供。对于PCM协议,它只需要时钟同步就行了,并不需要MCLK。 总的来说,PCMI2S都是数字音频传输协议,它们之间的主要区别在于数据格式时钟信号。PCM是基于采样编码的,它不需要MCLK信号;而I2S是串行协议,需要3种时钟信号来同步驱动数据流,其中MCLK信号需要外部提供。 ### 回答2: I2S PCM 都是数字音频传输标准。其中,I2S 是 Inter-IC Sound 的缩写,是一种基于时钟同步的串行接口协议,常被用于音频 ADC DAC 转换芯片之间的数据传输。而 PCM 则是 Pulse Code Modulation 的缩写,是一种将模拟信号转换为数字信号的基本方法,是数字音频编码的基础。 在 I2S 协议中,音频数据通过时钟同步的方式进行传输。具体来说,I2S 协议包含三条数据线:左右声道数据线时钟线。时钟线由主控制器发出,用于同步 ADC DAC 的数据传输。每个时钟脉冲会传输一位数据,左右声道的数据依次传输,因此需要在数据中加入标志位来区分左右声道数据。与此相反,PCM 不需要时钟同步,数据可以任意时刻传输。 另外,MCLK 是主时钟信号的缩写,是数字音频输出时需要的一个时钟信号。在 PCM I2S 中都需要使用 MCLK 信号,但二者之间略有区别。在 PCM 中,MCLK 是整个数字音频系统的最高时钟频率,其频率通常为 256 倍的采样频率。而在 I2S 中,MCLK 的频率由采样率声道数确定,通常为 LRCK 的 64 倍。 总结来说,I2S PCM 都是数字音频传输标准,I2S 使用时钟同步传输数据,而 PCM 则没有时钟同步的限制。此外,MCLK 在 PCM 中为系统的最高时钟频率,而在 I2S 中则根据采样率声道数来确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值