APP下载

基于FPGA的高速工业相机的设计与实现*

2014-07-25郑力新

网络安全与数据管理 2014年6期
关键词:白平衡时钟增益

樊 辉 ,郑力新

(1.华侨大学 信息科学与工程学院,福建 厦门361021;2.华侨大学 工学院,福建 泉州362021)

在机器视觉系统中,图像信号的质量很大程度上决定了系统的可靠性。上世纪70年代发展起来的半导体光电成像器件 CCD(Charge Coupled Device)以其高集成度、高灵敏度、大分辨率等优势,广泛应用于图像成像系统。CCD分为线阵CCD与面阵CCD,而线阵CCD更适于高精度测量和运动物体成像系统,因此线阵CCD在工业检测中大量使用。随着机器视觉系统及微电子行业的发展,工业检测中需要更大分辨率、更高灵敏度的线阵CCD相机,以满足日益发展的需要。但现在市场上成品线阵相机价格高昂,国内已有学者[1-3]进行了研究探索,本文在吸收前人经验并结合实际需要的基础上,设计了一种基于Cameralink接口的线阵CCD的高速高精度工业相机,以期为机器视觉设计提供可使用的稳定图像。

1 相机方案设计

相机以Altera的EP3C25Q240C8为主控芯片,完成对各个芯片的时序驱动信号、图像预处理及各接口控制实现。CCD、AD在FPGA对应模块产生的驱动信号驱动下工作。线阵CCD图像传感器KLI2113采集并输出模拟图像信号,经AD9945转化为数字图像信号。数字图像数据经FPGA进行预处理后经过传输接口准备传送。为了实现数据高速可靠并且大容量的传输,相机采用了Cameralink接口对数据进行传送,同时,本系统中设计了UART接口部分,完成对上位机控制信号的接收,同时该模块还负责针对接收到的控制指令,产生相应的FPGA内部各相应模块的控制信号,实现对该相机的控制。相机系统框图如图1所示。

图1 相机设计系统框图

2 相机模块实现

2.1 CCD驱动设计

CCD芯片是整个图像采集系统的核心器件。本相机采用柯达公司的KLI-2113[4]作为系统的图像传感器。KLI-2113是一款彩色三基色线阵CCD,其最高频可达20 MHz,有效像元为 2 098个,总计像元为 2 128个,因此以此为图像传感器的系统最高频率可达9 kHz。CCD的原理决定了其需要严格的驱动时序。KLI-2113正常工 作 必 须 的 几 个 信 号 :φ1、φ2、φ2s、φR、TG1、TG2、LOGn,其中φ1、φ2是像元间寄存器的移位时钟信号,φ2s设计用来实现输出方式控制,可将输出方式调节为单像元信号或双像元信号,φR为像元输出复位时钟信号,TG1、TG2为像元电子输出门,LOGn主要控制曝光时间。本系统为了保证分辨率,采用单像元信号输出方式,CCD时序图如图2所示。

图2 KLI-2113驱动时序图

本系统的CCD驱动基于EP3C25Q240C8,使用Verilog HDL设计,仿真波形如图3所示。

2.2 AD驱动设计

在图像处理系统中,模数转换是图像数字化的关键,影响着整个系统图像的可靠性和稳定性。ADI的AD9945[5]集成了直流偏置、相关双采样、暗元校正、增益可编程等功能,同时由于其增益可编程及相关参数可通过SDI(Serial Digital Interface)控制,使其成为模拟增益控制的实现方式。此外,AD9945采用相关双采样的采样方法可在一定程度上消除电平浮动等引起的噪音,使数据更加可靠稳定。基于以上原因,本系统采用AD9945作为模数转换器。

AD9945的信号主要分为两组,配置信号与工作信号。配置信号为三线串行数字接口(SCK、SDATA、SL),保证内部寄存器被正确赋值,这组时序要求相对较低。工作信号为 SHP、SHD、CLPOB、PBLK、DATACLK。此组信号前两个为双采样的时钟信号,CLPOB为暗元钳位信号(采样暗元,在有效元的时候减去暗元值,取得一个可靠的像元数据),PBLK为有效像元段选择,DATACLK为像元数字信号输出时钟。AD9945的时序如图4所示。

图3 CCD-AD驱动仿真波形

由于AD9945采用双采样方式采集转化CCD输出的模拟信号,所以对两个芯片驱动信号的同步要求十分严格。为了很好地实现此要求,AD与CCD驱动采用相同的基准时钟,同时通过全局时钟资源布局布线的时钟源设计,以此满足时序约束的需要。设计仿真波形如图3所示。

2.3 数据处理

由于镜头、CCD本身对光响应不均匀等原因,图像采集系统采集到的图像一般需要经过平场校正。本设计中,主要针对CCD的非均匀性响应进行校正,校正中,采用两点法[6]进行适当改进,以适应实际应用需要;由于不同环境下光线不同,三基色响应会有差别,此时需要进行图像的白平衡。本系统中,图像进行了平场校正及手动白平衡处理,同时,在系统中实现了模拟增益调节和数字增益调节。

图4 AD9945基本驱动时序

2.3.1 平场校正

CCD是积分型器件,输出电流与器件光敏面上的照度和曝光时间有关,以I代表输出信号,E代表光敏面上的照度,t代表曝光时间,正常工作时[7]有:

式中,K为比例常数。Q=Et,Q定义为曝光量。

图5为KLI2113手册提供的在不同条件下的响应曲线,考虑图中3条实际响应曲线,设计中采用式(2)对实际曲线近似建模,并以此为基础进行校正。

其中,K为比例常数,I0为暗曝光时的信号响应。同时,Qmax为照度最大值(实际校正时定义Qmax为调节光源使60%像元信号输出值达到240),则得到最大信号输出值Imax。由式(2)推导可得:

如图5所示,理想响应曲线为:

并满足照度为Qmax时,I′=255,由式(3)和式(4)可推导出:

图5 KLI-2113曝光响应曲线

基于以上的设计思想,同时因在设计中使用16位定点表示小数方法(8位整数和8位小数),结合实际系统,采用多次采集相关值进行累加求均值的方法,故整理可得到方便实现的像元校正因子求导公式:

其中,Iimax、Ii0分别为第i次采集到的最大值及暗电平值。

在预处理模块完成以上过程后,各像元对应的平场校正因子求取完成,存储在FPGA内部生成的寄存器中,对以后采集的对应位置像元乘以校正因子,达到平场校正的效果。

2.3.2 白平衡

简单来说,图像白平衡即是通过调节三基色的值,使图像在白背景下显示为白色,不存在色差,此时三基色值的比为 1:1:1。但由于环境光线的不同,白色背景下的图像会存在色差,此时需要对图像进行白平衡校正。本相机设计实现中采用了手动白平衡校正的方法。在该模块中,同样采用16位定点运算方法,设计中有3个16位×16位乘法器,分别对应于RGB三通道。校正过程中,通过上位机传送校正通道及校正因子,在UART接口接收、解码后,生成相应的使能信号,刷新原通道校正因子。16位数字图像数据(8位的图像数据乘以256)通过设计的对应通道的乘法器与对应的校正因子相乘,得到校正后的数据,取8位有效数据作为校正后的输出值。

2.3.3 数字增益与模拟增益控制

在暗环境中,图像需要增加放大增益来获得可用图像,故在本相机中,加入了模拟增益控制与数字增益控制两种增益控制方式。

与白平衡调节相同,数字增益控制方式通过16位乘法器方式实现,增益倍数通过串口由上位机向相机系统发送。采用此方法,数字增益可实现1~256的增益放大倍数,而最小放大倍数达1/256。模拟增益则采用AD9945的可变增益性能,通过上位机发送控制指令改写AD的增益倍数而实现模拟增益的变化。基于AD9945的性能,模拟增益范围在6 dB~40 dB。

2.4 UART接口

本相机实现中,对上位机指令的接收通过UART接口实现。为了完成上位机对本系统控制指令的实现,UART接口分两部分实现,一是RS232-RS485转接口,一是FPGA内设计的UART收发接口模块。为了保证系统可实现远距离控制和控制指令的准确性,设计中采用了RS485协议应用差分电平传输数据。故在系统中加入了RS232-RS485转接口。UART收发接口模块功能上实现对控制指令的接收及解码,并对其他模块传输相应操作指令及对应数据。本系统中,约定的控制数据帧如图6所示,‘N’和‘F’分别作为数据帧的头和尾,在接收模块中判断数据是否传输准确,第二位为控制指令类型,对应于各个模块的控制,解码后产生对应模块控制字刷新使能信号,将第三位和第四位作为控制字写入对应模块。各模块根据收到的使能信号及控制字完成相应操作,实现上位机对本系统的控制。控制指令类型如表1所示。

图6 串口通信数据格式

2.5 Cameralink接口

为了实现数字图像的可靠、快速、大容量传输,本系统采用了Cameralink接口的base模式作为图像传输接口。此接口包含基于DS90CR285的硬件转接口和基于FPGA的频率转化及相应时钟信号、使能信号的接口控制模块两个部分。由于CCD最大频率为20 MHz,而Cameralink可工作在75 MHz,故在接口控制模块中设计一个双端RAM,以此作为图像数据在不同频率下的转化单元。同时,接口控制模块还对应地产生数据有效信号、行有效信号、帧有效信号3个图像同步信号及传输时钟。然后,硬件转接口将24位图像数据及相应的4位图像同步使能信号(3位图像同步信号与1位自定义控制位,自定义控制位在本设计中未使用)通过DS90CR285转化为4路LVDS传输,同时将传输时钟也对应转化为1路LVDS传输。

表1 控制指令类型表

3 实验效果

相机测试平台基于DALSA的X64-CL iPro图像采集卡实现。相机的CCD工作在10 MHz工作频率,Cameralink传输速度在40 MHz下,测试对象为华大作业纸,传至上位机显示得到的图像如图7所示。测试结果表明,本系统在较高速度下能够稳定工作并得到可用的采样图像。

本系统利用FPGA和线阵CCD进行图像采集,主要介绍了各器件驱动及接口模块,实现了图像的高速采集和稳定传输,为后续处理单元提供可靠数字图像。本系统在平场校正及 AWB(自动白平衡)、AE(自动曝光)等方面还可进行深入研究和探索,使相机工作性能更加优异。

图7 实验效果图

[1]李明伟,黄鸽,刘静茹.一种高速线阵CCD图像数据采集系统[J].仪器仪表学报,2005,26(8):716-717.

[2]李红梅,陈敏聪,陈子瑜,等.线阵CCD数据获取方法研究与设计[J].电子测量技术,2008,31(6):521-523.

[3]张志成,毕明德,孙志刚,等.基于CPLD的线阵 CCD图像采集系统[J].电气自动化,2012,34(1):28-30.

[4]Eastman Kodak Company.Kodak digital science KLI-2113 image sensor REV 4[Z].2001.

[5]Analog Devices Inc.Complere 12-bit 40 MHz CCD signal processor AD9945 REV A[Z].2003.

[6]徐树兴,王宝光,郑义忠.线阵CCD平场校正及 FPGA实现的研究[J].宇航计测技术,2007,27(6):34-37.

[7]王庆有.CCD应用技术[M].天津:天津大学出版社,2000.

猜你喜欢

白平衡时钟增益
别样的“时钟”
基于增益调度与光滑切换的倾转旋翼机最优控制
古代的时钟
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
技术橱窗
有趣的时钟
程控增益射频宽带放大器
时钟会开“花”
你的白平衡准确吗?