打印
[STM32F0]

怎样提高速度

[复制链接]
1035|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiaxw|  楼主 | 2017-2-26 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32使用虚拟串口通过USB向PC发送数据,怎样提高速度
沙发
dengdc| | 2017-2-26 19:17 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
jiaxw|  楼主 | 2017-2-26 19:19 | 只看该作者
我最近在研究STM32 F107 的USB 虚拟串口程序。用的是官方的例程,然后自己稍微修改了一点。我的目的是通过USB向上位机PC发送数据,要求数据传输速度至少是400K字节/秒(网上有很多人回复说USB虚拟串口传输速度可以达到600K字节/秒)。但是我看例程里面,主机每隔1ms就会查询端点的中断

使用特权

评论回复
地板
jiahy| | 2017-2-26 19:20 | 只看该作者
然后呢?你是怎么应对这个的呢

使用特权

评论回复
5
jiaxw|  楼主 | 2017-2-26 19:21 | 只看该作者
我满打满算,每秒能够传输1000次,每次最多传输64KB(这是由端点缓冲区决定的)

使用特权

评论回复
6
shimx| | 2017-2-26 19:23 | 只看该作者
最大传输速度只有64KB/S

使用特权

评论回复
7
jiaxw|  楼主 | 2017-2-26 19:24 | 只看该作者
嗯,这是远远达不到我的要求的。不知道网上别人说的600KB/S的传输速度是怎么来的?

使用特权

评论回复
8
jiaxw|  楼主 | 2017-2-26 19:25 | 只看该作者
谁有弄过usb虚拟串口,目前我最大的问题就不知道能否满足我要求的传输速度,USB虚拟串口到底可不可行。

使用特权

评论回复
9
liliang9554| | 2017-2-26 19:27 | 只看该作者
我也觉得超过64KKB可能性比较小,那些声称很大的人的测试,都是哗众取宠,没见有完整源码。

使用特权

评论回复
10
午夜粪车| | 2017-2-26 19:28 | 只看该作者
印象里,1ms查询一次是HID方式,虚拟串口也是这样吗?

如果也是,是否可以把时间缩短?

期待。

使用特权

评论回复
11
zhaoxqi| | 2017-2-26 19:33 | 只看该作者
全速bulk传输时,理论上1帧最多传输19个64B的包,但是受总线调度影响,达不到这么高的负载率,640KBs的速率应该还是可以达到的

使用特权

评论回复
12
jiajs| | 2017-2-26 19:34 | 只看该作者
有的东西先要规范先看一遍,确定理论上可不可行再动手

使用特权

评论回复
13
zhenykun| | 2017-2-26 19:35 | 只看该作者
bulk方式下可以达到600k,我的产品已经使用2年了,一直稳定。如果用32f207,有时能够达到1M.但是操作系统要在系统空闲的时候才可以达到1M.很多时候操作系统不允许。不过降到600K的速度,操作系统能够保证的。

使用特权

评论回复
14
jlyuan| | 2017-2-26 19:37 | 只看该作者
主机每隔1ms就会查询端点的中断...

使用特权

评论回复
15
dengdc| | 2017-2-26 19:38 | 只看该作者
适当处理后,间隔可以降到100uS一下。

使用特权

评论回复
16
heweibig| | 2017-2-26 19:39 | 只看该作者
请问楼上,怎么处理可以提升速度?100us怎么改?

使用特权

评论回复
17
lizye| | 2017-2-26 19:40 | 只看该作者
USB2.0理论上有12M,但是会有协议消耗,一般700-800k木有问题

使用特权

评论回复
18
spark周| | 2017-2-26 19:41 | 只看该作者
采用bulk传输,每包64字节

使用特权

评论回复
19
午夜粪车| | 2017-2-26 19:48 | 只看该作者
官网的虚拟串口有一个FrameCount 的计数,去掉就能提高速度,不然if (FrameCount++ == CDC_IN_FRAME_INTERVAL)影响速度

使用特权

评论回复
20
zhanghqi| | 2017-2-26 19:50 | 只看该作者
这个帖子还有从么,可以讨论么,现在在做这个,感觉速度真的不会很快呢

使用特权

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

本版积分规则

825

主题

9762

帖子

4

粉丝