打印

嵌入式USB开发提高传输速度的方法

[复制链接]
2295|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 arthur0561 于 2009-10-28 17:49 编辑

今年3月份搞了一阵USB后,相隔7个月又有这方面的事情做。于是接着开发USB,这次依然是试验开发,离产品化还有相当大的距离,主要驱动这方面很麻烦,听老前辈们说驱动很难搞。这次USB开发一个重要的用途是传输图片数据,70K左右,按照之前写的程序,速度只能到33k byte/s,远远达不到要求,经多方求助及亲身试验,找到一个能到达300k以上的做法。整个上位机,驱动,设备的程序实现我都在之前的帖子中写到了。
我的设备packagesize (包最大长度)为64字节。于是我在用driverstdio3.2生成驱动时进行endpoint设置时设置了最大传输尺寸为64.恰恰是这个限制了速度。





其实是没关系的,我们只要在他最后生成的驱动程序工程文件找到如下两句

m_Endpoint1IN.Initialize(m_Lower, 0x81, 64);


m_Endpoint3OUT.Initialize(m_Lower, 0x3, 64);

将其改成512,然后编译重新安装驱动,注意要把原始的驱动文件彻底删除后重新安装,他们在C:\WINDOWS\infC:\WINDOWS\system32\drivers下,找到相应的文件删除即可。
   驱动安装好后还要在应用程序中改一个地方,那就是我们读写函数,
ReadFile(hRead,(UCHAR *)(radomp),512,&nRead,NULL);
好了,你的速度可以上一个档次了。

图像 (2).JPG (35.26 KB )

图像 (2).JPG

相关帖子

沙发
钻研的鱼| | 2009-10-28 17:57 | 只看该作者
对usb感兴趣。准备用cy68013的片子,但是驱动准备用ddk开发。driverstudio软件现在也不升级了

使用特权

评论回复
板凳
duojinian| | 2009-10-29 15:19 | 只看该作者
谢谢分享

使用特权

评论回复
地板
zhudataie| | 2009-10-31 09:44 | 只看该作者
就这麽麻烦 !!  来看看这个USB20D怎么样http://dataiwm.b2b.hc360.com/supply/61832759.html

使用特权

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

本版积分规则

25

主题

84

帖子

9

粉丝