意图
本文档提供了 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典型设置
块图
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技巧
- 当MIPI数据正在发送时,验证串化器的PCLKDET 位为高。
- 每个视频管道被使用(典型图像传感器发送一个视频管道每个数据类型).
- 如果PCLKDET位 验证不为高时。
- 无效的MIPI数据从串化器发送。
- 串化器被编程,期望图像传感器(寄存器0x0331)的正确数量的通道。
- 串化器被编程,图像传感器(寄存器0x332,和寄存器0x333)正确通道交换。
- 串化器被编程为图像传感器(寄存器0x334)正确通道极性。
- 串化器MIPI数据正确路线是从MIPI控制器到视频管道。验证寄存器0x0314、0x0316、0x0318和0x031A编程值是正确值。
- 如果 串化器PCLKDET 位设置为高,验证解串器的VIDEO_LOCK 位置高。PCLKDET位意味着串化器到解串器 收发大多数无效的MIPI数据。VIDEO_LOCK意味着解串器大多数接收到串化器的无效MIPI数据和解串器从MIPI段口发送MIPI数据。
- 如果PCLKDET为高,但是VIDEO_LOCK是低,验证以下内容:
- GMSL PHY 为自由错误。
- 串化器的视频管道设置为传输数据,和视频管道在解串起设置为接受数据时。寄存器0x0002在解串器和串化器都需要使能/可用每个视频管道和每个视频管道不使用/不可用。
- 如果PCLKDET位置高,和VIDEO_LOCK位设置为高,和SOC仍然识别到无效的MIPI数据。验证以下内容:
-
MIPI发送器正确的编程为SOC的期望。
-
数据通路内部到解串器是正确的。
- 视频管道到MIPI控制器编程。Use When-How-DT-V-Mapping.ppt for additional information on how to properly program the deserializer.
- 错误
- 解串器的LCRC错误 的以下原因:
- 数据从两个串化器发送到相同的管道。
- 在串化器一侧没有连续的MIPI时钟。
脚本样例
0x04, 0x90, 0x00, 0x10, 0x31,
0x04, 0x80, 0x00, 0x10, 0x21,
0x04, 0x80, 0x03, 0x30, 0x00,
0x04, 0x80, 0x03, 0x32, 0xE4,
0x04, 0x80, 0x03, 0x33, 0xE4,
0x04, 0x80, 0x03, 0x31, 0x33,
0x04, 0x80, 0x03, 0x11, 0xF0,
0x04, 0x80, 0x03, 0x08, 0x7F,
0x04, 0x80, 0x03, 0x14, 0xF0,
0x04, 0x80, 0x03, 0x16, 0x6C,
0x04, 0x80, 0x03, 0x18, 0x52,
0x04, 0x80, 0x03, 0x1A, 0x22,
0x04, 0x80, 0x00, 0x02, 0xF3,
0x04, 0x90, 0x03, 0x30, 0x04,
0x04, 0x90, 0x03, 0x33, 0x4E,
0x04, 0x90, 0x03, 0x34, 0xE4,
0x04, 0x90, 0x04, 0x0A, 0x00,
0x04, 0x90, 0x04, 0x4A, 0xC0,
0x04, 0x90, 0x04, 0x8A, 0xC0,
0x04, 0x90, 0x04, 0xCA, 0x00,
0x04, 0x90, 0x03, 0x1D, 0x2F,
0x04, 0x90, 0x03, 0x20, 0x2F,
0x04, 0x90, 0x03, 0x23, 0x2F,
0x04, 0x90, 0x03, 0x26, 0x2F,
0x04, 0x90, 0x00, 0x50, 0x00,
0x04, 0x90, 0x00, 0x51, 0x01,
0x04, 0x90, 0x00, 0x52, 0x02,
0x04, 0x90, 0x00, 0x53, 0x03,
0x04, 0x90, 0x03, 0x32, 0xF0,
0x04, 0x80, 0x02, 0xbe, 0x90,
0x04, 0x80, 0x02, 0xbf, 0x60,
0x04, 0x80, 0x03, 0xF1, 0x89,
附录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 |
|