android调试经验(Camera调试典型案例介绍)

一、Android Camera调试中遇到的典型案例

1.Camera ID读不到

2.Camera 预览没有图像

3.Camera预览图像异常

4.Camera拍照死机

android调试经验(Camera调试典型案例介绍)(1)

二、Android Camera调试典型用例分解

1.Camera ID读不到

Camera ID读到是我们CPU跟Camera正常通信的第一步,也是检查硬件电路设计(包括主板端和模组端设计)中很重要的一步。

如果软件要读到正确的Camera ID必须要满足以下条件:

1)主板和模组端硬件设计是正确的。这一块需要硬件工程师使用万用表等确认模组和主板上的实际连通性

2)Camera模组的3路供电要正确(除了特殊的Camera模组,一般都是3路供电,AVDD、DVDD、DOVDD,具体可以参考camera规格书)

3)powerdown、reset GPIO以及I2C接口等配置OK

4) powerdown、reset、CLK、 AVDD、DVDD、DOVDD等几个信号的上点时序要正常(具体可以参考camera规格书)

5)I2C地址(包括7bit器件地址、读写I2C地址)需要配置正确。

二、Android Camera调试典型用例分解

2.Camera 预览没有图像

Camera预览需要两部分参与:Camera模块 Display模块

所以遇到这类问题需要定位是上面两个模块中哪一个模块的问题。

我们这里讲下Camera模块这边的可能性:

1)Camera数据接口上的时钟频率或者幅值不对,导致CPU中的Camera模块无法捕捉到有效数据

2)Camera模组的初始化setting是否正确(需要Camera FAE同步确认)

3)数据接口配置有误(比如硬件实际DVP接口,软件配置为MIPI等)

4)数据格式配置有问题(比如camera模组实际输出的是YUV的图像,但是软件配置为RGB)

3.Camera预览有图像但是图像不正常

Camera预览图像不正常的情况很多,在这里主要提下常见的几种:

1.Camera预览图像颜色绿屏(这种情况可能是数据线驱动能力不足,可以软件上修改驱动能力配置)

2)Camera预览整体图像呈现锯齿状(软件配置里面的尺寸不对)

3)Camera预览图像左右反或者上下反(直接修改camera寄存器,对于带有isp和不带isp的摄像头处理方式还不同)

4)Camera预览图像反了90度或者270度,可以通过平台侧的HAL层修改(对于mtk6573平台等修改mediatek/custom/ common/hal/camera/camera/mt6577/cfg_setting_imgsensor.h文件里面的角度 )

4.Camera拍照死机

4.1 拍照的size设置不对

4.2 拍照模式在底层的实现不支持或者软件没有实现(比如在ZSD模式下拍照等需要底层去支持)

4.3 拍照保存的格式ISP不支持

三、问题debug建议

因为Android Camera这块软件架构比较复杂,涉及的层很多,也是很容易出问题的地方。所以遇到问题需要具体问题,具体分析。但是不管遇到什么问题,有这么几点非常重要:

1.理解清楚camera模组到主板上的硬件电路图

2. 熟读平台文档,camera模组文档以及camera IC文档

3. 梳理清楚软件流程,遇到不清楚的地方加trace去跟踪(非常重要)

4. 如果上面3个途径仍然解决不了,积极跟平台商和camera IC厂商沟通,跟他们保持良好的关系有助于我们解决问题。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页