摘要
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接口只需要两条信号线:
| 信号 | 说明 | 方向 |
|---|---|---|
| DATA | PDM数据流 | 麦克风输出 |
| CLK | 时钟输入(通常1~3.072MHz) | 主设备输出 |
二、电气特性对比
2.1 信号电平与电压域
| 参数 | I2S | PDM |
|---|---|---|
| 逻辑电平 | LVCMOS(1.8V/3.3V) | LVCMOS(1.8V/3.3V) |
| 典型电压 | 1.8V / 3.3V | 1.8V(最常见) |
| 驱动能力 | 4mA~16mA(视芯片而定) | 2mA~4mA |
| 上拉电阻 | 通常不需要(推挽输出) | 通常需要(部分数字麦克风开漏输出) |
I2S和PDM均使用LVCMOS电平,但I2S通常使用更高的驱动电流来应对较长走线。PDM麦克风多采用1.8V供电,输出幅度也相应较低(通常0.5V~1V峰峰值)。
2.2 阻抗与走线要求
| 参数 | I2S | PDM |
|---|---|---|
| 走线阻抗 | 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_R | BCLK上升时间 | <10ns(3.3V时) |
| t_D | 数据建立时间(DATA valid before BCLK edge) | >10ns |
| t_H | 数据保持时间(DATA valid after BCLK edge) | >10ns |
| t_WC | BCLK低电平宽度 | >50ns(1.536MHz时) |
| t_WCH | BCLK高电平宽度 | >50ns |
| t_SU | LRCK建立时间 | >10ns |
I2S时序的关键是DATA在BCLK边沿前需要保持稳定。主控(Master)通常输出BCLK和LRCK,数据线为双向(CODEC既可发送也可接收)。时序不满足可能导致采样偏斜或杂音。
3.2 PDM时序
PDM麦克风的时序要求与I2S不同,主要关注点在于:
| 参数 | 说明 | 典型要求 |
|---|---|---|
| f_CLK | CLK频率 | 1.0MHz~3.072MHz |
| t_SU | DATA建立时间(CLK上升沿前) | >20ns |
| t_H | DATA保持时间(CLK上升沿后) | >5ns |
| t_V | DATA有效时间 | >10ns |
| t_CLK_DUTY | CLK占空比 | 40%~60%(推荐48%~52%) |
PDM输出是开漏或推挽结构,需要主控在CLK上升沿采样DATA。部分PDM麦克风支持单双通道模式(通过左右声道分时复用)。
四、采样率与数据格式
4.1 I2S采样率
I2S支持的采样率由BCLK和LRCK的比值决定:
| LRCK(采样率) | BCLK(16bit/双声道) | BCLK(24bit/双声道) | BCLK(32bit/双声道) |
|---|---|---|---|
| 44.1kHz | 1.4112MHz | 2.1168MHz | 2.8224MHz |
| 48kHz | 1.536MHz | 2.304MHz | 3.072MHz |
| 96kHz | 3.072MHz | 4.608MHz | 6.144MHz |
| 192kHz | 6.144MHz | 9.216MHz | 12.288MHz |
| 384kHz | 12.288MHz | 18.432MHz | — |
I2S的高采样率(如384kHz)对主控的时钟能力和走线设计要求更高。部分USB音频Codec在高采样率下会出现BCLK相位抖动,需要使用PLL或TCXO来保证时钟精度。
4.2 PDM采样率
PDM的输出数据率等于CLK频率(单通道模式)或CLK/2(双通道模式):
| CLK频率 | PDM数据率(单通道) | PDM数据率(双通道) | 对应PCM采样率 |
|---|---|---|---|
| 1.024MHz | 1.024Mbps | 512kbps | 16kHz(64倍) |
| 1.44MHz | 1.44Mbps | 720kbps | 22.05kHz(64倍) |
| 2.048MHz | 2.048Mbps | 1.024Mbps | 32kHz(64倍) |
| 3.072MHz | 3.072Mbps | 1.536Mbps | 48kHz(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格式 |
| 高保真音频CODEC | I2S | ALC5686、CM7120等旗舰CODEC均使用I2S |
| TWS耳机麦克风阵列 | PDM | 多个数字麦克风共用PDM接口最省IO |
| USB-C音频转接器 | I2S或SLIMbus | 视主控方案而定 |
| 智能音箱多通道音频 | I2S TDM | 8ch以上需要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Ω)和完整的包地处理。