纯翻译 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-CSI2 MAX9295和MAX9296配对通用过程 编程指南_第1张图片
D0~D3:并行数据位(4LAN)
Clock:时钟位
RAW12:图像格式
Pixels-CSI-2:像素数据

数据路径图

纯翻译 GMSL2-CSI2 MAX9295和MAX9296配对通用过程 编程指南_第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参考设置

块图

纯翻译 GMSL2-CSI2 MAX9295和MAX9296配对通用过程 编程指南_第3张图片

数据路径图

纯翻译 GMSL2-CSI2 MAX9295和MAX9296配对通用过程 编程指南_第4张图片

编程

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

步骤 读/写 设备 从设备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

你可能感兴趣的:(嵌入式,Linux系统基础,单片机,嵌入式硬件)