基于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
本文版权归作者和一板网电子技术论坛共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。