随着技术的发展,工业生产过程中的高精度化、高自动化对机器视觉检测系统的信息数据存储和传输都提出了更高的要求,传输过程中的大容量数据、高分辨率图像给上位机的算法处理带来了严峻的考验。
本文引用地址:高速视觉图像处理一直在迅速发展,以满足更大容量的图像数据采集和传输,以及更高效的应用检测需求。CoaXPress视觉标准是最为流行且发展迅速的高速视觉标准,具有传输带宽高、输出稳定、触发精准、低延迟低功耗、资源占用低等特点。为了解决大容量数据的处理问题,比利时的采集卡厂商Euresys推出了带有CustomLogic功能的几款图像采集卡。
Coaxlink Quad CXP-12
支持4路CXP-12连接;可实现5GB/s 相机带宽;PCle 3.0 x8 总线;20条数字I/O线;丰富的相机控制功能;Memento 事件记录工具;支持CustomLogic功能。
Coaxlink OCTO
支持8路CXP-6连接;可实现5GB/s 相机带宽;单张卡可连接八台相机;PCle 3.0 x8 总线;10条数字I/O线;丰富的相机控制功能;Memento事件记录工具;支持CustomLogic功能
CoaxLink QSFP+
1路兼容40 Gbps QSFP+的光纤模块输入端口;支持5GMB/s 相机带宽;PCle 3.0 x8;20条数字I/O线;丰富的相机控制功能;Memento 事件记录工具;提供两种QSFP+的配套光模块,分别支持40公里 (单模)和150米(多模)的传输距离;支持CustomLogic功能。
何谓CustomLogic?
CustomLogic功能是指将图像采集卡的FPGA资源开放,允许用户通过编程的方式,自行开发需要的预处理算法并部署到采集卡上,从而节省主机的计算资源。
CustomLogic开放FPGA编程API,用户可以通过硬件描述语言编程:a. 定制图像处理算法(颜色转换,斑点分析,压缩,激光线提取);b. 控制I/O和数据操作(Bayer CFA转换,平场校正FFC,查找表LUT);c. 记录定制功能事件时间戳。
Euresys采集卡的CustomLogic功能目前需要采用Vivado环境进行开发,并提供了范例代码和参考设计,同时也可以插入第三方IP核。
如何实现CustomLogic功能?
整个CustomLogic功能的工作流程如下图所示:
在Coaxlink FPGA内部,所有数据流接口都基于AMDA AX14流协议。在源端,用户逻辑接收从CXP相机获取到的图像,在目标端,数据流接口将由用户逻辑生成的结果图像或数据传输到PCI Express DMA后端通道,DMA传输系统可以直接将数据在外设和内存之间进行高速传输,节省CPU的占用,从而使图像处理获得更多计算资源。此外,多达4G的DDR4板载内存也可以用于存储中间数据和系数。
CustomLogic开发工具为Xilinx的Vivado套件,使用的FPGA为Kintex Ultrascale XCKU035,用户可以使用该FPGA 70%的逻辑资源。通过3613 JTAG适配器Xilinx编程器(图中①所示)连接到Coalink FPGA进行调试。
CustomLogic开发框架如下图所示:
内置模块:
a. 全功能CXP采集卡;b. 板载内存接口;c. 具有DMA后端通道的PCIE接口;d. 硬件时间记录系统Memento的访问;e. 通过驱动API的用户寄存器访问。
通过CustomLogic功能,用户可以建立自己的Vivado开发工程并加入自己的算法代码,按照FPGA开发流程,进行调试、仿真、综合和布线等一系列操作步骤,得到Bitstream文件,将Bitstream烧入FPGA,即可完成自定义算法的开发。
我们的优势在哪?
可直接使用硬件描述语言进行图像处理算法和应用的开发,采集卡核心对用户开放,可对数据流不受限的叠加处理算法,还可以控制数据操作和I/O控制,从而可自由地实现丰富的板载处理算法。
此外,Euresys提供了丰富的CustomLogic功能的参考设计:a. Pixel LUT 8-bit 8位像素查找表;b. Pixel Threshold像素阈值算法;c. Frame-to-line Converter帧抽线转换算法;d. General Purpose I/O通用I/O控制;e. 其他常用功能。
CustomLogic软件开发包还提供了各采集卡不同拓扑下的交付内容和参考设计:
高速视觉系统蓬勃发展,数据规模飞速增长,机器学习算法需要处理的数据量大幅提高,因此CustomLogic功能起到的作用愈加重要。通过将图像采集卡上的FPGA作为运算资源,将CPU的部分图像处理任务移交图像采集卡来完成,从而减少CPU的负荷和图像处理的压力,强化图像采集卡的预处理能力,大数据量、复杂运算的实时处理都将变为可能。