rechardzy
驱动牛犊
驱动牛犊
  • 注册日期2003-03-11
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2838回复:20

如何提高的d12 bulk传输速度

楼主#
更多 发布于:2003-06-03 18:07
  我用driverworks写的bulk的驱动程序,基本上按照网站上的教程作的。收发数据都很正常,但是速度只有35kbyte/sec。由于我用的是dsp+d12,因此固件的速度应该不是问题。看了很多关于bulk传输速度的帖子,估计要将驱动程序中BUFFER加大,由于是driverworks直接生成的驱动,因此不知道如何修改。不知道那位大虾能给我一些建议,是用ntddk重写驱动,还是可以直接改driverworks生成的驱动,如果你已经作完了,不知道可以把源代码发给我,万分感谢。
   据说使用d12的DOUBLE BUFFER也能提高速度,但bulk传输支持DOUBLE BUFFER吗,不解?

最新喜欢:

abei11abei11
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-06 08:35
要是指内部的话,理想下我都有700k,我现在的速度是读取外部flash(还是用io口通讯的,晕倒)。
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-05 19:29
可是读外部RAM只有70K左右!郁闷!
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-05 19:26
我可以达到200K左右了!
jchen_2000
驱动牛犊
驱动牛犊
  • 注册日期2003-07-30
  • 最后登录2009-10-29
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-30 21:41
能给我发c54x汇编的代码吗?我用的也是c54x,高分相送。请帮帮忙,我现在很痛苦。
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-30 08:46
还是老问题,80k是发送什么数据?如果是从rom读取得,是不是在那有延迟?还有个问题,最近发现枚举开始发送的子协议、设备类型有不同,在数据发送过程中有些特别指令要求你处理。而且在98\\xp夏也略有不同!没有处理的话,比较影响你的速度。
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-29 19:05
我是那么做的,可是就是不行啊,我用C51库文件,只能达到80K多一点!
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-28 08:52
对,用bushound。
实际没有256k,扣去别的花费,175k左右。我跟你说过的阿,反复检查状态,循环发送。
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-27 18:12
用bushound可以看到你发送的数据
4qiuxh
驱动小牛
驱动小牛
  • 注册日期2002-11-27
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-25 15:12
是的,这个怎么实现阿?我得也只有36KBytes/s,D12+ds80c320,应该不只这个速度的,我想问一问,你们怎么知道下位机是2ms发送512Bytes的?请指教了!
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-20 10:54
我的是2ms发512bytes


也就是256K BYTE/S?你实现了1ms 帧放多个数据包的功能了?可不可以讲具体点,你是怎么做的,能否给点提示?俺将高分酬谢!

clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-07-19 09:58
我的是2ms发512bytes
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-07-18 20:25
BULK方式中,1ms的帧可以有16个数据包啊,2ms可以发送16*64=1K字节,可以达到500K啊,只是1ms的帧怎么送16个数据包呢?
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-06-11 10:40
  想问一下,要提高bulk的速度,是不是只能从固件方面入手?我现在速度也大概能到30多kbytes了,是因为固件方2ms发送一帧的原因,固件发得快我就丢帧了,楼主是不是我这种情况?
Tomorrow Never Die
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-06-11 10:28
我用的是89C58+D12,编程用的是KEIL C,我这儿有个使用Double buffer的例子,不过看不大懂! :(
rechardzy
驱动牛犊
驱动牛犊
  • 注册日期2003-03-11
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-06-10 21:33
to:一天到晚游泳的鱼
   我的代码是C45X的汇编,对你可能帮助不大,你用的是什么芯片?
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-06-05 19:00
 我用driverworks写的bulk的驱动程序,基本上按照网站上的教程作的。收发数据都很正常,但是速度只有35kbyte/sec。由于我用的是dsp+d12,因此固件的速度应该不是问题。看了很多关于bulk传输速度的帖子,估计要将驱动程序中BUFFER加大,由于是driverworks直接生成的驱动,因此不知道如何修改。不知道那位大虾能给我一些建议,是用ntddk重写驱动,还是可以直接改driverworks生成的驱动,如果你已经作完了,不知道可以把源代码发给我,万分感谢。
   据说使用d12的DOUBLE BUFFER也能提高速度,但bulk传输支持DOUBLE BUFFER吗,不解?


能不能交换参考一下,我把驱动程序代码给你,把你的固件代码给我看看,我速度卡在了固件上,我固件用中断方式,8ms才产生一个中断!
phenixfish
驱动牛犊
驱动牛犊
  • 注册日期2003-01-15
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望51点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-06-04 16:15
应该不会,你检查一下你的时序,DSP加D12速度肯定不至于这么低,你用CCS监测一下USB打包的时间和BULK中断的速率。
Always!978
驱动小牛
驱动小牛
  • 注册日期2002-05-09
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-06-04 16:09
  请问你用的是驱动程序中启动线程循环的submiturb的方法么?
Tomorrow Never Die
rechardzy
驱动牛犊
驱动牛犊
  • 注册日期2003-03-11
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-06-04 09:37
是byte,最高速度应该是300多,程序是driverworks直接生成的,
没有改,你自己生成就可以了。因为用的是DSP,所以速度可能快一些
上一页
游客

返回顶部