https://www.nxpic.org.cn/document/id-17022
https://doc.embedfire.com/linux/imx6/base/zh/latest/linux_basis/audio_video.html
在所有 i.MX 串行 SoC 中,i.MX28/i.MX6UL/i.MX7D/S 使用同步音频接口(SAI)来支持音频应用。SAI 支持 I2S、AC97、TDM 和 code/DSP 接口。SAI 接口由以下信号组成:
SAI_MCLK ------------用来为外部音频设备(例如音频编解码器)提供工作时钟
SAI_RX_BCLK ------------接收信道的位时钟
SAI_RX_DATA ------------接收信道的数据
SAI_RX_SYNC ------------用于接收信道的左右信道中的帧同步信号
SAI_TX_BCLK ------------传输信道的位时钟
SAI_TX_DATA ------------传输信道的数据
SAI_TX_SYNC ------------用于传输信道的左右信道中的帧同步信号
根据上述信号,SAI 有 2 个信道:接收信道和传输信道,这 2 个信道具有自己的时钟:
位时钟和 frame SYNC,因此它们可以独立工作,这意味着 PLAY 和 CAPTURE 可以被同时操作,也就是说, 此时 SAI 在异步模式下工作。
在这篇文章中,我们会讨论在 I2S(SYNC)模式下工作时,SAI 在硬件设计上的几种用法。 我们以 i.MX6UL 为例,i.MX7D / S 的用法与它相似。
1. SAI 的 IOMUX
根据 i.MX6UL 的参考手册,i.MX6UL 中有 3 个 SAI 模块:SAI1,SAI2 和 SAI3,(详情参阅 IMX6ULRM.pdf 中第 2529 页)。 作为常见的应用程序,我们将使用 2 个 SAI 接口。
2. I2S 模式的硬件连接
无论 CPU 还是编解码器为主处理器,硬件的连接方式都是一样的。
(1)单音频编解码器


(2)双音频编解码器

(3)音频编解码器+蓝牙 PCM


(4 )音频编解码器 蓝牙 PCM + 4G PCM
或
注 ] 附件中有 WM8958 和 MAX98089 的原理图 (不是恩智浦发布的),仅供对
i.MX 音频应用程序感兴趣的用户参考。 。如果您想使用 WM98089 或 WM8958 ,请联系
他们的制造商,并确认 原理 图是否正确, 因此 不要直接 将它们用于 您的解决方案。