GIGE 协议摘录

在这里插入图片描述

系列文章目录


GIGE 学习笔记
GIGE 协议摘录


文章目录

  • 系列文章目录
  • 引言
  • 第 1 章 设备发现
    • 1.1 链路选择
      • 1.1.1 单链路配置
      • 1.1.2 多链路配置
      • 1.1.3 链路聚合组配置 LAG
    • 1.2 IP配置
      • 1.2.1 协议选择
      • 1.2.2 静态IP
      • 1.2.3 DHCP
      • 1.2.4 链接本地地址 LLA
    • 1.3 设备枚举
      • 1.3.1 GVCP设备发现


引言

    GigE Vision 是一种通信接口标准,可用于各种网搭拓扑上的视觉软件与视频流设备间的交互。该标准是基于 UDP/IP 协议体系,并构成了 Gige Vision 协议(工作在应用层,包括 GVCP 和 GVSP 两个协议)。需要的设备包括 IP 网络上各种软硬件摄像机、处理器、路由器等。本说明中,设备指的是一个 GigE Vision 兼容的可控设备,而应用程序指运行在一台主机上的一个与 GigE Vision 兼容的控制程序。

    本说明分三部分,即设备发现、GVCP 协议和引导寄存器,分别在对应的章节中介绍。

第 1 章 设备发现

    PC 在接入设备时,需要一种机制发现设备,即链路选择、IP 地址配置、设备枚举。

    一个设备有一个或多个网络接口,可将其连接到该网络。第一步是让设备确定哪些链接是活动的,哪些不是。根据IEEE 802.3所定义的以太网自动协商过程,然后处理两个合作伙伴之间的链路速度协商。

    第二步是IP配置,它使用了标准的IP协议。它是由该设备启动的。但其目标是为该设备分配一个唯一的IP地址。GigE视觉设备必须支持动态主机配置协议(DHCP)和链路本地地址(LLA)。GigE视觉设备可能支持静态IP。静态IP定义为持续运行整个电源循环或重置的静态IP地址。它被保存在设备中的非易失性存储器中。

    第三步,设备枚举,由应用程序启动,以收集关于网络上设备存在的信息。如果应用程序不知道设备的IP地址,则可以使用UDP广播命令在应用程序的子网上实现。如果客户端的IP地址已知,则可以使用单播UDP来完成。此步骤可通过在设备和应用程序之间的GVCP消息交换来实现。这个答案包含了有关设备的各种信息,如制造商、设备型号等。

    警告:此规范没有标识应用程序如何检索位于不同子网上的设备的IP地址。这可以通过DHCP服务器提供的信息、通过多铸造设备枚举请求或使用DNS来实现。该规范的未来版本可能会解决此主题。

1.1 链路选择

    在进行IP配置之前,必须在设备和应用程序之间建立一个物理连接。GigE视觉设备可以使用多个物理链路来增加数据传输的总体可用带宽。当使用多个链路时,可以将它们组合在一起,数据包可以分布在它们之间,以优化带宽利用率。例如,通过结合两个1千兆位的以太网链路,一个设备可以提供高达2千兆位/秒的带宽。

    本规范为一个设备提供了4种不同的物理链路配置:

  1. 单链路配置(SL配置)
  2. 多链接配置(ML配置)
  3. 静态链路聚合组配置(静态LAG配置,sLAG)
  4. 动态链接聚合组配置(动态LAG配置、dLAG)

    前2个(SL和ML配置)被手动控制,每个网络接口都被单独配置。每个网络接口在启动时都要经过IP配置。因此,该设备最终会为每个物理网络接口提供一个不同的IP地址。

    最后2个(静态LAG和动态LAG)使用IEEE 802.1AX规范来创建链路聚合组。在这些配置中,将创建单个虚拟链接。因此,应用程序对重新分组的物理接口只看到一个IP地址。物理链路的分组在MAC层上执行,并且对应用软件是透明的。

1.1.1 单链路配置

    单链路配置(SL配置)是最简单的配置,因为只需要一个物理网络接口。因此,所有的控制通道、流通道和消息通道都被连接到这个接口上。

    一个设备必须至少有一个网络接口。所有设备都必须支持SL配置。

1.1.2 多链路配置

    当有多个网络接口可用时,一种选择是将它们配置为独立的链接,其中每个接口都配置为不同的IP地址。

  • 设备最多支持4个不同的网络接口。
  • 如果设备支持ML配置,则在使用ML配置时,每个网络接口必须独立执行IP配置过程。

1.1.3 链路聚合组配置 LAG

1.2 IP配置

    本节列出了设备为获得有效IP地址时必须遵循的要求。

  • 所有设备必须在通电、设备重置或以太网链路协商成功后执行IP配置。
  • 设备必须支持以下IP配置协议:
    • 动态主机配置协议(DHCP)
    • 链接本地地址(LLA)

    可选地,设备可以支持用户可配置的静态IP地址(持久性 IP)。该地址存储在设备非易失性存储器(引导寄存器)中,将用于设备通电或重置。当使用静态IP地址时,用户可以确保所选的IP地址不会在网络上造成任何冲突。

1.2.1 协议选择

    在一个设备上,每个IP配置协议的执行顺序必须为:

  1. 静态IP(如果已得到支持和启用)
  2. DHCP(如果已启用)
  3. 链接-本地地址

    设备的出厂默认值必须禁用静态IP并启用DHCP。LLA总是启用的。

ARM-Linux配置DHCP自动获取IP地址
Arm Linux配置DHCP

    注意,GVCP还提供了一个命令 FORCEIP_CMD,将静态IP地址强制进入设备的接口#0( interface #0)。此地址覆盖使用本节中描述的普通IP配置选择获得的IP地址。但此地址在电源循环或设备重置时丢失。

    为设备分配有效的IP地址后,必须将其相关信息复制到以下引导寄存器中:

  1. 当前的IP地址(网络接口#0的地址为0x0024)
  2. 当前子网掩码(网络接口#0的地址为0x0034)
  3. 当前默认网关(网络接口#0的地址为0x0044)

1.2.2 静态IP

    如果一个设备支持持久性IP,那么它必须使用适当的引导寄存器来这样做,并且它必须提供一些非易失性内存来存储这些设置。

    以下引导寄存器用于支持持久性IP:

  1. 网络接口功能(网络接口#0的地址0x0010):第31位表示此设备是否支持持久性IP(位设置)(已清除位)。
  2. 网络接口配置(网络接口#0的地址0x0014):第31位表示用户是否已激活持久IP(位设置)(位清除)。
  3. 持久IP地址(网络接口#0的地址为0x064C):这是用户分配的持久IP地址。它是由用户来确保这是一个有效的IP地址。
  4. 持久性子网掩码(网络接口#0的地址为0x065C):这是与持久性IP地址相关联的子网掩码。
  5. 持久性默认网关(网络接口#0的地址为0x066C):当激活持久性IP时,这为默认网关。

1.2.3 DHCP

    一个 DHCP 可用标志存储在非易失内存中,如果没有储存介质,设备必须决定 DHCP 是否可用。设备应支持 DHCP 选项:子网掩码和路由选项。

    DHCP 重传策略:使用 DHCP,设备发送一个 DHCPDISCOVER 消息,DHCP 服务器返回一个 DHCPOFFER 消息;设备发送一个 DHCPREQUEST 消息,服务器返回一个 DHCPACK 或 DHCPNAK 消息。若设备没有从服务器接收到任何回应,需要重传上述消息,至多允许 2 次重传(因为最坏情况下设备分别发送3 个上述消息)。如果没有 DHCP 服务器可用,设备在 DHCP 阶段一般会等待 12s。

    DHCP 租借到期:设备停止使用 IP 地址,并重启 IP 配置循环。

1.2.4 链接本地地址 LLA

    即私有 IP。IP 地址范围从 169.254.1.0 – 169.254.254.255。必须一直被激活。

1.3 设备枚举

    在设备获得一个 IP 后,PC 端程序需要收集网络上所有设备相关信息,如设备 id、制造商、制造日期等。通过单播或组播 UDP 命令方式分别得到已知或未知 IP 的设备信息,并使用 GVCP 协议实现信息交互。

    GigE Vision 提供了两种机制来枚举设备:

  1. GVCP 设备发现(必备)
  2. 多播DNS / DNS服务发现(可选)

1.3.1 GVCP设备发现

在这里插入图片描述

    广播设备发现消息可以被应用程序用来查找驻留在同一子网上的设备。它可以使用目标IP地址为255.255.255.255的UDP广播消息来实现。这被RFC1122(对互联网主机的要求——通信层)定义为一个“有限的广播”。请注意,此消息将不会跨路由器发送。这就是为什么只有在同一子网上的设备才会接收到它。使用广播设备发现,不可能枚举与应用程序的网卡)不同的子网上的设备。

   
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/652929.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

4个月赚20万!一张图赚7500!多种变现方式,一个被忽视的暴力项目

大家好,今天给大家带来一个被很多人忽视,不起眼确很暴力的项目。 大胆放心干 课程获取: https://hsgww.com/https://hsgww.com/

停车场变综合楼,结构分析助力低碳设计

PLAXIS 和 RAM 助力确定更有效的结构设计并大幅降低施工成本 总部和周边区域 桑坦德银行位于英国的新总部将现有的四个英国办事处合并到米尔顿凯恩斯的一个中心枢纽,位于伦敦以北 50 英里。 Unity Place 将作为桑坦德银行约 5,000 名员工的办公场所。该项目总投资 …

SpringBoot——整合RabbitMQ收发消息

目录 RabbitMQ消息队列 项目总结 新建一个SpringBoot项目 pom.xml application.properties配置文件 index.html前端页面 RabbitMQConfig配置类 RabbitMQProducer生产者 RabbitMQConsumer消费者 IndexController控制器 SpringbootRabbitmqApplication启动类 测试 Ra…

Linux 删除SSH密钥(id_ed25519),重新生成

在Linux系统中,重新生成SSH密钥(比如id_ed25519)的过程包括删除现有的密钥文件并生成一个新的。 以下是具体的步骤: 0. 查看下是否有密钥 1. 删除原有的id_ed25519密钥 默认情况下,SSH密钥存储在用户的主目录下的 .…

【Pandas】深入解析`pd.read_sql()`函数

【Pandas】深入解析pd.read_sql()函数 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 🎓 博主简介&#xf…

一机实现All in one,NAS如何玩转虚拟机!

常言道,中年男人玩具有三宝 充电器、路由器、NAS 你问我NAS的魔力在哪里? 一机实现All in one洒洒水啦 那NAS又如何玩转虚拟机呢? 跟我来 0基础也能轻松get! NAS如何玩转虚拟机 铁威马NAS的VirtualBox的简单易用,可虚拟的系统包括Win…

基础8 探索JAVA图形编程桌面:邮件操作组件详解

在一个静谧的午后,卧龙和凤雏相邀来到一家古朴典雅的茶馆。茶馆内环境清幽,袅袅的茶香与悠扬的古筝声交织在一起,营造出一种宁静而祥和的氛围。 卧龙和凤雏坐在茶馆的一角,面前的桌子上摆放着一套精致的茶具。茶香四溢&#xff0c…

【机器学习】探究DQN通过训练来解决AI序列决策问题

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

白酒:不同产地白酒的风格特点与比较

云仓酒庄豪迈白酒,作为中国白酒的一部分,其风格特点深受产区的影响。不同产地的白酒,由于自然环境、酿造工艺等因素的差异,形成了各自与众不同的风味和特点。下面让云仓酒庄豪迈白酒来比较一下不同产地白酒的风格特点。 首先&…

iPhone“已删除”照片被恢复,苹果到底有没有后门?

继微软本周推出的Windows“回忆”功能引发隐私焦虑,遭马斯克和安全大咖们猛烈抨击后,苹果iPhone手机近日也曝出了类似的“记忆门”。 删除十几年的iPhone照片被恢复 近日,有苹果手机用户更新了苹果上周发布的iOS 17.5系统后,意外…

大数据开发面试题【ClickHouse篇】

170、clickhouse介绍以及架构 clickhouse一个分布式列式存储数据库,主要用于在线分析查询 171、列式存储和行式存储有什么区别? 行式存储: 1、数据是按行存储的 2、没有建立索引的查询消耗很大的IO 3、建立索引和视图花费一定的物理空间和…

摩尔投票法——代码实现及注释(力扣169题:找出列表中多数元素)

题源:. - 力扣(LeetCode) 目录 一、摩尔投票法 1.1 关键思想 1.2 时空复杂度 1.3 算法详细步骤 1.4 代码 1.5 算法理解 一、摩尔投票法 摩尔投票法(Boyer–Moore Majority Vote Algorithm),也被称为…

【MySQL】SQL 基础

文章目录 【 1. SQL 的书写规则 】1.1 大小写规则1.2 常量的表示1.3 注释1.4 HELP 系统帮助 【 2. 常用数据库函数 】2.1 SHOW DATABASES 显示数据库2.2 CREATE DATABASE 创建数据库2.3 ALTER DATABASE 修改数据库2.4 DROP DATABASE 删除数据库2.5 USE 选择数据库 【 3. RDBMS …

Python基于PyQt6制作GUI界面——多选框

QCheckBox 是 PyQt6 中的一个复选框控件&#xff0c;它允许用户通过单击来选择或取消选择某个选项。与 QRadioButton 不同&#xff0c;QCheckBox 控件并不互斥&#xff0c;这意味着用户可以同时选择多个 QCheckBox。示例对应的制作的 ui文件 界面如下所示。 <?xml version…

惯性测量单元M-G370系列广泛用于工业系统各个领域

爱普生现已推出型号为M-G370系列的高稳定性、高精度及极小尺寸封装的惯性测量单元(IMU)&#xff0c;可广泛应用于工业系统的各个领域。 为了节省PCB的面积和产品空间&#xff0c;M-G370系列性测量单元设计精巧&#xff0c;且具有6个自由度:三轴角速率和三轴线性加速度&…

5个将文本转语音的工具,高考复习的绝佳助手

高考倒计时10天&#xff01; 在这最后的冲刺阶段&#xff0c;同学们都在拼命刷题&#xff0c;但面对已经整理好的知识点&#xff0c;时间紧迫&#xff0c;如何高效复习呢&#xff1f; 别急&#xff0c;今天我要和大家分享一个绝佳的复习方法——文字转语音。这个方法可以让你…

JVM 内存布局深度解析,你所不知道的一面

作为Java开发者&#xff0c;想要写出高质量的代码&#xff0c;理解JVM的内存结构是必修课。本文将为您深度解析 Java 虚拟机(JVM)中的内存布局及其细节分析&#xff0c;让你在内存管理的道路上行稳致远。希望通过本文能让你彻底理解其中的奥秘。 一、内存布局概览 在我们深入具…

【C++】牛客——BC157 素数回文

✨题目链接&#xff1a; BC157 素数回文 ✨题目描述 现在给出一个素数&#xff0c;这个素数满足两点&#xff1a; 只由1-9组成&#xff0c;并且每个数只出现一次&#xff0c;如13,23,1289。 位数从高到低为递减或递增&#xff0c;如2459&#xff0c;87631。 请你判断一下&…

java医院管理系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 医院管理系统的主要使用者分…

平衡二叉树的构建(理论,部分函数代码)

平衡二叉树是二叉排序树的一种特殊情况&#xff0c;平衡二叉树的出现是为了在最坏情况下的时间复杂度仍然是对数级别O(logn)&#xff0c;从而保证了高效的搜索、插入和删除操作。 举个例子&#xff0c;如果有一个数组是&#xff1a;1&#xff0c;2&#xff0c;3。如果只简单的…