shuheng
驱动牛犊
驱动牛犊
  • 注册日期2003-03-14
  • 最后登录2003-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1237回复:3

怎样缩短连续bulk传输之间的时间

楼主#
更多 发布于:2003-03-14 17:36
我把usb总线上其它设备都拔掉,只用一个设备,该设备只有bulk in和bulk out 两种端点。在我的应用程序连续使用bulk端点传输,比如连续不停的bulk out,或bulk in,或bulk in 和bulk out 相间。但是从逻辑分析仪抓的包来看,两次bulk之间的时间至少要3ms。我检查驱动程序,里面没有要花时间的地方,甚至我把申请urb和其他内存的语句都移到start device 中去了,还是要3ms。
    请高手指教,是硬件的原因还是驱动程序的原因?如果是驱动程序的原因的话,驱动程序中有那些因素影响主机驱动程序时间片的安排。 :)

最新喜欢:

lmhhlmhhlmhhlm...
lxb_gd
驱动太牛
驱动太牛
  • 注册日期2002-01-16
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72408分
  • 威望362391点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-03-14 17:49
我的程序也是有这样的问题,用BULK传输时,速度上不去!我觉得是
FIRMWARE的问题!想1MS发多几帧,返回出错信息。WHY??????
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-18 13:14
你可以跟踪一下吗,你想呀,要完成一次bulk传输,首先要应用程序调驱动程序,驱动程序建立urb,然后调usbd,然后是usbdi,下面才是硬件、电缆、设备、固件。如果你每传一个bulk包都这么搞一遍,能快吗,想快的话要把几个包合到一起,usb支持最大64kB的数据,然后到USBD里面再分成一个一个的包传,知道这64K全部完了后才进行下一个,这样就快多了。
shuheng
驱动牛犊
驱动牛犊
  • 注册日期2003-03-14
  • 最后登录2003-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-18 14:04
“驱动程序建立urb,然后调usbd,然后是usbdi,下面才是硬件、电缆、设备、固件。如果你每传一个bulk包都这么搞一遍,能快吗”谢谢jinghuiren,你讲的太好那,如果每个包都搞一遍,有啥法子叫他跑得更快一些。用户驱动程序可不可以对主机进行设置,调整host的时间片分配。
游客

返回顶部