FPGA的GigE Vision IP相机图像采集方案设计,转换为千兆UDP,支持10G MAC

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1 概述

        GigE Vision是一个比较复杂的协议要在FPGA中完全实现具有较大的难度。如果FPGA作为接收端希望实现GigE Vision相机的配置和图像采集功能则只需要实现其中小部分功能即可。本文对原有GigE Vision协议的结构进行了裁剪仅保留设备搜索、寄存器配置和图像采集三个主要功能。并在FPGA中成功实现了对Basler GIGE相机的配置和图像实时采集。

2 GigE Vision协议

        GigE Vision协议包含GVCPGigE Vision Control Protocol和GVSPGigE Vision Streaming Protocol两部分。其中GVCP负责对相机进行配置GVSP负责控制图像数据的传输。

2.1 GVCP协议

    GVCP协议规定了应用程序通过以太网配置和控制外部设备的准则设备的配置过程采用了指令CMD和应答ACK的方式。以外部主机和相机为例首先主机通过以太网向相机发送指令包然后等待相机返回当前指令的应答包相机接收到指令包后执行相应的操作而后向主机返回应答包。主机收到应答包后根据应答包中的状态信息判断指令是否执行成功若执行成功则继续发送下一个指令包否则重新发送当前指令包。该方式弥补了UDP协议面向无连接的缺点保证了数据传输的完整性和可靠性。

    GVCP包含两种格式的数据包指令包和应答包指令包首部为

        在指令包首部中0x42为GVCP指令包的固定字段flag字段包含了不同指令的特定信息command字段代表指令的类型length字段代表指令包中除首部外载荷数据的长度单位字节req_id代表指令包的序号。

3结构框架

在这里插入图片描述
前面提到完全用FPGA纯逻辑GigE Vision是比较困难的本方案主要采用cpu和PL逻辑搭配的方式实现协议的转换
最终将GigE Vision协议的相机数据转换为UDP协议数据PC可以通过接收普通UDP数据同时IP支持SPI接口和I2C接口对相机参数进行二次配置;
其中BUFFER需要借助片外DDR作为大容量缓存

支持GigE Vison Specification version 1.x/2.x协议

同时为了适应高分辨率的图像数据最终只需要替换GMAC为10/25 Gbps Ethernet MAC即可增加系统的灵活性

C代码部分可以提供静态库函数

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6