六、Camera



1.MT6575上mclk设为 26Mhz时,占空比不是50%

MT6575上26Mhz mclk设置后占空比不是50%, 量到为61.7%.

2.Camera上电开 power(DVDD, AVDD, IOVDD)之间间隔时间太长

3.如何配置 lens

首先需要向sensor的vendor了解,使用的sensor是否内嵌lens的driver IC

如OV5640和MT9P017就是内嵌lens driver ic的。内嵌lens driver ic,即直接操作sensor的寄存器去推lens。

若sensor没有内嵌lens的driver IC,则需要向模组厂了解,模组是否外挂了lens的driver IC,driver IC的型号是什么。我们codebase里的FM50AF下的代码,对应了AD5820的driver ic。如果您的模组包的也是这颗lens driver IC,则直接配置为fm50af即可;如果是其他型号的driver IC,您也可以尝试使用AD5820的驱动(注意把device address改过来)

有些sensor自带AF算法。如ov3640是一颗含AF core的sensor,即它自己能够做AF算法。因为YUV+AF要求sensor本身是能自己做AF算法的,所以不是每颗YUV sensor都是支持自动对焦的。如果您使用的sensor含有AF CORE,且您希望使用sensor自己的AF算法来对焦,即可配置为sensordrive,但需要您参照文档

ALPS_YUV+AF_customization_and_application_note(请在DMS上搜这篇文档看)对sensor driver做针对AF功能的修改。

4.使用 FM50AF 之外的 Lens Driver的修改

由于root process & global writeable file已经在非PRC(中华人民共和国)地区被强制要求,因此ALPS.ICS2.MP 版本及之后版本对root权限方面做了要求,这个要求对于Camera的影响就是,如果使用 FM50AF 之外的lens driver,需要在 init.rc 文件中增加对新Lens driver权限和用户方面的修改 

例如增加了 XXXAF 这个lens driver 需要修改文件 mediatek\config\mt65XX\init.rc 

添加下面二行

chmod 0660 /dev/XXXAF

chown system camera /dev/XXXAF

添加后如下

#Camera

chmod 0666 /dev/camera-sysram

chmod 0666 /dev/camera-isp

chmod 0660 /dev/camera-eis

chmod 0660 /dev/camera-fdvt

chmod 0666 /dev/camera-resmgr

chmod 0660 /dev/kd_camera_hw

chmod 0660 /dev/kd_camera_flashlight

chmod 0660 /dev/FM50AF

chmod 0660 /dev/XXXAF

chown system camera /dev/camera-sysram

chown system camera /dev/camera-isp

chown system camera /dev/camera-eis

chown system camera /dev/camera-fdvt

chown system camera /dev/camera-resmgr

chown system camera /dev/kd_camera_hw

chown system camera /dev/kd_camera_flashlight

chown system camera /dev/FM50AF

chown system camera /dev/XXXAF

5.如何修改I2C speed

Mediatek\custom\common\kernel\imgsensor\src\kd_sensorlist.c

iWriteReg()中最前面加上g_pstI2Cclient->timing,表示设置I2C的速度

如果不设置,为默认值100K ,

比如想将I2C的speed设置为400K,可将g_pstI2Cclient->timing设置为400K

6.如何打开或者关闭闪光 灯

打开/关闭闪光灯可以通过如下配置(两种方法) :

1.    在alps/mediatek/config/pjt/ProjectConfig.mk 文件中,按照如下配置

CUSTOM_HAL_FLASHLIGHT = constant_flashlight #dummy_flashlight

CUSTOM_KERNEL_FLASHLIGHT = constant_flashlight   #dummy_flashlight

2.    在feature table中把flash相关的feature 打开/关闭

RAW sensor 涉及的文件

1)    alps\mediatek\custom\project name\hal\camera\camera 目录下cfg_ftbl_custom_raw_main.h

2)    alps\mediatek\custom\common\hal\camera\camera 目录下cfg_ftbl_custom_raw_main.h

3)    alps\mediatek\source\external\mhal\src\core\drv\6575\isp目录下cfg_ftbl_raw_sceneindep.h

YUV sensor 涉及的文件

1)    alps\mediatek\custom\project name\hal\camera\camera 目录下cfg_ftbl_custom_yuv_main.h

2)    alps\mediatek\custom\common\hal\camera\camera 目录下cfg_ftbl_custom_yuv_main.h

3)    alps\mediatek\custom\common\hal\imgsensor\xxx_yuv目录下cfg_ftbl_xxx_yuv.h

规则:优先级,1) > 2) > 3),即如果project name下相应的的文件,则只需要在相应的文件中打开flash相关的 feature,如果没有,则在2)中的文件打开/关闭:

#if 1//0

//  Flash Light

CONFIG_FEATURE(FID_AE_STROBE,

BY_DEFAULT(FLASHLIGHT_FORCE_OFF),

FLASHLIGHT_AUTO, FLASHLIGHT_FORCE_ON, FLASHLIGHT_FORCE_OFF

)

#endif

7.如何控制mclk的开关

由于mclk在sensor上电之前就已经开了,如果不满足sensor spec中上电时序要求,可在开sensor power之前将mclk先 关闭,然后再需要时再打开,如何控制mclk的开关呢? 

可调用void mt_isp_mclk_ctrl(int en) API去控制, (mediate\platform\mt6575\kernel\core\mt6575_isp.c)

8.如何调整闪光灯在 auto模式下的打闪阈值

参考[FAQ03033]

修改camera_ae_plinetable_xxx_mt657X.h文件注释为u4StrobeTrigerBV的值,例如下面代码

static strAETable g_AE_CaptureTable =(

20,    //u4StrobeTrigerBV

);

这一行, 这个值越大越容易打闪,越小越不容易打闪。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值