新型数字CCD相机及其图像数据传输卡设计
1 数字CCD相机及其接口技术
在本系统中使用DALSA公司生产的CA-D7-1024T数字CCD相机。该相机是一种帧转移型的CCD相机,相机的空间分辨力为1024×1024像元,单像元尺寸为12μm×12μm,100%填充因子。在相机内部采用了相关双采样(CDS)、垂直反晕(VAB)等技术,大大提高了相机的成像品质。相机输出经过采样、量化的数据,量化精度为12位,最大帧频为8.4Hz,电子快门。相机内部由CCD图像传感器、驱动器、定时器、A/D转换等模块组成。其接口信号分为两类:用户总线接口信号和数据总线接口信号。
用户总线接口信号包括:
·EXSYNC触发帧读出信号,是必备信号。当EXSYNC固定接低电平时,相机以最大帧速率输出图像数据;当EXSYNC正负交替时,它的下降沿触发帧读出。
·PRIN像元复位信号,为可选信号。在两次EXSYNC有效之间复位像元(给积累电荷的电容放电),从而缩短有效曝光时间。PRIN低有效,在其上升沿开始有效曝光。如果PRIN固定接高电平,积分时间最大;如果PRIN被固定接低电平,探测器收集不到任何图像信息。
·BIN像元合并信号,也是可选信号,可以控制像元合并。像元合并后会降低相机的空间分辨率,但会增强探测器对光的敏感性。BIN信号高有效,不用时将其接为低电平。
以上信号均由应用系统产生,送给相机,为应用系统根据需要设定相机的工作模式提供了手段。
数据总线接口信号为相机输出信号,包括:
·DATA0~1112位数据总线。DATA0~11是相机输出的、分别对应目标某个像元灰度的12位图像数据。
·STROBE像元时钟信号。STROBE是图像数据的像元时钟。它的频率与数据速率相同,即使数据无效,STROBE仍然连续交变。为了获得有效的图像数据,传输卡应在FVAL和LVAL为高电平时,在STROBE的下降沿进行数据锁存。
·FVAL帧同步信号。FVAL高电平表明相机正输出一帧有效数据。
·LVAL行同步信号。当FVAL为高电平时,LVAL高电平表明相机正输出一个有效的像元行。在两个有效行之间,LVAL会变低跳过几个无效的像元,跳过的像元数取决于相机的型号和预触发设定。
图像数据传输卡正是利用这些接口信号来实现对相机的控制及图像数据的抓取操作。为提高信号的抗干扰能力,所有这些接口信号均按RS422规范以差分方式在数字相机和图像传输卡间进行传输,传输电缆为100Ω屏蔽双绞线。图1表示了相机接口信号之间的时序关系。
当PRIN由低电平向高电平跳变时,相机开始曝光。达到设定的曝光时间后,使EXSYNC信号变低,触发帧读出。此时相机首先进行帧转移,帧转移一结束,输出信号FVAL由低变高表示有效的数据帧开始,LVAL由低变高表示相机正输出有效像元行。当FVAL和LVAL再一次变低时,表示一帧数据输出结束,可以开始第二次触发帧读出(使EXSYNC有效)。第二次曝光可在第一次帧转移结束后与第二次帧读出启动前这段时间进行,曝光时间在一定范围内可调。
2 数字CCD相机图像数据传输卡的设计实现
在应用系统中,数字CCD相机图像数据传输卡的主要任务是产生相机工作所需的输入信号,解译相机的输出信号,使相机在电控方式下工作并实时、正确地抓取相机输出的图像数据,在相机和计算机内存之间建立硬件传输通道。为了适应数字CCD相机数据传输速率的不断提高,早期基于ISA总线的图像数据传输卡正逐步向基于PCI总线的传输卡过渡。
2.1 图像数据传输卡电路说明
笔者设计开发的适用于DALSA公司CA-D7-1024T型数字CCD相机的图像传输卡的原理框图如图2所示。
驱动转换接口电路对相机与传输卡间的接口信号进行RS422和TTL电平间的相互转换;双口RAM为帧存储器,经编程控制可将相机输出的一帧图像数据写入,或经PCI桥读出图像数据至内存。采用帧存储器可以实现多个相机同时曝光,图像数据分时通过计算机总线写入内存。FPGA时序发生器用来产生双口RAM的地址线、读写控制线以及相机和传输卡正常工作所需的联络信号。PCI接口芯片是计算机与双口RAM及FPGA间的桥梁,在它们之间实现数据、控制信号的传输,并可通过初始化设置,实现PCI协议提供的各种传输模式。
2.2 FPGA时序逻辑发生器设计
本图像数据传输卡采用ALTRA公司生产的FPGA芯片EPM7128SLC84-15作为时序逻辑发生器。通过在系统编程(ISP)使其实现一个20位计数器、一个1位计数器、两个锁存器及十几个非标逻辑门的功能。其中20位计数器给1M×4Bit的帧存储器提供地址;1位计数器用来对卡上的30MHz时钟信号进行二分频,产生15MHz的VCLK信号;两个锁存器分别输出行同步和场同步信号;逻辑门用来实现信号的与、或、非等逻辑运算。
ALTERA公司的MAX+PLUSⅡ编程仿真工具软件,可对FPGA芯片进行在系统编程、仿真、调试,大大提高了传输卡设计的灵活性和对不同型号相机的适应能力,缩短了传输卡的研发周期。使用AHDL编程语言对FPGA芯片进行在系统编程,程序文件的主体如下:
BEGIN
HSYNC = lpm_ff_component2.q0..0
lpm_ff_component2.clock = FVALT&STROBT&LVALT&
GP5 # GP5&VCLK
lpm_ff_component2.data0..0 = HSYNN
VSYNC = lpm_ff_component3.q0..0
- 串口通讯在CCD相机系统中的应用(05-19)
- CCD相机的高速数据采集系统设计(02-21)
- 满足手机高速图像数据传输的差分串行接口方案(11-22)