六、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

);

這一行, 這個值越大越容易打閃,越小越不容易打閃。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章