tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4301回复:20

usb驱动开发:是不是BulkUsb这个例子就够用?

楼主#
更多 发布于:2001-07-03 17:52
DDK中有一个BULKUSB的例子.
好像可以直接拿来就用?
对这个源码,能做优化么?(在哪些方面...)
谢谢回贴.
LitteSW
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2010-08-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-07-03 18:12
BULKUSB是一个BULK传输的例子,没特殊的需求的话,应该够用。
要优化也无非是用UsbBuildInterruptOrBulkTransferRequest()替换烦琐的赋值。
穿梭于都市高楼之间,总是孜孜不倦地追寻着自由,蓦然回首,去发现已陷入深深的枷锁之中
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-07-03 19:53
谢谢!再多嘴问句...bulkusb的传输速度有点不理想.有可能提高么?
xyj
xyj
驱动牛犊
驱动牛犊
  • 注册日期2001-06-29
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-07-04 08:10
请问你使用的BulkUsb慢到什么程度?
如果是60k-64k(字节/秒),应该是正常的。
云剑
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-07-04 18:15
哇??这么低阿...我现在是150k/s

提速~强烈要求提速...(不过不知道到底要怎么提速..:( )
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-07-04 19:47
BulkUsb只能执行同步传输,如果你想使用异步传输,必须进行改造。
我的ndis/usb driver速度是2.0mbit/s(packet size 32bytes). 如果最大传输包尺寸改为64字节,速度应该更快。
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-07-04 20:15
多谢hjj @@
ferric
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-07-05 14:19
非也,我做了个文件传输的测试,用bulk方式,8MB的文件21S可以传完.
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-07-05 15:00
hjj:
ddk help里关于bulkusb有这么一句话..
Bulkusb.sys is a USB bulk I/O sample minidriver
that transfers asynchronous data packets to and
               ~~~~~~~~~~~~~~~~~~~~~~~~~
from an Intel i82930 USB peripheral microcontroller over USB

--------------------
看起来好像是采用了异步的方式阿?
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-07-05 15:01
ferric :
您是直接用bulkusb的驱动还是自己写的驱动?
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-07-06 10:51
BulkUsb 使用同步方式分析如下:
bulkusb使用变量PendingIoIrps标记当前IRP,在读写派发例程中记录上层传下来的IRP,在完成例程中被置空,且在BulkUsb_StageReadWrite中有语句 BULKUSB_ASSERT(!deviceExtension->PendingIoIrps); 如果我们在应用层对BulkUsb使用异步读写,在前一个IRP未完成时进入BulkUsb_StageReadWrite,此时deviceExtension->PendingIoIrps不为空,则会出现断言失败,这会导致系统CRASH.
我作过试验,确实会导致死机。
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-07-06 10:59
usb bulk 传输速度受很多因素的影响,比如最大传输包的大小,主机控制器的调度方式,USB上是否有其他设备,设备采用DMA还是其他方式读写数据等。
USB SPECEFICATONS 1.1 说如最大传输包为32字节 速度为 33 * 32 * 8 * 1000 BITS/S, 如最大传输包为64字节 速度为 19 * 64 * 8 * 1000 BITS/S. 这是理论速度。
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-07-06 11:35
hjj  
您的意思是:

1)bulkUsb增加对异步的支持
2)应用程序采用异步读写

可以大大提高原有的传输速度?
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-07-06 12:01
对,速度肯定可以提高,能提高多少,我就不太清楚了。
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2001-07-06 12:06
谢谢hjj.至于提高多少.想必已有您的先例为证:>
ferric
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-07-06 15:42
借来用的,呵呵,当然花费的时间跟firmware的响应有关,如果收到数据后要进行很罗嗦的处理,时间就长一些,我只是简单地送往某个PORT。
tiyi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-15
  • 最后登录2002-03-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2001-07-06 22:17
那,大家可否把自己做到的,
最高速率贴上来,让大家大开眼戒?:>
dspboy
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2001-12-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2001-07-07 16:08
我的驱动程序就是大致在原有bulkusb的基础上改的,如果在应用程序读写USB设备时拔掉USB连线就会使系统崩溃,是不是和前面所说同步异步工作方式有关啊?多谢。
走进城市的狼,乐观执着的狼。
hjj
hjj
驱动牛犊
驱动牛犊
  • 注册日期2001-04-05
  • 最后登录2002-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2001-07-10 11:59
与异步没有关系。你应检查是否有其他错误。

我的设备现在的速率是3.2Mbits/s.
dahello
驱动中牛
驱动中牛
  • 注册日期2001-06-16
  • 最后登录2004-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2001-07-10 20:03
问一个菜的问题,速度是不是和下层的驱动有关?
不懂就问 :D
上一页
游客

返回顶部