Sensor


1. 概述

8x39有两个硬件接口GroupA、GroupB, 支持DVP, MIPI, BT656, BT601等信号输入。

  • 10/12-bit parallel interface for raw data input

  • MIPI interface with 4+2 lanes

  • 8/10-bit CCIR656 interface

  • Multi sensors input configuration

    • 2 MIPI 4+2

    • 1 MIPI(2 lanes) + 1 Parallel Bayer

    • 1 MIPI(2 lanes) + 1 BIT656/601

    • 1 MIPI(4 lanes) + 1 BIT656

    • 1 MIPI(2/4 lanes) + 1 USB YUV422

    • 1 Parallel Bayer + 1 BT656

图 1‑1 Sensor支持类型

2. 配置

Sensor配置有2个地方,一个是Config_sdk.h(Config_sdk_evb_c_tv_decoder.h),一个是Snr_cfg.c。

依据硬件配置,在Config_sdk.h中,选择正确的Sensor并置1。

图 2‑1 选择Sensor

然后在snr_cfg.c中配置sensor组合。如下图所示:

图 2‑2 Sensor组合

3. 新增一个Sensor驱动

  1. 参考现有驱动

    DVP参考drv_ms_cus_imx323.c、drv_ms_cus_ar0238.c等

    MIPI参考drv_ms_cus_sc2363_MIPI.c、drv_ms_cus_ps5260_MIPI.c

    HDR调通的目前只有MIPI接口的drv_ms_cus_imx307_MIPI.c、drv_ms_cus_ov2718_MIPI.c等

    BT656参考drv_ms_cus_pr2000_BT656.c、drv_ms_cus_rn6752.c等

    参考SDK中现有驱动,复制创建新驱动文件,修改相关API命名为所调驱动。

  2. 新增选择

    在Config_sdk.h(Config_sdk_evb_c_tv_decoder.h)中新增对应的宏,并设置为1。

  3. 更新代码

    • 初始化代码

      根据Sensor厂给出的初始化参数更新Sensor_init_table。

      如果有多种分辨率参数,请定义不同的初始化table数组,以分辨率等主要区别来命名:

      如Sensor_init_table_1920x1080P30、 Sensor_init_table_1920x1080P60等;

    • 依据规格书或者Sensor厂商建议填写sensor_id_table, gain_reg, expo_reg, vts_reg, mirror_reg等。

    • 根据硬件配置I2C,VIF PAD、VIF Channel

      图 3‑1 Sensor I2C

      图 3‑2 Sensor Pad

    • 更新sensor power on/off时序

      图 3‑3 Sensor Power On

      图 3‑4 Sensor Power Off

    • 配置分辨率等参数

      图 3‑5 Sensor Param