搜索
bottom↓
回复: 18

有关于STM32F407-USB CDC虚拟串口速度问题!

[复制链接]

出0入0汤圆

发表于 2013-4-11 01:11:11 | 显示全部楼层 |阅读模式
本帖最后由 fenjinzhe 于 2013-4-11 01:15 编辑

  之前做过了HID程序传输一个12K的文件需要6秒多钟,不知道怎么这么慢,所以改为CDC类,据说速度还可以。

参考了ST官方例程VCP移植,发送和接收都很正常,今天用BusHound软件测试了一下速度,结果很惊讶。

看图
一开始速度在300+K/sec觉得挺正常。可是后来速度不停的上涨

经过若干分钟后。。。开始不太自信了



主循环内只有一句 USB_DataTx(&Buff[0], 64);
  1. #define USBD_CFG_MAX_NUM                1
  2. #define USBD_ITF_MAX_NUM                1

  3. #define USBD_SELF_POWERED               

  4. #define USB_MAX_STR_DESC_SIZ            65535



  5. /** @defgroup USB_VCP_Class_Layer_Parameter
  6.   * @{
  7.   */
  8. #define CDC_IN_EP                       0x81  /* EP1 for data IN */
  9. #define CDC_OUT_EP                      0x01  /* EP1 for data OUT */
  10. #define CDC_CMD_EP                      0x82  /* EP2 for CDC commands */

  11. /* CDC Endpoints parameters: you can fine tune these values depending on the needed baudrates and performance. */
  12. #ifdef USE_USB_OTG_HS
  13. #define CDC_DATA_MAX_PACKET_SIZE       512  /* Endpoint IN & OUT Packet size */
  14. #define CDC_CMD_PACKET_SZE             8    /* Control Endpoint Packet size */

  15. #define CDC_IN_FRAME_INTERVAL          40   /* Number of micro-frames between IN transfers */
  16. #define APP_RX_DATA_SIZE               2048 /* Total size of IN buffer:
  17.                                                 APP_RX_DATA_SIZE*8/MAX_BAUDARATE*1000 should be > CDC_IN_FRAME_INTERVAL*8 */
  18. #else
  19. #define CDC_DATA_MAX_PACKET_SIZE       64   /* Endpoint IN & OUT Packet size */
  20. #define CDC_CMD_PACKET_SZE             8    /* Control Endpoint Packet size */

  21. #define CDC_IN_FRAME_INTERVAL          5    /* Number of frames between IN transfers */
  22. #define APP_RX_DATA_SIZE               2048 /* Total size of IN buffer:
  23.                                                 APP_RX_DATA_SIZE*8/MAX_BAUDARATE*1000 should be > CDC_IN_FRAME_INTERVAL */
  24. #endif /* USE_USB_OTG_HS */
复制代码
  1. #ifdef USB_OTG_FS_CORE
  2. #define RX_FIFO_FS_SIZE                          128
  3. #define TX0_FIFO_FS_SIZE                          64
  4. #define TX1_FIFO_FS_SIZE                         128
  5. #define TX2_FIFO_FS_SIZE                          0
  6. #define TX3_FIFO_FS_SIZE                          0
复制代码
请问我这正常吗,高手解答下呗!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-4-11 07:06:02 | 显示全部楼层
正常,CDC虚拟串口理论上可以实现USB的全部速度,就连F1上面的都可以做到1.2MB/s,更何况F4是高速的USB。

出0入0汤圆

发表于 2013-4-11 08:38:04 | 显示全部楼层
tiancaigao7 发表于 2013-4-11 07:06
正常,CDC虚拟串口理论上可以实现USB的全部速度,就连F1上面的都可以做到1.2MB/s,更何况F4是高速的USB。 ...

楼主用的是全速USB接口。
F4上的高速USB得接高速USB PHY的,接口都不一样。

出0入0汤圆

发表于 2013-4-11 08:41:19 | 显示全部楼层
HID也不至于12K的文件都要6秒吧,程序问题。我以前用51,HID模式下都可以达到每秒250KB。

出0入0汤圆

 楼主| 发表于 2013-4-11 13:29:28 | 显示全部楼层
我是用调试助手测试的,发送的数据包长度过大的话,PC端串口助手还会死机。

出0入0汤圆

发表于 2013-4-11 13:46:35 | 显示全部楼层
sblpp 发表于 2013-4-11 08:38
楼主用的是全速USB接口。
F4上的高速USB得接高速USB PHY的,接口都不一样。

楼主只是怀疑自己的速度这么快是不是正常,我告诉他按照USB的速度和CDC的原理来看是正常的。这个没有问题呀?你在质疑什么?

出0入0汤圆

发表于 2013-8-7 15:14:48 | 显示全部楼层
lz最后可以确定VCP的速度是多少吗?我也在做可是速度只能达到100+kB/s,能指导我一下吗?

出0入0汤圆

发表于 2013-8-7 19:29:34 | 显示全部楼层
楼主是用外接高速的PHY吗,不然怎么可能呢

出0入0汤圆

 楼主| 发表于 2013-8-10 14:19:22 | 显示全部楼层
没有PHY  只是单片机引脚串22R电阻接入USB

出0入0汤圆

发表于 2013-9-15 18:45:46 | 显示全部楼层
我最近在座F4的USB传输这块。感觉VCP和HID的传输速度不够快。能不能把您的CDC的例程 给我一份。最好有上位机。万分感谢。邮箱:longjun2011@126.com

出0入0汤圆

发表于 2013-11-12 09:49:22 | 显示全部楼层
ck32 发表于 2013-9-15 18:45
我最近在座F4的USB传输这块。感觉VCP和HID的传输速度不够快。能不能把您的CDC的例程 给我一份。最好有上位 ...

哥们,你收到例程了嘛?

出0入0汤圆

发表于 2014-1-7 10:53:49 | 显示全部楼层
楼主  有没有发现用bus hound监控usb速度时显示的速度好快啊  完全不符合实际

出0入0汤圆

 楼主| 发表于 2014-1-9 22:54:37 | 显示全部楼层
kuailesyj 发表于 2014-1-7 10:53
楼主  有没有发现用bus hound监控usb速度时显示的速度好快啊  完全不符合实际

是啊,至今没弄明白怎么回事!

出0入0汤圆

发表于 2014-1-10 09:51:55 | 显示全部楼层
qllaoda1 发表于 2013-4-11 08:41
HID也不至于12K的文件都要6秒吧,程序问题。我以前用51,HID模式下都可以达到每秒250KB。 ...

这牛吹的

出0入0汤圆

发表于 2014-6-11 17:40:11 | 显示全部楼层
kuailesyj 发表于 2014-1-7 10:53
楼主  有没有发现用bus hound监控usb速度时显示的速度好快啊  完全不符合实际

你的搞定了?

出0入0汤圆

发表于 2014-8-5 16:37:29 | 显示全部楼层
能把你的程序发我一份不 最近也在用F407调试USB  2505362457qq.com

出0入0汤圆

发表于 2014-8-16 19:53:26 来自手机 | 显示全部楼层
lhlonng 发表于 2014-6-11 17:40
你的搞定了?

搞定了,用labview做了上位机

出0入0汤圆

发表于 2015-9-8 10:56:57 | 显示全部楼层
kuailesyj 发表于 2014-8-16 19:53
搞定了,用labview做了上位机

labview和单片机之间的USB是咋么通信的呢,labview只能将USB做虚拟串口吧 ,速度够么。

出0入0汤圆

发表于 2019-5-3 14:38:40 | 显示全部楼层
不知道楼主解决没,依照我目前了解,你若是用全速的话达不到那么高的速度,全速最高也就到1MB/s
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 13:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表