查看: 3955|回复: 0
收起左侧

CAMERA调试中容易出现的问题及解决方法

[复制链接]
发表于 2013-11-27 13:58:07 | 显示全部楼层 |阅读模式

1.上电问题

因为CAMERA的结构问题,我们现在所使用的CAMERA模组一般需要三个电源口供电,AVDD,DVDD,DOVDD,其中AVDD固定为2.8V,而我们这边的硬件原理图上,DVDD和DOVDD经常容易反,和他们的原理图有区别。另外这三个上电是没有顺序的,在调试时,一定要用万用表查看这三个电压值。


2.CAMERA读不到ID

首先 需要确认三个电源,power down 和reset的极性,mclk,I2C是否正常打开。如果这些信息确认是正确的,还不能读到ID基本可以确认是sensor的硬件问题,因为camera的驱动层次非常分明,所以驱动添加很容易,但是总是读不到ID,我检查了所有的问题,上电,SCL,SDA电压,用示波器读取I2C值,PWD,reset都做了检测。没有问题,后来发现camera模组提供的原理图和他们的样品SCL,SDA是反的,导致始终读不到ID,这种问题真的是很奇葩,非常无奈,只能当作经验了。

3.能读到ID但是点不亮:这是最常见的情况,这个是时候已经能确认上述的硬件信号都是正常的,先要看HS/VS/PCLK的极性是否配置的正确,是否在预览前丢了1帧以上,sensor的输出尺寸是否正确。这些通常需要通过sensor的datasheet来查看寄存器配置的是否正确。

4.拍照死机:要确认是否在拍照的时候设置了set_mode(用来设置拍照时的sensor输出数据大小的设置),memory是否足够大?
DC_MEM = Frame_W*Frame_H*2 *MAX((1 + need_rotation),(1+is_jpg)) + 1M根据这个公式算出来,在dc_product_cfg.c中进行配置。  
5.花屏:如果是很多绿线的花屏的话那么通常是HS/VS/PCLK的极性配置反了或者驱动电流太小被干扰了,如果是红蓝的颜色反了的那么是yuv输出数据反了,在yuv_info中进行配置。

6.分屏:这个是刷屏的时候刷的不是同一帧数据,是LCD的FMARK引脚没有引出来,或者没有配置。如果LCD没有这个脚的话,需要估算一下刷屏的时间,然后将sensor输出的帧率调的跟它匹配。

7.旋转:预览的在startpreview里的rotation设置成需要的角度,拍照的在_DCAMERA_DoSnapshot里面将rotation设置成需要的角度,VT在传给底层参数时将screen2sensor_angle设置为DVT_MW_ROTATE_90或其他角度。

8、需要在Androidmanifest.xml中设置

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

9、为了使得camera preview 中场景的角度和实际物理世界的角度一致,需要设置:
        // 设置屏幕方向,否则预览的结果跟现实会有90度的偏差
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

10、为了使得预览的场景不随屏幕的旋转而拉伸或扭曲,需要设置:
mParameters.setPreviewSize(width, height);
否则,当屏幕旋转的时候,会改变预览内容的尺寸比例

11、出现fail to connect to camera service的原因可能有:
1)在Androidmanifest.xml中设置uses-permission
2)没有在surfaceDestroyed中释放资源
      if (mCamera != null)
            {
                mCamera.stopPreview();
                mCamera.release();
                mCamera = null;
            }

3)拍完照片之后,照片存储有问题,导致系统崩溃,这个时候需要重启真机。ps:当慢慢的点击拍照的时候,就不会出现崩溃,当快速的点击拍照的时候会导致崩溃,不知道什么原因。

12、camera.setParameters失败
    当删除mParameters.setPictureSize(width,height);时,就不会出现这个问题,具体原因不详。

13、camera设置变焦:

Parameters params = mCamera.getParameters();            final int MAX = params.getMaxZoom();
       if(MAX==0)return;            int zoomValue = params.getZoom();            zoomValue += 5;            params.setZoom(zoomValue);            mCamera.setParameters(params);}

高级模式
B Color Image Link Quote Code Smilies @朋友

本版积分规则

在线客服

客服电话

欢迎来电咨询

188-9985 8350

微信关注

手机APP程序:
扫码下载访问

微信公众平台:
摄像头之家公众号

微信小程序:
摄像头小程序

返回顶部

QQ|站点统计|小黑屋|手机版|Archiver|摄像头模组论坛网 ( 粤ICP备18155214号 )

Powered by Discuz! X3.4 Licensed© 2001-2013 Comsenz Inc.