当前位置: 首页 > news >正文

I2S 接口

I2S(Inter-IC Sound)是飞利浦 1986 年制定的数字音频串行接口标准,用于在芯片间(如 Codec、DSP、ADC/DAC)传输未压缩的 PCM 音频,特点是时钟与数据分离、固定时序、低延迟、抗干扰强

基本信号线(3+1 根)

标准 I2S 由 3 根必选 + 1 根可选信号组成:

信号别名功能频率关系
SCK/BCLK位时钟每比特 1 个脉冲,同步所有数据fBCLK​=2⋅fs​⋅N(立体声、N 位)
WS/LRCK帧 / 声道时钟0 = 左声道,1 = 右声道fLRCK​=fs​(采样率)
SD串行数据音频数据(补码,MSB 优先单向(SDIN/SDOUT)
MCLK(可选)主时钟给 Codec 的参考时钟(通常256fs​)fMCLK​=256fs​/384fs​

示例:44.1kHz、16 位立体声 → BCLK=1.4112MHz,LRCK=44.1kHz。

时序与数据格式

时序要点

  • 发送端常在下降沿输出数据,接收端在上升沿采样。
  • WS 切换后,延迟 1 个 BCLK再发首比特(MSB)。
  • 数据位宽:16/24/32bit;不足位补零,多余位截断。

主从模式

  • 主设备:输出 BCLK 与 LRCK(如 Codec、MCU)。
  • 从设备:接收时钟,仅发 / 收数据。
  • 总线仅 1 个主设备,可 1 对 1 或 1 对多(TDM 扩展)。

四种核心标准模式

标准 I2S 模式(最常用)

  • 时序规则
    1. LRCK (WS) 翻转后,延迟 1 个 BCLK 时钟才开始传输声道数据
    2. 左声道:LRCK = 低电平
    3. 右声道:LRCK = 高电平
    4. 数据:MSB 先行
  • 特点:时序裕量大、抗干扰强,主流音频 Codec、MCU 默认首选。

左对齐模式(Left-Justified,LJ)

又称MSB 对齐模式

  • 时序规则
    1. LRCK 翻转瞬间,立即开始发送声道数据,无延迟 BCLK
    2. 左声道:LRCK = 高电平
    3. 右声道:LRCK = 低电平
  • 特点:早期日系音频芯片常用,很多高端 DAC / 功放兼容此模式。

右对齐模式(Right-Justified,RJ)

  • 时序规则
    1. LRCK 翻转后,数据靠右对齐,低位补空时钟
    2. 采样数据靠右放置,前面填充无效位
  • 特点多用于老式音频外设,目前使用较少。

PCM 短帧 / PCM 长帧模式

也叫I2S-PCM 模式,分为:

  1. PCM 短帧
    • LRCK 宽度仅1 个 BCLK脉冲
    • 常用于窄带语音:对讲机、车载通话、蓝牙语音
  2. PCM 长帧
    • LRCK 高 / 低电平持续整个声道周期
    • 适配工业语音采集、多路对讲

本质是帧同步信号格式改造,多用于语音而非 HiFi 音乐。

四种模式关键时序对比表

模式声道切换与数据起始左声道 LRCK典型用途
标准 I2SLRCK 翻转 + 延迟 1 个 BCLK手机 / 音箱 / 通用 Codec
左对齐 LJLRCK 翻转 立即开始数据日系 HIFI DAC
右对齐 RJ数据右对齐、前置空 bit老旧音频芯片
PCM窄脉冲帧同步脉冲信号语音、通话

扩展多声道模式(TDM)

属于 I2S 接口硬件复用扩展,很多 SoC/Codec 支持:

  • TDM 模式:单根数据线,利用时分复用
  • 支持:4/8/16 声道音频
  • 应用:车载多喇叭、全景声、专业调音台

I2S时钟

I2S 把时钟拆成 3 根独立信号,本质是「分离不同频率、不同作用的时序」,彻底规避音频抖动、串扰、采样错位,保证无损高质量音频传输。

1. BCLK 位时钟(Bit Clock)

  • 频率最高:控制每一个音频比特的收发移位
  • 作用:串行数据逐 bit 同步、移位、采样
  • 公式:f_BCLK=2*采样率 *位宽
  • 场景:16bit/24bit/32bit 任意位宽灵活适配

2. LRCK 声道帧时钟(Left/Right Clock)

  • 频率 =采样率(44.1k/48k)
  • 作用:区分左声道 / 右声道,做帧同步
  • 没有它:收发端分不清当前是左还是右数据,立体声错乱

3. MCLK 主时钟(Master Clock,256fs/384fs)

  • 低频参考时钟,不参与串行数据传输
  • 作用:给 Codec/DAC/ADC 内部 PLL、模数转换、滤波、采样时钟基准
  • 没有它:模拟电路采样时钟漂移,底噪、失真、破音

关键区别

信号作用域用途是否可省
BCLK数字传输域逐 bit 串行移位不可省
LRCK数字传输域左右声道帧同步不可省
MCLK模拟 + CODEC 内核采样基准、PLL、滤波部分芯片可内部生成,建议必接

多时钟线的关键原因

2S 把时钟拆成 3 根独立信号,本质是「分离不同频率、不同作用的时序」,彻底规避音频抖动、串扰、采样错位,保证无损高质量音频传输。

多时钟分离架构,专门为无损立体声音频设计。

  • BCLK:管每一位数据移位
  • LRCK:管左右声道分界
  • MCLK:管 Codec 模拟采样基准

多时钟分离 =频率解耦 + 降低抖动 + 强弱电隔离 + 通用适配所有音频设备

1. 频率差异巨大,无法复用

  • MCLK:十几 MHz 级
  • BCLK:1~3MHz 级
  • LRCK:几十 kHz 级

三种频率差几百倍,单一时钟无法同时满足移位、帧同步、模拟采样基准

2. 分离时钟 → 极低抖动,高音质

如果像 UART/SPI 只用一根时钟:

  • 数据、帧、采样时钟混叠
  • 时序抖动 Jitter 变大
  • 音频会出现:底噪、爆音、失真、频响劣化

I2S 分离设计:数字传输时钟 + 模拟采样时钟完全隔离,是 HiFi 音频刚需。

3. 解耦设计,兼容性极强

  • BCLK 只管「比特移位」
  • LRCK 只管「声道分界」
  • MCLK 只管「Codec 内部工作基准」

任意参数独立配置:位宽改 16/24/32bit、换采样率、切换 I2S/LJ/RJ 模式,互不影响。

4. 避免数据与时钟串扰

单时钟 + 单线数据,高速切换容易产生:

  • 电磁干扰 EMI
  • 信号反射、时序建立 / 保持时间不足

多时钟分组布线,可做差分 / 等长 / 隔离布线,抗干扰更强。

5. 满足「数字传输 + 模拟转换」双需求

  • MCU/SoC 只负责数字串行传输(BCLK+LRCK)
  • Codec 内部 DAC/ADC 需要高精度低频基准(MCLK)

两类电路时序需求完全不同,必须分开。

MCLK核心作用

BCLK、LRCK 用来传数字音频数据

MCLK 给 CODEC 内部模拟 / 采样电路做基准时钟

MCLK 不参与 I2S 串行数据收发时序,没有它也能发 I2S 数字波形,但不能正常录音 / 放音

BCLK/LRCK 管数字数据搬运,MCLK 管 CODEC 耳朵和嘴巴(ADC/DAC 采样),是音频模拟电路的心脏时钟。

1. 为 ADC/DAC 提供采样时钟基准

CODEC 模数转换、数模转换不是靠 BCLK,而是靠 MCLK 分频得到精准采样时钟。

  • 控制采样率精度(44.1k/48k/96k)
  • 决定 ADC/DAC 转换节奏

无 MCLK → 采样时钟漂移 → 声音变速、失真、变调。

2. 内部 PLL 倍频 / 分频源

音频 CODEC 内部:PLL、时钟树、滤波单元、运算放大器偏置电路,都需要一个稳定、低抖动的外部参考时钟。MCLK 是整个音频模拟域的时钟根

3. 控制音频滤波、降噪电路

CODEC 内置数字滤波、抗混叠滤波器、PGA 增益控制电路,全部需要同步时钟才能正常工作;MCLK 异常 → 底噪、电流声、爆音、杂音。

4. 保证音频低抖动、高保真

BCLK 是高速数字移位时钟,抖动大;

MCLK 一般由高精度晶振 / SoC 专属音频时钟域输出,jitter 极低

用它做模拟侧基准,是 HiFi 音质的关键。

5. 驱动 CODEC 内部外设

包括:

  • 麦克风偏置电路时钟
  • 耳机放大、线路输出驱动时序
  • 内部电源管理时序

没有 MCLK 会出现什么现象

  1. 能抓到正常 I2S 波形,但是没声音
  2. 声音沙哑、慢速、变调
  3. 持续电流噪音、爆音、底噪严重
  4. 录音失真、采样率异常

现代 SoC 「内部 MCLK」

很多新款 CODEC/MCU 支持:内部 RC 振荡器 / PLL 自生 MCLK

可以省掉外部 MCLK 接线,但:

  • 时钟精度差
  • 抖动大
  • 只适合低端语音,不适合音乐播放

MCLK 频率

MCLK 不是随便设的,必须是采样率 f_s 的整数倍,行业叫音频主时钟倍率

行业固定标准倍频 M

音频 CODEC、DAC、ADC 硬件只认这几套标准:

  1. 256× (最常用,默认标配)
  2. 384× (高清音频)
  3. 128× / 512× (老款 / HiFi 设备)

为什么必须固定倍数?

CODEC 内部要对 MCLK 做精准分频,生成:

采样时钟、滤波器时钟、PLL 参考时钟,非标准倍数会分频错乱、杂音、跑调

举例计算

MCLK 与 BCLK、LRCK 完整时钟关系

MCLK 频率的确定流程

  1. 先确定产品采样率,通话→8k/16k;音乐→44.1k/48k;高清→96k/192k
  2. 查阅 CODEC 手册,选定倍频 M,绝大多数芯片默认推荐:256×
  3. 计算出标准 MCLK 频率
  4. SoC / 外部晶振 输出对应精准时钟
    • 高端:外部专用音频晶振(12.288MHz、11.2896MHz)
    • 嵌入式:SoC 内部 PLL 倍频生成

为什么不能随便写一个 MCLK?

  1. CODEC 内部分频器是整数分频,非标准频率→小数分频→时钟抖动 Jitter 暴增
  2. 采样时钟不准 → 声音语速变快 / 变慢、变调、底噪
  3. 数字滤波器、抗混叠电路工作异常,爆音破音

核心优势

  1. 时钟 / 数据分离:无码间串扰,低抖动、高音质
  2. 硬件同步:无需软件时序控制,低延迟、实时性好
  3. 结构简洁:3 线制,PCB 布线简单,成本低。
  4. 全双工:可同时收发(如智能音箱录音 + 放音)。
  5. 多声道扩展:用 TDM 模式可传 4/8/16 声道。

典型应用

  • 消费电子:手机 / 平板 Codec、蓝牙音箱、智能手表。
  • 嵌入式:Linux/MCU 音频(如 STM32、ESP32、全志)。
  • 专业音频:录音棚 ADC/DAC、数字调音台、Hi-Fi 播放器。
  • 车载:车机与功放、多扬声器系统。

I2S vs 常见接口

接口用途连线数延迟音质
I2S芯片间 PCM 音频3~4极低高(无损)
SPDIF设备间数字音频(光纤 / 同轴)1高(无损)
PDM单麦克风(如 MEMS)2一般
USB Audio通用音频设备4较高
http://www.cnnetsun.cn/news/2164458.html

相关文章:

  • 别只盯着CISSP了!聊聊CISP-CISE和CISP-CISO这两个更适合国情的“隐藏款”认证
  • 5分钟快速上手:使用ModTheSpire为《杀戮尖塔》打造个性化模组体验
  • 如何用AICoverGen让任何声音演唱你喜爱的歌曲?
  • 抖音批量下载终极指南:3分钟搞定无水印视频批量下载的免费神器
  • 保姆级教程:用SpikingJelly的LIF神经元+PyTorch,5分钟搞定你的第一个SNN手写数字识别
  • 用蒲公英X1旁路组网,零成本打通办公室和家庭NAS(附小米路由器刷Padavan静态路由配置)
  • Windows与Office永久激活终极指南:KMS智能激活工具完整教程
  • C语言类的基本语法详解
  • 如何快速搭建docker-wechatbot-webhook:5分钟从零到实战
  • 别再只会调库了!用Python从零推导二阶巴特沃斯滤波器的差分方程(附NumPy实现)
  • FastUI终极指南:无需JavaScript的React应用开发新范式
  • 终极指南:如何通过iseed测试套件确保Laravel种子生成器稳定可靠
  • 如何完全掌控你的微信聊天记录?3步实现永久保存与智能分析
  • 5分钟搞定!Switch手柄在PC上玩游戏的终极方案:BetterJoy完全指南
  • TouchGal:重新定义Galgame社区的极简革命
  • 终极指南:5分钟零代码构建机器学习服务 - Apache PredictionIO自动化部署全流程
  • 5分钟掌握Zettlr正则搜索:从入门到精准定位复杂内容模式
  • 【DeepSeek】linux 内核kallsyms 动态符号表文件
  • 从消息到响应:Hubot核心组件解密与智能聊天机器人构建终极指南
  • 2026届最火的十大降AI率工具横评
  • HTTP认证机制终极指南:从基础验证到高级安全防护
  • 15分钟快速搭建GCP自动部署流水线:零代码Dockerfiles终极指南
  • 告别手写代码!用NXP GUI Guider拖拽设计LVGL界面,5分钟搞定嵌入式UI
  • 为 Node.js 后端服务接入 Taotoken 实现多模型对话功能
  • Unity编辑器扩展实战:用PreviewRenderUtility为你的自定义工具窗口添加3D预览(附完整代码)
  • UnityExplorer实战指南:在游戏运行时轻松调试Unity项目
  • 5个简单步骤:用Mac Mouse Fix让普通鼠标在macOS上实现触控板级体验
  • 3分钟快速配置:OBS视频字幕生成工具完全指南
  • Ollama部署DeepSeek-R1-Distill-Qwen-7B完整指南:支持中文长文本理解与结构化输出
  • 手把手教你用CS5523芯片,把手机屏幕信号接到4K显示器上(MIPI DSI转DP/eDP实战)