GMSL2-CSI2 MAX9295与MAX9296配对的通用编程指南

意图

本文档提供了 GMSL 2 CSI-2 序列化程序和解串程序对的一般过程。

串化器指定要求(MAX9295)

  • MIPI PHY 1* 4,2* 4,2* 2,4* 2
  • MIPI PHY 通道数。每PHY端口1,2,3或4通道。
  • MIPI 通道映射。D0=D0,D1=D1…,Dn=Dn.
  • MIPI 通道极性。
  • MIPI 数据类型。参卡附录1.
  • 解串器指定要求(MAX9296)

  • MIPI PHY 1* 4,2* 4,4* 2
  • MIPI PHY 通道数。每PHY端口1,2,3或4通道。
  • MIPI 通道映射。
  • MIPI 输出端口。
  • MIPI 数据输出速率。
  • GPIO编程(一般用作相机同步)

    参考GMSL-2 GPIO Operation.docx 应用手册(有需要,再翻译)。

    4LAN典型设置

    块图

    GMSL2典型块图
    D0~D3:并行数据位(4LAN)
    Clock:时钟位
    RAW12:图像格式
    Pixels-CSI-2:像素数据

    数据路径图

    请添加图片描述

    编程

    初始化

    为了成功初始化,强烈推荐回读每一个寄存器和之后仅仅更新指定的位。

    步骤 读/写 设备 从设备ID 寄存器 描述
    0 串化器 0x80 0002 7:4 0b1111 视频通道使能寄存器:每个位打开一个不同的视频通道
    1 串化器 0x80 0330 2:0 0b000 CSI模式寄存器:0b000:14模式;0b011:22模式;ob110:2*4模式
    2 串化器 0x80 0331 [5:4],[1:0] 0b11,0b00 通道计数器:2 * 4模式:位[5:4]对应端口B,位[1:0]对应端口A。1* 4模式:位[5:4]:对应端口B
    3 串化器 0x80 0332 7:0 0b1110 0100 通道映射寄存器1:1* 4模式:[7:6]控制D3B映射;[5:4]控制D2B 映射;[3:0]不关心;2* 4模式:[7:6]控制D1A映射;[5:4]控制D0A映射;[3:2]控制D3A映射;[1:0]控制D2A映射。
    4 串化器 0x80 0333 7:0 0b1110 0100 通道映射寄存器2:1* 4模式:[7:4]不关心;[3:2]控制D1B 映射;[1:0]控制D0B 映射。2* 4模式:[7:6]控制D1A映射;[5:4]控制D0A映射;[3:2]控制D3A映射;[1:0]控制D2A映射;
    5 串化器 0x80 0308 3:0 0b1111 CSI端口选择寄存器:[3:0]:指示每一个视频通道通过端口B(1✖4模式下活跃端口)获取数据。
    6 串化器 0x80 0311 7:0 0b1111 0000 开始视频通道寄存器:[7:4]:当端口B开始输出视频通道X、Y、Z和U。[3:0]:当端口A开始输出视频通道X,Y,Z和U。
    7 串化器 0x80 0314 7:0 0b1010 0010 X数据类型通道寄存器:[7]:设置为高。[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    8 串化器 0x80 0316 6:0 0b110 1100 Y数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    9 串化器 0x80 0318 6:0 0b110 0010 Z数据类型通道寄存器:[6]:数据类型通道使能,高有效。值为0x22代表不使用通道。[5:0]对应像素数据的hex编码数据类型
    10 串化器 0x80 031A 6:0 0b110 0010 U数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    11 解串器 0x90 0330 2:0 0b100 CSI模式寄存器:0b001:4 * 2模式;0b100:2 * 4模式
    12 解串器 0x90 0333 7:0 0b1001 1110 通道映射寄存器1:4 * 2模式:[7:6]控制D1D映射 。[5:4]控制D0D映射。[3:2]控制D1C映射。[1:0]控制D0C映射 ; 2 * 4模式:控制D1A映射、控制D0A映射、控制D3A映射、控制D2A映射。
    13 解串器 0x90 0334 7:0 0b1110 0100 通道映射寄存器2:4 * 2模式:[7:6]控制D1F映射 。[5:4]控制D0F映射。[3:2]控制D1E映射。[1:0]控制D0E映射 ; 2 * 4模式:控制D3B映射、控制D2B映射、控制D1B映射、控制D0B映射。
    14 解串器 0x90 040A 7:6 0b00 通道控制寄存器0:4 * 2模式:控制端口C通道数量。2 * 4模式:未使用
    15 解串器 0x90 044A 7:6 0b11 通道控制寄存器1:4 * 2模式:控制端口D通道数量。2 * 4模式:控制端口A通道数量
    16 解串器 0x90 048A 7:6 0b00 通道控制寄存器2:4 * 2模式:控制端口E通道数量。2 * 4模式:控制端口B通道数量
    17 解串器 0x90 04CA 7:6 0b00 通道控制寄存器3:4 * 2模式:控制端口F通道数量。2 * 4模式:未使用
    18 解串器 0x90 031D 4:0 0b0000 MIPI时钟速率寄存器0:4 * 2 模式:端口C控制MIPI时钟速率。2 * 4 模式:未使用
    19 解串器 0x90 0320 4:0 0b1 1000 MIPI时钟速率寄存器1:4 * 2 模式:端口D控制MIPI时钟速率。2 * 4 模式:端口A控制MIPI时钟速率
    20 解串器 0x90 0323 4:0 0b0 0000 MIPI时钟速率寄存器2:4 * 2 模式:端口E控制MIPI时钟速率。2 * 4 模式:端口B控制MIPI时钟速率。
    21 解串器 0x90 0326 4:0 0b0 0000 MIPI时钟速率寄存器3:4 * 2 模式:端口F控制MIPI时钟速率。2 * 4 模式:未使用。
    22 解串器 0x90 0050 1:0 0b00 X流通道选择寄存器:控制视频包从串化器发送到解串器的X管道。
    23 解串器 0x90 0051 1:0 0b01 Y流通道选择寄存器:控制视频包从串化器发送到解串器的Y管道。
    24 解串器 0x90 0052 1:0 0B10 Z流通道选择寄存器:控制视频包从串化器发送到解串器的Z管道。
    25 解串器 0x90 0053 1:0 0B11 U流通道选择寄存器:控制视频包从串化器发送到解串器的U管道。

    1LAN参考设置

    块图

    请添加图片描述

    数据路径图

    请添加图片描述

    编程

    接下来的寄存器,强烈推荐寄存器的目标位通过读、纠正、写来改变。而且在每一个组件完整寄存器文档里,位处理描述能够被找到。

    步骤 读/写 设备 从设备ID 寄存器 描述
    0 串化器 0x80 0002 7:4 0b1111 视频通道使能寄存器:每个位打开一个不同的视频通道
    1 串化器1 0x80 0330 2:0 0b000 CSI模式寄存器:0b000:14模式;0b011:22模式;ob110:2*4模式
    2 串化器1 0x80 0331 [5:4],[1:0] 0b00,0b00 通道计数器:2 * 4模式:位[5:4]对应端口B,位[1:0]对应端口A。1 * 4模式:位[5:4]:对应活跃端口
    3 串化器1 0x80 0332 7:0 0b1110 0100 通道映射寄存器1:1* 4模式:[7:6]控制D3B映射;[5:4]控制D2B 映射;[3:0]不关心;2* 4模式:[7:6]控制D1A映射;[5:4]控制D0A映射;[3:2]控制D3A映射;[1:0]控制D2A映射。
    4 串化器1 0x80 0333 7:0 0b1110 0100 通道映射寄存器2:1* 4模式:[7:4]不关心;[3:2]控制D1B 映射;[1:0]控制D0B 映射。2* 4模式:[7:6]控制D3B映射;[5:4]控制D2B映射;[3:2]控制D1B映射;[1:0]控制D0B映射;
    5 串化器1 0x80 0308 3:0 0b1111 CSI端口选择寄存器:[3:0]:指示每一个视频通道通过端口B(1✖4模式下活跃端口)获取数据。
    6 串化器1 0x80 0311 7:0 0b1111 0000 开始视频通道寄存器:[7:4]:当端口B通过视频通道X、Y、Z和U,[3:0]:通过端口A开始输出视频通道的X,Y,Z,U
    7 串化器1 0x80 0314 7:0 0b1110 1110 X数据类型通道寄存器:[7]:设置为高。[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    8 串化器1 0x80 0316 6:0 0b110 1100 Y数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    9 串化器1 0x80 0318 6:0 0b110 0010 Z数据类型通道寄存器:[6]:数据类型通道使能,高有效。值为0x22代表不使用通道。[5:0]对应像素数据的hex编码数据类型
    10 串化器1 0x80 031A 6:0 0b110 0010 U数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    11 串化器2 0x80 0002 7:4 0b1111 视频通道使能寄存器:每个位打开一个不同的视频通道
    12 串化器2 0x80 0330 2:0 0b000 CSI模式寄存器:0b000:14模式;0b011:22模式;ob110:2*4模式
    13 串化器2 0x80 0331 [5:4],[1:0] 0b00,0b00 通道计数器:2 * 4模式:位[5:4]对应端口B,位[1:0]对应端口A。1 * 4模式:位[5:4]:对应活跃端口
    14 串化器2 0x80 0332 7:0 0b1110 0100 通道映射寄存器1:1* 4模式:[7:6]控制D3B映射;[5:4]控制D2B 映射;[3:0]不关心;2* 4模式:[7:6]控制D1A映射;[5:4]控制D0A映射;[3:2]控制D3A映射;[1:0]控制D2A映射。
    15 串化器2 0x80 0333 7:0 0b1110 0100 通道映射寄存器2:1* 4模式:[7:4]不关心;[3:2]控制D1B 映射;[1:0]控制D0B 映射。2* 4模式:[7:6]控制D3B映射;[5:4]控制D2B映射;[3:2]控制D1B映射;[1:0]控制D0B映射;
    16 串化器2 0x80 0308 3:0 0b1111 CSI端口选择寄存器:[3:0]:指示每一个视频通道通过端口B(1✖4模式下活跃端口)获取数据。
    17 串化器2 0x80 0311 7:0 0b1111 0000 开始视频通道寄存器:[7:4]:当端口B通过视频通道X、Y、Z和U,[3:0]:通过端口A开始输出视频通道的X,Y,Z,U
    18 串化器2 0x80 0314 7:0 0b1110 1110 X数据类型通道寄存器:[7]:设置为高。[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    19 串化器2 0x80 0316 6:0 0b110 1100 Y数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    20 串化器2 0x80 0318 6:0 0b110 0010 Z数据类型通道寄存器:[6]:数据类型通道使能,高有效。值为0x22代表不使用通道。[5:0]对应像素数据的hex编码数据类型
    21 串化器2 0x80 031A 6:0 0b110 0010 U数据类型通道寄存器:[6]:数据类型通道使能,高有效。[5:0]对应像素数据的hex编码数据类型
    22 解串器 0x90 0330 2:0 0b100 CSI模式寄存器:0b001:4 * 2模式;0b100:2 * 4模式
    23 解串器 0x90 0333 7:0 0b1001 1110 通道映射寄存器1:4 * 2模式:[7:6]控制D1D映射 。[5:4]控制D0D映射。[3:2]控制D1C映射。[1:0]控制D0C映射 ; 2 * 4模式:控制D1A映射、控制D0A映射、控制D3A映射、控制D2A映射。
    24 解串器 0x90 0334 7:0 0b1110 0100 通道映射寄存器2:4 * 2模式:[7:6]控制D1F映射 。[5:4]控制D0F映射。[3:2]控制D1E映射。[1:0]控制D0E映射 ; 2 * 4模式:控制D3B映射、控制D2B映射、控制D1B映射、控制D0B映射。
    25 解串器 0x90 040A 7:6 0b00 通道控制寄存器0:4 * 2模式:控制端口C通道数量。2 * 4模式:未使用
    26 解串器 0x90 044A 7:6 0b11 通道控制寄存器1:4 * 2模式:控制端口D通道数量。2 * 4模式:控制端口A通道数量
    27 解串器 0x90 048A 7:6 0b00 通道控制寄存器2:4 * 2模式:控制端口E通道数量。2 * 4模式:控制端口B通道数量
    28 解串器 0x90 04CA 7:6 0b00 通道控制寄存器3:4 * 2模式:控制端口F通道数量。2 * 4模式:未使用
    29 解串器 0x90 031D 4:0 0b0000 MIPI时钟速率寄存器0:4 * 2 模式:端口C控制MIPI时钟速率。2 * 4 模式:未使用
    30 解串器 0x90 0320 4:0 0b1 1000 MIPI时钟速率寄存器1:4 * 2 模式:端口D控制MIPI时钟速率。2 * 4 模式:端口A控制MIPI时钟速率
    31 解串器 0x90 0323 4:0 0b0 0000 MIPI时钟速率寄存器2:4 * 2 模式:端口E控制MIPI时钟速率。2 * 4 模式:端口B控制MIPI时钟速率。
    32 解串器 0x90 0326 4:0 0b0 0000 MIPI时钟速率寄存器3:4 * 2 模式:端口F控制MIPI时钟速率。2 * 4 模式:未使用。
    33 解串器 0x90 0050 1:0 0b00 X流通道选择寄存器:控制视频包从串化器发送到解串器的X管道。
    34 解串器 0x90 0051 1:0 0b01 Y流通道选择寄存器:控制视频包从串化器发送到解串器的Y管道。
    35 解串器 0x90 0052 1:0 0b10 Z流通道选择寄存器:控制视频包从串化器发送到解串器的Z管道。
    36 解串器 0x90 0053 1:0 0b11 U流通道选择寄存器:控制视频包从串化器发送到解串器的U管道。
    37 解串器 0x90 040B 7:0 0b0000 0111 X通道映射使能寄存器:每一个寄存器对应一个单独的DT/VC 映射使能.设置一个位为高,为了每一个数据类型必须被映射。FS和FE可能依赖应用。
    38 解串器 0x90 048B 7:0 0b0000 0111 Y通道映射使能寄存器:每一个寄存器对应一个单独的DT/VC 映射使能.设置一个位为高,为了每一个数据类型必须被映射。FS和FE可能依赖应用。
    39 解串器 0x90 048B 7:0 0b0000 0111 Z通道映射使能寄存器:每一个寄存器对应一个单独的DT/VC 映射使能.设置一个位为高,为了每一个数据类型必须被映射。FS和FE可能依赖应用。
    40 解串器 0x90 04CB 7:0 0b0000 0111 U通道映射使能寄存器:每一个寄存器对应一个单独的DT/VC 映射使能.设置一个位为高,为了每一个数据类型必须被映射。FS和FE可能依赖应用。
    41 解串器 0x90 042D 7:0 0b0001 0101 X通道映射目标寄存器:为了每个映射使能,目标控制器应该被指定
    42 解串器 0x90 046D 7:0 0b0001 0101 Y通道映射目标寄存器:为了每个映射使能,目标控制器应该被指定
    43 解串器 0x90 04AD 7:0 0b0001 0101 Z通道映射目标寄存器:为了每个映射使能,目标控制器应该被指定
    44 解串器 0x90 04ED 7:0 0b0001 0101 U通道映射目标寄存器:为了每个映射使能,目标控制器应该被指定
    45 解串器 0x90 040D 7:0 0b0010 1110 X管道映射0 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    46 解串器 0x90 040E 7:0 0b0010 1110 X管道映射0 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    47 解串器 0x90 040F 7:0 0b0000 0000 X管道映射1 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    48 解串器 0x90 0410 7:0 0b0000 0000 X管道映射1 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    49 解串器 0x90 0411 7:0 0b0000 0001 X管道映射2 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    50 解串器 0x90 0412 7:0 0b0000 0001 X管道映射2 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    51 解串器 0x90 044D 7:0 0b0110 1100 Y管道映射0 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    52 解串器 0x90 044E 7:0 0b0010 1110 Y管道映射0 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    53 解串器 0x90 044F 7:0 0b0100 0000 Y管道映射1 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    54 解串器 0x90 0450 7:0 0b0100 0000 Y管道映射1 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    55 解串器 0x90 0451 7:0 0b0100 0001 Y管道映射2 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    56 解串器 0x90 0452 7:0 0b0100 0001 Y管道映射2 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    57 解串器 0x90 048D 7:0 0b0110 1100 Z管道映射0 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    58 解串器 0x90 048E 7:0 0b1110 1100 Z管道映射0 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    59 解串器 0x90 048F 7:0 0b0100 0000 Z管道映射1 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    60 解串器 0x90 0490 7:0 0b1100 0000 Z管道映射1 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    61 解串器 0x90 0491 7:0 0b0100 0001 Z管道映射2 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    62 解串器 0x90 0492 7:0 0b1100 0001 Z管道映射2 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    63 解串器 0x90 04CD 7:0 0b1110 1100 U管道映射0 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    64 解串器 0x90 04CE 7:0 0b0100 0000 U管道映射1 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    65 解串器 0x90 04CF 7:0 0b1100 0000 U管道映射1 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    66 解串器 0x90 04D0 7:0 0b0100 0001 U管道映射2 资源寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    67 解串器 0x90 04D1 7:0 0b1100 0001 U管道映射2 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。
    68 解串器 0x90 04D2 7:0 0b1000 0001 U管道映射2 目标寄存器:[7:6] 指定资源VC。[5:0]指定资源DT。

    典型调试debug技巧

    1. 当MIPI数据正在发送时,验证串化器的PCLKDET 位为高。
  • 每个视频管道被使用(典型图像传感器发送一个视频管道每个数据类型).
  • 如果PCLKDET位 验证不为高时。
  • 无效的MIPI数据从串化器发送。
  • 串化器被编程,期望图像传感器(寄存器0x0331)的正确数量的通道。
  • 串化器被编程,图像传感器(寄存器0x332,和寄存器0x333)正确通道交换。
  • 串化器被编程为图像传感器(寄存器0x334)正确通道极性。
  • 串化器MIPI数据正确路线是从MIPI控制器到视频管道。验证寄存器0x0314、0x0316、0x0318和0x031A编程值是正确值。
    1. 如果 串化器PCLKDET 位设置为高,验证解串器的VIDEO_LOCK 位置高。PCLKDET位意味着串化器到解串器 收发大多数无效的MIPI数据。VIDEO_LOCK意味着解串器大多数接收到串化器的无效MIPI数据和解串器从MIPI段口发送MIPI数据。
  • 如果PCLKDET为高,但是VIDEO_LOCK是低,验证以下内容:
  • GMSL PHY 为自由错误。
  • 串化器的视频管道设置为传输数据,和视频管道在解串起设置为接受数据时。寄存器0x0002在解串器和串化器都需要使能/可用每个视频管道和每个视频管道不使用/不可用。
    1. 如果PCLKDET位置高,和VIDEO_LOCK位设置为高,和SOC仍然识别到无效的MIPI数据。验证以下内容:
  • MIPI发送器正确的编程为SOC的期望。

  • 通道数量
  • 通道交换
  • 通道权限
  • MIPI时钟速速率
  • 数据通路内部到解串器是正确的。

  • 视频管道到MIPI控制器编程。Use When-How-DT-V-Mapping.ppt for additional information on how to properly program the deserializer.
    1. 错误
  • 解串器的LCRC错误 的以下原因:
  • 数据从两个串化器发送到相同的管道。
  • 在串化器一侧没有连续的MIPI时钟。
  • 脚本样例

    // ES2.1 MAX9295 and MAX 9296
    // Image Sensor:2.3MP Image Sensor
    //	Spece:
    //	4-lane MIPI CSI-2.
    //	500-700 Mbps/lane
    //	RAW12 格式数据
    //	Serializer:MAX9295A(ES2.1)
    //	Spece:
    //		RAW12 通路到视频管道Y
    
    // 解串器:MAX9296A(ES2.1)
    //	Spece:
    //	RAW12通过控制器1经过DT/VC映射。FS/FE不使用。
    //	4-lane MIPI CSI-2 输出
    //	1.5 Gbps/lane
    
    /* 串化器和解串器 GMSL 连接重置 */
    0x04, 0x90, 0x00, 0x10, 0x31, //采用重置Oneshot改变
    //延时 100ms
    0x04, 0x80, 0x00, 0x10, 0x21, //采用重置Oneshot改变
    //延时 100ms
    
    /* 串化器MIPI CSI-2 PHY 设置 */
    0x04, 0x80, 0x03, 0x30, 0x00, // 设置串化器为1x4 模式。(phy_config = 0)
    0x04, 0x80, 0x03, 0x32, 0xE4, // 验证通道映射是默认值。(phy1_lane_map = 4'hE, phy2_lane_map = 4'h4 )
    0x04, 0x80, 0x03, 0x33, 0xE4, // 条件通道映射
    0x04, 0x80, 0x03, 0x31, 0x33, // 串化器设置4通道映射 (ctrl1_num_lanes = 3)
    0x04, 0x80, 0x03, 0x11, 0xF0, // A端口和B端口开始发送视频。
    0x04, 0x80, 0x03, 0x08, 0x7F, // 使能信息通道。端口A和B加入开始位。从B端口的所有通道使用数据。
    
    /*	串化器数据类型到视频通道路线(串化器数据流) */
    0x04, 0x80, 0x03, 0x14, 0xF0, // Route 16bit DCG (DT = 0x30) to VIDEO_X (Bit 6 enable)
    0x04, 0x80, 0x03, 0x16, 0x6C, // Route 12bit RAW (DT = 0x2C) to VIDEO_Y (Bit 6 enable)
    0x04, 0x80, 0x03, 0x18, 0x52, // Route EMBEDDED8 to VIDEO_Z (Bit 6 enable)
    0x04, 0x80, 0x03, 0x1A, 0x22, // Unused VIDEO_U
    
    /* 串化器使能发送视频数据,从串化器到解串器	*/
    0x04, 0x80, 0x00, 0x02, 0xF3, // 确保每个管道开始发送。 (VID_TX_EN_X/Y/Z/U = 1)
     
    /* 解串器MIPI CSI-2 PHY 设置 */
    0x04, 0x90, 0x03, 0x30, 0x04, // 设置MIPI Phy 模式: 2x(1x4) mode
    0x04, 0x90, 0x03, 0x33, 0x4E, // 通道映射 - 开始4通道端口映射
    0x04, 0x90, 0x03, 0x34, 0xE4, // 加入通道映射
    0x04, 0x90, 0x04, 0x0A, 0x00, // 通道计数 - 0 lanes striping on controller 0 (Port A slave in 2x1x4 mode).
    0x04, 0x90, 0x04, 0x4A, 0xC0, // 通道计数 - 4 lanes striping on controller 1 (Port A master in 2x1x4 mode).
    0x04, 0x90, 0x04, 0x8A, 0xC0, // 通道计数 - 4 lanes striping on controller 2 (Port B master in 2x1x4 mode).
    0x04, 0x90, 0x04, 0xCA, 0x00, // 通道计数 - 0 lanes striping on controller 3 (Port B slave in 2x1x4 mode).
    
    /* 解串器MIPI CSI-2 时钟速率设置	*/
    0x04, 0x90, 0x03, 0x1D, 0x2F, // MIPI clock rate - 1.5Gbps from controller 0 clock (Port A slave in 2x1x4 mode).
    0x04, 0x90, 0x03, 0x20, 0x2F, // MIPI clock rate - 1.5Gbps from controller 1 clock (Port A master in 2x1x4 mode).
    0x04, 0x90, 0x03, 0x23, 0x2F, // MIPI clock rate - 1.5Gbps from controller 2 clock (Port B master in 2x1x4 mode).
    0x04, 0x90, 0x03, 0x26, 0x2F, // MIPI clock rate - 1.5Gbps from controller 2 clock (Port B slave in 2x1x4 mode).
    
    /* 解串器流选择编程	*/
    0x04, 0x90, 0x00, 0x50, 0x00, // Route data from stream 0 to pipe X
    0x04, 0x90, 0x00, 0x51, 0x01, // Route data from stream 0 to pipe Y
    0x04, 0x90, 0x00, 0x52, 0x02, // Route data from stream 0 to pipe Z
    0x04, 0x90, 0x00, 0x53, 0x03, // Route data from stream 0 to pipe U
    0x04, 0x90, 0x03, 0x32, 0xF0, // 使能所有的PHYS。
    
    /* 串化器GPIO编程	*/
    0x04, 0x80, 0x02, 0xbe, 0x90, // Enable sensor power down pin.
    0x04, 0x80, 0x02, 0xbf, 0x60, // Enable sensor reset pin.
    0x04, 0x80, 0x03, 0xF1, 0x89, // Output RCLK to sensor.
    

    附录1

    MIPI CSI-2 数据类型有唯一的6位 16进制的编码对应。图像传感器有能力编程确定数据类型指定的hex编码。询问图像传感器数据手册验证hex编码。
    图像数据类型与典型hex编码

    数据类型 典型hex编码
    RGB888 0x24
    RGB666 0x23
    RGB565 0x22
    YUV422 8-bit 0x1E
    YUV422 10-bit 0x1F
    RAW8 0x2A
    RAW10 0x2B
    RAW12 0x2C
    RAW14 0x2D
    RAW16 0x2E
    Embedded 8-bit 0x12
    物联沃分享整理
    物联沃-IOTWORD物联网 » GMSL2-CSI2 MAX9295与MAX9296配对的通用编程指南

    发表回复