Camera驱动

Camera驱动
Camera驱动

CAM调试总结

Vvv

一、原理 (2)

二、实现 (6)

三、CAM驱动调试时遇到的问题 (7)

四、总结 (7)

一、原理

调试F7 camera:只有一个后置摄像头OV7675。F7为6085平台。首先看6085平台的camera接口。

CAMIF通过I2C和Camera Sensor通信,提供CLK和RST信号给Camera Sensor。Camera Sensor将8bit或者10bit的数据以及水平同步、帧同步、PCLK输出给CAMIF. CAMIF接受的数据类型为Bayer RAW和YCbCr 4:2:2。VSYNC,HSYNC,PCLK的极性是可以改变的。

本次用的是OV7675的Sensor。OV7675兼容OV7670。

硬件线路图D:\Project\F7\E-COOL_MB1022T100_SCH_091118.sch

OV7670的内部图如下

它里面有一个656*488的image array,其中的640*480是激活的。DSP可以将RAW RGB转化为YCBCR,通过D[7:0]输出到CAMIF。这个DSP还可以做黑白像素点的纠正,去噪,镜头阴影的纠正等等。Image scaler可以将输出的图像从VGA(640X480)向下裁剪。SCCB interface是一个I2C的接口,通过SIO_C,SIO_D来和I2C bus 通信。

下面是它的timing图:

对于一个RAW data,一个像素点是一个BYTE,所以Tp=Tpclk,对于YUV/RGB data,一个像素点是2个byte,所以Tp=2Tpclk。

下面为OV7670的上电图

通过reset由low到high来给OV7670上电。下面的是数据的流通图:

下图为camera的各个状态及其之间的转换

二、实现

1.打开相机,首先进入的是priveiw模式:

AEEClsCreateInstance开始建一个instance。

QCam_InitData开始初始化数据。

QCam_HandleEvent开始处理event。

QCam_OnAppStart开始

QCam_HorScreen开始

Qcamera_ReadSetting,设置结束。

QCam_CreateCamera,这个函数调用ISHELL_CreateInstance。

ISHELL_CreateInstance会调用camera_get_sensors来得到camera的个数camera_number_of_sensors。这个camera_number_of_sensors由camera_svcs_init 来改变。这个函数会在开机上电的时候被调用。

camera_svcs_select_sensor来选择sensor。

camera_svcs_start开始,同时camera_process_start开始。

camera_process_start首先会调用camsensor_power_on,camsensor_power_up。

camsensor_power_on主要调用camsensor_config_camclk_po来设置时钟,然后调用camsensor_select_camera来选择sensor,并设置camsensor_id。

camsensor_power_up主要调用camsensor_init来初始化sensor。

camsensor_init主要执行

这个camsensor_detect_table[0]=camsensor_ov7670_init,执行7670的init了

camsensor_ov7670_init:

首先对sensor输出MCLK:

然后硬件的reset:将reset pin由low变high,将PWDN pin由low变high。

然后是SW reset:ov7670_i2c_write_byte(0x12, 0x80)

然后调用initialize_ov7670_registers初始化7670的各个寄存器,写入FAE提供的初始值。

然后读sensor 的id和版本号,如果正确,初始化完成。

然后调用camsensor_ov7670_register注册7670的各个function函数。

camsensor_ov7670_start初始化7670的参数,设置sensor的输出格式,这里为CR Y CB Y即V Y U Y

上述参数设置好以后,开始进入Preview:

camera_svcs_start_preview,camera_process_start_preview。

调用camsensor_ov7670_video_config在判断ov7670_set_sensor_mode设置进入privew模式后,配置preview模式下的sensor参数。同时QCam_CameraNotify函数通知preview开始。

Priview的数据输出到output1通道用于显示:camera_process_qdsp_output1_msg 。此函数中有一个参数number_of_frames_to_ignore,用于忽略开始的几个frame。

如果设置为0,那么它会把这个frame显示出来。显示21frame后设置:camsensor_ov7670_set_brightness

camsensor_ov7670_set_effect,

camsensor_ov7670_set_wb,

camsensor_ov7670_set_frame_rate

2.按下相机拍照进入snapshot模式:

camsensor_ov7670_snapshot_config在判断ov7670_set_sensor_mode设置进入snapshot后设置snapshot下的sensor参数(也可以在里面设置特效)。

camsensor_ov7670_get_snapshot_fps来得到snapshot的fps,这里是25。

拍下的照片由QDSP处理。按下“返回”后进入priview模式,同上。

3.关闭相机会调用camsensor_power_down和camsensor_power_off。

camsensor_power_down调用camsensor_ov7670_power_down将MCLK停掉,reset拉low,PWDN拉low。camsensor_power_off主要将CAMIF_EN引脚拉low。

三、CAM 驱动调试时遇到的问题

1.点击照相机,提示“启动失败”,QXDM里找到在qcamera.c的QCam_CreateCamera 函数里的ISHELL_CreateInstance失败。这个函数调用了camera.c里的camera_get_sensor函数。这个函数的返回值为camera_number_of_sensors。这个sensors的值应该为1,而得到的值为0.查找camera_number_of_sensors,发现在camera_svcs.c里的camera_svcs_init里有改变,改变的条件是camsensor_initialized == TRUE。查找发现是camsensor_select_camera的cmasensor_id等于1,导致camsensor.c里的camsensor_init失败。修改camsensor_select_camera的宏定义。

2.点击照相机,预览全为粉红色。QXDM里发现是SW reset i2c error。确定是上电时序有问题。修改上电时序,解决了这个问题。

3.预览时发现左右方位颠倒,修改Mirror/Vflip的mirror bit。

4.priview时由亮到暗移动,屏幕会变绿。修改初始化代码里的自动白平衡参数。

5.打开相机,有“绿屏”闪过。修改初始化代码里的自动白平衡参数。在进入priview 模式时加延时,忽略了头5帧,不显示出来。

6.priview时感觉屏幕有雾状。修改了亮度参数,将每阶的亮度降低。

四、总结

本次调试过程中,使用QXDM来查找问题,很快找到出错的地方,缩短了解决问题的时间。与FAE的沟通要阐述明白问题的现象。

摄像头驱动vidpid大全

最常见的摄像头硬件ID:VID_0AC8&PID_0302 VID_0AC8是中芯微的代码, 常见方案如下: USB\VID_0AC8&PID_303B 301PLH方案/301plh.htm USB\VID_0AC8&PID_301B 301B方案/301B.htm USB\VID_0AC8&PID_305B 305B方案/305B.htm USB\VID_0AC8&PID_307B ZS211方案/ZS211.htm USB\VID_0ac8&PID_0321 VC0321 /VC0321.htm USB\VID_0ac8&PID_0323 VC0323 /VC0323.htm USB\VID_0ac8&PID_0323 ZC0323P /ZC0323P.htm USB\VID_0ac8&PID_0328 /ZC0326.htm USB\VID_0ac8&PID_0326 ZC0326 /ZC0326.htm 中星微无驱方案摄像头1 /VM332.htm 支持下列硬件ID: USB\VID_0ac8&PID_3313 USB\VID_0ac8&PID_0331 USB\VID_0ac8&PID_331B USB\VID_0ac8&PID_0332 USB\VID_0ac8&PID_332D USB\VID_0ac8&PID_3330 USB\VID_0ac8&PID_3332 USB\VID_0ac8&PID_3333 USB\VID_0ac8&PID_3340 USB\VID_0ac8&PID_3342 USB\VID_0ac8&PID_3343 USB\VID_0ac8&PID_0336 USB\VID_0ac8&PID_336D

camera驱动和编程

Camera 驱动和编程 了解了framebuffer,摄像头便只是fb的数据来源而已。先了解些相关的概念:V4L2(video 4 linux 2) 可以支持多种设备,它可以有以下几种接口: 1. 视频采集接口(video capture interface):这种应用的设备可以是高频头或 者摄像头.V4L2的最初设计就是应用于这种功能的. 2. 视频输出接口(video output interface):可以驱动计算机的外围视频图像设备--像可以输出电视信号格式的设备. 3. 直接传输视频接口(video overlay interface):它的主要工作是把从视频采集设备采集过来的信号直接输出到输出设 备之上,而不用经过系统的CPU. 4. 视频间隔消隐信号接口(VBI interface):它可以使应用可以访问传输消隐期的视频信号. 5. 收音机接口(radio interface):可用来处理从AM或FM高频头设备接收来的音频流. Video4linux下视频编程的流程:(1)打开视频设备:(2)读取设备信息(3)更改设备当前设置(没必要的话可以不做)(4)进行视频采集,两种方法: a.内存映射 b.直接从设备读取(5)对采集的视频进行处理(6)关闭视频设备。/* 这样的流程地球人都晓得*/ 关键步骤介绍:(1)打开视频:Open(”/dev/video0”,vdàfd);关闭视频设备用close(”/dev/video0”,vdàfd);(2)读

video_capability中信息ioctl(vd->fd, VIDIOCGCAP, &(vd->capability))成功后可读取 vd->capability各分量eg.(3)读video_picture中信息ioctl(vd->fd, VIDIOCGPICT, &(vd->picture));(4)改变video_picture中分量的值(可以不做的)先为分量赋新值,再调用VIDIOCSPICTEg.vd->picture.colour = 65535;if(ioctl(vd->fd, VIDIOCSPICT, &(vd->picture)) < 0){perror("VIDIOCSPICT");return -1;}(5)初始化channel (可以不做的)必须先做得到vd->capability中的信息for (i = 0; i < vd->capability.channels; i++){ vd->channel[i].channel = i; if (ioctl(vd->fd, VIDIOCGCHAN, &(vd->channel[i])) < 0) { perror("v4l_get_channel:"); return -1; }} /* 通过ioctl,将struct v4l_struct作为参数的设备操作而已,那么重点将是整个结构体:struct v4l_struct*/ typedef struct v4l_struct{ int fd; struct video_capability capability; struct video_channel channel[4]; struct video_picture picture; struct video_window window; struct video_capture capture; struct video_buffer buffer; struct video_mmap mmap; struct

MTK平台camera(摄像头)调试教程要点

Contents 一、手机CAMERA的物理结构:........................................................................................ - 4 - 二、 CAMERA 的成像原理: ................................................................................................. - 4 - 三、 CAMERA 常见的数据输出格式:.................................................................................. - 5 - 四、阅读CAMERA的规格书(以TRULY模组OV5647_RAW为例):........................... - 6 - 五、 CAMERA 的硬件原理图及引脚 ..................................................................................... - 7 - 1、电源部分:.................................................................................................................... - 7 - 2、 S ENSOR I NPUT部分:................................................................................................... - 7 - 3、 S ENSOR O UT P UT部分:............................................................................................... - 7 - 4、 I2C 部分:SCL,I2C时钟信号线和SDA,I2C数据信号线。.................................. - 7 - 六、 MTK 平台 CAMERA 驱动架构: .................................................................................. - 8 - 七、 MTK 平台 CAMERA 相关代码文件(以下代码均为 MTK6575 平台): .................... - 9 - 1、 C AMERA S ENSOR驱动相关文件.................................................................................... - 9 - 2、 S ENSOR ID 和一些枚举类型的定义............................................................................. - 9 - 3、 S ENSOR供电.................................................................................................................. - 9 - 4、 K ERNEL S PACE的 S ENSOR L IST,IMGSENSOR模块注册............................................... - 9 - 5、 U SER S PACE的 S ENSOR L IST,向用户空间提供支持的 S ENSOR L IST.........................- 10 - 6、 S ENSOR效果调整的接口............................................................................................- 10 - 八、 CAMERA 模块驱动、设备与总线结构: .....................................................................- 11 - A)驱动的注册: ..................................................................................................................- 11 - B)设备的注册: ..................................................................................................................- 11 - C)总线的匹配: ..................................................................................................................- 12 - 九、 CAMERA 驱动工作流程: ............................................................................................- 13 - 十、 CAMERA 驱动添加、调试流程:.................................................................................- 17 - Ghong Confidential Revision 0.1-Feb.14 2012- 3 - ?2012 Ghong inc.

摄像头 驱动安装不了 解决方法

摄像头驱动安装不了解决方法.txt世上最珍贵的不是永远得不到或已经得到的,而是你已经得到并且随时都有可能失去的东西!爱情是灯,友情是影子。灯灭时,你会发现周围都是影子。朋友,是在最后可以给你力量的人。一、驱动不容易安装的原因 1、目前市面上流行的中星微摄像头驱动版本很多,许多用户在安装卸载驱动过程中残留有垃圾文件在系统注册表里面,造成后面的驱动更新过程中安装困难; 2、目前市面上存在着一种克隆操作系统,里面集成了中星微旧版并同过了WHQL的驱动,当用户安装新买的摄像头或更新最新驱动后,摄像头无法正常工作; 方法一、自动卸载方法 步骤一、点击开始菜单中对应驱动的Uninstall卸载,(有可能Uninstall的功能已经破坏,那么可以通过安装新驱动进行反安装,系统会首先将旧驱动卸载掉,同样也可以达到目的。)步骤二、在新的驱动安装前选择附件中以下相对应的可执行文件: FOR_XP_ME_98.EXE 用于Windows XP/ME/98 FOR_Win2K.EXE 用于Windows 2000 (注意:该工具要求系统的默认路径是C盘才有效,在Windows ME/98操作系统下如出现错误对话框,表示系统已经干净了,该工具不会对已经安装的驱动产生危害) 步骤三、安装新的驱动 方法二、手动卸载方法 步骤一、在我的电脑-工具-文件夹选项-查看中将隐藏文件和文件夹选择为“选择所有文件和文件夹 然后到C:\Windows\inf文件夹中将所有的OEM文件(如oem0.inf,oem0.pnf;oem1.inf,oem1.pnf…)剪切并转移到另外的目录中保存或者手动删除掉该摄像头对应的oem文件 步骤二、完成上面的步骤后,插入USB摄像头,这时电脑会发现新硬件并弹出安装驱动的信息,选择取消,然后用鼠标右键点击我的电脑,选择属性,在弹出系统属性界面中,进入系统属性-硬件-设备管理器将带有感叹号的PC CAMERA按鼠标右键卸载; 步骤三、拔除摄像头,开始安装新的驱动。 针对以上第二种现象 步骤一、克隆操作系统是将摄像头驱动默认存放在C:\Windows\Driver\Camera\301P文件夹下面,当你点击新的摄像头驱动光盘安装时,系统不会提示已经存在有摄像头驱动并把此驱动卸载,请把这个文件夹找到并删除掉; 步骤二、先安装新的摄像头驱动,再插上摄像头装载硬件,安装完成后重新启动电脑后可以正常使用; 步骤三、不需重复以上两个步骤,直接点击新的光盘安装最新的驱动,插上摄像头后系统检测到新硬件,并自动完成硬件驱动装载; 步骤四、进入到设备管理器中,,可以看到图像处理设备已经成功安装,但当你打开“AMCAP”预览图像时会出现无法预览、白屏、黑屏现象; 步骤五、把鼠标右键放在图像处理设备的“Vimicro USB PC Camera(ZC0301PL)”更新驱动程序,出现对话框后选择“从列表或指定为位置安装 步骤六选择下一步后选择“不要搜索”,进入“从软盘安装”界面。 步骤七:点击浏览,将路径指向驱动光盘目录或最新驱动目录下面的“usbvm31b.inf” 步骤八:一直点击“下一步”完成驱动安装;

摄像头工作原理(驱动详细)

■Dolumr CCS £f f I Analog Processirg //薄i 10oit A2C RESET I MCLK SDA SSL 敷醐ft% YLV RGB拍隹 PCLK VSYhC HSYNC 一、摄像头工作原理 上一篇我们讲了摄像头模组的组成,工作原理,作为一种了解。下面我们析摄像头从寄存器 角度是怎么工作的。如何阅读摄像头规格书(针对驱动调节时用到关键参数,以GT2005为例)。 规格书,也就是一个器件所有的说明,精确到器件每一个细节,软件关心的寄存器、硬件关心的电气特性、封装等等。单单驱动方面,我们只看对我们有用的方面就可以了,没必要全部看完。主要这些资料全都是鸟语,全部看完一方面时间上会用的比较多,找到关键的地方 就行了。 1、camera的总体示意图如下:控制部分为摄像头上电、I2C控制接口,数据输出为摄像头 拍摄的图传到主控芯片,所有要有data、行场同步和时钟信号。GT2005/GT2015是CMOS 接口的图像传感器芯片,可以感知外部的视觉信号并将其转换为数字信号并输出。 我们需要通过MCLK给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应 该始终为低。PCLK是像素时钟(这个应该是等同于CSI中的普通差分时钟通道),HREF是行参考信号,VSYNC是场同步信号。一旦给摄像头提供了时钟,并且复位摄像头,摄像头就开始工作了,通过HREF, VSYNC和PCLK同步传输数字图像信号。数据是通过D0~D7 这八根数据线并行送出的。 Pixel Array 161SH x 1215V ilGOOH x 1200V} Timing11 Contra A7-r B 3 C Gamma EJcp enhancs Configuration Registers 1 mage Signal Procking fntH 叩就<i「C& - noise

camera调试工具

camera调试工具: 一、ISO12233 Camera Resolution Chart ISO12233分辨率测试标板遵照ISO12233的标准“摄影-电子照相画面-衡量方法"。这个测试标板在1 X 大小的这个活动区域,测量20 cm 高度只有约0.1毫米的误差。他具有几乎大部分解析度卡所具有的特征。是数码相机与手机摄像头品质测试的必备工具。可以提供实际拍摄的垂直分辨率和水平分辨率等辅助测试,采取统一拍摄角度和拍摄环境,分辩率的计算可以使用了HYRes软件,分开垂直分辨率和水平分辨率两部分进行。 ISO12233测试卡有以下3种规格 一倍标准卡200 x 178mm 两倍标准卡400 x 711mm 四倍标准卡800 x 1422mm 相关图片[点击查看原始尺寸]:

二、ColorChecker 24色卡 ColorChecker标板有24个纯色块,从左到右再从上到下,分别标记为1-24。所以又叫24色卡。 用途:ColorChecker常用于色彩还原与白平衡测试 对于色彩与白平衡的测试,我们采用了标准色卡ColorChecker在不同的环境下使用相应的白平衡模式拍摄进行比较,一方面可以观察机型对各种色彩的还原情况,另一方面可以观察他们的白平衡准确度。 白平衡共有自动白平衡、日光白平衡、阴影白平衡、钨丝灯白平衡、荧光灯白平衡、手动白平衡等6种模式。

三、三,14524 Camera Contrast Chart 14524 Camera Contrast Chart 有12个独立不同程度的灰阶,灰度范围由0.10到2.30. 14524 OECF测试标板的测试信息,描述了Camera如何将Sensor感应的照度在图像中数字量化。他可以测试出最大对比度和动态范围,还有白平衡是否正常,不同灰接的信噪比,Camera的ISO速度如何。 相关图片[点击查看原始尺寸]: 四、灰阶卡 灰阶卡21阶,反射密度从0.05到3.05按照每阶0.1密度递增,每阶代表着1/3EV的曝光量,用来量化测试曝光、反射密度的工具, 相关图片[点击查看原始尺寸]:

PCCamera驱动安装指南

PC Camera驱动安装指南 版本: 0.0.2 SW-xx-xx-xxxx 2006-05-27 https://www.360docs.net/doc/bb17109179.html,

修订历史

重要声明 版权声明 版权所有 ? 2005, 展讯通信有限公司,保留所有权利。 商标声明 展讯通信有限公司和展讯通信有限公司的产品是展讯通信有限公司专有。在提及其他公司及其产品时将使用各自公司所拥有的商标,这种使用的目的仅限于引用。 不作保证声明 展讯通信有限公司不对此文档中的任何内容作任何明示或暗示的陈述或保证,而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承担任何责任。 保密声明 本文档(包括任何附件)包含的信息是保密信息。接收人了解其获得的本文档是保密的,除用于规定的目的外不得用于任何目的,也不得将本文档泄露给任何第三方。

目录 1简介 (5) 1.1目的 (5) 1.2范围 (5) 1.3组成 (5) 1.4说明 (5) 2安装指南 (6) 2.1windows@ 2000平台安装指南 (6) 2.2windows@ xp及windows@2003平台安装指南 (8) 3注意事项及提示 (13)

1 简介 1.1 目的 此文档介绍了PC Camera驱动在Windows@ 2000系列平台、windows@ XP系列平台和windows@server 2003上的安装方法。 1.2 范围 此文档针对的范围是所有需要使用PCCamera的用户。 1.3 组成 PC Camera驱动由以下几个文件组成,分别是 SciCamD.inf、SciCamD.cat、SciCamD.sys、 SciCamDec.sys、usbcamex.sys和本安装指南。 1.4 说明 PC Camera当前驱动只支持Windows@ 2000系列平台、windows@ XP系列平台和windows@server 2003,不支持其他平台。

寻找摄像头驱动的方法,告别万能驱动

寻找摄像头驱动的方法,告别万能驱动 QQ 2009-02-12 21:46 阅读709 评论0 字号:大中小 寻找摄像头驱动的方法,告别万能驱动 摄像头用久了或重新安装系统后,遇到光盘驱动不知道放哪里了,可以通过硬件ID来精确找到所需要的驱动或寻求帮助。具体办法如下: 方法是:右键我的电脑--管理--设备管理器--找到摄像头的有问号的设备--双击--找到详细信 息--里面有个硬件ID。 类似于USB\VID_07E4&ID_9473这样的东西,VID就是芯片厂商代码,PID就能确定摄 像头芯片方案,然后就可以对照下载驱动了。 什么是硬件ID呢? 硬件ID是电脑所有硬件的一个编号,所有设备都有如下编号:VEN_1106&DEV_3038,VE N代表硬件厂商,DEV代表产品编号。USB设备会有如下编号:VID_045E&ID_0039, 道理跟上面的是一样的。所有的测试软件都有可能会出错,只有硬件ID是最可靠的,各位只要确认下INF文件包含需要的硬件ID,就保证是可以用的。 如何获得硬件ID? 最简单的方法是直接在设备管理器中查看。右键“我的电脑” --- 管理(第四个就是管理)--- 找到里面的“设备管理器” --- 无论什么设备双击打开,选择“详细信息” --- 就可以看到“P CI\VEN_1106&DEV_3059&SUBSYS_82121565&REV_60\3&13C0B0C5&0&8D”这样的一串字符,里面的VEN_1106&DEV_3059就是关键的硬件ID,点击字符按键盘“CTRL+C”就可以 复制出来了,贴到论坛就可以了。 当然你也可以用EVEREST生成硬件报告,里面也可以找到硬件ID。 我们打开驱动的INF文件,就可以找到里面的“VEN_10EC&DEV_8180”对应设备管理器的硬 件ID即可判断驱动是否正确。 以最常见的摄像头为例,由于摄像头厂家众多,驱动非常混乱,各个网站也出现所谓的万能,这个世界有万能的东西吗?让我们相信硬件ID吧,集中市面的硬件ID,因为摄像头的芯片厂家就那么几家,这样就可以让大家可以很方便找到自己所有需要的驱动。 查看摄像头硬件ID的方法 右键点击“我的电脑”-“管理”-“设备管理器”-“图像处理设备”选择任意一个摄像头设备双击, 在“详细信息”一栏即可看到下面这个信息: 2_30_d992b48b7f8 e721.gif(18.44 KB)

手机摄像头调试经验分享

手机摄像头调试经验分享 我这里要介绍得就就是CMOS摄像头得一些调试经验。 首先,要认识CMOS摄像头得结构。我们通常拿到得就是集成封装好得模组,一般由三个部分组成:镜头、感应器与图像信号处理器构成。一般情况下,集成好得模组我们只瞧到外面得镜头、接口与封装壳,这种一般就是固定焦距得。有些厂商只提供芯片,需要自己安装镜头,镜头要选择合适大小得镜头,如果没有夜视要求得话,最好选择带有红外滤光得镜头,因为一般得sensor都能感应到红外光线,如果不滤掉,会对图像色彩产生影响,另外要注意在PCB设计时要保证镜头得聚焦中心点要设计在sensor得感光矩阵中心上。除了这点CMOS Sensor硬件上就与普通得IC差不多了,注意不要弄脏或者磨花表面得玻璃。 其次,CMOS模组输出信号可以就是模拟信号输出与数字信号输出。模拟信号一般就是电视信号输出,PAL与NTSC都有,直接连到电视瞧得;数字输出一般会有并行与串行两种形式,由于图像尺寸大小不同,所要传输得数据不同,数据得频率差异也很大,但就是串行接口得pixel clock频率都要比并行方式高(同样得数据量下这不难理解),较高得频率对外围电路也有较高得要求;并行方式得频率就会相对低很多,但就是它需要更多引脚连线;所以这应该就是各有裨益。(笔者测试使用得系统就是8bit并行接口)另外输出信号得格式有很多种,视频输出得主要格式有:RGB、YUV、BAYER PATTERN等。一般CMOS Sensor模组会集成ISP在模组内部,其输出格式可以选择,这样可以根据自己使用得芯片得接口做出较适合自己系统得选择。其中,部分sensor为了降低成本或者技术问题,sensor部分不带ISP或者功能很简单,输出得就是BAYER PATTERN,这种格式就是sensor得原始图像,因此需要后期做处理,这需要有专门得图像处理器或者连接得通用处理器有较强得运算能力(需要运行图像处理算法)。 不管sensor模组使用何种数据格式,一般都有三个同步信号输出:帧同步/场同步(Frame synchronizing)、行同步(Horizontal synchronizing)与像素时钟(pixel clock)。要保证信号得有效状态与自己系统一致,如都就是场同步上升(下降)沿触发、行同步高(低)电平有效等。 通过以上介绍,我们就可以根据自己得使用得系统选择适合得sensor模组。要选择接口对应(如果并行接口,sensor模组输出数据bit位多于接受端,可以用丢弃低位得数据得方法连接)、数据格式可以接受或处理、pixel clock没有超过可接受得最高频率(有得就是可调得,但帧率会受影响)、场同步与行同步可以调节到一致得sensor模组,这样才可以保证可以使用。

MTK平台camera(摄像头)调试教程

MTK 平台 CAMERA 驱动浅析 Camera Driver analysis in the platform of MTK Document Number: Preliminary (Released) Information Revision:0.1 Release Date: Ghong Confidential Revision 0.1-Feb.14 2012- 1 - ?2012 Ghong inc.

Revision History Revision Date (dd/mm/yyyy)Author Comments 0.114/02/2012Guoqing Zhang Draft Version Ghong Confidential Revision 0.1-Feb.14 2012- 2 - ?2012 Ghong inc.

Contents 一、.- 二、.- 三、.- 四、.- 五、.- 、.-、.-、.-、.- 六、.- 七、.- 、.-、.-、.-、.-、.-、.- 八、.- ).-).-).- 九、.- 十、.- Ghong Confidential Revision 0.1-Feb.14 2012- 3 - ?2012 Ghong inc.

一、手机Camera的物理结构: FPC: Flexible Printed Circuit 可挠性印刷电路板 Sensor:图象传感器 IR:红外滤波片 Holder:基座 Lens:镜头 二、Camera的成像原理: 景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模 拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。 Ghong Confidential Revision 0.1-Feb.14 2012- 4 -

androidcamera摄像头驱动

android camera(一):camera模组CMM介绍 关键词:android camera CMM 模组 camera参数 平台信息: 核:linux 系统:android 平台:S5PV310(samsung exynos 4210) 下载:常用摄像头规格书(个别有android驱动程序) :bf3703 30W、gc0308 30W、ov7670、gt2005 200W、gt2015 200W、NT99250 200W、s5k5ba 200W、s5k4ba 新项目开案,代码他们还没给得到,三星那边办事流程就是多,烦人(嘿嘿只是说说,流程从另一方面说明了人家标准化的程度高)。看看代码,把前一段时间工作的容整理下,发出来。一方面有相同问题的“同学”可以看下,说不定问题就解决了;再一方面自己工作方面记录吧,整个流程整理出来,加深自己的印象,技术还得提高呀。这样利人利己的事多做点好……“为人民服务!”(我不是**党,只是技术P民) 这篇比较基础,做为科普知识看一下。 android camera(一):camera模组CMM介绍 android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF) android camera(三):camera V4L2 FIMC android camera(四):camera 驱动 GT2005 一、摄像头模组(CCM)介绍: 1、camera特写 摄像头模组,全称CameraCompact Module,以下简写为CCM,是影像捕捉至关重要的电子器件。先来特写,各种样子的都有,不过我前一段时间调试那个有点丑。

高通平台CAMERA调试技巧

【原创】高通平台 camera 调试小技巧 Posted on 2009-08-07 00:21 hengfeng 阅读(785) 评论(4) 编辑 收藏 调试camera 的时候,有些时候LCD 或许还不能正常工作,或则UI 尚未完成,而我们却想看到camera 拍摄到的图像,这时就可以借助Trace32的强大功能。当然,前提是你可以启动camera 。^_^ 首先,我们要确保sensor 已经正常工作了,可以把断点设置在OEMCamera_CameraLayerCB()这个函数,它是一个总体的回调函数,包括收到帧事件,所以如果此函数断点反复的被执行到,那么说明sensor 有数据(帧)传上来,如图: 在断点被执行到后,打开"Stack ”,查看函数的调用关系,可以看到camera_process_qdsp_msg()里面的一个参数为buf = 0x108b3af8,这个就是存放预览图片buffer 的地址,得到这个buffer 以后就可以在TRACE32里输入如下命令: data.image 0x108b3af8 128. 160. /rgb565le ,就可以看到buffer 中的预览图像: 在使用这条命令时,有几点需要说明的。1.我们在camera_process_qdsp_msg()里面获得的buffer 的地址可能前一次得到的与后一次得到的不同,我们直接用TRACE32查看这2个地址会发现,其中一个的内容是固定的,而另外一个是一直在跳变的,即一个是保存断点瞬间的预览图像,而另外一个是实时变化的图像。所以如果我们在输入命令的参数里面设置为变化的地址,那么我们在PC 上就可以看到sensor 移动时候的实时效果了。 2. 还有一点就是输入命令时候指定的image 的大小一定要跟我们设置的预览大小一致,也就是跟LCD 上显示的大小一致,比如前面调试的项目用的LCD 是160*128,因此参数也必须是128. 160. ,否则就看不到完整的图像。 标签: camera , sensor Page 1of 1 【原创】高通平台camera 调试小技巧 -hengfeng -博客园2011-9-24https://www.360docs.net/doc/bb17109179.html,/hengfeng/archive/2009/10/07/1540830.html

摄像头常见故障排除

检测不到摄像头 现象:我的PC机不能检测USB PC-Camera。 方法:检查操作系统、BIOS、USB接口和安装错误 步骤:如果你安装的是Windows 95,它不支持USB接口。您必须更新到Windows 98,Win 98支持USB接口。检查BIOS Setup,使USB装置有效。 若上述方法无效,尝试连接USB摄像头到第二个USB接口。 你可能安装了错误的驱动程序或选择了错误的设备,可以按照以下步骤查看系统设备并再次安装正确的驱动程序: 在控制面板(Control Panel)双击“系统”(System)图标。从系统属性(System Properties)对话窗中选择“设备管理器”(Device Manager)标签。双击“其它设备”(Other devices)查看内容。选择“未知设备”(Unknown Device)并单击“删除”(Remove)按钮,单击“更新”(Refresh),系统就会找到一个新设备,按照安装步骤安装摄像头驱动程序。 说明:这是比较复杂的问题,需要进行多方面的尝试。请多些耐心,并排除摄像头自身的故障。 颜色偏差 现象:新安装了摄像头,结果发现显示图像的质量不尽人意:颜色很怪,有种不伦不类的感觉。是偏色?还是什么颜色不正确?说不好。 方法:调整视频捕捉程序中与颜色相关的设置;更改PCI/VGA Palette Snoop设置;采用V8摄像机替代摄像头。 步骤:请参照您的摄像头使用的具体软件来调整视频捕捉程序中与颜色相关的设置。 开机时按Del键进入BIOS Setup,用光标键选择“BIOS Features Setup”、“PCI/VGA Palette Snoop”,缺省时为“Disabled”。PgUp键选择“Enabled”。按Esc键退出,按F10键、按“Y”保存并退出Setup。 V8摄像机的连接方法略。 说明:与PCI/VGA Palette Snoop相关的故障是一个常见故障。视频捕捉卡等颜色混乱也可以通过这个设置解决。 视频预显图像颜色不正 现象:我新买的摄像头的视频预显图像颜色不太正常,像使用多年的显示器一样,颜色开始异常,过一段时间才能好。 方法:摄像头自动调整。 步骤:请等待20~30秒,让Auto White(自动调白)来平衡或纠正。 说明:对于普通的摄像机,需要人工调白,我在拍摄《电脑之夜》时已经深有体会。每次拍摄之前,我都要先举着白纸,等待摄像机调白。

摄像头工作原理(驱动详细)

一、摄像头工作原理 上一篇我们讲了摄像头模组的组成,工作原理,作为一种了解。下面我们析摄像头从寄存器 角度是怎么工作的。如何阅读摄像头规格书(针对驱动调节时用到关键参数,以GT2005为例)。 规格书,也就是一个器件所有的说明,精确到器件每一个细节,软件关心的寄存器、硬件关 心的电气特性、封装等等。单单驱动方面,我们只看对我们有用的方面就可以了,没必要全部看完。主要这些资料全都是鸟语,全部看完一方面时间上会用的比较多,找到关键的地方 就行了。 1、camera的总体示意图如下:控制部分为摄像头上电、I2C控制接口,数据输出为摄像头 拍摄的图传到主控芯片,所有要有data、行场同步和时钟信号。GT2005/GT2015是CMOS 接口的图像传感器芯片,可以感知外部的视觉信号并将其转换为数字信号并输出。 我们需要通过MCLK给摄像头提供时钟,RESET是复位线,PWDN在摄像头工作时应该始终为低。PCLK是像素时钟(这个应该是等同于CSI中的普通差分时钟通道),HREF是行参考信号,VSYNC是场同步信号。一旦给摄像头提供了时钟,并且复位摄像头,摄像头 就开始工作了,通过HREF,VSYNC和PCLK同步传输数字图像信号。数据是通过D0~D7这八根数据线并行送出的。

(1)、Pixel Array GT2005阵列大小为1268 列、1248 行,有效像素为1616 列, 1216 行。也就是说摄像头为1600X1200的时候,像素点要多于这个,去除边缘一部分,保证图像质量吧。 (2)、I2C这个不用说了,摄像头寄存器初始化的数据都从这里传输的,所有的I2C器件都一样的工作,来张图吧,后面做详细分析; 下面这一部分在调试驱动的过程中比较重要了: (3)、MCLK 电子元件工作都得要个时钟吧,摄像头要工作,这个就是我们所要的时钟,在主控制芯片提供,这个时钟一定要有,要不然摄像头不会工作的。 (4)、上下电时序,这个要接规格书上来,注意PWDN、RESETB这两个脚,不同的摄像 头不太一样,这个图是上电时序,上电时参考一下,知道在那里看就行;

调试camera总结

调试camera经验总结。 一个好的camera效果,需要多方面保证,1.senor,镜头,马达要好,这是源,如果源头不好,后面怎么优化都没有用。2.ISP要好,ISP是否有硬件滤波器?3A算法是否先进,iphone好也是其3A的算法很厉害。对于我们来说,首先是争取选择更好的物理,是否是背照式是sensor?如果需要夜景好是否是大pixel的sensor 或者是否是RGBW的sensor?镜头的光圈是否足够大,是5P,还是6P的,是否带有蓝光玻璃等?选定好了一款sensor,怎么开始我们调试工作。 1.找模组厂要到golden模组,如AWB,shading和AF的golden,后 续我们的调试都是基于这个模组,只有使用这种模组调试的才能cover尽可能多的模组。 如果有条件的话,可以向厂家要到一些corner模组,用来验证我们后续调试的效果怎么样? 2.点亮我们的sensor,检查出图是否正常?如色彩是否正常,power noise是否很明显?马达是否能正常工作,闪光灯是否能正常工作? 3.Sensor是否烧入了OTP,如果烧入了OTP,需要导入OTP,验证 OTP工作是否正常? 4.以上都准备好了的话,我们就可以进入camera的调试。 对于调试一个camera的模组,我们首先要评估这个模组的能力怎么样?确定我们帧率和gain策略, 特别是对于帧率一旦修改,理论上整个效果都需要重新开始调试。

确定好了曝光表之后,我们就可以用golden模组拍raw图了,拍好raw图,按照高通的文档一步步进行调试。 调试完成之后,测一下客观指标,分辨率,AWB,饱和度,色彩误差,灰阶,亮度均匀性,色彩均匀性,noise等,需要保证各个客观指标不能有大问题,每一项由问题,都说明我们的那一方面调试或者是我们raw图片拍出问题,需要分析原因解决问题。 满足客观指标之后,再去测试各个主观测试场景,如室内人物,室内花草,室内文字,夜景照片,室外人物,室外花草,室外建筑物,室外汽车等各个场景,根据各个场景的问题再解决。 其中我们调试最多的就是清晰度和噪点,这也是我们花最多时间调试的,需要反复调试,在不同的光源下,都需要调试,最好配合我们的客观标准测试,要不能有可能会出大问题。 1.曝光表。 一个合适的曝光表,是整个项目调试的基础,否则后面可能出现非常多的问题,如帧率过低,客户在低亮情况下,很容易拍出模糊的照片,帧率过高,低亮情况下,拍出照片过暗,这个对于过往经验要求比较高,我个人比较喜欢把前置摄像头的帧率限定在 7.5,后置摄像头10,特殊摄像头再特殊处理。 2.AWB。

MTK_camera驱动流程总结_pei

Camera驱动流程总结 范军君 junjun.fan@https://www.360docs.net/doc/bb17109179.html,

目录 1,Camera架构及流程简析2,初始化过程camera id检测3,Camera上电流程 4,Camera打开流程

Camera架构及流程简析 MTK平台camera架构: Kernel部分主要有两块:一块是image sensor驱动,负责具体型号的sensor的id检测,上电,以及在preview,capture,初始化,3A等等功能设定时的寄存器配置。另一块是isp driver,通过DMA将sensor数据流上传。 本篇主要介绍image sensor驱动的流程。 HAL层这边主要分3块,一块是imageio,主要是数据buffer上传的pipe。一块是drv,包含imgsensor和isp的hal层控制。最后是feature io,包含各种3A等性能配置。 本篇对HAL涉入不深,只在分析开机过程的id检测时会分析hal层的控制,属于第二块。

流程简析: 主要发生在两个时间点:开机过程中camera的动作以及打开应用时camera的动作。 开机时,camera完成了sensor框架的初始化,id检测,以及上下电操作。 打开应用时,camera会有上电,完成寄存器的初始配置,向上层传送基本参数及配置信息,以及preview和capture模式循环。

初始化过程camera id检测 代码分析: =>alps/mediatek/custom/common/kernel/imgsensor/kd_sensorlist.c module_init说明这段code在kernel初始化,也就是手机开机时运行。 在模块初始化函数中,注册一个i2c device,同时注册了一个platform driver

CCT之CAMERA TUNNING调试学习总结

对于MT6589平台camera调试的学习总结,camera调试学习的是对于raw类sensor的调试,对于yuv格式的sensor是由FAE帮助我们调试的。 首先在调试一个camera 之前要准备好调试所需要的环境,实验室是必须的,另外还要有调试的工具安装。调试camera之前要确保安装好三个工具: https://www.360docs.net/doc/bb17109179.html,T (Camera Calibration Tool)camera的大部分调试工作都是在这个工具下完成的 2.Imatest 在camera 调试CCM 部分和PCA部分所需要用到的picture分析工具 3.Customer_DP 这个工具在调试AF参数的时候可以用到以及可以验证当前的照片和所用的软件代码是否一致,以及确定camera调试的好坏。 对于CCT TOOL的使用, 一、OB的调试: OB形成的原因是: 1)在全黑的环境下,理论上sensor感应到的电流值应该为零,但是由于暗电流的存在,则形成了OB 2)影响OB的原因还有热燥点,模组漏光,模组的电路打样等等原因。 我们在开始调试一个camrea之前要先看一下这个camera的模糊的好坏,若效果不好,是否可以通过软件的方法进行优化,这时我们就要看这颗sensor的OB 是否合理。操作方法:在一个完全黑的环境下,将camera用黑色的遮光片遮住,保证不能漏光(调试之前确认软件已经将meta模式下的闪光灯关掉,否则会影响最后的OB值),OB值可以通过两种方法得到,如图一选择菜单CDVT Sensor Test 中的OB Stability选项,然后run,大概两分钟左右就会出现结果,点图下边的RAW Anglysis Result,这时候我们可以先把分析验证出来的结果给export出来,然后分析这颗sensor 的性能是否OK,基本上对于不同的sensor IC 的OB值是不同的,但是同一个SENSOR IC的OB 值是差不多的,如果性能够好,则OB值相差的范围在(1~-1)左右,像我们经常使用的OV5647的OB值大概是14左右,而OV8825的OB值则是64左右。若是跑出来的OB值跟这个值有很大的悬殊,则说明这颗SENSOR的性能太差,软件调试很难改善效果。

相关文档
最新文档