以GCORE_4653为样本进行学习。
sensor_cfg.ini配置文件:
; section for source
[source]
dev_num = 1
[sensor]
name = GCORE_GC4653_MIPI_4M_30FPS_10BIT
sns_i2c_addr = 41
bus_id = 3
mipi_dev = 0
lane_id = 1, 2, 0, -1, -1
pn_swap = 1, 1, 1, 0, 0
hw_sync = 0
mclk_en = 1
mclk = 0
orien = 0
name:
表示sensor的输出模式,在sample_common.h中的_SAMPLE_SNS_TYPE_E枚举类型中查找对应的sensor,如果没有需要手动添加并配置。
Bus_id:
表示I2C端口号
Mipi_dev:
表示用哪一组mipi-rx
Lane_id:
表示mipi的线序配置。
配置lane_id要以Sensor为参照物,lane_id数组的索引号表示的是Sensor的Lane ID。
索引号0:表示Sensor Clock;
索引号1~4:表示Sensor Lane 0~3;
lane_id数组的值表示的是soc的MIPI-Rx。
例如,Sensor(上图)和SoC(下图)的Lane接线如下图所示:
Sensor与SoC的管脚对应表
| Index | Sensor | 管脚对 | SoC |
|---|---|---|---|
| 0 | MIPI_CK | B18/B19 | MIPI_RX0_3 |
| 1 | MIPI_0 | B21/B22 | MIPI_RX0_4 |
| 2 | MIPI_1 | B15/B16 | MIPI_RX0_2 |
| 3 | MIPI_2 | B24/B25 | MIPI_RX0_0 |
| 4 | MIPI_3 | B12/B13 | MIPI_RX0_1 |
因此,lane_id的配置应该为[3,4,2,0,1]
Pn_swap:
表示P/N反转,不需要反转配成0,需要反转配置成1
Mclk:
表示选用哪一组mclk作为参考时钟
Mclk_en:
表示使能哪一组mclk输出
hw_sync:
dual sensor帧同步,hw_sync=1表示slave sensor sync with master sensor
sns_i2c_addr:
sensor的i2c 设备地址