4. 工业相机与传感器接入

在 IGX 工业视觉系统中,相机与传感器的接入方式直接决定了系统的带宽上限、同步精度和部署复杂度。本节围绕四种主流接口——GigE Vision、USB3 Vision、MIPI CSI-2 与 Camera Serial Interface(CSI)——展开,重点讲清它们各自适合什么场景、触发与曝光如何控制、多相机时间戳如何对齐,以及带宽如何规划。

一、四种接口的定位与选型依据

GigE Vision 基于千兆以太网物理层,使用 GVCP 控制协议和 GVSP 流协议,线缆最长可达 100 米,支持 PoE 供电,天然适合多相机分布式部署。其单口 1 Gbps 实际有效载荷约 100~115 MB/s,万兆版本可达约 1 GB/s。USB3 Vision 基于 USB 3.0/3.1,理论 5~10 Gbps,实际持续带宽约 350~400 MB/s(USB3.0),线缆通常不超过 3~5 米,适合单机近距离、中等帧率场景。MIPI CSI-2 是嵌入式 SoC 上的高速串行接口,通过 D-PHY 或 C-PHY 传输,直接连到 IGX 的 CSI 接口,延迟极低、功耗小,但线缆极短(通常 15~30 cm),适合板载或模组化相机。Camera Serial Interface 是 MIPI CSI 的规范名称,工程中常混用,实际指同一套物理与协议层。

选型时先看三个约束:传输距离、单相机带宽需求、是否需要硬件级同步。远距离多机选 GigE Vision;近距离高帧率选 USB3 Vision;超低延迟嵌入式选 MIPI CSI-2。若系统同时存在多种接口,IGX 可通过 PCIe 扩展网卡、USB 控制器和 CSI 接口分别接入,但需注意不同接口的时钟域不同,跨接口同步必须依赖外部触发或时间戳对齐。

工业相机接口接入与同步链路 GigE Vision 相机 100m / PoE / 1Gbps GVCP + GVSP USB3 Vision 相机 3~5m / 5Gbps U3V 控制 + 流 MIPI CSI-2 相机 15~30cm / D-PHY CSI 规范 / 低延迟 外部传感器 编码器 / 光电开关 触发信号源 PCIe 网卡 Jumbo Frame 9014 USB 控制器 xHCI / 独立通道 CSI 接收器 D-PHY 4-lane GPIO / 触发板 光耦隔离 / 5V NVIDIA IGX 平台 统一时间戳 / PTP 硬件时钟 / 触发分发 同步策略:硬件触发(GPIO)→ 曝光控制 → 时间戳对齐(PTP / 硬件时钟)→ 带宽规划(分辨率 × 帧率 × 位深)

二、触发同步与曝光控制

工业场景中,相机不能自由运行,必须由外部事件触发。常见触发源包括光电开关、编码器、PLC 输出或 IGX 的 GPIO。触发信号进入相机后,相机在固定延迟内启动曝光,曝光时间由寄存器设定。以 GigE Vision 相机为例,触发模式通常配置为 TriggerMode=On、TriggerSource=Line0、TriggerActivation=RisingEdge,曝光时间通过 ExposureTime 设置,单位微秒。若使用编码器触发,还需设置分频或倍频,使相机在固定位移处曝光,避免速度波动导致图像拉伸或压缩。

曝光控制有两个关键点:一是曝光时间与运动模糊的关系,曝光时间越长,运动模糊越大,通常要求曝光时间内物体移动不超过 1 个像素;二是曝光与增益的权衡,优先增加曝光时间而非增益,因为增益会放大噪声。对于高速产线,可采用频闪光源配合短曝光,将曝光时间压缩到 50~100 μs。

三、多相机时间戳对齐

多相机系统中,每台相机都有自己的内部时钟,若各自自由运行,时间戳会逐渐漂移。对齐方法分三个层次:第一层是硬件触发,所有相机共用同一个触发信号,曝光起始时刻由硬件同步,误差在纳秒级;第二层是 PTP(IEEE 1588)时间同步,GigE Vision 相机支持 PTP,通过交换机与 IGX 主时钟同步,时间戳统一到同一时间基准;第三层是软件时间戳,在采集卡或驱动层记录到达时间,精度较低,通常用于辅助校验。

实际部署中,推荐“硬件触发 + PTP”组合:触发信号保证曝光同步,PTP 保证时间戳可比较。若相机不支持 PTP,可用 IGX 的 GPIO 输出一个周期脉冲作为公共时基,各相机在触发上升沿记录时间戳,再通过标定补偿固定延迟。标定方法:用同一闪光事件同时照射所有相机,记录各相机时间戳,差值即为固定延迟,写入配置进行补偿。

四、带宽规划与计算示例

带宽规划的核心公式:单相机带宽 = 分辨率宽 × 高 × 位深 × 帧率 ÷ 8(字节)。以 500 万像素、8 位灰度、30 fps 为例:2448 × 2048 × 8 × 30 ÷ 8 ≈ 150 MB/s。若使用 GigE Vision 千兆网,单口有效带宽约 115 MB/s,则一台相机已接近上限,需改用万兆网或降低帧率。若使用 USB3 Vision,350 MB/s 可支持两台同规格相机。若使用 MIPI CSI-2,4-lane D-PHY 每 lane 约 1.5 Gbps,4 lane 约 6 Gbps,可支持更高帧率,但线缆长度受限。

多相机时,总带宽不能超过接口总带宽的 70%~80%,需预留协议开销和突发余量。例如 4 台 200 万像素、8 位、60 fps 相机,单台约 120 MB/s,总需求 480 MB/s,千兆网无法承载,需万兆网或分组接入。若使用 USB3,需注意 USB 控制器共享带宽,建议每台相机独占一个控制器或使用 PCIe USB 扩展卡。

带宽估算时,实际有效载荷约为理论值的 70%~85%。GigE Vision 建议按 100 MB/s 估算,USB3 Vision 按 350 MB/s 估算,MIPI CSI-2 按 lane 数 × 1.2 Gbps 估算有效数据率。

五、配置检查清单

检查项推荐值 / 方法判断依据
触发模式TriggerMode=On,上升沿相机仅在触发时曝光
曝光时间≤ 运动模糊允许值物体移动 ≤ 1 像素
PTP 同步主时钟为 IGX,从时钟为相机时间戳偏差 < 1 μs
带宽余量总需求 ≤ 接口带宽 × 0.75无丢帧、无溢出
线缆长度GigE ≤ 100m,USB3 ≤ 3m,CSI ≤ 30cm链路稳定,无重传

完成上述配置后,可用 arv-tool 或相机厂商 SDK 读取实际帧率、时间戳和丢帧计数。若时间戳偏差持续增大,检查 PTP 是否锁定;若出现丢帧,优先降低帧率或分辨率,再检查网卡巨帧和中断合并设置。带宽规划不是一次性的,需在系统集成后实测验证,确保长时间运行稳定。