RDK X5 拥有两路独立 4Lane MIPI CSI(CSI0/CSI1)+ 独立 ISP + 硬件同步触发单元,同步分 4 种方案,按精度从低到高:软件时间戳对齐 → 软件外触发同步 → 硬件共快门同步(推荐双目 SLAM)→ 硬件主从帧同步。
一、核心同步指标定义
- 帧曝光同步误差:双目同时开始感光的时间差(双目 SLAM 要求<100μs,工业高精度<10μs)
- 帧输出时间戳误差:图像传到内存的时间差
- 全局快门相机:同步难度低;卷帘快门相机必须硬件同步否则运动视差严重
二、方案 1:软件时间戳软同步(精度最差,仅静态场景)
原理
两路相机独立采集,RDK 内核在图像 Buffer打上系统 CLOCK_MONOTONIC 时间戳,上层代码按时间戳匹配同帧。
实现步骤
- 两路 mipi_cam 节点独立启动,不配置触发;
- 获取 frame 时读取
hobot_vio帧结构体内pts时间戳;每一帧有独立的时间戳。 - 设定时间窗口阈值(如 ±1ms),左右帧 pts 落在窗口内视为一对匹配帧。
代码片段(伪代码)
c
运行
sp_get_frame(fd0, &frame_left); sp_get_frame(fd1, &frame_right); // 匹配规则:时间差小于1ms if(fabs(frame_left.pts - frame_right.pts) < 1000000){ stereo_match(&frame_left, &frame_right); }缺点
- 误差 5~20ms,运动物体视差错位,不能用于双目测距 / SLAM;
- 负载波动、丢帧会大量匹配失败。
适用场景
静态物品识别、双路监控无运动需求。
三、方案 2:硬件外部触发同步(最高精度,工业双目标配)
硬件原理
RDK X5 引出同步触发 GPIO(SYNC_OUT/SYNC_IN)
- 主板输出一路同步方波(硬件定时器生成精准脉冲);
- 脉冲同时接入 CSI0、CSI1 两个 Sensor 的 TRIG 触发引脚;
- 脉冲到来瞬间,左右 Sensor 同时开启曝光、同时读出图像;
- 两路 MIPI 独立传输,但曝光起点完全同步。
硬件接线
- RDK X5 SYNC_OUT → 左相机 TRIG、右相机 TRIG;
- 两路Sensor TRIG 引脚共接同一触发脉冲;
- Sensor 配置为外部硬件触发模式(寄存器设置)。
设备树配置关键
dts
&csi0 { status = "okay"; >曝光同步误差 <10μs,满足双目 SLAM、3D 重建、高速运动检测。四、方案 3:主板内部硬件主从同步(无需外部接线,RDK X5 原生支持)
核心机制(RDK X5 专属,推荐机器人双目)
芯片内部内置CSI 同步控制器,CSI0 作为 Master 主相机,CSI1 作为 Slave 从相机:
- Master(CSI0)帧起始 FS 包产生同步硬件脉冲;
- 内部总线直接送到 CSI1 物理层,从相机跟随主相机同步曝光、同步读出;
- 不需要外部飞线 TRIG 引脚,仅软件 / 设备树配置开启主从同步。
配置方式
1)设备树开启主从同步
dts
&csi0 { status = "okay"; master-mode = "enable"; // 主相机 >同步误差 50~100μs,无需外部接线,结构简洁,AGV 双目最常用。局限
仅支持同规格 Sensor(分辨率、帧率、曝光参数一致);卷帘快门高速运动轻微视差,全局快门无问题。
五、方案 4:PTP 网络时间同步(双 RDK 多机同步,单机不用)
多块 RDK 主板远距离双目 / 多目,以太网 PTP 精确时间协议同步相机触发,单机两路 MIPI 不推荐。
六、四种同步方案对比表
表格
同步方案 同步误差 需要外部接线 适用场景 优缺点 软件时间戳匹配 5~20ms 无 静态双路监控 简单,运动图像错位严重 内部主从硬件同步 50~100μs 无 AGV 双目 SLAM、室内导航 接线少,精度足够机器人 外部硬件触发同步 <10μs 同步脉冲飞线 工业高精度 3D 检测、高速抓取 精度最高,需硬件改线 PTP 网络同步 100~500μs 网线 多机分布式视觉 单机两路 MIPI 无意义
七、RDK X5 双目同步落地实操流程(内部主从同步,量产首选)
1. 硬件准备
两路同型号 MIPI 4Lane 相机,I2C 地址区分(CSI0 i2c6、CSI1 i2c7),避免总线冲突。
2. 修改设备树开启主从同步,编译 dtb 重启
3. 底层采集(hobot_vio)双路同步取帧
主从模式下,帧输出天然成对,无需软件复杂匹配:
c
运行
while(1){ // 主从硬件同步,帧成对输出 sp_get_frame(fd0, &left); sp_get_frame(fd1, &right); stereo_algorithm(&left, &right); sp_release_frame(fd0, &left); sp_release_frame(fd1, &right); }
4. ROS 双目输出配套
两个 mipi_cam 节点自动同步发布左右图像话题,可直接接入stereo_image_proc生成视差图。
八、常见同步问题排查
- 左右图像运动错位、重影
- 未开启硬件主从同步,只用了软件匹配;改为 master/slave 模式或外部触发;
- 卷帘快门高帧率场景建议更换全局快门 + 外触发。
- 从相机帧率减半、丢帧
- 两路 Sensor 曝光、分辨率参数不一致;主从模式必须参数完全相同。
- 同步失效,两路各自独立跑
- 设备树 sync-source、master/slave 节点 status 未打开;重新编译 dtb。
- 外触发同步花屏
- TRIG 脉冲电平、极性与 Sensor 寄存器配置不匹配;调整 GPIO_ACTIVE_HIGH/LOW。
九、选型建议
- 移动机器人双目 SLAM、AGV 导航:内部硬件主从同步(无外部接线,结构简单);
- 工业高速缺陷检测、3D 相机、高精度测距:外部硬件触发同步(μs 级极致精度);
- 仅静态监控、无测距需求:简易软件时间戳匹配。