I2S接口与PDM接口对比:数字麦克风与音频CODEC之间的通信协议选型

I2S和PDM是数字音频系统中最常见的两种接口协议。本文系统对比I2S和PDM的技术规格、应用场景与设计注意事项,帮助硬件工程师在音频子系统设计中做出正确的接口选择。

摘要

I2S和PDM是数字音频系统中最常见的两种接口协议,分别适用于不同类型的音频设备。I2S(Inter-IC Sound)多用于音频CODEC与主控之间的PCM格式音频数据传输,PDM(Pulse Density Modulation)则是数字麦克风常用的输出格式。本文系统对比两种接口的电气特性、时序要求、应用场景与设计注意事项,为硬件工程师在音频子系统设计中提供接口选型参考。数据参考各芯片厂商数据手册,不确定处另行注明。


一、接口协议概述

1.1 I2S接口

I2S(Inter-IC Sound)是飞利浦在1980年代制定的音频数据传输标准,用于在集成电路之间传输PCM编码的音频数据。I2S协议定义了三条基本信号线:

信号说明方向
BCLK位时钟(Bit Clock)主设备输出
LRCK / WS字选择(Word Select)/左右声道时钟主设备输出
SD / SDOUT / SDIN串行数据(Serial Data)主从设备均可

部分I2S实现还包含MCLK(主时钟),用于CODEC内部PLL的参考时钟。

1.2 PDM接口

PDM(Pulse Density Modulation)是数字麦克风使用的输出格式,它不是通过采样率转换,而是通过高密度脉冲序列的密度来编码模拟信号的幅度。PDM接口只需要两条信号线:

信号说明方向
DATAPDM数据流麦克风输出
CLK时钟输入(通常1~3.072MHz)主设备输出

二、电气特性对比

2.1 信号电平与电压域

参数I2SPDM
逻辑电平LVCMOS(1.8V/3.3V)LVCMOS(1.8V/3.3V)
典型电压1.8V / 3.3V1.8V(最常见)
驱动能力4mA~16mA(视芯片而定)2mA~4mA
上拉电阻通常不需要(推挽输出)通常需要(部分数字麦克风开漏输出)

I2S和PDM均使用LVCMOS电平,但I2S通常使用更高的驱动电流来应对较长走线。PDM麦克风多采用1.8V供电,输出幅度也相应较低(通常0.5V~1V峰峰值)。

2.2 阻抗与走线要求

参数I2SPDM
走线阻抗50Ω~75Ω(阻抗受控)50Ω(短距离即可)
最大走线长度<30cm(标准I2S),<10cm(高采样率)<15cm(1.44MHz/3.072MHz)
阻抗匹配BCLK长走线时建议串联匹配通常不需要
包地要求BCLK和DATA需要紧邻走线或包地CLK和DATA需要紧邻走线或包地

I2S的BCLK频率取决于采样率和通道数:48kHz/16bit/双声道时BCLK=48kHz×16×2=1.536MHz,高采样率(96kHz/24bit)时BCLK=4.608MHz。走线需要控制在10cm以内以保证信号完整性。


三、时序参数详解

3.1 I2S时序

I2S协议的时序要求由Philips I2S规范定义:

参数说明典型要求
t_RBCLK上升时间<10ns(3.3V时)
t_D数据建立时间(DATA valid before BCLK edge)>10ns
t_H数据保持时间(DATA valid after BCLK edge)>10ns
t_WCBCLK低电平宽度>50ns(1.536MHz时)
t_WCHBCLK高电平宽度>50ns
t_SULRCK建立时间>10ns

I2S时序的关键是DATA在BCLK边沿前需要保持稳定。主控(Master)通常输出BCLK和LRCK,数据线为双向(CODEC既可发送也可接收)。时序不满足可能导致采样偏斜或杂音。

3.2 PDM时序

PDM麦克风的时序要求与I2S不同,主要关注点在于:

参数说明典型要求
f_CLKCLK频率1.0MHz~3.072MHz
t_SUDATA建立时间(CLK上升沿前)>20ns
t_HDATA保持时间(CLK上升沿后)>5ns
t_VDATA有效时间>10ns
t_CLK_DUTYCLK占空比40%~60%(推荐48%~52%)

PDM输出是开漏或推挽结构,需要主控在CLK上升沿采样DATA。部分PDM麦克风支持单双通道模式(通过左右声道分时复用)。


四、采样率与数据格式

4.1 I2S采样率

I2S支持的采样率由BCLK和LRCK的比值决定:

LRCK(采样率)BCLK(16bit/双声道)BCLK(24bit/双声道)BCLK(32bit/双声道)
44.1kHz1.4112MHz2.1168MHz2.8224MHz
48kHz1.536MHz2.304MHz3.072MHz
96kHz3.072MHz4.608MHz6.144MHz
192kHz6.144MHz9.216MHz12.288MHz
384kHz12.288MHz18.432MHz

I2S的高采样率(如384kHz)对主控的时钟能力和走线设计要求更高。部分USB音频Codec在高采样率下会出现BCLK相位抖动,需要使用PLL或TCXO来保证时钟精度。

4.2 PDM采样率

PDM的输出数据率等于CLK频率(单通道模式)或CLK/2(双通道模式):

CLK频率PDM数据率(单通道)PDM数据率(双通道)对应PCM采样率
1.024MHz1.024Mbps512kbps16kHz(64倍)
1.44MHz1.44Mbps720kbps22.05kHz(64倍)
2.048MHz2.048Mbps1.024Mbps32kHz(64倍)
3.072MHz3.072Mbps1.536Mbps48kHz(64倍)

PDM数据流需要通过数字滤波(Decimation Filter)转换为PCM样本。数字麦克风通常内置 decimator,将PDM转换为标准PCM采样率(16kHz/32kHz/48kHz等)。


五、应用场景对比

5.1 I2S适用场景

场景说明
音频CODEC与主控通信USB音频Codec、Hi-Fi DAC、智能音箱主控
多通道音频传输8通道以上音频矩阵需要I2S TDM模式
高分辨率音频192kHz/32bit Hi-Res音频必须使用I2S
与DSP/AMP协同数字功放和音频DSP的接口

I2S适合需要高带宽、多通道、高保真的音频系统。TDM(Time Division Multiplexing)是I2S的扩展,可支持8通道以上的音频数据传输。

5.2 PDM适用场景

场景说明
数字麦克风阵列单麦或双麦降噪系统的数字麦克风
耳机麦克风TWS耳机和USB-C耳机的麦克风输入
语音唤醒系统远场语音唤醒(Alexa/小爱等)的麦克风阵列
通话降噪系统AI降噪处理前的音频采集

PDM是数字麦克风的事实标准,因为数字麦克风内部已经完成了模拟前端(MEME MIC)和PDM调制,输出PDM格式可直接送入主控的PDM接口。


六、设计注意事项

6.1 I2S设计要点

时钟布线:BCLK是高频信号,走线需要紧邻地线或包地,避免与DATA信号平行长距离走线。推荐使用4层PCB,内层完整接地平面。

主从时钟同步:当CODEC需要MCLK作为PLL参考时,MCLK与BCLK/LRCK之间需要满足严格的相位关系(MCLK通常是BCLK的256倍或384倍)。不同步可能导致采样率偏差或杂音。

I2S TDM模式:多通道音频(如8ch音频矩阵)需要使用I2S TDM模式。TDM模式下LRCK变为帧同步信号,每个帧传输多个通道数据。设计时需要确认主控和CODEC的TDM通道数配置一致。

6.2 PDM设计要点

时钟纹波抑制:PDM CLK的抖动会直接影响音频质量。推荐在CLK线上增加RC滤波器(33Ω + 100pF)抑制高频纹波。

麦克风堆叠:多个PDM麦克风可共用同一组CLK/DATA总线(通过分时复用)。2个麦克风通常共用CLK,在CLK的上升沿和下降沿分别采样左右声道。

电源去耦:数字麦克风对电源噪声敏感,建议在麦克风电源引脚增加LC滤波(10μH + 10μF),减少电源纹波对PDM输出的影响。


七、选型建议

考量因素推荐接口说明
数字麦克风输入PDM几乎所有数字麦克风都输出PDM格式
高保真音频CODECI2SALC5686、CM7120等旗舰CODEC均使用I2S
TWS耳机麦克风阵列PDM多个数字麦克风共用PDM接口最省IO
USB-C音频转接器I2S或SLIMbus视主控方案而定
智能音箱多通道音频I2S TDM8ch以上需要TDM模式
高采样率192kHz+I2S需要BCLK频率>12MHz

八、供货与选型支持

I2S和PDM接口的音频芯片我司均有现货。数字麦克风(如敏芯MEMS系列)支持PDM输出,参考交期4~8周。音频CODEC(ALC5686、CM7120等)支持I2S输入,批量采购可申请样品,参考交期6~12周。如需设计支持,可提供参考原理图和时序测试报告,协助进行接口配置和信号完整性验证。


九、总结

I2S和PDM是两种互补的数字音频接口,分别应用于不同的音频子系统。I2S适合音频CODEC与主控之间的PCM数据传输,支持高采样率、多通道和高保真音频,是Hi-Fi音频系统的标准接口。PDM适合数字麦克风的音频采集输出,支持麦克风阵列和语音处理应用。在设计中需要根据信号完整性要求选择合适的接口协议,并注意时钟布线、阻抗匹配和电源滤波等细节。


常见问题(FAQ)

Q1:I2S和PCM接口是一样的吗? I2S是PCM的一种特殊形式。I2S与通用PCM接口的主要区别是I2S的LRCK极性是左声道=1、右声道=0,而PCM接口的LRCK极性可以配置。部分音频芯片同时支持I2S和PCM模式,通过引脚或寄存器配置选择。

Q2:两个PDM麦克风能共用一个接口吗? 能。2个PDM麦克风可以共用CLK和DATA线,在CLK的上升沿采样第一个麦克风的数据,在下降沿采样第二个麦克风的数据(需要麦克风支持分时双通道模式)。3个以上麦克风通常需要单独的PDM接口或PDM接口扩展器。

Q3:I2S的MCLK一定要吗? 不一定。MCLK是可选的,主要用于CODEC内部PLL的参考时钟。如果CODEC使用BCLK作为PLL参考(称为自时钟模式),则不需要MCLK。但MCLK模式通常能实现更低的时钟抖动和更好的音频指标。

Q4:PDM麦克风的采样率是多少? PDM麦克风本身不输出PCM采样率,而是输出PDM数据流(1.024MHz~3.072MHz)。通过主控内部的Decimation Filter转换为PCM采样率(通常16kHz/32kHz/48kHz)。PDM的64倍降采样是最常见的配置。

Q5:I2S走线太长会怎样? I2S BCLK频率高,走线超过15cm时信号完整性显著下降,可能导致:采样点偏移(杂音)、时钟抖动(底噪增加)、建立/保持时间违规(断音)。长走线建议增加串联匹配电阻(22Ω~33Ω)和完整的包地处理。

最后更新: