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

[特殊字符] 嵌入式音频接口全景图解:I2S、TDM、PDM、SPDIF、AC’97 与 PCM 的关系

在嵌入式音频系统中,常见术语如 I2S、TDM、PCM、PDM、SPDIF、AC’97 等常被混用,容易造成理解混乱。本文将从硬件接口、传输协议、数据格式三个层次出发,构建一个清晰的音频系统知识框架,适用于 RK3588、RK3576 等平台的音频开发与调试。


🧩 一、音频系统三层结构

音频系统(SoC)

├── 硬件接口(谁来传):
│ ├── I2S 控制器(如 RK3588)
│ └── SAI 控制器(如 RK3576,支持 128 SLOT)

├── 协议(怎么传):
│ ├── I2S:左右声道(2 通道)
│ ├── TDM:多通道(多个 SLOT)
│ ├── PDM:1bit 高速流(数字麦克风)
│ ├── SPDIF:光纤/同轴传输压缩音频
│ └── AC’97:老式音频总线(主板用)

└── 数据格式(传什么):
├── PCM:线性无压缩,最常见
├── ADPCM:语音压缩格式
├── μ-law / A-law:电话系统压缩格式
├── PDM:密度编码,需解码为 PCM
├── AC3 / DTS:压缩多声道音频
└── DSD:高保真格式,SACD 专用


📦 类比记忆法:音频系统 = 快递系统

类别音频术语类比解释
硬件接口I2S / SAI 控制器快递公司(谁来送)
协议I2S / TDM / PDM / SPDIF快递方式(怎么送)
数据格式PCM / ADPCM / PDM / AC3包裹内容(送什么)
SLOT(TDM)时间片/通道快递车的货架格子(每格一个通道)

🎼 二、常见协议与数据格式详解

  1. I2S(Inter-IC Sound)
  • 串行音频协议,左右声道各占一个 SLOT。
  • 适合 2 通道音频,如耳机、声卡。
  • 数据格式通常为 PCM。
  1. TDM(Time Division Multiplexing)
  • I2S 的扩展,支持多个 SLOT(如 8/16/32/128)。
  • 每个 SLOT 对应一个通道,适合麦克风阵列、会议系统。
  • 数据格式仍为 PCM。
  1. PDM(Pulse Density Modulation)
  • 数字麦克风输出格式,1bit 高速流。
  • 音量由“1”的密度表示,需解码为 PCM。
  • 通常由 Codec 或 FPGA 解码。
  1. SPDIF(Sony/Philips Digital Interface)
  • 用于光纤/同轴传输音频,支持 PCM 或压缩格式(AC3、DTS)。
  • 常用于音响、电视、HDMI ARC。
  • 仅用于输出方向,不适合采集。
  1. AC’97(Audio Codec ’97)
  • Intel 提出的老式音频总线协议。
  • 使用 Frame + Slot 结构,支持多通道。
  • 固定结构,不如 I2S/TDM 灵活。

🔊 三、音频数据格式对比表

格式位宽是否压缩用途说明是否需解码为 PCM
PCM16/24/32bit最常见,耳机、声卡、麦克风
ADPCM4bit(压缩)语音压缩,对讲机、蓝牙耳机
μ-law / A-law8bit电话系统压缩格式
PDM1bit 高速流数字麦克风输出格式
AC3 / DTS16bit 压缩家庭影院压缩音频
DSD1bit 超高采样SACD 高保真音频✅ 或专用播放

✅ 几乎所有格式最终都需解码为 PCM,才能送入 DAC 播放或进行音频处理。


✅ 四、嵌入式开发实战建议

场景推荐组合DTS 配置建议
普通耳机/麦克风I2S + PCMformat = i2s, bitclock = 64fs
多通道采集TDM + PCMslots = 8/16/32, slot-width = 32
数字麦克风阵列PDM + PDM需 Codec 解码为 PCM
光纤/HDMI 输出SPDIF + AC3/DTS需外部解码器
老式主板音频AC’97 + ADPCM固定结构,驱动适配复杂

📌 总结

  • I2S 是最常见的音频传输协议,适合 2 通道场景。
  • TDM 是多通道扩展,适合麦克风阵列、会议系统。
  • PDM 是数字麦克风的输出格式,需解码为 PCM。
  • SPDIF 用于压缩音频输出,AC’97 是老式主板接口。
  • 最终几乎所有音频数据都需解码为 PCM 才能播放或处理。
http://www.dtcms.com/a/609678.html

相关文章:

  • 从 API 到应用:用 Rust 和 SQLx 为 Axum 服务添加持久化数据库
  • 【高级机器学习】 9. 代理损失函数的鲁棒性
  • 测试之测试用例篇
  • 做网站优化推广的好处网站界面设计实验报告
  • 自建node云函数服务器
  • TRO侵权预警|Lauren动物插画发起维权
  • Rust实战:使用Axum和SQLx构建高性能RESTful API
  • 波动率曲面分解法在期货价差套利策略中的应用研究
  • 泌阳县住房建设局网站网站seo排名优化工具在线
  • 电子商务网站建设课北京建设网官方网站
  • vr大空间体验馆,vr大空间是什么意思啊?
  • Node.js实现WebSocket教程
  • 朝阳区搜索优化seosem百度seo关键词排名优化工具
  • C++初阶
  • NFS:K8s集群的跨主机存储方案
  • 动态设计网站制作wordpress
  • 短临 Nowcast 在分布式光伏的落地:分钟级降水与云量对 Irradiance 的影响(工程版)
  • linux centos 防火墙操作命令
  • 破解行业绿电直供痛点:直连架构适配关键技术解析
  • token无感刷新全流程
  • MySQL 数据增删改查
  • 浏阳做网站的公司价格网站设计步骤详解
  • 南京做网站外包试论述网上商城的推广技巧
  • 面试150——二叉树
  • opencv 学习: QA_02 什么是图像中的高频成分和低频成分
  • C++_面试题13_QVector和QList的区别
  • Vue 2脚手架从入门到实战核心知识点全解析(day6):从工程结构到高级通信(附代码讲解)
  • 2025年AI面试防作弊指南:技术笔试如何识别异常行为
  • (十)嵌入式面试题收集:15道
  • 标准解读|即将实施的三份汽车安全强制性标准