基于STM32L476开发板的USB音频设备
现代音频设备中有很多知识产权。 我想研究创建一个与手机交互的算法设备(运行non-trivial算法的嵌入式设备)。 我发现创建一个Lightning设备比创建一个连接到Android手机的的USB设备要复杂的多,所以本文将采用USB设备的方式。
像ST这样的大型微控制器厂商都有带USB功能的产品线,并且提供一些例子和库来降低学习USB的难度。 自加入Jawbone以来,我一直在学习STM32微控制器,所以我会坚持使用STM32产品的ARM Cortex M4线。 我相信所有新的算法项目应该从一个具有浮点能力的平台开始。我特别喜欢STM32L4,因为它还是一个低功耗的微控制器。 我下载了L4产品线的STM32Cube FW示例和SDK,并且找到了一些STM32L476G评估板的USB设备应用程序FW示例 - 如HID_Standalone项目。
我已经有一个NUCLEO-L476RG开发板,控制器采用STM32L476RG,支持USB FS(全速:12 Mbps)。 我将要把这个开发板变成一个USB立体声输入和输出音频设备。 USB FS带宽限制将采样率限制为48 kHz(作为比较,CD采样率为44.1 kHz,高质量音频采样率为96 kHz或192 kHz)。 USB FS带宽远远大于低功率无线射频带宽(例如,对于BLE为〜1Mbps,对于NFMI为596Kbps)。
如何将NUCLEO-L476开发板变成USB设备
和昂贵的STM32L476G-EVAL评估板不同的是,NUCLEO开发板没有USB插座,以及分布在STM32L476G-EVAL板的DP / DM线上的漂亮的EMI / ESD滤波器。 不过至少所有的USB功能都被引出了,如下图所示。
● D +和D-位于PA12和PA11。
● 在设备模式下,VBUS(PA9)可以连接到Vbus(5V)以检测Vbus(和片上电压比较器一起)或者连接到电池充电检测器。 这对于使用USB充电的电池供电的设备可能是有用的,但是我只是尝试制作一个完全由手机USB供电的USB设备。 当收发器处于活动状态时,PA9将被置为无效,因此可能能够驱动USB活动的某些指示。
● 微控制器可以在帧的开始处拉低SOF引脚(PA8) - 用于与外部芯片同步(在高性能应用中,如音频)。
● U5V引脚是5V USB总线电压,当它连接到USB主机时为整个开发板提供电源,如在STM32L476G-eval板的原理图中所示,显示了USB总线VCC直接连接到U5V引脚。
原文链接:https://www.yiboard.com/thread-654-1-1.html
基于STM32L476开发板的USB音频设备的更多相关文章
- 荣品四核4412开发板的USB摄像头问题
RP4412开发板是荣品电子研发的一款三星四核Exynos4412评估板开发板,支持WIFI+LAN上网.蓝牙4.0.4G上网.500万自动对焦摄像头.GPS.网卡.音频,1080P HDMI音视频同 ...
- 基于uFUN开发板和扩展板的联网校准时钟
项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种 ...
- 基于uFUN开发板的RGB调色板
前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt ...
- 基于uFUN开发板的心率计(三)Qt上位机的实现
前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ...
- 基于uFUN开发板的心率计(二)动态阈值算法获取心率值
前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章 ...
- 基于 Arduino 开发板,这款插座是可编程且开源的
基于 Arduino 开发板,这款插座是可编程且开源的 https://www.oschina.net/news/74861/open-source-socket https://github.com ...
- 【RTOS】基于V7开发板的uCOS-III,uCOS-II,RTX4,RTX5,FreeRTOS原版和带CMSIS-RTOS V2封装层版全部集齐
RTOS模板制作好后,后面堆各种中间件就方便了. 1.基于V7开发板的最新版uCOS-II V2.92.16程序模板,含MDK和IAR,支持uC/Probe https://www.cnblogs.c ...
- 基于Neptune开发板的键盘蓝牙模块DIY指南
目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...
- 小白自制Linux开发板 七. USB驱动配置
本文章基于https://whycan.com/t_3087.htmlhttps://whycan.com/t_6021.html整理 F1c100s芯片支持USB的OTG模式,也就是可以通过更改Us ...
随机推荐
- intel 蓝牙驱动安装时报错
BT_20.120.2_64_Win7.exe 安装时报错. 把系统补丁打全,就可以安装 了.
- WDL学习笔记
WDL是什么? WDL是由Broad Institute开发的一种流程开发语言,全称workflow description language,官方链接如下:https://software.broa ...
- Python类和实例调用
self指向的是实例对象,作为第一个参数,使用时不需要传入此参数. class Student(object): #定义一个Student类, def __init__(self, name, sco ...
- google test 打印派生类对象
在Unison中使用google test时,发现EXPECT_EQ在fail时,不能打印Unison Test Language中定义的派生类的对象.于是写了个纯C++的示例,发现在只定义基类的op ...
- VNC的使用
1. 安装 rpm -ivh tigervnc-server--.el6.x86_64.rpm 如果rpm安装时发现有依赖,建议直接使用yum安装,轻松解决依赖问题: yum install tige ...
- SPA项目首页导航+左侧菜单
Mock.js是个啥 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点 Mock.js是一个模拟数据的生成器,用来帮助前端调试开发.进行前后端的 ...
- Linux入职基础-1.2_U盘安装RedHat5具体步骤
从U盘安装RedHat5具体步骤 从U盘安装RedHat Linux的具体步骤: 准备工作: RHEL_5.6_i386_DVD.ISO文件 具体步骤: 1.解压并用ultraiso软件打开rhel- ...
- Action请求后台出现Response already commited异常解决方法
在编写导出功能使用action请求,在处理导出异常时期望跳转异常页,Controller中的方法返回类型String的url 在处理完逻辑导出文件后后台控制台出现 WARN [org.springf ...
- 基于re模块的计算器
最终计算器需求: 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - ...
- 数据结构与算法(周测3-Huffman树)
判断题 1.Given a Huffman tree for N (≥2) characters, all with different weights. The weight of any non- ...