阅读:2277回复:12
如何开启一个endpoint做等时传输?
小弟正在做一个关于数码相机的驱动,相机上除了标准端口0
以外还有一个端口1,是IN的,只接受数据,做等时传输,端口 地址0x81. 我现在的问题是,应该在什么地方以及如何打开这个pipe1 并且让它做等时传输? 我是用DDK写的,不过我看了一下DS中相关的例子,觉得里面 对Interface和pipe的初始化,数据的发送什么的很清楚, 比如pipe.reset(), pipe.submit()等等,相比之下DDK中 好象结构就没这么清晰. 小弟做驱动时间不长,对驱动中如何初始化,选择interface, pipe以及如何打开这个pipe做数据读写概念比较模糊,在加上 老板现在催得急,请各位一定指点指点,帮小弟一把.如果有 帮助,一定给分! |
|
沙发#
发布于:2002-04-11 19:10
|
|
板凳#
发布于:2002-04-11 19:11
没有人回答吗?急呀,帮帮忙
|
|
地板#
发布于:2002-04-12 18:27
关注!
|
|
地下室#
发布于:2002-04-13 14:50
你的情况是比较老的,功能单一的数码相机的配置,它们一般只有一个ISO IN端口(Default除外),通过Alternative Interface 配置选择带宽的设置。而且在接上设备时其缺省配置一般是0带宽(ISO包大小为0)。
你的问题应该如此处理: 1、配置设备时会得到设备的Interface配置,包括Alternative Interface; 2、在要进行ISO传输前,要通过选择不同的Alternative Interface获得不同的带宽。 3、发送同步传输的URB。 |
|
|
5楼#
发布于:2002-04-13 15:56
谢谢tigerzd!不过你能不能讲讲如何把一个PIPE打开(这里
应该是pipe0吧),然后让它做等时传输? 在DS中有类似pipe->IsocTransfer的函数(具体形式记不清了), 一看就知道是干什么的,在DDK中是在什么地方?在什么函数 里面? 还有一个问题,我现在参考的是DDK中的isousb例程,这里面 的irp,usb的传送、同步等机制及其相关函数是不是不用改 直接就可以拿来用了? 最后一个问题,如何给分? :) |
|
6楼#
发布于:2002-04-13 16:37
其实用到的函数比较多,你可以参看DDK\\SRC\\USB\\ISOUSB的例子,你的问题在其中有比较完整的解决方法,只需加上选择替换配置的代码(如果有的话)。我估计你只需修改其INF文件的VID和PID就可以完成你的设备的配置。
在你的发起贴子(第一贴)有加分的选项。 |
|
|
7楼#
发布于:2002-04-13 16:56
我看的就是 DDK\\SRC\\USB\\ISOUSB 呀,就是有地方不明白才
来问的。 我不明白的地方就是,在这个例子里是什么地方选择pipe,打开 它,并且做等时传输的。还有,这个例子里面的irp、usb处理、 发送、循环、同步是不是直接就可以拿来用了?如果需要修改, 应该改什么地方? |
|
8楼#
发布于:2002-04-13 17:07
你的设备配置完成了吗?
|
|
|
9楼#
发布于:2002-04-13 19:15
完成了,而且可以从中得到不少参数,比如bcdDevice等等,
|
|
10楼#
发布于:2002-04-13 21:38
一般的USB数码相机的驱动都会包含两个部分,一个是摄像的video capture部分,另一个是获取相片的Bulk USB部分。
看了你的帖子,觉得你应当是在做Video Capture部分,有关USB的Video Captur是归类于kernel streaming,你应当看的DDK source code是videocap下的usbintel部分。 http://devicedriver.126.com |
|
|
11楼#
发布于:2002-04-14 14:13
wolflee,你说得很对,我现在就是在做摄像的 Vedio Capture
部分,而且的确发现应该在usbintel和usbcamd的基础上写 程序。但是开始没有人指点,走了弯路,一直在isousb中下工夫。 现在的问题在于,我对usbintel和usbcamd也不熟,而且现在时间 紧迫,不知道再从isousb中改过来还来不来得及。:( 你有没有这方面的经验?小弟有些地方想请教请教! |
|
12楼#
发布于:2002-04-14 16:55
来不来得及你也要用Video capture来实现,没有其他得路可走。
我只能给你大致的一个方向,具体的东西还得靠你自己来做,usbintel和usbcamd的source code不太好看,你可以用你的device一边试一边修改,softice这时会派上用场,它有助于你了解整个的流程。 |
|
|