MTK中camera sensor小谈

    技术2022-05-19  19

    Camer Sensor的引脚接口:

     

     

    按着camera引脚的功能可以将其引脚分为供电部分控制部分时钟部分信号部分

     

    XCLK:系统时钟

     

    PCLK:像素时钟

    VSYNC:帧同步

    HSYNC:行同步

    DATA8~10):并行数据口

    该部分为信号和数据部分,PCLK为像素输出的时钟,行同步信号的上升沿表示新一列行图像数据的开始,帧同步信号的下降沿表示新的一帧图片的开始。其时序如下图所示:

     

    SCLKSIO_C:SCCB时钟信号线

    SDATASIO_D:SCCB数据线

    SCCB是简化的IIC协议,SIO_C是串行的时钟线,SIO_D是串行双向的数据线,分别相当于IIC协议中的SCLSCASCCB的总线时序与IIC基本相同,它的响应信号ACK被称为一个传输单元的第九位,分别是Don't care 和 NADon't care信号是由从机产生;,NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送命令时,从机将不能产生Don't care信号。

    SCCB接口主要是完成对camera sensor参数的设置,比如图片的分辨率、数据格式等等。

     

    PWDN:电源控制接口,掉电模式选择接口(0为工作状态,1为睡眠模式选择)。

     

    POWER:电源输入引脚。

    电源引脚有两个,分别是DOVDDDVDD。一个是sensor的数字电源,一个则是模拟电源,在原理图设计中,通常将这两个电源分开,减小相互之间的干扰问题。

     

     

    MTK关于Camera的硬件接口程序:

    首先要了解camera_hw.c文件中void cis_module_power_on(kal_bool on),这个函数对于不同的Camera Sensor的变动不是很大,它的作用主要是完成对power的控制。

    对于camera底层硬件的程序控制,我们就从init_yuv_isp( )这个函数开始,这是isp的入口,在该函数image_sensor_func_config()中就会指定你要调用的指定型号的sensor的一些底层函数。

    那么,此时就可以直接在custom/drv/找到你想要的摄像头型号的驱动程序,所有的接口函数都会在image_sensor_func_struct该结构体中定义。

     

     

    Camera sensor 驱动设计基本流程:

    1打开Camera Power LDO,让Camera有能量保证;

    2打开IIC,使能Camerapower down脚,按照要求让Reset脚做一个复位动作;

    3下载最基本的参数让Sensor工作起来,可能包括软复位;

    4如果有必要,最好去读一下sensor的版本ID,这样可以让你确认是否连接上你想要的 sensor

    5下载preview的参数,为预览动作准备;

    6下载Capture的参数,为拍照动作准备;

    7设置Power down脚无效,或者关掉LDO等动作,退出Camera


    最新回复(0)