阅读:7199回复:24
USB Camera\'s(7C68013)视频流疑惑
本人现参与USB Camera项目,driver参照Win2K UsbIntel例程修改,因对视频流整个过程不太了解,特别是firmware和driver之间的通讯,故心中疑惑万千,先提几个问题:
1、若设备采用CY 7C68013,能否通过修改UsbIntel例程实现USB Camera设备驱动? 2、是否firmware需要配置才能与基于USBCAMD例程的mini driver正常通讯?(例如视频流接口和视频控制描述符配置等)如果需要,该怎样配置? 3、Driver里实现一帧视频数据的起始/结束判断一般采用什么方式?firmware和Driver需要做哪些工作? |
|
沙发#
发布于:2004-05-25 11:50
自己顶先,欢迎讨论,最好能解决思路上的问题,呵呵!
|
|
板凳#
发布于:2004-05-28 14:52
是不是问题太简单,高手们都不屑于回答!
只好自己尝试解答: 1、DDK中USBIntel例程基本实现usb camera device driver的功能,适用于两款intel芯片的设备。如果开发自己的usb camera driver,可以在此例程的基础上修改,根据需要定制driver和firmware即可。 2、作为usbcamd的客户minidriver,firmware必须满足USB Device Class Definition for video devices spec,在firmware中实现视频功能和视频速度控制,使用相关描述符和响应EP0控制命令来实现。 3、在driver中读取标志帧或特殊帧,判断一帧起始。firmware需在一帧结束时生成结束标志。 项目进行中,具体实现还没完成。 还请做过相关应用的大虾指点迷津 |
|
地板#
发布于:2004-05-28 16:19
你的第三个问题我也疑惑
还有一个问题 读取视频信号时 usb芯片用哪种工作方式? bulk transfer 还是 isochronous transfer |
|
地下室#
发布于:2004-05-28 16:25
isochronous transfer
由于传输的是未压缩数据,而且数据量比较大。 |
|
5楼#
发布于:2004-05-28 20:18
我曾经试着改写UsbIntel, 但是发现用改过来的驱动程序枚举不成功,根本就还没有运行到自己的minidrivrer里面,不知道UsbIntel的硬件有什么特殊的地方,反正我的硬件用其他驱动程序是可以正常枚举的。
我正改用流驱动程序实现,不知道有没有人正在做这方面的驱动,可以互相探讨一下。 |
|
6楼#
发布于:2004-05-28 21:59
我的QQ是149715860,可以一起讨论!
|
|
7楼#
发布于:2004-05-29 13:05
关注中!我想了解的更多!
帮你顶! |
|
|
8楼#
发布于:2004-06-05 17:54
我也正在做CAMERA,我也顶.................
|
|
9楼#
发布于:2004-06-09 12:33
做usb camera时,firmware里主要要实现那些接口函数和控制功能,驱动程序如何和firmware通信,谢谢!!!!欢迎大家参与讨论
[编辑 - 6/9/04 by duanjong] |
|
10楼#
发布于:2004-06-10 15:27
大家好:
我对USB CAMERA firmware编程不是很了解,存在很多疑惑,望能得到大家的帮忙,小弟多谢了!!! 一般usb摄像头的固件实现了usb设备标准的描述符:设备、配置、接口、端点描述符等,除此之外,usb设备的固件还要实现那些功能,要实现那些标准的其它请球,我对一些摄像头的数据进行了分析发现,一般情况下,在得到基本的描述符后,有一些vendor自定义的指令,请问这些指令是一些什么指令,期盼着大家的回复,谢谢!!!! |
|
11楼#
发布于:2004-06-11 18:45
Cypress 代理,Weikeng公司,TEL:13510021007(SZ)。希望可以帮到你,尽力为你服务。
|
|
12楼#
发布于:2004-06-14 12:34
我也在作USB视频流方面的工作,顶一下
USB.org上有个USB Video Class的标准定义,但是比较复杂,是固件设计的规范。 Driver肯定要用Windows kernel stream driver结构 显示应用程序需要DirectShow结构 我想即使固件不用USB Video Class应该也是可以的 另外Bulk传输可能要比ISO传输好,我见过DVB-T USB TV card的产品,用bushound看,就是用bulk传输, 我自己作的东西里bulk传输中都会产生很多误码,还在找问题呢,ISO传输除非误码非常少,否则不实用 可能关键是firmware中要用上DMA。 大家一起交流 |
|
|
13楼#
发布于:2004-06-14 17:08
我也正在做一个卫星电视接收卡,但ISO传输有问题,
我们可以互相学习, 我的email:cqs103@163.com 我的qq:188950222 |
|
14楼#
发布于:2004-06-23 09:23
我也准备做一个usb摄像头,但现在还不知道如何编写固件程序以及minidriver,现正在学习这方面的知识,也在看USBINTEL的驱动实例源代码,还不是很清楚,还望大家多多指教,谢谢
|
|
15楼#
发布于:2004-06-24 15:38
我现在也在开发了一个usb摄像头的驱动程序,参考2000ddk下的例程usbintel和usbcamd,也用到了USBCAMD 内核库,但在相应的文档中看到,USBCAMD 内核库只能被下列的USB cameras 使用:
Intel USB camera model numbers YC76/YC72 Kodak USB camera model numbers DVC323/DVC300 Phillips USB camera model numbers PCA645VC/PCA655VC 但我现在用的不是上述芯片,用的是ov7620,那我的驱动程序还可以使用usbcamd的内核库吗?还望能够得到大家的帮忙,谢谢!!!!! |
|
16楼#
发布于:2004-06-24 19:50
借问一下,ddk中的例程在哪个目录下,我怎么找不到啊
呜呜 |
|
17楼#
发布于:2004-07-01 12:48
\NTDDK\src\wdm\videocap下
另外,我对USB Camera的数据进行了分析,发现除了一些标准的USB请求外,还有一些VENDOR请求,请问这些请求如何处理,有什么作用?发起者是谁?我对固件编程不是很了解,特别是vendor那部分,还望多多指教,谢谢 |
|
18楼#
发布于:2004-07-02 16:12
我也在作USB视频流方面的工作,顶一下 我们公司做USB2.0 IC,关于视频: bulk 方式一般用于传送静止图像或控制类指令。 ISO方式用于传送活动图像。 两种传送方式的分别在于BULK方式有纠错机制(通常是重发),ISO方式不纠错。对于PC CAMERA这样的活动图像,如果因出错而重发旧的图像帧,还不如发送更新的图像帧。 |
|
19楼#
发布于:2004-07-08 11:12
NTDDKsrcwdmvideocap下 VENDOR请求是用户定义的命令接口,通过control pipe从PC 驱动发向camera设备,指定camera 执行相关动作(如start capture等),具体vendor command方面见USB SPEC。 |
|
|
上一页
下一页