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