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驱动¶
-
参考现有驱动
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命名为所调驱动。
-
新增选择
在Config_sdk.h(Config_sdk_evb_c_tv_decoder.h)中新增对应的宏,并设置为1。
-
更新代码
-
初始化代码
根据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
-