基于NI Vision Development模块的FPGA视觉产品简介

您所在的位置:网站首页 基于labview的图像采集与处理 基于NI Vision Development模块的FPGA视觉产品简介

基于NI Vision Development模块的FPGA视觉产品简介

2024-06-03 21:46| 来源: 网络整理| 查看: 265

应用场景1:仅使用FPGA进行处理,以实现高速控制

FPGA图像处理可降低图像分析所需的运算处理资源。由于FPGA是一个硬件资源,因而可将CPU资源释放出来,用于执行其他运算。执行分析时不需要CPU的干预,因此大大降低了从图像处理到控制信号输出之间的延迟。图4显示的例子可帮助您了解如何使用FPGA来释放CPU资源。在本例中,FPGA执行所有的图像处理并生成输出信号。这使得系统延迟降到最低,从而能够快速生成控制信号。

仅FPGA的处理

图4.所有处理任务均在终端的FPGA上执行。这使得CPU能够执行其他任务,从而最大程度降低系统延迟。

应用场景案例包括高速分类、眼球追踪、激光对准。 仅FPGA的处理可在帧接收器上实现,只需在图像数据输入路径上直接放置一个FPGA即可。两个典型的产品是Camera Link帧接收器和Camera Link适配器模块。

 

NI PCIe-1473R和NI 1483R

图5. Camera Link帧接收器和Camera Link适配器模块将FPGA放置在图像路径中,适用于板载预处理和高速控制应用。

 

应用场景2:FPGA预处理

基于FPGA的视觉系统处理器还可用于执行更多处理任务。图6介绍了如何使用FPGA来进行预处理,同时在CPU上执行更高级的处理算法。在此应用场景中,FPGA执行的是位处理,比如滤波或边沿检测。经预处理的图像发送至CPU进行图像级处理,比如图案识别。在本例中系统延迟依然非常低,因为CPU执行的函数数量要比传统视觉系统少得多。

FPGA预处理

图6.图像采集和预处理在FPGA上执行后,图像数据传输至CPU。CPU执行更复杂的图像分析,例如图案匹配和分类。

 

FPGA图像处理尤其适用于需要高速位级处理的应用。FPGA接收图像数据后使用高速板载时钟(时钟速率高达100 MHz)处理每个位。您可在单个时钟周期内同时使用硬件进行数据传输和数据处理。多个视觉算法可以分为多个迭代任务,然后在FPGA上并行执行。

此类架构适用于表面和幅材检测和光学相干断层扫描(OCT)等应用。 图5显示了两个能够实现FPGA预处理的帧接收器。

 

应用场景3:FPGA协处理

在某些情况下,图像处理算法可能包含多个步骤。一部分步骤,如阈值处理,可以在FPGA中实现。其它步骤,如图案匹配,可能更适合在CPU上执行。在这种情况下,您可以将任务从处理器转移到FPGA。  如图7所示,所采集的图像发送到CPU后,便逐个像素传输到FPGA进行位级运算。像素在FPGA上处理后可发送回CPU进行其他处理。

如果算法可以完全在FPGA上执行,则像素不需要发送回CPU。在这种情况下,您可以使用FPGA来生成基于图像处理算法结果的输出,或将处理结果发回CPU以便系统的其他部分使用。结果数据可以是距离测量值、颗粒计数或图像处理步骤的任何其他结果。FPGA协处理通过尽可能减少CPU执行的函数数量来降低系统延迟。

FPGA协处理

图7. 图像采集和预处理在FPGA上进行后,图像数据传输至CPU。CPU执行更复杂的图像分析,例如图案匹配和分类。

 

FPGA协处理可在CompactRIO控制器以及在Camera Link帧接收器和Camera Link适配器模块上实现。

 

FPGA协处理的一个应用是质量检验时的颗粒计数。在该应用中,颗粒计数任务可以在FPGA上运行以确定颗粒的数目及大小。然后这个信息可以与处理器共享,以便显示给操作员或用作其他进程的输入。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3