22.6.5. I2S Slave

22.6.5.1. 概述

I2S slave示例工程展示了I2S控制器作为slave搭配DMA与master进行板间通信。 I2S slave循环发送音频数据到I2S master。

22.6.5.2. 工作流程

  1. 配置系统音频时钟:

    • 使用外部MCLK、BCLK和FCLK

  2. 配置I2S Slave:

    • 设置FIFO阈值

    • 配置DMA请求

    • 配置采样率和位宽

    • 配置为从机模式

  3. 配置DMA传输:

    • 设置源地址为音频数据缓冲区

    • 设置目标地址为I2S_SLAVE发送FIFO

    • 配置源地址递增模式

    • 配置目标地址固定模式

    • 使能DMA中断

  4. 启动传输:

    • 使能I2S Slave

    • 启动DMA传输

    • 循环发送音频数据

22.6.5.3. 已知问题

22.6.5.4. 硬件设置

  • 将两个板子的 I2S引脚 相连:

    • 连接 Master FCLK 和 Slave FCLK

    • 连接 Master BCLK 和 Slave BCLK

    • 连接 Master RXD 和 Slave TXD

    • 板间共地

22.6.5.5. 运行现象

当工程正确运行后:

  1. 串口终端输出信息:

I2S Slave Demo
  1. I2S Slave将持续发送音频数据到I2S Master

22.6.5.6. 调试建议

  1. 检查I2S连线是否正确

  2. 确认DMA传输是否正常