STM32CubeMX + STM32F407ZG + USB3300 高速USB实验(虚拟串口)

使用STM32CubeMX配置HS USB。

由于STM32F407内部只有FS USB PHY(全速),若要实现HS USB则需要通过ULPI接口外接一个HS USB PHY,虽然在STM32CubeMX中配置HS USB时可以选用内置PHY,但是内置PHY只能达到FS USB(全速)的速度。

此处使用的是USB3300,因为在淘宝上只有这一款=  =。

STM32F407ZGUSB3300
USB_OTG_HS_ULPI_D0 DATA0
USB_OTG_HS_ULPI_D1DATA1
USB_OTG_HS_ULPI_D2DATA2
USB_OTG_HS_ULPI_D3DATA3
USB_OTG_HS_ULPI_D4DATA4
USB_OTG_HS_ULPI_D5DATA5
USB_OTG_HS_ULPI_D6DATA6
USB_OTG_HS_ULPI_D7DATA7
USB_OTG_HS_ULPI_STPSTP
USB_OTG_HS_ULPI_NXTNXT
USB_OTG_HS_ULPI_DIRDIR
USB_OTG_HS_ULPI_CKCLK
 RST
GNDGND
3.3V3.3V
 5V

之前买的一块USB3300调试过程中莫名其妙的就烧了,研究了一下微雪的那套板子的原理图之后,发现USB3300模块的5V是连到两个USB接口的VBus的,因为此处主要作为USB Device,所以不能再给5V供电。

配置STM32CubeMX:

都保持默认的就行,注意要改一下:

生成工程,编译,烧录,安装STM32虚拟串口驱动,一切顺利的话就可以在串口助手中看到一个虚拟串口。

而且选择的波特率无论是啥都能正常接收数据(不知道为什么)。

在main.c中添加:

需要包含usbd_cdc_if.h 以使用CDC_Transmit_HS(uint8_t* Buf, uint16_t Len);函数来设置数据起始地址和长度,随后USB中断将自动将数据拷贝到发送缓冲区,完成数据的发送。

/* USER CODE BEGIN Includes */

#include "usbd_cdc_if.h"

/* USER CODE END Includes */

  uint8_t data[1024];
  for(uint16_t i=0;i<1024;i++)
  {
    data[i]=i%10+0x30;
  }
  data[1023]='\n';
  CDC_Transmit_HS(data,1024);

 

USB-IF高速;,经认证符合通用串行总线规范修订版 2.0 接口在 8 位模式下与 ULPI 规范修订版 1.1 兼容 工业标准 UTMI+ 低引脚接口 (ULPI) 可将 54 UTMI+ 信号转换为标准的 12 引脚链路控制器接口 54.7mA 未配置电流(典型情况)— 适用于总线供电的应用 83uA 挂起电流(典型情况)— 适用于电池供电的应用 闭锁性能超过 150 mA(每 EIA/JESD 78),Class II ESD 防护水平达 ±8kV HBM(在不使用外部保护设备的情况下) 集成了各种保护措施,在每个第三方的测试设备中均可耐受 IEC61000-4-2 ESD 测试(±8kV 接触电压和 ±15kV 空气电压) 支持用于附带 LS 设备的 FS 集线器的 FS 前导码 (UTMI+ Level 3) 支持 HS SOF 和 LS keep-alive 脉冲 包括对可选的 On-The-Go (OTG) 协议的全面支持,在 On-The-Go 附录修订版 1.0a 规范中有详细说明 支持 OTG 主机协商协议 (HNP) 和会话请求协议 (SRP) 允许主机关闭 VBUS,以便在 OTG 应用中节省电池电量 通过内部比较器支持 VBUS 电平的 OTG 监视。包括对外部 VBUS 或故障监视器的支持。 低潜伏高速接收器(最高为 43 高速时钟)允许使用带 ULPI 包装器的潜伏 UTMI 链路 用于接口保护的 STP 上的集成下拉电阻,允许在使用低速链路(针对低功率情况对软件进行了配置)的情况下,可靠地启动 Link/PHY 内置的 1.8V 调节器允许在使用单个 3.3V 电源的情况下工作 对 ID、DP 和 DM 线路到 VBUS 或接地进行内部短路保护 集成的 24MHz 晶振支持水晶操作或 24MHz 外部时钟输入 用于 480MHz 高速 USB 操作的内部 PLL 工业运行温度:-40°C 到 +85°C 符合 RoHS 的 32 引脚无铅 QFN 封装(5 x 5 毫米, 高度为 0.90 毫米)
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值