CN117651224A - 基于fpga网卡的图像处理方法、系统及存储介质 - Google Patents
基于fpga网卡的图像处理方法、系统及存储介质 Download PDFInfo
- Publication number
- CN117651224A CN117651224A CN202311580631.0A CN202311580631A CN117651224A CN 117651224 A CN117651224 A CN 117651224A CN 202311580631 A CN202311580631 A CN 202311580631A CN 117651224 A CN117651224 A CN 117651224A
- Authority
- CN
- China
- Prior art keywords
- message
- network card
- address
- fpga
- fpga network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000004806 packaging method and process Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供一种基于FPGA网卡的图像处理方法、系统及存储介质,所述方法包括:FPGA网卡接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文;FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;FPGA网卡向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
Description
技术领域
本发明涉及数据中心领域,具体涉及一种基于FPGA网卡的图像处理方法、系统及存储介质。
背景技术
Gige Vision是由AIA制定的通信协议,用来实现在机器视觉领域利用千兆以太网接口进行图像的高速传输。该标准是基于udp协议,与普通网络数据包不同之处在于应用层协议,应用层协议采用gvcp(英文:gige vision,中文控制协议)和GVSP(英文:gigevision,中文:流传输协议),分别用来对相机进行配置和数据流的传输。图像采集系统软件的实现就是基于gvcp/GVSP这两种协议。
随着gige vision相机的发展,现在更高带宽的相机也衍生出来,5gige/10gige甚至有的会到25gige的相机,在如此高带宽下,用软件来解封装GVSP报文并组装gigepayload到一帧完整图像会占用大量CPU(英文:central processing unit,中文:中央处理器)资源,有可能到50%以上,CPU负载高意味着稍微有些系统任务导致的负载波动,都会引起丢帧的出现。
发明内容
本发明实施例提供了一种基于FPGA网卡的图像处理方法及系统,可以降低CPU的占用率,并且不影响网络报文的传输,具有不影响CPU负载波动,并且不会引起丢帧的出现,降低了FPGA网卡的成本。
第一方面,本发明实施例提供一种基于FPGA网卡的图像处理方法,所述方法包括如下步骤:
FPGA网卡接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文;
FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;
FPGA网卡向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
第二方面,提供一种FPGA网卡的图像处理系统,所述FPGA网卡的图像处理系统包括:FPGA网卡、Gige相机和计算设备;其中,
FPGA网卡,用于接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文,在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存,所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;向计算机设备发送中断事件;
计算机设备,用于依据所述中断事件提取所述完成图像。
第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的程序,其中,所述程序使得终端执行第一方面提供的方法。
实施本发明实施例,具有如下有益效果:
本申请提供的技术方案在FPGA网卡传输传统网络报文过程中,提取GVSP报文,并利用共享内存(计算机设备内存)来拼接payload,组装成完整图像后发送中断事件到计算机设备,计算机设备应用程序采用共享内存方式获取完整图像,上述操作拼接所使用的内存为计算机设备的共享内容,因此FPGA无需配置内存,另外FPGA执行GVSP报文的解析封装和拼接,无需计算机设备的CPU执行GVSP报文的解析封装和拼接,因此降低了CPU的占用率,并且降低了FPGA网卡的成本,并且上述技术方案非常易用,不存在升级问题,对大多数的Gige相机兼容性好(因为仅仅卸载了GVSP的协议,不同相机厂家的个异性主要体现在GVCP的扩展部分),GVCP协议由相机软件来升级,网卡则无需升级。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种FPGA网卡的硬件结构示意图;
图2a是本申请提供的一种FPGA网卡的图像处理系统的硬件结构示意图;
图2b是本申请提供的另一种FPGA网卡的图像处理系统的硬件结构示意图;
图3是本申请提供的一种基于FPGA网卡的图像处理方法的流程示意图;
图4是本申请实施例一提供的一种FPGA网卡的图像处理系统的结构示意图;
图5是本申请实施例二提供的一种FPGA网卡的图像处理系统的结构示意图;
图6是本申请提供的一种FPGA网卡的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面介绍下本申请涉及的概念。
GVSP是数据报文协议,所有的传输数据都依赖GVSP协议,GVSP协议包含leaderpacket(前导数据包)/trailer packet(尾部数据包)/payload packet(载荷数据包),大部分的网络带宽都被GVSP协议占用。
FPGA是一种以数字电路为主的集成芯片,属于可编程逻辑器件(ProgRAMmableLogic Device,PLD)的一种;FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
参阅图1,图1为一种FPGA网卡的结构示意图,如图1所示,该FPGA网卡包括:电源模块、Flash存储器、FPGA芯片和其他外设模块,其中,Flash存储器分别与FPGA建立双向数据通道,FPGA芯片还集成有通信模块和Gige模块,FPGA芯片还与其他外设模块连接,其他外设模块可以由不同的厂家各自配置,本申请实施例并不涉及具体的其他外设模块。
参阅图2a,图2a为本申请提供的如图1所示FPGA网卡的图像处理系统的硬件结构示意图,如图2a所示,FPGA网卡通过FPGA芯片的第一外部接口与Gige相机通信连接,FPGA网卡通过FPGA芯片的第二外部接口与计算机设备通信连接。
上述通信连接包括但不限于:有线连接或无线连接,上述无线连接包括但不限于:WIFI、NR、LTE等等。
参阅图2b,图2b为本申请提供的另一种FPGA网卡的图像处理系统的硬件结构示意图,如图2b所示,
FPGA网卡具体可以包括:电源模块、EPCS管理模块、RAM存储器、Flash存储器、FPGA芯片、通信模块、Gige模块、其他外设模块,在一种可选的应用场景中,上述通信模块和Gige模块可以集成在FPGA芯片内部。
如图2b所示,上述FPGA网卡与Gige相机连接,FPGA网卡与上位机(例如计算机设备或服务器)连接。FPGA网卡上面带有RAM存储器用于存储GVSP解封装并组装成完整帧的图像数据,Gige模块用于数据流的解封装,解封装ip/udp/gige协议,并通过FPGA做数据包的拼接。上位机通过DMA从RAM存储器获取完整图像,该FPGA网卡内部具有嵌入式CPU(例如FPGA芯片),嵌入式CPU用作解析gvcp的协议,配置相机的一些基本功能,也需要适配arp、icmp等基本的网络协议与相机通信,该板卡只能用作图像采集,因为不具备传统的协议栈所以不能当做普通网卡来使用。
参阅图3,图3为本申请提供的一种基于FPGA网卡的图像处理方法的流程示意图,如图3所示的方法在如图2a所示的FPGA网卡的图像处理系统内执行,如图3所示的方法由FPGA网卡执行,上述基于FPGA网卡的图像处理方法包括如下步骤:
步骤S301、FPGA网卡接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文;
步骤S302、FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;
所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;
步骤S303、FPGA网卡向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
示例的,上述中断事件可以包括:所述完成图像的标识或所述完成图像的内存地址,所述内存地址为所述完成图像在所述共享内存中的存储地址。
本申请提供的技术方案在FPGA网卡传输传统网络报文过程中,提取GVSP报文,并利用共享内存(计算机设备内存)来拼接payload,组装成完整图像后发送中断事件到计算机设备,计算机设备应用程序采用共享内存方式获取完整图像,上述操作拼接所使用的内存为计算机设备的共享内容,因此FPGA无需配置内存,另外FPGA执行GVSP报文的解析封装和拼接,无需计算机设备的CPU执行GVSP报文的解析封装和拼接,因此降低了CPU的占用率,并且降低了FPGA网卡的成本,并且上述技术方案非常易用,不存在升级问题,对大多数的Gige相机兼容性好(因为仅仅卸载了GVSP的协议,不同相机厂家的个异性主要体现在GVCP的扩展部分),GVCP协议由相机软件来升级,网卡则无需升级。
示例的,上述对所述第一报文进行识别确定所述第一报文为GVSP报文具体可以包括:
FPGA网卡向计算机设备发送相机配置协商信息,所述相机配置协商信息用于向所述计算机设备请求所述Gige相机的三元组信息,所述三元组信息包括:所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号;
FPGA网卡获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
此技术方案通过对第一报文的五元组信息进行验证来实现对GVSP报文的识别,因为对于Gige相机来说,可以通过预设的配置信息来确定Gige相机对应的IP地址,Gige相机与FPGA网卡连接的端口标识(此端口标识属于Gige相机的端口号对应的标识),然后确定FPGA网卡与Gige相机连接的端口标识(此端口标识属于FPGA网卡的端口号对应的标识)和FPGA网卡的IP地址,由于第一报文会携带五元组信息,若五元组信息与预先配置的信息一致时,即能够确定上述第一报文为Gige相机发送的报文,该Gige相机发送的报文即为GVSP报文。
下面以一个实际的例子来说明识别第一报文是否为GVSP报文的方式,这里假设Gige相机的端口标识为ID1,IP地址为IP1,第一协议标本号为,IPv6.1;FPGA网卡的端口标识为ID2,IP地址为IP2;
FPGA网卡获取第一报文的两个端口号ID3、ID4,两个IP地址,IP3、IP 4,版本号,IPv x,若ID3=ID1,ID4=ID2,IP1=IP3,IP3=IP4,IPv x=IPv6.1,确定第一报文为GVSP报文,若ID3≠ID1,确定第一报文为非GVSP报文。
示例的,上述FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据的方法具体可以包括:
FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的报文头和有效载荷,将所述GVSP报文的报文头丢弃得到payload数据。
本申请实施例还提供一种FPGA网卡的图像处理系统,上述FPGA网卡的图像处理系统的硬件结构示意图如图2a所示,其中,FPGA网卡的图像处理系统包括:FPGA网卡、Gige相机和计算设备,其中,
FPGA网卡,用于接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文,在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存,所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;向计算机设备发送中断事件;
计算机设备,用于依据所述中断事件提取所述完成图像。
示例的,上述FPGA网卡,具体用于向计算机设备发送相机配置协商信息,所述相机配置协商信息用于向所述计算机设备请求所述Gige相机的三元组信息,所述三元组信息包括:所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号;获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
示例的,所述中断事件包括:所述完成图像的标识或所述完成图像的内存地址;
所述计算机设备,具体用于依据所述完成图像的标识从预设的标识与内存地址的映射关系中获取所述完成图像的共享地址,提取所述共享地址对应的完成图像;或依据所述内存地址从所述共享内存中提取所述内存地址提取所述完成图像。
实施例一
本申请实施例一提供一种FPGA网卡的图像处理系统,上述系统的模块结构示意图如图4所示,本申请实施例实现的技术场景具体包括:计算机设备与FPGA网卡预设配置了Gige相机的三元组信息,具体为:第一端口标识,第一IP地址、第一协议版本号,FPGA网卡确定与Gige相机连接的第二端口号标识,本地第二IP地址,其中,
Gige相机,用于采集图像,通过第一报文将所述图像处理至FPGA网卡;
GVSP识别模块,用于获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
FPGA芯片,用于在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;
FPGA芯片,用于向计算机设备发送中断事件,所述中断事件包括:完成图像的存储地址;
计算机设备,用于接收所述中断事件,依据所述存储地址提取完成图像。
在一种可选的技术场景中,每完成一帧图像,则向计算机设备发送一个中断事件,当然在另一种可选的技术场景中,上述中断事件也可以包括一组图像,例如一组Raw图像。
示例的,在一种可选的应用场景中,若计算机设备需要提取多帧图像,则可以生成一个图像队列,该图像队列可以采用先进先出模式管理,当然上述图像队列还可以采用其他的管理方式,包括但不限于:优先级管理方式、权限管理方式等等。当然在另外的可选的应用场景中,上述计算机设备在执行完所有的图像提取之后,可以释放资源,上述释放资源包括但不限于:共享内存、CPU资源、驱动资源等等。
本申请提供的技术方案在FPGA网卡传输传统网络报文过程中,提取GVSP报文,并利用共享内存(计算机设备内存)来拼接payload,组装成完整图像后发送中断事件到计算机设备,计算机设备应用程序采用共享内存方式获取完整图像,上述操作拼接所使用的内存为计算机设备的共享内容,因此FPGA无需配置内存,另外FPGA执行GVSP报文的解析封装和拼接,无需计算机设备的CPU执行GVSP报文的解析封装和拼接,因此降低了CPU的占用率,并且降低了FPGA网卡的成本,并且上述技术方案非常易用,不存在升级问题,对大多数的Gige相机兼容性好(因为仅仅卸载了GVSP的协议,不同相机厂家的个异性主要体现在GVCP的扩展部分),GVCP协议由相机软件来升级,网卡则无需升级。
实施例二
本申请实施例二提供一种FPGA网卡的图像处理方法,上述FPGA网卡的图像处理方法的流程示意图如图5所示,本申请实施例实现的技术场景具体包括:计算机设备与FPGA网卡预设配置了Gige相机的三元组信息,具体为:第一端口标识(ID1),第一IP地址(IP1)、第一协议版本号(IPv6.00),FPGA网卡确定与Gige相机连接的第二端口号标识(ID2),本地第二IP地址(IP2),其中,上述方法在如图2a所示的FPGA网卡的图像处理系统内执行,如图5所示,上述方法包括如下步骤:
步骤S501、Gige相机采集图像,通过第一报文将所述图像处理至FPGA网卡;
步骤S502、FPGA网卡接收第一报文,提取第一报文对应的IP3、IP4、ID3、ID4和IPv6.00,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同(即ID3=ID1、IP3=IP1、IPv6.00=IPv6.00),且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时(ID4=ID2、IP4=IP2),确定所述第一报文为GVSP报文。
步骤S503、FPGA芯片在预设的共享内存中对所述GVSP报文解析封装后,将GVSP报文的报文头丢弃后得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;
步骤S504、FPGA芯片向计算机设备发送中断事件,所述中断事件包括:完成图像的存储地址;
步骤S505、计算机设备收所述中断事件,依据所述存储地址提取完成图像,在提取完所有图像之后,释放上述共享内存。
本申请提供的技术方案在FPGA网卡传输传统网络报文过程中,提取GVSP报文,并利用共享内存(计算机设备内存)来拼接payload,组装成完整图像后发送中断事件到计算机设备,计算机设备应用程序采用共享内存方式获取完整图像,上述操作拼接所使用的内存为计算机设备的共享内容,因此FPGA无需配置内存,另外FPGA执行GVSP报文的解析封装和拼接,无需计算机设备的CPU执行GVSP报文的解析封装和拼接,因此降低了CPU的占用率,并且降低了FPGA网卡的成本,并且上述技术方案非常易用,不存在升级问题,对大多数的Gige相机兼容性好(因为仅仅卸载了GVSP的协议,不同相机厂家的个异性主要体现在GVCP的扩展部分),GVCP协议由相机软件来升级,网卡则无需升级。
参阅图6,图6为本申请提供的一种FPGA网卡的结构框图,上述FPGA网卡可以应用在如图2a所示的系统中,上述FPGA网卡包括:
通信单元601,用于接收Gige相机发送的第一报文;
FPGA芯片602,用于对所述第一报文进行识别确定所述第一报文为GVSP报文;在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;
通信单元601,还用于向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
本申请提供的技术方案的FPGA网卡传输传统网络报文过程中,提取GVSP报文,并利用共享内存(计算机设备内存)来拼接payload,组装成完整图像后发送中断事件到计算机设备,计算机设备应用程序采用共享内存方式获取完整图像,上述操作拼接所使用的内存为计算机设备的共享内容,因此FPGA无需配置内存,另外FPGA执行GVSP报文的解析封装和拼接,无需计算机设备的CPU执行GVSP报文的解析封装和拼接,因此降低了CPU的占用率,并且降低了FPGA网卡的成本,并且上述技术方案非常易用,不存在升级问题,对大多数的Gige相机兼容性好(因为仅仅卸载了GVSP的协议,不同相机厂家的个异性主要体现在GVCP的扩展部分),GVCP协议由相机软件来升级,网卡则无需升级。
示例的,
通信单元601,还用于向计算机设备发送相机配置协商信息,所述相机配置协商信息用于向所述计算机设备请求所述Gige相机的三元组信息,所述三元组信息包括:所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号;
FPGA芯片602,具体用于获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
示例的,
所述中断事件包括:所述完成图像的标识或所述完成图像的内存地址,所述内存地址为所述完成图像在所述共享内存中的存储地址。
示例的,
FPGA芯片602,在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的报文头和有效载荷,将所述GVSP报文的报文头丢弃得到payload数据。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种基于FPGA网卡的图像处理方法的部分或全部步骤。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种基于FPGA网卡的图像处理方法的部分或全部步骤。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、易失性存储器或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(progRAMmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directRAMbus RAM,DR RAM)。等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,可轻易想到变化或替换,均可作各种更动与修改,包含上述不同功能、实施步骤的组合,包含软件和硬件的实施方式,均在本发明的保护范围。
Claims (10)
1.一种基于FPGA网卡的图像处理方法,其特征在于,所述方法包括如下步骤:
FPGA网卡接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文;
FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;
FPGA网卡向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
2.根据权利要求1所述的基于FPGA网卡的图像处理方法,其特征在于,所述对所述第一报文进行识别确定所述第一报文为GVSP报文具体包括:
FPGA网卡向计算机设备发送相机配置协商信息,所述相机配置协商信息用于向所述计算机设备请求所述Gige相机的三元组信息,所述三元组信息包括:所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号;
FPGA网卡获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
3.根据权利要求1所述的基于FPGA网卡的图像处理方法,其特征在于,
所述中断事件包括:所述完成图像的标识或所述完成图像的内存地址,所述内存地址为所述完成图像在所述共享内存中的存储地址。
4.根据权利要求1所述的基于FPGA网卡的图像处理方法,其特征在于,FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据的方法具体包括:
FPGA网卡在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的报文头和有效载荷,将所述GVSP报文的报文头丢弃得到payload数据。
5.一种FPGA网卡的图像处理系统,其特征在于,所述FPGA网卡的图像处理系统包括:FPGA网卡、Gige相机和计算设备;其中,
FPGA网卡,用于接收Gige相机发送的第一报文,对所述第一报文进行识别确定所述第一报文为GVSP报文,在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存,所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;向计算机设备发送中断事件;
计算机设备,用于依据所述中断事件提取所述完成图像。
6.根据权利要求5所述的FPGA网卡的图像处理系统,其特征在于,
FPGA网卡,具体用于向计算机设备发送相机配置协商信息,所述相机配置协商信息用于向所述计算机设备请求所述Gige相机的三元组信息,所述三元组信息包括:所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号;获取第一报文对应的第一端口标识,第一IP地址、第一协议版本号、第二端口标识和第二IP地址,FPGA网卡确定所述第一端口标识、第一IP地址和第一协议版本号分别与对应的所述Gige相机的端口标识、所述Gige相机的IP地址和所述Gige相机的协议版本号相同,且所述第二端口标识和第二IP地址分别与所述FPGA网卡与配置的端口标识和所述FPGA网卡的IP地址相同时,确定所述第一报文为GVSP报文。
7.根据权利要求5所述的FPGA网卡的图像处理系统,其特征在于,
所述中断事件包括:所述完成图像的标识或所述完成图像的内存地址,所述内存地址为所述完成图像在所述共享内存中的存储地址。
8.根据权利要求7所述的FPGA网卡的图像处理系统,其特征在于,
若所述中断事件包括:所述完成图像的标识;
所述计算机设备,具体用于依据所述完成图像的标识从预设的标识与内存地址的映射关系中获取所述完成图像的共享地址,提取所述共享地址对应的完成图像。
9.一种FPGA网卡,其特征在于,所述FPGA网卡包括:
通信单元,用于接收Gige相机发送的第一报文;
FPGA芯片,用于对所述第一报文进行识别确定所述第一报文为GVSP报文;在预设的共享内存中对所述GVSP报文解析封装得到所述GVSP报文的payload数据,对所述payload数据进行拼接得到完成图像,将完成图像保存在所述共享内存;所述共享内存为计算机设备预先为所述FPGA网卡配置的共享内存;
通信单元,还用于向计算机设备发送中断事件,所述中断事件用于指示计算机设备从所述共享内存中提取所述完成图像。
10.一种计算机可读存储介质,其存储用于电子数据交换的程序,其中,所述程序使得终端执行如权利要求1-4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311580631.0A CN117651224A (zh) | 2023-11-23 | 2023-11-23 | 基于fpga网卡的图像处理方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311580631.0A CN117651224A (zh) | 2023-11-23 | 2023-11-23 | 基于fpga网卡的图像处理方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117651224A true CN117651224A (zh) | 2024-03-05 |
Family
ID=90045842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311580631.0A Pending CN117651224A (zh) | 2023-11-23 | 2023-11-23 | 基于fpga网卡的图像处理方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117651224A (zh) |
-
2023
- 2023-11-23 CN CN202311580631.0A patent/CN117651224A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563832B2 (en) | Data sending method and device, data receiving method and device, and system | |
US20220027208A1 (en) | Method for controlling of accelerating edge platform network and electronic device using the same | |
CN111782140A (zh) | 网络数据包存储方法、装置、计算机设备和存储介质 | |
US11010165B2 (en) | Buffer allocation with memory-based configuration | |
CN111294235A (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN113746692A (zh) | 网络流量统计的方法、电子设备及存储介质 | |
US20220393908A1 (en) | Message Encapsulation Method and Apparatus, and Message Decapsulation Method and Apparatus | |
US20230091501A1 (en) | Port status configuration method, apparatus, and system, and storage medium | |
CN112866206A (zh) | 一种单向数据传输方法及装置 | |
US11394776B2 (en) | Systems and methods for transport layer processing of server message block protocol messages | |
CN110661745B (zh) | 一种开销传输方法、装置、设备及计算机可读存储介质 | |
CN117651224A (zh) | 基于fpga网卡的图像处理方法、系统及存储介质 | |
CN111262782B (zh) | 一种报文处理方法、装置及设备 | |
US11870703B2 (en) | Method for configuring and managing TSN network and system applying the method | |
WO2022227484A1 (zh) | 数据通信方法、装置、计算机设备和存储介质 | |
CN114422617B (zh) | 一种报文处理方法、系统及计算机可读存储介质 | |
CN115914130A (zh) | 智能网卡的数据流量处理方法及装置 | |
CN112039801B (zh) | 设置ip信息的方法、系统和代理服务器 | |
CN115033407A (zh) | 一种适用于云计算的采集识别流量的系统和方法 | |
CN111651282B (zh) | 报文处理方法、报文处理装置及电子设备 | |
KR20120012354A (ko) | 부하 절감형 toe 네트워크 장치 | |
CN114079675B (zh) | 报文处理方法、装置、终端设备及移动宽带上网设备 | |
CN114978950B (zh) | 基于fpga、cpu协同的网络算法调用方法及系统 | |
CN114301619B (zh) | 一种无硬件管理口工控防火墙及其模拟管理口实现方法 | |
CN109413485B (zh) | 数据缓存方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |