0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的GigE Vision相机图像采集方案设计

FPGA设计论坛 来源:FPGA设计论坛 2025-01-07 09:34 次阅读

1 概述

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

2 GigE Vision协议

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

2.1 GVCP协议

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

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

6a0234c6-cbe5-11ef-9310-92fbcf53809c.png

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

应答包首部为:

6a13e180-cbe5-11ef-9310-92fbcf53809c.png

在应答包首部中,status字段代表指令包的执行状态,acknowledge字段代表应答包的类型,length字段代表应答包中除首部外,载荷数据的长度(单位:字节),ack_id代表应答包的序号。

设计中使用了两种指令包:设备搜索(DISCOVERY)和写寄存器(WRITEREG)。

2.1.1 设备搜索(DISCOVERY)

设备搜索指令用于接收端(FPGA)寻找所在的子网中的GIGE发送设备(相机)。通过搜索指令DISCOVERY_CMD实现。

搜索指令包格式:

6a2908b2-cbe5-11ef-9310-92fbcf53809c.png

设计中的搜索指令包格式为:

6a33bfd2-cbe5-11ef-9310-92fbcf53809c.png

对应的搜索应答包DISCOVERY_ACK为格式:

6a43a848-cbe5-11ef-9310-92fbcf53809c.png

在搜索应答包中,包含了相机的各个主要参数,包括相机的生产商、版本、名称、序列号、IP地址、MAC地址等信息,载荷数据的长度为248字节。设计中所关心的是相机的IP地址和MAC地址信息,其中MAC地址位于载荷数据的第11~16字节部分,IP地址位于第37~40字节部分。

2.1.2 写寄存器(WRITEREG)

写寄存器指令用于配置相机的参数,通过WRITEREG_CMD指令实现。

写寄存器指令包格式:

6a60623a-cbe5-11ef-9310-92fbcf53809c.png

在写寄存器指令包中,register_address字段代表32位的寄存器地址,register_data字段代表所要写入的32位寄存器值。在设计中,每次只配置一个寄存器,因此只包含一个register_address和register_data字段。

因此,设计中的写寄存器包格式如下:

6a67be5e-cbe5-11ef-9310-92fbcf53809c.png

对应的写寄存器应答包WRITEREG_ACK格式:

6a77c1dc-cbe5-11ef-9310-92fbcf53809c.png

在应答包中,status字段的值为0x0000,代表写寄存器指令执行成功,index字段代表配置成功的寄存器个数,对于每次配置1个寄存器而言,该字段的值为0x0001。

因此,设计中的写寄存器应答包格式如下:

6a8c1a2e-cbe5-11ef-9310-92fbcf53809c.png

2.2 GVSP协议

GVSP协议规定了GVSP发送方向GVSP接收方传输图像数据和图像信息的一系列准则。GVSP协议以数据块(Data Block)为单位进行数据传输,通常使用标准传输模式。该模式包含3种格式的数据包:头数据包(Data Leader Packet)、载荷数据包(Data Payload Packet)和尾数据包(Data Trailer Packet),头数据包和尾数据包作为每个数据块的首尾界定,不包含图像数据;载荷数据包则作为数据块中数据的传输载体,包含了有效的图像数据。

6a9e1e72-cbe5-11ef-9310-92fbcf53809c.png

3种数据包具有相同的GVSP首部,格式如下:

6aaba52e-cbe5-11ef-9310-92fbcf53809c.png

在GVSP首部中,status字段代表数据包的状态,block_id代表数据块的序号,packet_id代表当前数据块中数据包的序号(头数据包的packet_id总为0),packet_format字段代表数据包的类型(头数据包、载荷数据包、尾数据包)。EI字段代表扩展block_id和packet_id的标志位,当EI=0时,block_id为16bit,packet_id为24bit,此时的首部长度为8字节;当EI=1时,block_id为64bit,packet_id为32bit,此时的首部长度为20字节。

设计中不对头数据包和尾数据包进行处理,仅根据packet_format字段从数据流中提取包含图像数据的载荷数据包,并由EI位判断首部的长度,准确剥除载荷数据包的首部后,便可得到有效的图像数据。为了保证图像传输的实时性,不对status字段进行判断,对于传输错误的图像数据仍作为有效数据输出。

3 UDP IP协议

GigE Vision是基于UDP协议进行数据传输的。因此,要实现FPGA与相机间的GVCP和GVSP通信,还需要设计网络通信协议。按照GigE Vision协议的要求,需要设计的网络协议还是比较多的。从FPGA与相机之间实现点对点数据传输的角度出发,只要实现基本的UDP 、IP和MAC三种协议即可。由于相机可以设置为固定IP地址,而且相机的IP地址和MAC地址都可以通过FPGA发送DISCOVERY指令获取。所以ARP协议可以不在FPGA中实现。

对于UDP和IP协议,只需要实现UDP和IP首部的添加和移除功能,其他功能可以不做。MAC协议在FPGA厂商的开发环境中均提供了IP。当然自己也可以设计一个MAC,只需要实现基本的MAC首部移除、添加以及CRC32校验功能即可。

4 FPGA工作流程

从相机的配置到图像的采集整个流程为:

6abb1298-cbe5-11ef-9310-92fbcf53809c.png

可分为5个步骤,具体过程如下:

(1)FPGA向其所属子网发送UDP广播包搜寻所连接的相机。GVCP的UDP端口号为3956,除此之外,FPGA和相机的IP地址必须属于同一个子网段,否则相机将无法应答搜索包。

(2)FPGA等待相机返回应答包,并从中提取相机的IP地址和MAC地址,作为发送数据包的IP首部和MAC首部中的目的地址。

(3)FPGA发送写寄存器指令包,依次配置相机的各功能寄存器,对其工作参数进行设置。

(4)FPGA发送写采集使能寄存器指令包,触发相机进行图像采集和传输。

(5)FPGA从相机接收GVSP数据包,从中提取出有效的图像数据。

原文链接:

https://gitcode.csdn.net/66c6dc510bfad230b8ae756b.html

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

    关注

    1629

    文章

    21754

    浏览量

    604215
  • 图像采集
    +关注

    关注

    2

    文章

    301

    浏览量

    41295
  • 相机
    +关注

    关注

    4

    文章

    1358

    浏览量

    53702
  • Vision
    +关注

    关注

    1

    文章

    199

    浏览量

    18209

原文标题:基于FPGA的GigE Vision相机图像采集方案设计

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GMSL相机GigE Vision相机最有力的替代方案吗?

    GigE Vision是基于以太网基础架构和协议的网络相机接口标准。它广泛用于工业领域。ADI公司的 GMSL 是一种专门用于视频数据传输的点对点串行链路威廉希尔官方网站 ,最初是为汽车摄像头和显示应用而设计的。
    的头像 发表于 12-21 18:21 1455次阅读

    基于FPGA的机器视觉设计

    Vision使用了一个标准的千兆以太网连接同其高带宽(1 Gb/s)实现了未经压缩图像和数据的实时传输。使用Gige Vision IP是实现高性能机器视觉应用的理想解决
    发表于 09-04 12:14

    FPGAGigE相机的遵循GigE Vision标准的通信

    现在需要在FPGA上做图像处理,首先是FPGA与千兆以太网相机GigE相机)通讯,获取
    发表于 01-12 12:33

    普通SDI输出相机图像采集

    我想采集一款输出是SDI的相机图像,我已经安装了VIsion可以采集电脑摄像头的,如果采集这款
    发表于 04-13 10:29

    关于6678与gigE vision 相机的连接问题

    请问:6678评估板上的的千兆网口能否与gigE vision 相机连接?gigE vision相机
    发表于 06-21 13:13

    创龙C66x平台GigE工业相机图像采集案例

    acA640-120gm;采集帧率:30fps。 2 GigE Vision简介千兆网(GigE)是目前工业数字相机中发展最快的接口,同
    发表于 10-23 15:19

    FPGA为核心的机器视觉系统设计方案

    使用了一个标准的千兆以太网连接同其高带宽(1 Gb/s)实现了未经压缩图像和数据的实时传输。使用Gige Vision IP是实现高性能机器视觉应用的理想解决方案。一个吉比特以太网
    发表于 05-05 08:30

    vision acquisition采集图像速度很低

    硬件:大华500W面阵相机运用labview自带的vision acquisition采集图像,获取速度很慢,设置是默认,生成VI后点击运行大概2S才
    发表于 08-13 16:55

    基于Nios Ⅱ和GigE Vision图像采集系统

    基于嵌入式环境的图像采集系统,介绍了。提出了采用Ahera的FPGA作为控制芯片,通过在FPGA中植入软核处理器Nios II以采集千兆以太
    发表于 05-03 14:23 7次下载

    基于FPGA和MVD1024E相机图像采集系统

    基于FPGA和MVD1024E相机图像采集系统
    发表于 09-22 12:27 19次下载

    基于AM57x的GigE工业相机图像采集案例的详细中文资料详细概述

    本文档是广州创龙基于TL5728-EasyEVM 开发板的GigE工业相机图像采集案例, 涉及到PylonViewerApp例程、Grap例程、GigEViewApp
    发表于 07-04 08:00 47次下载

    基于ZynqArtix-7实现GigE Vision协议的机器视觉摄像头方案

    GigE Vision是一个基于以外网威廉希尔官方网站 的标准化视频应用通信协议,可以轻松实现GigE Vision设备与TCP/IP协议的PC进行互联。本视频将向您演示由Sensor to Ima
    的头像 发表于 07-02 10:27 6438次阅读

    GigE Vision 2.0的使用说明书

    GigE Vision 是一种通信介面标準,可用于各种网路拓扑上的视觉软体与视频流设备间的交互。该标準是基于UDP/IP协议体系,并构成了Gige Vision 协议(工作在应用层,包
    发表于 11-09 08:00 19次下载

    探索10G高速图像采集卡在视觉检测方案背后的作用与原理

    图像采集卡作为工控机连接工业相机的关键部件,稳定运行不丢帧成为其关键要素。而巨型帧对于GigE Vision设备运行有很大的影响。
    的头像 发表于 07-12 17:41 677次阅读
    探索10G高速<b class='flag-5'>图像</b><b class='flag-5'>采集</b>卡在视觉检测<b class='flag-5'>方案</b>背后的作用与原理

    一键解锁:将任意图像设备秒变GigE Vision设备的终极秘诀

    ​物联网发展正在走向轻便和低成本。友思特eBUS Edge软件方案,可将任意图像设备一键升级为GigE Vision设备,让机器视觉便捷处理更进一步。
    的头像 发表于 03-13 17:20 757次阅读
    一键解锁:将任意<b class='flag-5'>图像</b>设备秒变<b class='flag-5'>GigE</b> <b class='flag-5'>Vision</b>设备的终极秘诀