打印
[STM32U5]

【NUCLEO-U5A5ZJ-Q测评】高速USB

[复制链接]
1582|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OldestTrick|  楼主 | 2023-11-20 09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、STM32U5 Series系列有几个型号内部嵌入了 USB OTG 高速设备/主机/OTG 外设,并集成了收发器,.这些型号包括STM32U59x/5Ax/5Fx/5Gx。USB-IF 已通过通用串行总线规范 USB 2.0 认证。如果要使用高速USB,必须确保内部的USB PHY PLL产生精确的60MHz时钟。
内部嵌入高速USB PHY可以省掉了使用外部高速USB外设带来的麻烦,这样对有高速数据传输需求的项目带来更多的便利。

2、Nucleo-U5A5ZJ-Q 开发板的USB接口直接使用type-C,硬件连接如下:



数据通信接口对应的STM32U5A5上的PA11,PA12




USB协议栈使用USBX。threadx初始化之后添加了2个和usb传输有关系的任务
 /* Create the usbx cdc acm read thread */
  if (tx_thread_create(&ux_cdc_read_thread, "cdc_acm_read_usbx_app_thread_entry",
                       usbx_cdc_acm_read_thread_entry, 1, pointer,
                       1024, 20, 20, TX_NO_TIME_SLICE,
                       TX_AUTO_START) != TX_SUCCESS)
  {
    return TX_THREAD_ERROR;
  }
  /* Create the usbx_cdc_acm_write_thread_entry thread */
  if (tx_thread_create(&ux_cdc_write_thread, "cdc_acm_write_usbx_app_thread_entry",
                       usbx_cdc_acm_write_thread_entry, 1, pointer,
                       1024, 20, 20, TX_NO_TIME_SLICE,
                       TX_AUTO_START) != TX_SUCCESS)
  {
    return TX_THREAD_ERROR;
  }
枚举信息:
高速USB

端点最大传输512字节

枚举出来的虚拟串口


测试的目标是使用STM32U5A5的虚拟串口和STLINK的虚拟串口相互通信

修改一下发送程序,让STM32U5A5一直发生数据,一次发送100个字节。10ms发送一次
while(1)
    {
            ux_device_class_cdc_acm_write(cdc_acm, (UCHAR *)(buff),100, &actual_length);

        tx_thread_sleep(MS_TO_TICK(5));
    }
可以看到数据发送比较稳定,测试发现我的电脑串口来不及接收更快的数据和更大的数据包。如果想要测试高速串口的速度可以加大数据包和缩短发送数据间隔






使用特权

评论回复
沙发
单片小菜| | 2023-12-11 18:44 | 只看该作者
这个传输音频文件完全没有任何的障碍。

使用特权

评论回复
板凳
kjkujkj22| | 2023-12-11 19:09 | 只看该作者
这个要是可以直接挂载移动硬盘就完美了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

44

帖子

3

粉丝