STM32 USB AUDIO教程
文章平均质量分 73
STM32 USB AUDIO教程,基于正点原子的STM32F407探索者开发板,通过CUBEMX、移植等方式实现USB音频播放speaker和USB音频录制mic等功能。
小康师兄
1、多年嵌入式软件开发经验;
2、同样擅长Android开发和微信小程序开发;
3、做过大厂的系统工程师,当过小厂的嵌入式主管,现在是个创业公司的软件经理;
4、对IoT物联网开发有自己的见解,业余时间喜欢沉淀、整理与分享输出自身的技术知识。
展开
-
STM32 USB AUDIO教程——导读
STM32 USB AUDIO教程,基于正点原子的STM32F407探索者开发板,通过CUBEMX、移植等方式实现USB音频播放speaker和USB音频录制mic等功能。资料篇,主要是X-CUBE-USB-AUDIO资料的概述和翻译基础篇,主要基础demo的细节讲解,以及对STM32CubeExpansion_USBAudioStreaming代码流程的讲解进阶篇,基于正点原子的STM32F407探索者开发板,完全实现USB音频播放和录音功能一、资料篇X-CUBE-USB-AUDIO 资.原创 2021-08-23 00:54:21 · 4146 阅读 · 6 评论 -
STM32 USB AUDIO 基础篇③——模拟MIC、ECM数字麦克风、MEMS数字麦克风、PDM、PCM的简介与差异
文章目录一、模拟麦克风、ECM数字麦克风、MEMS数字麦克风1.1 模拟麦克风1.2 ECM数字麦克风1.3 MEMS数字麦克风二、PCM和PDM信号2.1 脉冲编码调制PCM信号2.2 脉冲密度调制PDM信号2.3 PDM到PCM的转换三、PCM和PDM应用3.1 PCM典型应用3.2 PDM典型应用3.3 再多说一点一、模拟麦克风、ECM数字麦克风、MEMS数字麦克风麦克风的演变,主要是这几大要求小型化抗干扰SMT焊接抑制和消除环境噪声和通话回声等这几点要求,就导致麦克风数字化趋势越来原创 2021-08-29 23:57:01 · 11855 阅读 · 5 评论 -
STM32 USB AUDIO 基础篇②——USB的VID和PID
文章目录一、前文二、修改usbd_desc一、前文VID(Vender ID供应商识别码),由供应商向USB-IF(Implementers Forum 应用者论坛)申请,每一个供应商的VID是唯一。PID(Product ID产品识别码),,PID是由供应商自行决定。主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。可以通过这个网址查看常见的VID和PID,http://www.linux-usb.org/usb.ids二、修改usb原创 2021-08-13 19:37:12 · 4454 阅读 · 0 评论 -
STM32 USB AUDIO 基础篇①——通过STM32CubeMX生成USB Speaker音频播放Demo(史上最简单)
stm32f4xx_it.cextern PCD_HandleTypeDef hpcd_USB_OTG_FS;extern DMA_HandleTypeDef hdma_spi2_tx;/** * @brief This function handles DMA1 stream4 global interrupt. */void DMA1_Stream4_IRQHandler(void){ HAL_DMA_IRQHandler(&hdma_spi2_tx);}/**原创 2021-08-13 18:38:19 · 5511 阅读 · 4 评论 -
X-CUBE-USB-AUDIO 资料篇⑩——stm32446e_eval_audio_ex驱动的使用
一、字段的定义AUDIO_SAIx_DMAx_PERIPH_DATA_SIZE和AUDIO_SAIx_DMAx_MEM_DATA_SIZE:修改为支持24位(带填充的32位)AUDIO_OUT_IRQ_PREPRIO和AUDIO_IN_IRQ_PREPRIO:确定音频中断的优先级DEFAULT_AUDIO_IN_FREQ:在DEFAULT_AUDIO_IN_MAX_FREQ范围内动态的改变频率INTERNAL_BUFF_SIZE:固定BSP_AUDIO_IN_ClockConfig:添加了支持音原创 2021-08-15 17:55:31 · 1054 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇⑨——STM32446E-EVAL原理图
文章目录一、前文二、WM8994相关原理图一、前文原理图下载链接:STM32446E-EVAL schematics .zip二、WM8994相关原理图觉得好,就一键三连呗(点赞+收藏+关注)原创 2021-08-10 18:38:22 · 863 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇⑧——USB音频播放真实数据流程详解
X-CUBE-USB-AUDIO 资料篇⑧——USB音频播放真实数据流程详解原创 2021-08-06 22:30:17 · 1181 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇⑦——USB音频播放启动Start流程详解
X-CUBE-USB-AUDIO 资料篇⑦——USB音频播放启动Start流程详解原创 2021-08-06 17:08:33 · 1222 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇⑥——USB音频播放初始化Init流程详解
X-CUBE-USB-AUDIO 资料篇⑥——USB音频播放初始化Init流程详解原创 2021-08-06 15:27:50 · 1304 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇⑤——USB音频流扩展包软件架构
文章目录一、架构图二、会话和节点一、架构图二、会话和节点为了支持多个用例(独立录制、独立播放和同时录制和播放),扩展中使用了两个基本对象:节点:每个终端输入或输出或中间单元由一个节点表示。会话:表示流接口。会话和节点有一个标准接口函数和一个回调列表,如start、stop等。会话和节点是被动实体,这意味着它们必须由回调或任务调用才能执行某些作业。下图描述了当前示例中最常用的节点和会话。...原创 2021-08-05 17:20:22 · 924 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇④——USB音频流传输实例(音频播放+音频录制)
文章目录一、音频播放二、音频录制EP 0接收所有USB控件。一、音频播放STM32F446E-EVAL和STM32F769IDISCOVERY主机将音频流接口的备用设置设置设置为“1”后,开始传输PCM样本。对于接收到的每个数据包,USB IP将其写入FIFO内存,然后向应用程序发出中断。应用程序将数据复制到循环缓冲区。另一方面,SAI IP通过I2S向音频编解码器传输数据。SAI使用DMA传输。每次DMA完成数据包传输时,它都会引发一个传输完成中断。接收到传输完成中断后,DMA被编程为原创 2021-08-05 16:07:26 · 2378 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇③——USB音频流概述
文章目录一、USB协议概述二、USB音频功能描述对于音频播放对于音频录制三、USB描述符本章概述了USB Audio Class 1.0标准,作为开发X-CUBE-USB-Audio扩展包的参考。一、USB协议概述USB通信协议为设备和主机(如PC)之间可靠、快速的数据传输提供了规范。该协议定义了四种类型的数据传输(批量、中断、控制和同步)。USB设备类采用适合特定应用程序和系统需要的传输类型。USB规范将具有类似功能的设备分组为设备类。USB音频类使用同步传输类型在USB链路上传输音频。音原创 2021-08-05 15:28:19 · 3540 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇②——AUD_Streaming10 USB音频设备扩展应用
X-CUBE-USB-AUDIOSTM32Cube的STM32 USB设备音频流软件扩展,由ST提供请参阅X-CUBE-USB-AUDIO ST站点X-CUBE-USB-AUDIO扩展包包括STM32F446E-EVAL和STM32F769IDISCOVERY板的库和应用示例,用作USB扬声器和录音机。X-CUBE-USB-AUDIO扩展包可扩展;它允许为其他STM32设备和板开发USB音频应用程序。主要特征符合USB 2.0音频1.0级标准USB音频流播放和录制播放采样率:96 kHz(原创 2021-08-05 14:40:25 · 1710 阅读 · 0 评论 -
X-CUBE-USB-AUDIO 资料篇①——整体介绍
文章目录一、前文二、整体介绍2.1 引用2.2 缩略语2.3 STM32Cube介绍一、前文通用串行总线(USB)是一种广泛使用的通信协议。除了能够实现健壮和快速的数据传输外,它还包括各种应用领域的数据接口,例如用于数据回放和记录的音频流。本用户手册与补充STM32Cube的X-CUBE-USB-AUDIO扩展包相关™ 固件库。它描述了X-CUBE-USB-AUDIO固件以及如何使用该库进行音频播放或录制。本用户手册涵盖以下主题,以帮助使用扩展包:STM32Cube简介™USB音频类概述软件原创 2021-08-05 14:38:04 · 1988 阅读 · 0 评论