文献标识码: A
文章编号: 0258-7998(2014)06-0089-04
随着科学技术的不断进步,人们开始在海洋探测、航空航天、现代医学等领域广泛使用数字图像处理技术对数据进行采集、分析。目前市场上大多数视频图像采集卡都使用以太网或USB等作为数据、命令的传输接口,虽然满足了人们便捷的需求,但要采集一些大容量的数据时,只能通过增大系统的体积、增加功能模块的办法,这样不仅造成系统体积过大,还会造成数据传输过慢、耗用过多计算机资源、开发成本过高等问题的出现。
目前人们开始在Channel Link和LVDS等接口的基础上制定新的工业视觉产品标准,如Camera Link标准。该标准主要是为数字视频图像应用而设计的,具有高速率、高精度、灵活性强的特点。在数字图像的采集中使用Camera Link接口[1]进行图像数据的高速实时传输,并提高了系统对瞬态信号测量的精确度与准确度,同时很好地解决了高分辨率、高采样率图像的传输问题。因此,本文提出一个基于Camera Link的高清彩色图像采集系统设计方案。该系统可以使观测者清晰地观测到被测物,为试验目标追踪提供了重要的依据。
1 系统总体设计思路
图像采集系统的总体设计方案如图1所示,该系统主要分为三大部分:视觉相机、图像采集卡和PC。该系统的工作原理:首先,通过Camera Link完成采集卡与相机之间的连接后,系统开始上电进行初始化,然后,相机开始进行图像采集。在相机内部把采集到的光信号转换变成数字信号,通过串行总线Camera Link把信号传输到FPGA中进行数据分析、处理,然后把数据传输到Flash中进行数据保存。而上位机软件通过PCI-E总线实现对图像采集的控制,把Flash存储单元中数据传送到计算机上处理,还原捕捉到的图像[4]。
2 硬件设计
2.1 Camera Link总线接口模块
Camera Link协议规范并简化了图像采集卡和数字摄像机之间的接口,只要存在满足标准的摄像机和图像采集卡就可以实现物理上互联。采用低压差分信号LVDS(Low Voltage Differential Signaling)技术实现双向的串行通信,这样可以使数据传输速率和距离大大提高,减少电磁对数据信号的干扰,确保了数据的准确性与精确度。
Camera Link接口[1]含有Base模式(基本配置)、Medium模式(中等配置)、Full模式(完全配置)三种传输模式,每种模式都配有一组控制相机的信号(CC1、CC2、CC3、CC4)和一组串口通信信号(SerTFG、SerTC)。为实现高帧频图像数据的传输,Camera Link总线在Full模式[6]下的工作原理如图2所示,该模式下使用3对驱动器/接收器,8个端口可以实现三组数据同步信号的同时传输,一次传输的数据宽度可达64 bit,实现680 Mb/s图像数据的吞吐量。
由于相机采用Camera Link接口作为数据的传输总线,所以采集卡选用DS90CR288A芯片作为数据的接收装置。该芯片的工作电压为3.3 V,支持20~85 MHz的工作时钟频率。当时钟频率为85 MHz时,每个LVDS通道传输28位数据的传输速率是595 Mb/s。Camera Link接口在Full模式下工作的部分电路原理图如图3所示。使用DS90CR288A芯片作为数据传输时的接收器,将LVDS信号分别还原成4位数据同步信号(FVAL、LVAL、DVAL、Spare)、24位图像数据信号和1路时钟信号。
2.2 图像的处理模块
2.2.1图像存储格式简介
常见视频图像数据的存储格式主要有RGB和YUV两种。它们都是多媒体数据存储的主流格式,但是YUV格式所需的存储空间是RGB格式所需的一半。
RGB色彩模式基于R(Red)、G(Green)、B(Blue)三原色相加混色的原理,即使用三种不同强度的电子束照射在含有红、绿、蓝三种颜色的材料上,使材料因发光而产生色彩。
YUV色彩模式:把采集到的图像经过处理得到亮度信号Y和两个色差信号R-Y(即U)、B-Y(即V),然后在发送端完成对亮度、色差三个信号的编码,再用同一个信道把数据发送出去。
使用YUV色彩空间的好处在于完全把亮度信号和色度信号进行分离。可以通过屏蔽信号的方法,完成彩色与灰度图像之间的转换。例如只有亮度信号而没有色度信号,从而得到黑白色的图像。
2.2.2 图像处理的方法
为满足高分辨率彩色图像的数据处理[2-3],本系统选用性能可靠、逻辑门资源多的XC6SLX100T芯片作为系统的逻辑控制单元,该芯片具有200多个RAM、多个DSP48A1 Slice等功能特点,确保得到完整的、精确的数据结果。集成度高,可有效解决因数据量过大而造成传输速度缓慢、丢失数据等问题的出现。且通过在FPGA中设置RGB to YCrCb的IP核来完成RGB转换为YUV的功能,实现降低传输数据带宽、提高数据传输速度的目的。
系统完成一系列的准备工作以后,相机把采集到的图像信号经过放大处理后得到RGB格式的图像,最后通过FPGA中的RGB转换YUN模块把信号转换成含有一个亮度信号和两个色差信号,分别对这三个信号进行编码,用同一个低压差分信号线把数据传输出去。RGB向YUV的转换如式(1)所示, 相互关系的仿真结果如图4所示。
3 软件设计
系统软件工作流程如图5所示,通过上位机软件编写C++程序[5-7],实现对系统工作的智能控制。同时,由于有很多因素可以影响图像的清晰度,例如白平衡、光补偿、图像增益和帧速率等,所以,为了简化系统的操作步骤,可以方便快捷地运行系统,使用Pylon view软件编写DCF文件,在图像进行采集时FPGA只需根据不同情况对程序进行简单的调用。
3.1 像素格式设置
只有视觉传感器的位深度达到10位或12位时,相机才能实现图像数据的抓取,而传输数据的位深度却取决于像素格式的选择。因此,在编写程序时需要对这些参数进行设置,像素格式与视觉传感器位深度的关系如表1所示。
3.2 上位机控制程序
为了能够实现彩色图像的采集,使用C++语言完成上位机程序的编写。在程序中使用MilSystem、MilImageDisp、SizeX分别代表采集系统、图像显示、X方向大小等参数,通过程序调用不同函数、参数实现上位机控制系统完成对图像数据的采集与监测。上位机部分程序如下:
int MosMain(void)
{
MdigAlloc(MilSystem,M_DEV0,"300fps.dcf",M_DEFAULT,&MilDigitizer);
//调用Dcf文件,并对系统进行初始化
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_DISP+M_NON_PAGED,
&MilImageDisp);
MbufClear(MilImageDisp, M_BLACK);
MdispSelect(MilDisplay, MilImageDisp);
//指定图像显示缓冲单元
… …
for(i = 0; i < 2; i++)
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_GRAB, &MilImage[i]);
//完成图像的抓取
… …
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_DISP+(SizeBand==M_
YUV16+M_PACKED:0)+M_NON_PAGED,&MilImage
WindowedDisp);
//完成彩色图像的转换
… …
}
3.3系统检测
使用PCI-E总线将采集卡与计算机连接,在PC上运行软件,使系统完成对周围环境的采集与监测。不同参数设置对图像的影响如图6所示。通过对比可以发现,图6(a)在是缺少白平衡参数的情况下拍摄的,显示效果较差,图像有点发黑;图6(c)是在曝光率过高时拍摄的,图像的视觉感偏白,有较强白光;图6(d)是在相机为灰度时拍摄的,图像可以正常显示,但不能像真彩图像那样更加直观、真实地显示出被测物的真实情况。综上所述,图6(b)中的显示效果最好,可以清楚地显示被测物体的特征。
文中提出了一个可以采集高清彩色图像的系统设计方案,在Full工作模式下Camera Link总线可以对大量数据进行高速传输,确保传输时数据的精度,降低了丢帧现象的出现,通过软件控制可以简单快捷地实现对图像的采集、远程控制。在实际的工程应用中,本系统可以很好地完成对试验现场的实时监测,体现出较高的实用价值与参考价值。
参考文献
[1] 电子发烧友. 图像采集系统的Camera Link标准接口设计[DB/OL].2010.http://www.elecfans.com/yuanqijian/jiekou/20100728221010.html.
[2] 熊伟,曾峦,赵忠文.彩色实时图像采集存储系统[J].指挥技术学院学报,2001,12(6):72-75.
[3] 韩晓微.彩色图像处理关键技术研究[D].沈阳:东北大学,2005.
[4] 杨会玲,杨会伟,王军.基于PCI Express总线的高帧频CMOS相机图像采集系统设计[J].电子技术应用,2009,35(4):91-93.
[5] 张成迁.高速数据采集回放系统设计与实现[D].长沙:国防科学技术大学,2009.
[6] 吕耀文,王建立,曹景太.Base型Camera Link脱机存储系统设计[J].光电子技术,2012,32(4):242-245.
[7] Hui Xiaowei,Shen Qinglei,et al. Acquisition board design of high-speed image data based on ARM and FPGA[C].International Conference on Computer Design and Applications,2010:1720-1732.