3. 多Camera硬件拓扑:独立Camera模组、双目/多目模组、ToF与RGB Camera组合、硬件同步信号线(FSIN/VSYNC)
在AR系统中,多Camera的硬件拓扑直接决定了同步策略的复杂度和HAL层的实现路径。不同的模组形态和信号连接方式,对驱动框架、Buffer管理和时间戳校准提出了差异化的要求。本节将逐一剖析四种典型拓扑及其在HAL层的技术要点。
3.1 独立Camera模组拓扑
独立模组是最基础的拓扑形态,每个Camera模组拥有独立的I²C控制通道、独立的MIPI CSI-2数据通道和独立的时钟源。这种结构在硬件上解耦程度最高,但同步难度也最大。
关键特征: 各模组无物理同步信号连接,帧起始完全依赖各自内部晶振,漂移不可避免。
| 参数 | 独立模组 | 对HAL的影响 |
|---|---|---|
| 时钟源 | 独立晶振(±50ppm) | 需软件PLL或TS校准 |
| MIPI通道 | 独立CSI-2 Lane | 需多路虚拟通道聚合 |
| 同步方式 | 纯软件同步 | 依赖驱动层时间戳对齐 |
| 典型场景 | 前后置RGB分离 | SLAM初始化阶段 |
3.2 双目/多目模组拓扑
双目或多目模组在硬件层面已经做了集成设计,通常共享PCB板级时钟或PLL,部分模组还提供了硬件触发线。这种拓扑在AR透视和手势识别中广泛使用。
- 共享时钟源: 主Camera输出MCLK给从Camera,从机PLL锁定主机频率,帧率偏差可控制在±1帧以内。
- 硬件触发线: 主Camera的FSIN(帧同步输入)或VSYNC(垂直同步)信号直接连接到从Camera的触发引脚。
- 数据通道: 通常通过MIPI CSI-2虚拟通道(VC)在单条Lane上传输多路数据。
HAL实现要点: 对于共享时钟的双目模组,HAL层应优先使用硬件触发模式,将从Camera配置为“Slave Mode”,避免软件轮询带来的延迟抖动。
3.3 ToF与RGB Camera组合拓扑
ToF(Time-of-Flight)Camera与RGB Camera的组合是AR深度感知的常见方案。两者在曝光机制、帧率和分辨率上差异巨大,硬件拓扑设计需要特别关注。
| 特性 | ToF Camera | RGB Camera | 同步难点 |
|---|---|---|---|
| 曝光方式 | 全局快门(Global Shutter) | 卷帘快门(Rolling Shutter) | 曝光窗口对齐困难 |
| 典型帧率 | 30fps / 60fps | 30fps / 60fps | 帧率匹配需精确 |
| 数据量 | 深度图 + 置信度图 | YUV / RAW | 带宽分配冲突 |
| 同步信号 | 需要外部触发 | 可输出VSYNC | 信号电平匹配 |
常见陷阱: ToF模组的激光脉冲可能与RGB的卷帘快门扫描产生干扰。HAL层必须确保ToF的曝光窗口完全落在RGB帧的消隐期(Blanking Interval)内,否则会出现深度图条纹噪声。
3.4 硬件同步信号线:FSIN与VSYNC
FSIN(Frame Sync Input)和VSYNC(Vertical Sync)是多Camera硬件同步的核心信号线。HAL层开发人员必须理解这两种信号在驱动配置中的差异。
3.4.1 FSIN(帧同步输入)
FSIN通常是一个外部触发输入引脚,Camera Sensor在接收到FSIN上升沿后开始曝光。适用于需要精确控制曝光起始时刻的场景。
// HAL层FSIN配置示例(伪代码)
struct sensor_fsin_config {
uint32_t fsin_pin; // GPIO编号
uint32_t fsin_polarity; // 0:上升沿触发, 1:下降沿触发
uint32_t fsin_delay_us; // 触发后延迟曝光时间
uint32_t fsin_mode; // 0:单次触发, 1:连续触发
};
// 配置从Camera为Slave模式
ioctl(sensor_fd, VIDIOC_S_FSIN_CONFIG, &fsin_cfg);
3.4.2 VSYNC(垂直同步)
VSYNC是Sensor输出的帧同步信号,表示一帧数据传输的开始。在多Camera系统中,主Camera的VSYNC可以作为从Camera的FSIN输入。
| 信号类型 | 方向 | 典型电平 | HAL配置项 |
|---|---|---|---|
| FSIN | 输入(从SoC到Sensor) | 1.8V / 3.3V | V4L2_CID_FSIN_CONFIG |
| VSYNC | 输出(从Sensor到SoC) | 1.8V | V4L2_CID_VSYNC_IRQ |
| HSYNC | 输出(行同步) | 1.8V | V4L2_CID_HSYNC_POLARITY |
3.5 HAL层拓扑适配策略总结
针对上述四种拓扑,HAL层在初始化阶段需要执行不同的适配逻辑:
- 独立模组: 启用软件时间戳校准线程,周期性计算各Camera的帧偏移量并补偿。
- 双目模组: 优先检测硬件触发线,若存在则配置为Slave模式;否则退化为软件同步。
- ToF+RGB组合: 配置曝光窗口对齐参数,在驱动层插入VDELAY调整。
- FSIN/VSYNC信号: 在设备树(DTS)中声明GPIO复用关系,确保中断优先级一致。
核心原则: 硬件拓扑决定同步上限,HAL层实现决定同步精度。在AR系统中,帧偏移应控制在±500μs以内,否则会导致明显的视觉抖动和深度误差。