查看: 9159|回复: 4

[其他] 请问USB虚拟串口传输速率最高能到多少呢?

[复制链接]

该用户从未签到

63

主题

263

帖子

0

高级会员

Rank: 4

积分
921
最后登录
2021-2-23
发表于 2016-8-26 00:22:09 | 显示全部楼层 |阅读模式
请问USB虚拟串口传输速率最高能到多少呢?目前项目用的是K22,协议栈是飞思卡尔USB5.0里的CDC虚拟串口例程,项目是想使用USB实现boot升级功能,目前已经全部调试完毕了,功能都正常。但是因为是虚拟串口,我这边用上位机最高也就115200,是不是其实可以将波特率设的更高呢?或者还有什么其他的方法来提升传输速率呢?USB应该可以传得很快吧?目前这样和我们以前用串口速度差不多。。。。

麻烦帮忙给些建议,谢谢!
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

719

主题

6378

帖子

0

超级版主

Rank: 8Rank: 8

积分
25374
最后登录
2025-9-2
发表于 2016-8-26 10:03:08 | 显示全部楼层
楼主你好!
从其他地方看到一些对这个问题比较合理的说法,在此罗列出来:
1:
虚拟串口里面,不存在波特率的概念,虚拟串口中的波特率只有在用于USB转串口的时候才会用到,设置了虚拟串口的波特率之后,在打开虚拟串口的时候,USB包里面会有一个控制命令,告知电脑设置的波特率是多少,如果你是要做usb转串口的应用,则在这个时候,初始化你的串口比较合适,如果你不是转串口,那么可以直接无视。
另外,WINDOWS平台下的IO读写速度,取决于设备本身的读取速度(即和USB硬件和驱动有关),排除使用了很挫的驱动和硬件的情况下,虚拟串口的速度理论上为USB的速度。
但是,实际使用过程中,IO读写的效率也有很大关系。
i = 100;
while(i--)
{
writefile(file, buf, 1);
}

writefile(file, buf, 100);
这两个在实际使用中的速度,就会差别很大。因此,如果想要获得较大的传输速度,一次性写入IO的内容需要大一些,否则效率低下,速度上不去
楼主可以实测一下,不管是直接写程序还是用串口调试助手,一次性写入不同长度的数据,将会很影响速度。

2.
MCU向PC发送的是USB协议的数据包,跟串口没有一毛钱的关系。。。
PC端的USB接口收到USB协议的数据包后,由驱动程序来解包并放入操作系统的串口缓冲区里,这样,串口助手类的工具就能够从缓冲区里读到数据,串口助手就认为是有 uart数据到来了。
我刚才说的,是指PC的uart受到串口助手的波特率限制时如何摆脱这个限制,跟usb没关系。

3.
你可以自己动手测试一下,别人也都是自己测试出来的。
只能说跟波特率依然没有关系,瓶颈在1.windows驱动的好坏 2.MCU对usb处理能力 3.你所用的传输线质量 4.stm32拿到数据后是否要做耗时的工作 5.pc主板所用usb芯片的质量 6.软件组织是否合理 等

4.
前些时间研究过USB的HID类和CDC类,结论是USB1.1虚拟串口的速度很快,PC端用起来很简单甚至不需要专门的驱动(用系统默认驱动),就可以简单的达到600~800K字节/S 差不多相当于串口5~7M波特率,而且稳定可靠(几乎没有误码),当然这一切是在你两边程序充分发挥USB批量传输的优势的基础上,不然也就10~50K字节/S

希望上面一些网友的回复能够对你有帮助。
上位机的波特率不应该是固定的,应该是可以调节的,具体你要去看你的上位机情况了。



回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-11-15 10:33
  • 签到天数: 79 天

    连续签到: 1 天

    [LV.6]常住居民II

    89

    主题

    2169

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    1779
    最后登录
    2020-8-22
    发表于 2016-8-26 17:27:48 | 显示全部楼层
    波特率应该可以随便设置的
    签到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3304
    最后登录
    2023-6-23
    发表于 2016-8-26 17:54:28 | 显示全部楼层
    本帖最后由 香水橙 于 2016-8-26 17:55 编辑

    一般1M无压力
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    63

    主题

    263

    帖子

    0

    高级会员

    Rank: 4

    积分
    921
    最后登录
    2021-2-23
     楼主| 发表于 2016-8-28 12:26:43 | 显示全部楼层
    小恩GG 发表于 2016-8-26 10:03
    楼主你好!
    从其他地方看到一些对这个问题比较合理的说法,在此罗列出来:
    1:

    谢谢您的回复!!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-3 03:17 , Processed in 0.093858 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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