基于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 ...
随机推荐
- 【原生JS插件】LoadingBar页面顶部加载进度条
先展示一下已经实现的效果: 预览地址:http://dtdxrk.github.io/js-plug/LoadingBar/index.html 看到手机上的浏览器内置了页面的加载进度条,想用在pc上 ...
- docker安装fastdfs碰到storage的IP地址映射宿主地址问题
一.概述 最近公司准备全面实施docker部署,解决每次项目实施安装部署环境工作量大问题,mysql5.7.oracle12c很顺利,在安装fastdfs时碰到storage的IP地址映射问题.服务器 ...
- 08点睛Spring MVC4.1-Spring MVC的配置(含自定义HttpMessageConverter)
8.1 配置 Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的; 前几个教程已做了得配置包括 01点睛Spring MVC 4.1-搭建环境 配置 ...
- C++ 理解函数对象与lambda表达式
参考<21天学通C++>第21与第22章节,对函数对象进行介绍,同时通过lambda表达式这一匿名函数对象的简洁方式加深对函数对象的理解.本篇博文的主要内容是: (1) 函数对象的概念: ...
- Ehcache配置文件ehcache.xml
<?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http:// ...
- Mac上Docker的安装
安装 安装包安装 由于历史原因, 本人使用的是安装安装的方式, 这也是很多Windows用户的习惯. 下载地址: https://download.docker.com/mac/stable/Dock ...
- Nginx负载均衡总结2
如果要支持健康检查需要开启health_check(好吧,这个是nginx plus版本才有的功能,plus是付费版) 还有一点,Windows的nginx不支持udp等协议,所以有一些测试还必须用l ...
- crontab每小时运行一次
先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法: 00 * * * * #每隔一小时执行一次 00 */1 * * * #与上面 ...
- [ES] - 图形化界面工具
推荐更新: Windows平台为 ElasticSearch 6.x 安装 Head 客户端插件 elasticsearch-head A web front end for an Elasticse ...
- 《一头扎进》系列之Python+Selenium框架设计篇5 - 价值好几K的框架,哎呦!这个框架还真有点料啊!!!
1. 简介 其实,到前面这一篇文章,简单的Python+Selenium自动化测试框架就已经算实现了.接下来的主要是介绍,unittest管理脚本,如何如何加载执行脚本,再就是采用第三方插件,实现输出 ...