[特殊字符] 嵌入式音频接口全景图解: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
PCM 16/24/32bit 最常见,耳机、声卡、麦克风
ADPCM 4bit(压缩) 语音压缩,对讲机、蓝牙耳机
μ-law / A-law 8bit 电话系统压缩格式
PDM 1bit 高速流 数字麦克风输出格式
AC3 / DTS 16bit 压缩 家庭影院压缩音频
DSD 1bit 超高采样 SACD 高保真音频 ✅ 或专用播放

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


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

场景 推荐组合 DTS 配置建议
普通耳机/麦克风 I2S + PCM format = i2s, bitclock = 64fs
多通道采集 TDM + PCM slots = 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 才能播放或处理。
相关推荐
Nimsolax2 小时前
Linux网络数据链路层
linux·网络
小武~3 小时前
嵌入式网络编程实战:从Socket基础到高并发优化
linux·网络
大聪明-PLUS3 小时前
Rsync:管理员详细指南 第2部分
linux·嵌入式·arm·smarc
chenzhou__3 小时前
LinuxC语言文件i/o笔记(第十七天)
linux·c语言·笔记·学习
chenzhou__3 小时前
LinuxC语言文件i/o笔记(第十八天)
linux·c语言·笔记·学习
简鹿办公3 小时前
重大更新!Ubuntu Pro 现提供长达 15 年的安全支持
linux·安全·ubuntu
qq_321665333 小时前
验证centos 服务器(或其他linux服务器),443或80端口是否开通
linux·服务器·centos
java_logo3 小时前
TOMCAT Docker 容器化部署指南
java·linux·运维·docker·容器·tomcat
whb2341741244 小时前
测试linux删除Oracle文件,使用文件句柄恢复
linux·运维·oracle