king_dragon
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望44点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:7199回复:24

USB Camera\'s(7C68013)视频流疑惑

楼主#
更多 发布于:2004-05-24 15:04
    本人现参与USB Camera项目,driver参照Win2K UsbIntel例程修改,因对视频流整个过程不太了解,特别是firmware和driver之间的通讯,故心中疑惑万千,先提几个问题:
    1、若设备采用CY 7C68013,能否通过修改UsbIntel例程实现USB Camera设备驱动?
    2、是否firmware需要配置才能与基于USBCAMD例程的mini driver正常通讯?(例如视频流接口和视频控制描述符配置等)如果需要,该怎样配置?
    3、Driver里实现一帧视频数据的起始/结束判断一般采用什么方式?firmware和Driver需要做哪些工作?

最新喜欢:

rebabyrebaby murongyumurong...
king_dragon
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望44点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-25 11:50
自己顶先,欢迎讨论,最好能解决思路上的问题,呵呵!
king_dragon
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望44点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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需在一帧结束时生成结束标志。
项目进行中,具体实现还没完成。
还请做过相关应用的大虾指点迷津
Filippo
驱动牛犊
驱动牛犊
  • 注册日期2004-03-11
  • 最后登录2004-08-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-28 16:19
你的第三个问题我也疑惑
还有一个问题
读取视频信号时
usb芯片用哪种工作方式?
bulk transfer 还是 isochronous transfer
king_dragon
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望44点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-28 16:25
isochronous transfer
由于传输的是未压缩数据,而且数据量比较大。
xiaodingdang
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-28 20:18
我曾经试着改写UsbIntel, 但是发现用改过来的驱动程序枚举不成功,根本就还没有运行到自己的minidrivrer里面,不知道UsbIntel的硬件有什么特殊的地方,反正我的硬件用其他驱动程序是可以正常枚举的。
我正改用流驱动程序实现,不知道有没有人正在做这方面的驱动,可以互相探讨一下。
king_dragon
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望44点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-28 21:59
我的QQ是149715860,可以一起讨论!

yilou
驱动小牛
驱动小牛
  • 注册日期2004-02-17
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望32点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-05-29 13:05
关注中!我想了解的更多!
帮你顶!
希望能帮到你,希望能得到你的帮助!
zhongsion
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2010-02-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-06-05 17:54
我也正在做CAMERA,我也顶.................
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-06-09 12:33
做usb camera时,firmware里主要要实现那些接口函数和控制功能,驱动程序如何和firmware通信,谢谢!!!!欢迎大家参与讨论

[编辑 -  6/9/04 by  duanjong]
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-06-10 15:27
大家好:
          我对USB CAMERA firmware编程不是很了解,存在很多疑惑,望能得到大家的帮忙,小弟多谢了!!!
          一般usb摄像头的固件实现了usb设备标准的描述符:设备、配置、接口、端点描述符等,除此之外,usb设备的固件还要实现那些功能,要实现那些标准的其它请球,我对一些摄像头的数据进行了分析发现,一般情况下,在得到基本的描述符后,有一些vendor自定义的指令,请问这些指令是一些什么指令,期盼着大家的回复,谢谢!!!!

  
Echo_Steven
驱动牛犊
驱动牛犊
  • 注册日期2004-06-11
  • 最后登录2004-09-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-06-11 18:45
Cypress 代理,Weikeng公司,TEL:13510021007(SZ)。希望可以帮到你,尽力为你服务。
huyupeng
驱动牛犊
驱动牛犊
  • 注册日期2004-02-17
  • 最后登录2005-08-03
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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。

大家一起交流
天天好心情
cqs103
驱动牛犊
驱动牛犊
  • 注册日期2004-04-08
  • 最后登录2004-08-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-06-14 17:08
我也正在做一个卫星电视接收卡,但ISO传输有问题,
我们可以互相学习,
我的email:cqs103@163.com
我的qq:188950222
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-06-23 09:23
我也准备做一个usb摄像头,但现在还不知道如何编写固件程序以及minidriver,现正在学习这方面的知识,也在看USBINTEL的驱动实例源代码,还不是很清楚,还望大家多多指教,谢谢
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
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的内核库吗?还望能够得到大家的帮忙,谢谢!!!!!
yssy2000
驱动牛犊
驱动牛犊
  • 注册日期2004-04-16
  • 最后登录2005-05-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-06-24 19:50
借问一下,ddk中的例程在哪个目录下,我怎么找不到啊
呜呜
duanjong
驱动中牛
驱动中牛
  • 注册日期2003-03-10
  • 最后登录2006-01-18
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-07-01 12:48
\NTDDK\src\wdm\videocap下
   另外,我对USB Camera的数据进行了分析,发现除了一些标准的USB请求外,还有一些VENDOR请求,请问这些请求如何处理,有什么作用?发起者是谁?我对固件编程不是很了解,特别是vendor那部分,还望多多指教,谢谢
tektronix
驱动牛犊
驱动牛犊
  • 注册日期2004-07-02
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-07-02 16:12
我也在作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。

大家一起交流



我们公司做USB2.0 IC,关于视频:
   bulk 方式一般用于传送静止图像或控制类指令。
   ISO方式用于传送活动图像。
   两种传送方式的分别在于BULK方式有纠错机制(通常是重发),ISO方式不纠错。对于PC CAMERA这样的活动图像,如果因出错而重发旧的图像帧,还不如发送更新的图像帧。
xyzxian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-19
  • 最后登录2007-06-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-07-08 11:12
NTDDKsrcwdmvideocap下
   另外,我对USB Camera的数据进行了分析,发现除了一些标准的USB请求外,还有一些VENDOR请求,请问这些请求如何处理,有什么作用?发起者是谁?我对固件编程不是很了解,特别是vendor那部分,还望多多指教,谢谢



VENDOR请求是用户定义的命令接口,通过control pipe从PC 驱动发向camera设备,指定camera 执行相关动作(如start capture等),具体vendor command方面见USB SPEC。
金用驱动开发
上一页
游客

返回顶部