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

news/2024/12/22 23:46:37/

文章目录

  • 一、音频播放
  • 二、音频录制

所有的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 评估板的数据传输
在这里插入图片描述

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


http://www.ppmy.cn/news/379563.html

相关文章

Android -- 多媒体播放之MediaPlayer基础简介

Android -- MediaPlayer基础简介 MediaPlayer是Android中的一个多媒体播放类,我们能通过它控制音视频流或本地音视频资源的播放过程。 这段时间查阅了Android官方文档对MediaPlayer的介绍,同时也看了一些书籍介绍。现在把MediaPlayer的基础内容在此做一…

X-CUBE-USB-AUDIO 资料篇①——整体介绍

文章目录 一、概述二、引用三、缩略语四、STM32Cube介绍 一、概述 通用串行总线(USB)是一种广泛使用的通信协议。除了能够实现健壮和快速的数据传输外,它还包括各种应用领域的数据接口,例如用于数据回放和记录的音频流。 本用户…

嵌入式平台音频播放器设计(基础篇)

一、目的 相信不少同学都见过以前那种很小的MP3播放器(暴露年龄),高级一点的还带一个小的单色液晶屏,想必理工科男都想自己设计一款这样的一款播放器。 那么如何才能设计实现一个简单的音乐播放器呢? 本文不讲述跟硬件相关的知…

嵌入式网站媒体播放器ExoBUD MP(II) v4.1tc+

ExoBUD MP(II) v4.1tc 网站媒体播放程序安装手记 程序自身压缩包里的readme已经很详细了,本来不想多此一举,只是实在是说得太多了,以至于很多该详细的地方没有详细讲出来,故在这里留块自留地出来,将安装过程中一…

【播放器】媒体播放器三大架构

媒体播放工具,这里主要指视频播放,因为要面临庞大的兼容性和纷繁复杂的算法,从架构上看,能脱颖而出的体系屈指可数。大体来说业界主要有3大架构:MPC、MPlayer和VLC。这3大架构及其衍生品占领了90%的市场,凡…

X-CUBE-USB-AUDIO 资料篇②——AUD_Streaming10 USB音频设备扩展应用

文章目录 一、X-CUBE-USB-AUDIO扩展包二、AUD_Streaming10 USB设备音频扩展应用程序三、程序配置3.1 音频配置3.1 其他配置3.2工程配置 四、目录内容五、项目工程 一、X-CUBE-USB-AUDIO扩展包 STM32Cube的STM32 USB设备音频流软件扩展,由ST提供 请参阅X-CUBE-USB-AU…

DIY 多媒体播放:Qt + MPlayer 的故事。

本文的主角是Linux下的万能播放器:MPlayer 因为MPlayer是开源的,所以倍受开发者爱戴。下载MPlayer-1.0rc2.tar.bz2到Linux中,依次configure,make,make install后,就可以在linux下使用MPlayer播放视频和音频…

Audio 多媒体播放流程

Android 多媒体播放流程MediaPlayer 框架mediaplayer state diagramNuplayer的创建setDataSourcepreparesyncOnStart and Decoder MediaPlayer 框架 Android 1.0→Packet video – Open core Android 1.6→Open Core 2.0 Android 2.0→Stagefright Android 2.1→Stage…