Camera GMSL - Virtual Channel 、Video Pipe、Stream ID概念

一、虚拟通道(VC, Virtual Channel)

1,什么是虚拟通道(VC)?

虚拟通道是 MIPI CSI-2 接口中的一个重要概念。

它允许多个独立的视频流源共享同一组物理的MIPI数据通道(Lane)进行传输。

每个虚拟通道都有单独的编号(通常从VC0到VC3或更多,最多支持16个VC通道),CSI-2数据包中包含VC编号字段:

数据包结构举例:
| VC编号 | 数据类型(DT) | 数据Payload |

VC编号可取值为0~3(基本模式)或0~15(扩展模式)

2,虚拟通道的作用:

同时传输多个摄像头视频

单个MIPI接口接多个摄像头传感器时,每个摄像头占用一个独立的虚拟通道,数据互不干扰。

区分不同数据类型

单个摄像头传输多种类型数据(如图像、嵌入式数据)时,也可利用虚拟通道进行数据流区分。

3,举个例子:

假设两个摄像头共享一个MIPI接口:

摄像头

虚拟通道

前视摄像头

VC=0

后视摄像头

VC=1

芯片收到数据后,通过虚拟通道号来区分数据分别属于哪个摄像头。


二、视频通道(Video Pipes)

1, 什么是视频通道(Video Pipes)?

视频通道(Pipe)是芯片内部的一种逻辑数据路径,用于处理并转发CSI-2数据到后续的链路传输阶段(GMSL传输链路)。

芯片如MAX9295D,内部会定义多个视频Pipe(如X、Y、Z、U):

CSI-2数据输入 → [芯片内部MIPI控制器] → 视频Pipe → GMSL链路发送出去

每个视频Pipe可以独立开启或关闭、独立配置DT、VC过滤设置,以灵活管理从CSI-2到GMSL的数据传输。

2,视频通道的作用:

•允许芯片内部灵活地对不同数据流进行单独处理;

•支持不同数据通道(CSI端口A、端口B)映射到指定的视频Pipe上;

•可以通过Pipe过滤指定的数据类型或虚拟通道。

3,举个例子:

芯片默认的视频Pipe映射方式:

•CSI端口A的数据默认发送到 Pipe X;

•CSI端口B的数据默认发送到 Pipe Z。

比如你接入了两个摄像头:

CSI端口A → 摄像头1(RAW数据)
CSI端口B → 摄像头2(YUV数据)

则默认数据流动为:

摄像头1 (CSI端口A) → Pipe X
摄像头2 (CSI端口B) → Pipe Z

Pipe 可以单独启用或禁用,可以对输入的数据流进行过滤,例如只传送RAW格式的数据,YUV数据则屏蔽掉。


三、Stream ID

1,什么是Stream ID?

Stream ID(流标识符)是视频数据在从加串器(Serializer)传输到解串器(Deserializer)的链路上传输时所附带的标识。

Serializer 将数据发送给 Deserializer 时,每个 Pipe 的数据都需赋予一个独特的Stream ID,Deserializer 根据这个ID确定数据的去向,避免混乱。

视频数据在Serializer → GMSL链路 → Deserializer:
视频Pipe X的数据 → Stream ID=0
视频Pipe Z的数据 → Stream ID=2

Deserializer接收数据后:
Stream ID=0的数据 → 映射到解串器输出端口0
Stream ID=2的数据 → 映射到解串器输出端口2

2, Stream ID的作用:

•用于区分和路由多个视频流在链路传输中的数据;

•尤其适用于“多个加串器对应单个解串器”这种复杂的网络拓扑结构,防止数据混乱。

3, 举个例子:

当你有多个Serializer发送数据给单个Deserializer时:

Serializer序号

视频Pipe

Stream ID

Serializer A

Pipe X

0

Serializer A

Pipe Z

1

Serializer B

Pipe X

2

Serializer B

Pipe Z

3

Deserializer收到数据后,根据Stream ID明确区分数据源:

•Stream ID=0 → Serializer A 的 Pipe X

•Stream ID=1 → Serializer A 的 Pipe Z

•Stream ID=2 → Serializer B 的 Pipe X

•Stream ID=3 → Serializer B 的 Pipe Z

这样数据即使在链路上传输合并,也能被正确识别和区分。


四、三者之间的关系总结:

[SENSOR] → CSI‑2   -----→     [MAX9295]
               lane: 0 1 2 3
                VC = N (相同)

pipe mapping:
lane0 -> pipe X
lane1 -> pipe Y
lane2 -> pipe Z
lane3 -> pipe U

加串器MAX9295配置:
 - 每个pipe设置允许VC N(VC_SELZ)
 - 为pipe X/Y/Z/U分别分配Stream ID 0/1/2/3(TX_STR_SEL)

GMSL2 发送:
 - packets + Stream IDs ->对应pipe数据传输到MAX9296

MAX9296 解串:
 - 根据 Stream ID 恢复 pipe 顺序
 - 拆分为四条 CSI 输出或合并送往 CSI‑2 接口
 - 包内 VC 字段同样保留,用于上层 demux
项目定义作用
Virtual ChannelMIPI CSI‑2 报头标签,标识 pixel stream区分多路流,可用于 multiplexing
Video PipeMAX9295 内部数据 lane 对应处理单元(X, Y, Z, U)并行处理每条 lane,承载 VC 数据
Stream IDGMSL2 链路中的 pipe 标识,值 0–3解串时路由回正确 pipe 避免冲突 、 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值