《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于Camera link的图像采集系统
基于Camera link的图像采集系统
来源:微型机与应用2011年第19期
沈崟洵,郑力新
(华侨大学 信息科学与工程学院,福建 厦门361021)
摘要: 介绍了一种基于FPGA和Camera link协议的图像采集系统设计方案。设计中将接口信号和图像数据转换为低压差分信号(LVDS)进行传输,提高了信号的精度和传输距离。阐述了具体的硬件接口电路设计以及接口信号程序设计,并给出了实验结果。
Abstract:
Key words :

摘  要: 介绍了一种基于FPGACamera link协议的图像采集系统设计方案。设计中将接口信号和图像数据转换为低压差分信号(LVDS)进行传输,提高了信号的精度和传输距离。阐述了具体的硬件接口电路设计以及接口信号程序设计,并给出了实验结果。
关键词: FPGA;camera link;接口电路

 多年来,科学和工业数码相机市场一直缺乏一种标准的通信方式。图像采集卡和相机各自的制造商都使用不同的连接器开发产品,使得厂家对于电缆生产变得困难并且对消费者造成很大的困惑。随着数据传输速率的不断提高,一种在数码相机与图像采集卡之间的连接标准将变得更加必要。Camera link是NI公司联合多个摄像头及图像采集卡公司共同推出的一种机器视觉应用的通信接口。该接口扩展了Channel link的基础技术,提供了一种对于机器视觉应用来说更有效的规范。
 有很多关于Camera link接口方面的研究,但基于色选系统并与FPGA结合的技术资料十分缺乏。本文主要介绍了Camera link接口的通信协议以及一种以FPGA为主控芯片并且基于Camera link接口的图像采集、处理、显示的系统设计方案,并就方案中的Camera link模块结合色选机实例进行具体介绍。
1 Camera link协议[1-2]
 国家半导体公司基于在物理层的LVDS(低压差分信号)开发了Channel link技术作为平板显示器的一种解决方案。该技术后来被扩展成一个通用数据的传输方法,而Camera link就是在Channel link基础上形成的。
Channel link由一对驱动器和接收器组成。该驱动器有28 bit的单端数据信号和1个单端时钟。这些信号以7:1的比例串行化成4个数据流和1个锁相时钟,并通过5个LVDS对驱动。该接收器接收4个LVDS数据流和1个LVDS时钟并把它们转化成28 bit数据和1个时钟信号。Channel link的数据传输速率(高达2.38 Gb/s)满足当前传输速率不断增加的趋势。图1为Channel link连接示意图。

 Camera link接口的视频数据信号包括24 bit的图像数据和4 bit的图像使能信号,它们通过Camera link总线传输。4个视频同步信号分别定义为:
 帧有效信号FVAL,当FVAL为高电平时,输出一帧有效数据;行有效信号LVAL,当LVAL为高电平时,输出一个有效像元行;数据有效信号DVAL,当FVAL和LVAL为高时,DVAL为高电平,输出有效数据;SPARE为自定义控制信号。
 为了便于相机控制,Camera link保留4对LVDS信号,分别是Camera Control 1(CC1)、Camera Control 2(CC2)、Camera Control 3(CC3)、Camera Control 4(CC4),它们定义了相机的输入和图像采集卡的输出。相机制造商可以自定义这些信号,以满足它们特定产品的需要。比如DALSA相机控制配置一般为:CC1——EXSYNC(低电平有效);CC2——PRIN;CC3——Direction;CC4——Not used。
Camera link分配两对LVDS信号用于摄像头和图像采集卡之间的异步串行通信。摄像头和图像采集卡需至少支持9 600波特率。这两个信号分别是:Ser TFG(相机串行输出端至图像采集卡串行输入端)和Ser TC(图像采集卡串行输出端至相机串行输入端)。并且其串行接口具有以下特点:一个起始位,一个停止位,无奇偶校验位,无握手。
 Camera link接口有3个端口配置,分别为Base、Medium、Full,它们各自需要的芯片数目和连接器的数目各不相同,具体如表1所示。一个端口定义为一个8 bit字。最低有效位(LSB)是第0位,最高有效位(MSB)是第7位。Camera link接口采用的A-H的8个端口。

 当Camera link端口配置为Base时,其端口的各个位与接口芯片管脚之间存在着一定的对应关系,详细的位配置信息见参考文献[3]。如果Camera link的端口配置为Medium或者Full时,应当注意,如果端口D和G需要时,应使用和端口A相同的位配置管脚;如果端口E和H需要时,应使用和端口B相同的位配置管脚;如果端口F需要时,应使用和端口C相同的位配置管脚。
2 系统硬件平台
2.1 系统框图

 该系统主要由图像传感器(CCD)、模数转换芯片(A/D)、现场可编程门阵列(FPGA)、Camera link接口芯片和图像采集卡五部分组成。CCD完成图像的光电转换,产生图像的模拟信号,A/D将图像的模拟信号转换成数字信号,然后数字信号转换成LVDS信号,最后通过图像采集卡把图像信号发送给PC机并通过液晶显示器显示。在这一过程中,FPGA主控模块控制CCD、A/D、Camera link接口芯片,使系统正常工作。系统框图如图2所示。

2.2 Camera link接口电路[3-4]

 


 选用Altera公司Cyclone III系列的FPGA芯片EP3C25Q240C8为主控芯片,用以设计系统时序、图像数据和产生相应的控制信号。Camera link 接口主要完成CMOS/TTL信号至LVDS信号的转换,以及数据有效信号的控制。其硬件芯片采用NI公司的DS90CR285来实现Camera link硬件接口电路。
 采用DS90CR285发送器实现LVDS的电平转换,选用Base端口配置,端口Port A、Port B、Port C分别对应24 bit RGB数据中的R、G、B。每一个发送时钟里,28 bit输入数据被采样和传输,其中包括:24 bit的图像数据分别对应TxIN0-TxIN23;4 bit的图像数据同步信号Spare、LVAL、FVAL和DVAL分别对应TxIN24-TxIN27。
 Camera link连接器选用3M公司的MDR-26连接器。在LVDS信号设计中,需要为LVDS信号进行终端匹配,在接收器的差分线对间跨接一个100 Ω的电阻。其中,摄像头中的DS90CR285输出信号与MDR-26管脚之间的对应关系如表2所示。


3 程序设计[4-6]
 设计采用VHDL硬件描述语言进行时序设计。由于KLI-2113芯片结构的设计特点,在其输出有效像元之前,CCD模拟寄存器依序输出4个虚拟单元信号、12个哑元信号,接着输出2 098个有效信号,在输出有效像元之后再输出12个用于检测一个周期结束的检测信号、两个虚拟单元信号,共2 128个输出信号,最后输出若干个无效像元,完成一个CCD的工作周期。
部分VHDL程序如下:
……
process(TxCLK)
      begin
    if TxCLK′event and TxCLK=′1′
   then if cnt12<tim
   then cnt12<=cnt12+1;
else cnt12<=(others=>′0′);
    end if;
    if cnt12 > 15  and cnt12 < 2114
   then LVAL<=′1′;
else LVAL<=′0′;
    end if;
    end if;
end process;
……
 将程序下载到FPGA进行实现,图3给出了Quartus II仿真结果。

 本文的创新点在于以FPGA为主控芯片,结合CCD、AD、Camera link接口、图像采集卡,实现了图像的采集、传输、显示等功能。将CCD拍摄的图像的模拟信号经过A/D转换器转换成8 bit数字信号,由DS90CR285芯片转换成5对的LVDS低压差分信号,Camera link接口经过图像采集卡发送至PC端,可以正确显示图像,满足设计要求,并且为以后关于图像采集的研究提供一定经验。
参考文献
[1] 李宁,汪骏发.基于Camera Link的高速数据采集系统[J].红外,2005,6(7):31-37.
[2] Specifications of the camera link interface standard for digital camera and frame frabbers[M]. 2000.
[3] NI公司.DS90CR285/ DS90CR286芯片手册.
[4] 潘松,黄继业.EDA技术与VHDL(第二版)[M].北京:清华大学出版社,2007.
[5] 吴继华,王诚.Altera FPGA/CPLD设计[M].北京:人民邮电出版社,2010.
[6] 陈忠平,高金定.基于Quartus IIr FPGA/CPLD设计与实践[M].北京:电子工业出版社,2010.
 

此内容为AET网站原创,未经授权禁止转载。