基于Camera Link的双相机高速同步采集系统的研制

2013-01-16 01:33聂海丽上海铁路局科研所
上海铁道增刊 2013年2期
关键词:磁盘阵列采集卡编码器

聂海丽 上海铁路局科研所

基于Camera Link的双相机高速同步采集系统的研制

聂海丽 上海铁路局科研所

提出一个基于Camera Link的双相机高速采集系统,介绍该系统的特点和主要硬件组成。通过重点讲述双相机的外触发同步采集方式和海量存储技术、阐述主要的软件架构和图像采集、显示的软件实现,从而达到利用这些技术为铁路的现场检测带来新的解决途径的目的。

Camera Link;同步采集;海量存储

近年来,随着电荷耦合元件(CCD)技术的发展,图像的采集与处理技术逐渐成为铁路检测领域的一个重要组成部分。在检测的过程中,往往采用高频率、大分辨率的多个CCD相机共同工作来获取高质量的宽幅图像数据。相机常常被安装在检测车上,在检测车高速前进的过程中,相机持续地、实时地将运动路径上的图像拍摄下来,以便事后进行分析和处理。高速的采集会产生高达每秒上百兆的图像数据流,而多个相机的协作又会引出相机的同步问题,这些都对系统的硬件和软件结构设计提出了较高的要求。为了解决这些难题,本文设计并开发了基于Camera Link的双相机高速同步采集系统。

1 系统的总体设计

采集系统的总体设计方案如图1所示。系统主要由两台高频率线阵列相机、带有双Camera Link接口的采集卡、编码器、工控机和磁盘阵列存储器组成。

图1 系统总体设计

线阵列相机逐行扫描沿途经过的宽幅被测物体,并将采集到的线图像数据通过Camera Link总线接口传送给图像采集卡。在采集卡中,完成由线到图的拼接,并将整幅图像发送给工控机。工控机对图像进行实时处理,并最终存储到磁盘阵列存储器中。系统需要编码器来同步两个相机的拍摄,编码器将外触发信号通过External Signal接口发送给采集卡,由采集卡对信号进行整合后发送给两个相机,使两个相机在同一信号触发下完成每次拍摄。

该系统的主要特点:

(1)非接触、可远距离测量:被测物体距相机的距离可在3~9 m之间,而且是非接触,特别适合铁路领域的现场检测。

(2)无缝拼接:因为相机是线阵列相机,所以沿相机行进方向拍摄下来的图像可以无扭曲、无变形的无缝拼接,可拼接图像长度亦不受限制。

(3)海量存储:高频率高分辨率的图像采集意味着会在短时内产生大量的图像数据,该系统采用了先进的存储技术,满足了铁路领域长时间进行不间断检测的需求。

2 系统的主要硬件组成

2.1 CCD线阵列相机

两台相机采用相同型号的线阵列相机,相机分辨率2 k,双通道模式下最高线扫描频率36 kHz。程序通过Camera Link串行通讯接口控制相机。编程参数有增益、偏移、曝光时间、线扫描频率、触发模式和输出测试模式等。

2.2 采集卡

本系统所使用的采集卡连接两个独立的线扫描相机,采样时钟频率达到125 MHz。采集卡采用Camera Link接口,能够保证图像实时智能传输到内存而不需要CPU干预。采集卡的其中一个核心部件是ACUPlus,它不间断地从线阵列相机那里采集图像数据,而作为另一核心部件的DTE,则保证了图像数据在板卡和主机之间的快速、完整传输。

2.3 Camera Link总线

Camera Link是一个工业高速串口数据的连接协议,旨在简化CCD和采集卡之间的连接。

比起IEEE 1394总线,Camera link总线具有更强的通用性和灵活性。Camera Link总线具有占用CPU较少,传输速率高,I/O同步能力强的优点。Camera Link接口可以方便地利用直接存储器存储技术,大大提高了CPU使用效率。这几年采用千兆以太网的CCD相机也较多,千兆以太网技术在Optimized模式下占用CPU也较少,但是比起Camera Link来,较低的传输速率制约了其在CCD图像采集领域的广泛应用。因此对于高分辨率的图像采集来说,Camera Link接口无疑是最佳的选择。

3 双相机的外触发同步采集

两台相机在内触发工作模式下,只能按照设定的线扫描频率或者曝光时间各自独立工作,无法实现同步,所以本系统采用外触发模式来进行相机的采集控制。在外触发模式下图像采集卡利用如图2所示的相机接口信号来实现对相机的控制及图像数据的采集操作。

其中EXSYNC为外触发读出信号,是必备信号。当EXSYNC固定接低电平时,相机以最大线速率输出图像数据;当 EXSYNC正负交替时,它的下降沿触发图像读出。本系统中,由编码器产生的外触发信号接到由采集卡的J4接口上,该信号通过J4接口传入采集卡,然后由采集卡产生EXSYNC信号对两个相机进行同步控制并且改变曝光时间,确保两台相机同步采集被测物体的图像数据,从而实现对宽幅物体的不同部分的协同拍摄。

在现场拍摄时,编码器和相机安装在同一检测车上。编码器与车轴同步旋转,触发的频率由车速决定,车速越快,编码器的触发频率越高,线扫描时间就越短。因为车辆在行进时难以保持始终匀速运行,因此不能将曝光时间设置成最大曝光模式(曝光时间与线扫描时间相同的模式),因为这样拍出的图像必定会有明暗变化,不能达到期望的效果,因此,综合考虑,选择如图3所示的曝光模式。在这种模式下,相机的线扫描速度由外触发信号的频率决定,曝光时间与外触发信号的脉宽相同。EXSYNC信号的上升沿决定曝光时间的开始而下降沿决定读取数据的开始。

4 高速图像采集的海量存储

在铁路现场检测的过程中,往往要将相机安装在高速行进的车辆上来拍摄沿线的情况。为了能够使拍摄的图像达到一定的精度,相机会使用较高的扫描频率,对于线阵列相机来说,在行车速度达到100 km/h时,如果想要保证1 mm/线的拍摄精度,需要相机的线扫描频率为27 kHz。如果每个相机横向的分辨率为2 048,像素灰度值为8位,则两台相机每秒产生的数据量就高达105 MB,如果仅仅按照传统的方式存到硬盘上,则在容量上和存储速度上都很难满足需求。为此,必须通过一定的技术手段来解决海量数据的存储问题。

(1)使用 SCSI总线

SCSI总线传输速度快,目前并行SCSI接口的最高传输速率可以达到320 MB/s,作为一种智能化的系统级接口,该接口具有独立于物理设备具体特性的高级命令结构,允许多个FO任务并行操作,具有独立的I/0处理能力。

(2)使用磁盘阵列

磁盘阵列通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。在磁盘阵列中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用磁盘阵列可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。同时因为磁盘阵列的存储速度更加接近内存的存取速度,亦与高速度的CPU相匹配,从而使整体的工作速度大为提高。

5 系统软件设计

本项目采用Visual C++作为应用程序的开发工具,使用Sepera++作为图像采集和处理的主要类库来进行开发。类库主要分为基础类和图形用户接口类。基础类是Sepera++的核心类,包括管理类、通用硬件控制类,专用采集卡类。图形用户接口类是一组以MFC对话框类为基础的类,它们实现了Sepera LT应用程序通常要实现的一些基础功能,为编程提供了一些基础工作。

5.1 图像的采集

为了控制相机采集图像,程序中为每个相机建立了一组Sepera类。这些类相互协作,共同完成采集任务。主要包括:SapAcqusition类、SapBuffer类、SapTransfer类。SapAcqusition类负责控制采集卡的图像采集。SapBuffer类用来存储采集的图像数据。一个SapBuffer其实是一个Buffer数组,用来存储多帧图像。SapTransfer类负责采集图像的传输,将SapAcqusition类采集的图像传递到SapBuffer类的内存空间中储存。

5.2 图像的显示

程序中使用SapView类来控制图像的显示,SapView类负责将SapBuffer中的内容显示在Window中。它可以显示SapBuffer缓存数组的当前帧,也可以显示指定帧和下一帧。一个内部线程负责优化缓存图像的实时显示。SapView类与SapTransfer类的工作一直保持同步,所以缓存中的图像会实时流畅的显示出来。

6 结论

基于Camera Link的双相机同步采集系统的实现为铁路领域的现场检测带来了新的途径。高频率、高分辨率的图像采集不仅提供了最直观的现场资料,而且为后期的图像智能分析与处理提供了基础。随着机器视觉技术的发展,这一技术必将在铁路的检测领域得到更广泛的应用。

责任编辑:许耀元 朱挺

来稿日期:2013-05-10

猜你喜欢
磁盘阵列采集卡编码器
高精度AD采集卡性能测试及评价方法研究
更换磁盘阵列磁盘
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
面向数控机床的多通道传感数据采集卡设计
并行高速采样在地震物理模拟采集中的应用
PCI-e高速数据采集卡的驱动与上位机软件设计
JESD204B接口协议中的8B10B编码器设计
电视播出机房磁盘阵列预防性维护
多总线式光电编码器的设计与应用