X-CUBE-USB-AUDIO 资料篇④——USB音频流传输实例(音频播放+音频录制)

所有的USB控制通过EP 0端点。

一、音频播放

STM32F446E-EVALSTM32F769IDISCOVERY

  1. 主机将音频流接口的备用设置设置设置为“1”后,开始传输PCM样本。
  2. 对于接收到的每个数据包,USB IP将其写入FIFO内存,然后向应用程序发出中断。
  3. 应用程序将数据复制到循环缓冲区。
  4. 另一方面,SAI IP通过I2S向音频编解码器传输数据。
  5. SAI使用DMA传输。每次DMA完成数据包传输时,它都会引发一个传输完成中断。
  6. 接收到传输完成中断后,DMA被编程为从循环缓冲区读取下一个数据包。
  7. 数据同步激活时,应用程序估计编解码器采样率。每次主机需要数据时(同步到EP同步),设备都会发送计算的采样率。

二、音频录制

STM32446E-EVAL

  1. 主机将音频流接口的备用设置设置设置为“1”后,STM32设备开始发送PCM样本。
  2. MEMS话筒通过I2S通道产生PDM样本。DMA将它们传输到中间缓冲区。
  3. PDM库将PDM样本转换为PCM样本。应用程序将它们写入录制循环缓冲区。
  4. 每毫秒,主机从记录终端请求一个USB数据包。
  5. 应用程序将一个数据包复制到USB FIFO。
  6. STM32 USB IP向主机传输数据。
  7. 数据同步激活时,应用程序可能会或多或少发送一个样本。如果没有数据准备好传输,应用程序将发送一个零填充数据包。

STM32F769IDISCOVERY进行录制不同的是:

  • STM32F769芯片集成了DFSDM IP。不需要PDMPCM软件转换。应用程序使用DMA直接读取PCM样本。
  • 数据路径的其余部分与STM32446E-EVAL板相同

STM32F446E-EVAL 评估板的数据传输
在这里插入图片描述

STM32F769IDISCOVERY 评估板的数据传输
在这里插入图片描述

觉得好,就一键三连呗(点赞+收藏+关注)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小康师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值