FPGA和多DSP的高速视觉测量系统

处理器/DSP

891人已加入

描述

视觉测量技术是建立在机器视觉研究基础上的一门新兴技术,重点研究物体的几何尺寸及物体的位置、姿态等的测量。随着检测节点的增多,视觉测量系统需要处理的数据量也不断增大,对视觉测量系统的测量速度提出了更高的要求,单一的数据处理芯片和顺序的数据处理方式已经无法满足现阶段高速视觉测量系统的设计要求。近几年来,微电子技术和集成电路制造技术的发展,特别是现场可编程门阵列(FPGA)和数字信号处理器(DSP)的发展,为视觉测量系统中测量速度的提高提供了新的解决思路和方法。针对不同的测量目标,设计具有针对性的专用型高速视觉测量系统是视觉测量技术发展的一个必然趋势。

1 整体方案设计

高速视觉测量系统研究的主要目的是基于计算机视觉的方法对空间快速运动目标的几何尺寸、位置及姿态等参数进行测量,并根据上述参数实现对运动目标的快速实时跟踪。针对被测目标高速运动的特点,系统选用Fillfactory公司生产的LUPA1300型高速CMOS图像传感器作为运动目标的图像采集器,全分辨率下图像数据通过16路并行的输出放大器输出,数据传输量达590MPixels/s。图像传感器输出的离散模拟像素数据需要经过高速A/D转换器转换后才能成为图像处理系统能够处理的数字信号。图像处理系统通过对图像数据进行图像去噪、增强、边缘检测、目标提取等处理,从大量的图像数据中提取出被测运动目标的图像特征,通过接口电路将数据传输至决策系统或计算机中。决策系统或计算机根据特征数据产生机械机构的控制信号,控制整个视觉测量系统的运动,实现对高速运动目标的跟踪和检测。本文对高速视觉测量系统的图像采集和数据处理功能进行了研究,设计了一种多通道并行的高速视觉测量系统。该系统采用FPGA和多DSP并行处理相结合的系统结构,充分利用FPGA和DSP在运算速度和数据处理方面的特点,实现对大量图像数据快速实时的数据处理功能。使系统能满足快速运动目标实时、稳定、高速处理的要求。系统整体原理框图如图1所示。

FPGA

图中,数据采集子系统采用低压差分信号(LVDS)技术解决了并行走线对于电路可靠性的影响及对传输速度和距离的限制。以FPGA为主要功能芯片的图像预处理子系统,主要实现对高速图像数据的灰度修正、平滑去噪、图像锐化等功能,同时还要承担总线控制、帧存控制等任务。基于多DSP并行处理结构的图像处理子系统主要实现被测目标的边缘检测,轮廓、位置等特征信息的提取等功能。这种多DSP的并行处理结构通过总线连接一个容量较大的SDRAM作为全局外部存储器,同时各DSP之间也可通过局部总线进行数据传输,便于流水线式或分布式并行算法的实现。

2 数据采集子系统的设计

根据被测目标高速运动的特点和系统设计的实时性要求,整个系统必须选用高速的图像采集传感器及相应的图像放大和A/D转换电路,实现对高速运动目标的实时图像采集和数据转换。图2为数据采集子系统原理框图。

FPGA

2.1 LUPA1300型CMOS图像传感器

目前,图像采集方面应用的图像传感器主要有两种:CCD(Charge Coupled Device)图像传感器和CMOS(Complementary Metal Oxide Semiconductor)图像传感器。相比于CCD而言,CMOS图像传感器具有低成本、低功耗、单电压、无拖影、无光晕、片上集成等优点,而其随机读取的特性,在某些情况下可以大大提高图像采集的速率[1]。尽管CMOS图像传感器还存在着电离环境下暗电流稍大、高分辨率、高性能器件有待于进一步发展等问题,但随着固体图像技术和集成电路技术的发展,其应用领域必将逐步扩大。

根据上述的比较和设计的实际要求,本系统决定选用Fillfactory公司生产的LUPA1300型高速CMOS黑白图像传感器作为高速运动目标的图像采集器件。该图像传感器是一种同步式快门的有源像素传感器,具有1 280×1 024像素单元阵列、像素尺寸为14μm×14μm、全分辨率下的帧速可达450帧/秒(开窗情况下帧速可以更高)。其高帧速通过片上集成的16路并行输出放大器实现,每个放大器的像素率均为40MHz,读出顺序从左到右,每一路输出放大器可以驱动10pF的输出电容。图3为LUPA1300型CMOS图像传感器的结构原理图。

FPGA

2.2 A/D转换电路的设计

根据图像传感器的指标,若每个像素为10位,则图像传感器的传输数据量将达5.9Gb/s(1 280×1 024×450×10)。

数据传输或A/D转换时若采用并行走线的传输方式,无疑会对电路的可靠性产生极大影响,而且传输速度和距离也有极大的限制,以目前的主流存储设备想要达到这么大的数据吞吐量是很困难的。因此,传输过程中必须采取新的传输方式。

LVDS(Low Voltage Differential Signaling)是一种低振幅差分信号技术,使用幅度非常低的信号(约350mV),通过一对差分PCB走线或平衡电缆传输数据。它能以高达数千Mb/s的速度传送串行数据[2]。LVDS具有高速传输能力、低噪声/低电磁干扰、低功耗等优点,目前已经成为高速I/O接口的首选信号形式。

本文选用Analog Device公司的AD9212芯片作为数据采集子系统A/D转换器件。AD9212是一种八通道LVDS串行A/D转换芯片,采样精度为10位,最高采样频率65MS/s,模拟带宽最高325MHz,片上集成采样保持电路。2片AD9212芯片即可满足数据采集子系统对数据传输速度和数据量的要求。AD9212芯片对输入信号有着特殊的要求,设计过程中采用集成差分运算放大器AD8334将图像传感器输出的模拟信号放大,再送入AD9212芯片的信号输入端。同时A/D转换器时钟的好坏对信号的采集也有着明显的影响,因此需要高精度、低抖动的时钟信号。本文采用时钟驱动芯片AD9515作为时钟驱动器,其ADC时钟电路如图4所示。

FPGA

3 图像预处理的FPGA设计

由于成像条件、噪声等因素的影响,经过数据采集以后的图像数据中包含有大量的噪声,可能导致被测目标图像相对于整幅图像来说比较模糊,使数据处理部分无法从图像数据中提取和处理被测目标特征等问题;同时由于光源和曝光时间等原因,数据采集以后的图像数据可能存在灰度分布过分集中或整幅图像亮度不够等失真现象,影响了系统的检测精度和分析结果,不利于被测目标的检测,严重时可能导致检测失败[3]。因此,在进行被测目标特征提取之前,系统需要将大量的图像数据送入图像预处理子系统进行图像灰度修正、图像平滑去噪、图像锐化等图像预处理,以便于后续的数据处理子系统能够快速地进行被测目标的特征提取和处理。图像预处理过程需要根据不同的测量对象选择适当的图像预处理算法,才能实现整个图像序列的快速灰度修正、去噪和锐化等目的。

图像预处理子系统采用的绝大部分图像预处理算法相对简单,但需要处理的数据量大,且需要较快的数据处理速度,因此选用FPGA芯片作为图像预处理的主要功能芯片,其内部各模块的功能如图5所示,图6为串行数据解串模块仿真图。

FPGA

4 多DSP并行结构的图像处理子系统设计

图像预处理仅仅是对图像序列进行了一些简单的处理,并未提取出被测目标的实际尺寸、位置、轮廓、姿态等参数信息,因此,图像预处理后的图像数据必须送入图像处理单元进行进一步的处理。与图像预处理部分的算法相比较,图像处理单元的算法更加复杂和更难以实现。因为DSP更适合完成复杂的算法,因此选用DSP芯片作为图像处理的主要功能芯片。但要实现如此大的运算量和实时性的高要求,单片DSP的运算速度显得力不从心。在这种情况下,本文采用多片DSP并行的系统结构来代替单片DSP芯片实现图像处理功能。实际设计过程中,根据DSP算法的运算量以及系统对实时性的要求,本文选择4片DSP芯片来共同实现处理任务。图像处理部分的结构框图如图7所示。图中,FPGA主要负责时序控制和帧数据缓存控制等功能,4片DSP芯片作为数据运算处理器来实现图像高速并行处理功能。整个图像处理子系统采用共享总线和基于Link口两种并行结构相结合的并行处理结构,FPGA与DSP芯片之间的数据交换采用共享总线的方式,而各DSP芯片之间的数据交换则由DSP芯片的Link口实现[4]。这种并行总线方式,各DSP芯片既可以独立实现各自的算法程序,也可以进行并行计算,共同完成一个DSP算法。

FPGA

图8为4个DSP数据运算处理器与单个DSP数据运算处理器的速度比较。由图中可以看出,4个DSP处理器与单个DSP的速度比在3.770~3.969之间,实际应用中,峰值运算速度能够满足图像处理子系统数据处理的要求。

FPGA

本文针对被测目标高速运动的特点和视觉测量系统实时性的要求,着重研究了高速视觉测量系统的整个设计和研究过程,提出了一种基于FPGA和多DSP的图像并行处理结构。根据FPGA和DSP的运算特点,将其分别应用于高速视觉测量系统的图像预处理和图像处理两个子系统中,并通过试验测试,证明这种并行处理结构能够实现高速视觉测量系统的处理功能。文中还考虑了图像采集器件的工作特点,采用LVDS技术使整个数据采集部分的可靠性和集成度大大增强,便于后续的图像处理功能的实现。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分