3、多相机硬件同步方案:硬件触发、PWM同步、外部信号发生器、多相机级联

多相机系统里,同步是绕不开的坎。软件同步精度通常在毫秒级,对于高速运动检测、3D重建这些场景,根本不够用。我见过不少项目,软件同步跑得挺好,一上产线就出问题——说白了,就是没搞定硬件层面的时序对齐。

这一章,我们聊聊四种主流的硬件同步方案。每种方案都有它的适用场景,也有各自的坑。我会结合自己的项目经验,把关键点讲透。

3.1 硬件触发(Trigger)——最基础的同步方式

硬件触发,就是用一根信号线告诉相机“开始曝光”。所有相机收到同一个信号,理论上在同一时刻开始采集。这是最简单、最可靠的同步方式。

我最早接触多相机项目时,用的就是硬件触发。当时做的是PCB板缺陷检测,四台相机同时拍不同区域。触发信号来自PLC,通过一个分线器同时发给四台相机。效果不错,帧间抖动控制在微秒级。

硬件触发接线要点:

  • 触发信号线用屏蔽双绞线,避免电磁干扰
  • 所有相机共地,否则信号电平可能不一致
  • 触发信号电压要匹配相机IO口(常见5V/12V/24V)
  • 信号线长度尽量一致,减少传输延迟差异

这里有个容易忽略的问题:触发信号的上升沿时间。如果信号线太长,上升沿会变缓,导致不同相机的触发时刻产生偏移。我遇到过一台相机总是比别的相机晚几十微秒触发,查了半天,发现是那根线多绕了一圈。

注意:硬件触发只能保证曝光开始时刻同步,不能保证曝光结束时刻同步。如果相机曝光时间不同,结束时刻会有差异。对于需要全局快门同步的场景,要配合闪光灯或电子快门。

3.2 PWM同步——灵活可调的同步信号

PWM(脉宽调制)同步,本质上是产生一个可调频率和占空比的方波信号。每个周期内,上升沿触发相机曝光,下降沿可以触发其他设备(如光源、编码器)。

PWM同步的好处是灵活。你可以通过调整频率来控制帧率,调整占空比来控制曝光时间。我做过一个项目,需要相机和激光轮廓仪同步工作。激光轮廓仪的采样频率是10kHz,相机帧率是100fps。用PWM信号做同步,上升沿触发相机,下降沿触发激光轮廓仪,完美对齐。

参数 说明 典型值
频率 决定帧率 1Hz~100kHz
占空比 决定曝光时间比例 10%~90%
电压 匹配相机IO电平 5V/12V/24V
抖动 信号稳定性指标 <1μs

实现PWM同步有两种方式:

  • PLC/PWM控制器:工业级方案,稳定可靠,适合产线环境
  • 单片机/FPGA:灵活可编程,适合实验室或小批量项目

我个人习惯用FPGA做PWM发生器。精度高,延迟低,还能同时输出多路不同频率的信号。不过调试起来麻烦点,需要写Verilog代码。

3.3 外部信号发生器——高精度同步源

当同步精度要求达到纳秒级时,普通PLC或单片机就不够用了。这时候需要专用的信号发生器,比如泰克、安捷伦的脉冲发生器,或者工业级的同步控制器。

外部信号发生器的核心优势是低抖动(jitter)。好的信号发生器,抖动可以控制在皮秒级。这对于高速相机(千帧以上)和激光三角测量系统来说,至关重要。

我记得有个项目,客户要求四台高速相机同步拍摄子弹飞行轨迹。帧率是10000fps,曝光时间只有10微秒。如果用普通触发信号,抖动几十微秒,画面根本对不齐。最后用了泰克的AFG31000系列信号发生器,抖动小于1皮秒,问题解决。

选型建议:

  • 精度要求<1μs:用PLC或单片机即可
  • 精度要求<100ns:考虑专用信号发生器
  • 精度要求<1ns:必须用射频级信号发生器
  • 多通道输出:选择多通道同步型信号发生器

外部信号发生器也有缺点:贵。一台好的信号发生器,价格可能比相机还贵。所以,不是所有项目都需要。我一般只在高速场景或科研项目中使用。

3.4 多相机级联——菊花链同步

多相机级联,也叫菊花链(Daisy Chain)。相机之间通过专用接口连接,一台相机作为主设备,其他相机作为从设备。主相机产生同步信号,通过级联接口传给下一台相机,依次传递。

这种方案的好处是接线简单。不需要额外的信号发生器或分线器,只需要一根线把相机串起来就行。很多工业相机品牌(如Basler、FLIR、海康)都支持级联功能。

级联同步的精度取决于相机之间的传输延迟。一般来说,每级联一台相机,会增加几十纳秒到几微秒的延迟。如果级联数量不多(4~8台),延迟可以接受。但如果级联十几台,延迟累积就会很明显。

级联同步配置步骤:

  1. 设置主相机为Master模式,输出同步信号
  2. 设置从相机为Slave模式,接收同步信号
  3. 用级联线连接相机(注意接口类型:GPIO、Trigger、Sync)
  4. 配置同步信号参数(频率、脉宽、极性)
  5. 验证同步精度(用示波器或软件测试)

级联方案有个坑:如果中间某台相机掉电或故障,后面的相机都会失去同步信号。我曾经在产线上遇到过,一台相机电源松动,导致后面三台相机全部罢工。排查了半天才发现是级联链路断了。

建议:关键项目不要用纯级联方案。可以用“星型+级联”混合拓扑:主信号源分发给多个级联组,每个组内级联。这样即使某个组出问题,其他组还能正常工作。

3.5 四种方案对比与选型

说了这么多,到底选哪种?我整理了一个对比表,方便你快速决策。

方案 精度 成本 复杂度 适用场景
硬件触发 μs级 低 低 通用工业检测
PWM同步 μs级 中 中 需要灵活帧率
信号发生器 ns~ps级 高 中 高速/科研场景
多相机级联 μs级 低 低 小规模多相机

选型时,我一般按这个思路来:

  • 先看精度要求。μs级够用,就选硬件触发或级联
  • 如果需要灵活调整帧率,考虑PWM
  • 如果精度要求极高,别犹豫,上信号发生器
  • 如果相机数量少(≤4台),级联最省事

你想想看,项目里最怕什么?不是技术难,是选错方案。选错了,后面怎么调都调不好。所以,前期花点时间把同步方案定下来,后面会省很多事。

3.6 同步方案知识结构图

下面这张图,把四种方案的核心逻辑和关系画出来了。你可以对照着看,加深理解。

多相机硬件同步方案知识结构图 多相机硬件同步方案 硬件触发 PWM同步 信号发生器 多相机级联 特性 • 精度:μs级 • 成本:低 • 复杂度:低 特性 • 精度:μs级 • 成本:中 • 灵活调整帧率 特性 • 精度:ns~ps级 • 成本:高 • 低抖动 特性 • 精度:μs级 • 成本:低 • 接线简单 选型建议:精度要求 → 成本预算 → 场景匹配 四种方案各有优劣,没有的好坏,只有合不合适的场景

3.7 实战经验总结

做了这么多年多相机项目,我总结了几条经验,分享给你:

  • 先测再装:正式部署前,一定要用示波器测同步信号。我见过太多项目,线接好了,软件配好了,一跑发现不同步。查到最后,是信号线接反了。
  • 预留余量:同步精度不要卡着指标选。比如要求10μs,你选个刚好10μs的方案,稍微有点干扰就超标。留50%余量比较稳妥。
  • 考虑温度影响:产线环境温度变化大,信号线、连接器、相机内部电路都会受影响。高温下延迟会增加,低温下可能信号不稳定。
  • 做好接地:多相机系统接地是个大问题。接地不好,共模干扰会耦合到同步信号上,导致误触发。我建议用星型接地,所有相机单独接地到同一个接地点。