打印

块传输的速度测试

[复制链接]
609|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxrs|  楼主 | 2017-2-11 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
68013a利用端点1进行块传输的速度测试,OUT端点收,IN端点返回数据。下位机代码已经用Cypress的EZ-USB Iterface软件调通了,用Bus Hound抓了一下,上位机每发一个Bulck请求,上面都显示只有DO 然后就是跟着数据,没有其它的描述符请求!
沙发
ousj| | 2017-2-11 18:54 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
xxrs|  楼主 | 2017-2-11 18:57 | 只看该作者
可是当我参照cypress提供的块传输例子,自己改写了一下。Bus Hound抓到了很多请求的描述符请求,然后才是数据,并不是只有一次DO。

使用特权

评论回复
地板
xxmmi| | 2017-2-11 18:59 | 只看该作者
然后呢

使用特权

评论回复
5
xxrs|  楼主 | 2017-2-11 19:01 | 只看该作者
这是发一次请求的情况,如果循环发送软件就报错了!

使用特权

评论回复
6
chuxh| | 2017-2-11 19:06 | 只看该作者
看看你的程序吧

使用特权

评论回复
7
xxrs|  楼主 | 2017-2-11 19:08 | 只看该作者

int PACKLEN=60;
  PUCHAR buf=new UCHAR[PACKLEN];
  ZeroMemory(buf, PACKLEN);
  LONG buflen =  PACKLEN;
  memset(buf,0x5a,PACKLEN);
  USBDevice->BulkOutEndPt->XferData(buf,buflen);
//USBDevice->BulkOutEndPt->BeginDataXfer(buf,buflen,&outOvLap);这个也试过更上面效果一样。

使用特权

评论回复
8
juventus9554| | 2017-2-11 19:10 | 只看该作者

USBDevice->BulkOutEndPt->TimeOut = 200;  // 200ms timeout
一般加个延时,注意输出输入的写法,也就这样了。

使用特权

评论回复
9
llljh| | 2017-2-11 19:12 | 只看该作者

你确定固件是用端点1吗?

使用特权

评论回复
10
dingy| | 2017-2-11 19:14 | 只看该作者
嗯,端点1一般很少有人用。端点0用来做命令解释,收发数据用2468,端点1闲置。

使用特权

评论回复
11
renyaq| | 2017-2-11 19:17 | 只看该作者
抓包那软件意思不大,会造成系统的不稳定。

使用特权

评论回复
12
xxrs|  楼主 | 2017-2-11 19:19 | 只看该作者
还是端点1块传输,不过偶发现一个有意思的现象和传输速度有关,刚开始的时候我设置一次传64字节,后来依次设置一次传512字节,1024,2048字节(自发自收,传过去多少字节就返回多少,然后比较一是否一致,所以一个来回就是双倍的字节)。

使用特权

评论回复
13
xxrs|  楼主 | 2017-2-11 19:21 | 只看该作者

随着一次传的字节的增加速度也会很可观的增长起码有1点几兆字节每分钟。而且CPU使用率也随着减少!

使用特权

评论回复
14
supernan| | 2017-2-11 19:23 | 只看该作者
上面现象很有意思,这样做是不是真可以提高传输速度啊?

使用特权

评论回复
15
xxrs|  楼主 | 2017-2-11 19:24 | 只看该作者
我选择一次传2048字节,我这里测得的速度是17.1MByter/分钟这个速度是不是已经很快了?

使用特权

评论回复
16
houcs| | 2017-2-11 19:27 | 只看该作者
17.1MByter/分钟,相当于2.3Mbit/s,USB2.0480Mbit/s,2.3/480,占用带宽的0.5%,你说是不是很快。。

使用特权

评论回复
17
xxrs|  楼主 | 2017-2-11 19:29 | 只看该作者
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

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

本版积分规则

405

主题

7415

帖子

1

粉丝