基于FPGA和多DSP的高速视觉测量系统的研究
方式。
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所示。
3 图像预处理的FPGA设计
由于成像条件、噪声等因素的影响,经过数据采集以后的图像数据中包含有大量的噪声,可能导致被测目标图像相对于整幅图像来说比较模糊,使数据处理部分无法从图像数据中提取和处理被测目标特征等问题;同时由于光源和曝光时间等原因,数据采集以后的图像数据可能存在灰度分布过分集中或整幅图像亮度不够等失真现象,影响了系统的检测精度和分析结果,不利于被测目标的检测,严重时可能导致检测失败[3]。因此,在进行被测目标特征提取之前,系统需要将大量的图像数据送入图像预处理子系统进行图像灰度修正、图像平滑去噪、图像锐化等图像预处理,以便于后续的数据处理子系统能够快速地进行被测目标的特征提取和处理。图像预处理过程需要根据不同的测量对象选择适当的图像预处理算法,才能实现整个图像序列的快速灰度修正、去噪和锐化等目的。
图像预处理子系统采用的绝大部分图像预处理算法相对简单,但需要处理的数据量大,且需要较快的数据处理速度,因此选用FPGA芯片作为图像预处理的主要功能芯片,其内部各模块的功能如图5所示,图6为串行数据解串模块仿真图。
4 多DSP并行结构的图像处理子系统设计
图像预处理仅仅是对图像序列进行了一些简单的处理,并未提取出被测目标的实际尺寸、位置、轮廓、姿态等参数信息,因此,图像预处理后的图像数据必须送入图像处理单元进行进一步的处理。与图像预处理部分的算法相比较,图像处理单元的算法更加复杂和更难以实现。因为DSP更适合完成复杂的算法,因此选用DSP芯片作为图像处理的主要功能芯片。但要实现如此大的运算量和实时性的高要求,单片DSP的运算速度显得力不从心。在这种情况下,本文采用多片DSP并行的系统结构来代替单片DSP芯片实现图像处理功能。实际设计过程中,根据DSP算法的运算量以及系统对实时性的要求,本文选择4片DSP芯片来共同实现处理任务。图像处理部分的结构框图如图7所示。图中,FPGA主要负责时序控制和帧数据缓存控制等功能,4片DSP芯片作为数据运算处理器来实现图像高速并行处理功能。整个图像处理子系统采用共享总线和基于Link口两种并行结构相结合的并行处理结构,FPGA与DSP芯片之间的数据交换采用共享总线的方式,而各DSP芯片之间的数据交换则由DSP芯片的Link口实现[4]。这种并行总线方式,各DSP芯片既可以独立实现各自的算法程序,也可以进行并行计算,共同完成一个DSP算法。
图8为4个DSP数据运算处理器与单个DSP数据运算处理器的速度比较。由图中可以看出,4个DSP处理器与单个DSP的速度比在3.770~3.969之间,实际应用中,峰值运算速度能够满足图像处理子系统数据处理的要求。
本文针对被测目标高速运动的特点和视觉测量系统实时性的要求,着重研究了高速视觉测量系统的整个设计和研究过程,提出了一种基于FPGA和多DSP的图像并行处理结构。根据FPGA和DSP的运算特点,将其分别应用于高速视觉测量系统的图像预处理和图像处理两个子系统中,并通过试验测试,证明这种并行处理结构能够实现高速视觉测量系统的处理功能。文中还考虑了图像采集器件的工作特点,采用LVDS技术使整个数据采集部分的可靠性和集成度大大增强,便于后续的图像处理功能的实现。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)