基于FPGA实现GigE Vision协议进行网络通信的方法技术

技术编号:18304613 阅读:75 留言:0更新日期:2018-06-28 13:31
本发明专利技术属于嵌入式通信领域,涉及一种基于FPGA实现GigE Vision协议进行网络通信的方法。该方法通过对GigE Vison协议进行精简,用硬件描述语言实现了GigE Vision协议的各个功能,该方法不仅降低了实现成本,同时运行速度大大提升。该方法的步骤是:1)搭建网络通信系统;2)建立数据收发通道;3)利用QSPI‑FLASH芯片建立参数存储区域;4)运行底层协议;5)对GVCP协议的处理;6)对GVSP协议的处理。

Implementation of GigE Vision protocol for network communication based on FPGA

The invention belongs to the field of embedded communication, and relates to a method of realizing GigE Vision protocol for network communication based on FPGA. By simplifying the GigE Vison protocol and using the hardware description language to implement the various functions of the GigE Vision protocol, this method not only reduces the cost of implementation, but also improves the running speed. The steps of this method are: 1) building network communication system; 2) establishing data transmission channel; 3) using QSPI FLASH chip to establish parameter storage area; 4) running the underlying protocol; 5) processing of GVCP protocol; 6) processing GVSP protocol.

【技术实现步骤摘要】
基于FPGA实现GigEVision协议进行网络通信的方法
本专利技术属于嵌入式通信领域,涉及一种基于FPGA实现GigEVision协议进行网络通信的方法。
技术介绍
目前工业相机的通信方式主要包括1394接口,USB接口,ameraLink接口以及千兆网接口。其中1394协议的通信速度为:800M/s,传输距离为30米;USB接口的通信速度为:5Gb/s,传输距离为:3米;CameraLink接口的通信速度为:5.4Gb/s,传输距离为:3~10米,需要电脑安装采集卡;千兆网接口的通信速度为:1Gb/s,传输距离为:通过交换机,可以任意长。其中,千兆网通信,以其传输距离远,传输速度较高的特点,组网设备数量多,无需数据采集卡的特点,得到了广泛的应用。主流工业相机厂家,国外如德国Balser、日本JAI、英国E2V,加拿大Dalsa,韩国Vieworks,国内如大恒、嘉恒中自、微视图像等,均有多款千兆网通信的工业相机产品。工业相机能连接到千兆网络系统中,必须运行网络通信协议。TCP/IP协议,是整个通信网络的运行的协议基础。在传输层的协议有TCP协议和UDP协议。TCP协议和UDP协议各具特点:TCP提供IP环境下的数据可靠传输,它提的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据发送。UDP则不为IP提供可靠性、流控或差错恢复功能;但是TCP对计算机资源消耗较多,UDP协议简单高效。针对UDP协议与TCP协议各自的优缺点,国际自动成像协会(AIA)联合各大机器视觉厂商,共同开发了GigEVision通信协议。GigEVision协议模型如图1所示。GigEVisoion协议基于已有千兆以太网通信协议开发,主要包括六个部分:1.基于UDP协议的GigEVision控制协议GVCP:该标准定义了如何对设备进行控制和组态。规定了相机和计算机之间发送图像及配置数据的流通道和机制。2.GigE设备发现机制:该机制提供了搜寻相机IP地址的方法。3.GigEVision流控制协议GVSP:该协议涵盖了后数据类型的定义和通过GigE传输图像的方法。4.基于GenICam标准的XML描述文件,该数据表单提供了相机控制和图像数据流访问的权限5.底层协议,如:UDP协议、ARP协议、ICMP协议;其中ARP协议用于得到目标设备的MAC地址;UDP协议用于GVCP,GVSP协议数据包的封装以及解封装;ICMP协议主要用于检测设备连接状态。6.硬件基础,如千兆以太网。国际自动成像协会(AIA)指定该协议的初衷是,统一工业相机的千兆网通信协议,使不同的公司上位机软件可以方便的控制不同品牌的工业相机,但是如何在工业相机上运行GigEVision协议进行网络通信,这方面几乎没有相关记载。目前一些高校和公司在开展这方面的研究。申请号为201510014943.4,专利技术专利为“基于千兆以太网视觉协议的以太网控制器IP核及方法”,该方案的思路是在FPGA内部生成NIOSII软核,充当处理器,负责进行任务调度,而具体的数据收发,封装,仍由FPGA硬件逻辑语言实现。这种方案存在的缺陷是NIOSII是基于FPGA内部逻辑资源生成的,会消耗掉FPGA内部大量的ram,不适合低端FPGA实现,增加了实现成本。其次NIOSII运行速度低,远低于ARM,DSP等处理器,无论ALTERA公司还是XILINX公司的SOPC方案,都在向FPGA+ARM架构进化,NIOSII以及Microblaze软核方案,逐渐被放弃。
技术实现思路
本专利技术的目的就是为了解决上述问题,提供了一种基于FPGA实现GigEVision协议进行网络通信的方法,通过对GigEVison协议进行精简,用硬件描述语言实现了GigEVision协议的各个功能,该方法不仅降低了实现成本,同时运行速度大大提升。本专利技术的具体技术方案是:本专利技术提供了一种基于FPGA实现GigEVision协议进行网络通信的方法,包括以下步骤:1)搭建网络通信系统;所述网络通信系统包括FPGA芯片、PHY芯片、DDR2芯片以及QSPI-FLASH芯片;PHY芯片与FPGA芯片连接负责网络数据的收发;DDR2芯片与FPGA芯片连接负责图像数据的缓存;QSPI-FLASH芯片与FPGA芯片连接负责XML文件的存储;2)建立数据收发通道;FPGA与PHY芯片通过RGMII接口相连,由FPGA通过MIDO和MDC配置PHY芯片的工作状态,建立数据收发通道;3)利用QSPI-FLASH芯片建立参数存储区域;存储区域的存储数据包括两个部分:(1)相机通用参数,所述相机通用参数包括IP地址、MAC地址;(2)GigEVision协议需要的XML文件的ZIP压缩包;XML文件的ZIP压缩包内容包含了GigEVision的协议版本信息,控制寄存器的地址表以及图像信息寄存器地址表;4)运行底层协议;首先进入侦听状态,在FPGA中首先将接收到的PC上位机发送的网络数据包进行解包分析后再进行协议类型判断,并进行相应处理:如果是ARP协议,则将相机的MAC地址,按照ARP协议进行封装,然后发送给PC上位机;如果是ICMP协议,则回复相应的icmp协议数据包,表示该相机能够ping通,相机处于在线状态;如果是UDP协议,则进入下一步的判断,如果数据包发送的目标端口为3956且关键字信息为0x42则判定其为属于GigEVision协议的数据包;若不是,则不作处理,返回侦听状态;GigEVision协议数据包的解析,如果解析的数据内容为GVCP协议,则进行步骤5)的处理,如果解析的数据内容为GVSP协议,则进行步骤6);如果解析的数据内容不是GVCP协议或GVSP协议中任意一种,则不作处理;5)对GVCP协议的处理;GVCP协议的处理包括六种情况:A、当PC上位机向相机广播发送搜寻命令时,FPGA芯片进行判断,如果属于同一网段的PC上位机,则回复响应搜寻数据包;如果不属于同一网段的PC上位机,不作处理;B、当PC上位机向相机发送更改IP地址命令时,需要回复IP地址更改成功的确认信息;C、当PC上位机需要读取相机基本参数信息时,需要从QSPI-FLASH芯片中读取已存储的相机基本参数信息;相机基本参数信息包括设备生产厂家、设备编号、协议版本、XML文件的存储位置以及XML文件的内容;D、当PC上位机需要写入相机基本参数信息时,则需要将相机基本参数信息写入QSPI-FLASH芯片中进行存储;E、当PC上位机需要读取相机控制参数信息时,需要从QSPI-FLASH中读取已存储的相机控制参数信息;相机控制参数信息包括曝光时间、触发方式、偏置、增益、图像格式、压缩方式;F、当PC上位机需要写入相机控制参数信息时,则需要将相机控制参数信息写入QSPI-FLASH芯片中进行存储;6)对GVSP协议的处理;GVSP协议的处理包括两种情况:情况1:当相机接收到PC上位机发送的图像采集命令时:首先,FPGA芯片发送一幅图像的起始数据帧给PC上位机,其包含的信息包括:图像类型,标号;然后,FPGA芯片发送该幅图像的完整信息;最后,FPGA芯片发送该幅图像的结束数据帧;情况:2:当相机接收到PC上位机发送的图像重传命令本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201711466460.html" title="基于FPGA实现GigE Vision协议进行网络通信的方法原文来自X技术">基于FPGA实现GigE Vision协议进行网络通信的方法</a>

【技术保护点】
1.一种基于FPGA实现GigE Vision协议进行网络通信的方法,其特征在于,包括以下步骤:1)搭建网络通信系统;所述网络通信系统包括FPGA芯片、PHY芯片、DDR2芯片以及QSPI‑FLASH芯片;PHY芯片与FPGA芯片连接负责网络数据的收发;DDR2芯片与FPGA芯片连接负责图像数据的缓存;QSPI‑FLASH芯片与FPGA芯片连接负责XML文件的存储;2)建立数据收发通道;FPGA与PHY芯片通过RGMII接口相连,由FPGA通过MIDO和MDC配置PHY芯片的工作状态,建立数据收发通道;3)利用QSPI‑FLASH芯片建立参数存储区域;存储区域的存储数据包括两个部分:(1)相机通用参数,所述相机通用参数包括IP地址、MAC地址;(2)GigE Vision协议需要的XML文件的ZIP压缩包;XML文件的ZIP压缩包内容包含了GigE Vision的协议版本信息,控制寄存器的地址表以及图像信息寄存器地址表;4)运行底层协议;首先进入侦听状态,在FPGA中首先将接收到的PC上位机发送的网络数据包进行解包分析后再进行协议类型判断,并进行相应处理:如果是ARP协议,则将相机的MAC地址,按照ARP协议进行封装,然后发送给PC上位机;如果是ICMP协议,则回复相应的icmp协议数据包,表示该相机能够ping通,相机处于在线状态;如果是UDP协议,则进入下一步的判断,如果数据包发送的目标端口为3956且关键字信息为0x42则判定其为属于GigE Vision协议的数据包;若不是,则不作处理,返回侦听状态;GigE Vision协议数据包的解析,如果解析的数据内容为GVCP协议,则进行步骤5)的处理,如果解析的数据内容为GVSP协议,则进行步骤6);如果解析的数据内容不是GVCP协议或GVSP协议中任意一种,则不作处理;5)对GVCP协议的处理;GVCP协议的处理包括六种情况:A、当PC上位机向相机广播发送搜寻命令时,FPGA芯片进行判断,如果属于同一网段的PC上位机,则回复响应搜寻数据包;如果不属于同一网段的PC上位机,不作处理;B、当PC上位机向相机发送更改IP地址命令时,需要回复IP地址更改成功的确认信息;C、当PC上位机需要读取相机基本参数信息时,需要从QSPI‑FLASH芯片中读取已存储的相机基本参数信息;相机基本参数信息包括设备生产厂家、设备编号、协议版本、XML文件的存储位置以及XML文件的内容;D、当PC上位机需要写入相机基本参数信息时,则需要将相机基本参数信息写入QSPI‑FLASH芯片中进行存储;E、当PC上位机需要读取相机控制参数信息时,需要从QSPI‑FLASH中读取已存储的相机控制参数信息;相机控制参数信息包括曝光时间、触发方式、偏置、增益、图像格式、压缩方式;F、当PC上位机需要写入相机控制参数信息时,则需要将相机控制参数信息写入QSPI‑FLASH芯片中进行存储;6)对GVSP协议的处理;GVSP协议的处理包括两种情况:情况1:当相机接收到PC上位机发送的图像采集命令时:首先,FPGA芯片发送一幅图像的起始数据帧给PC上位机,其包含的信息包括:图像类型,标号;然后,FPGA芯片发送该幅图像的完整信息;最后,FPGA芯片发送该幅图像的结束数据帧;情况:2:当相机接收到PC上位机发送的图像重传命令时:FPGA芯片在DDR2芯片中查找需要重传的图像数据所在位置并将其读出,然后发送该图像数据。...

【技术特征摘要】
1.一种基于FPGA实现GigEVision协议进行网络通信的方法,其特征在于,包括以下步骤:1)搭建网络通信系统;所述网络通信系统包括FPGA芯片、PHY芯片、DDR2芯片以及QSPI-FLASH芯片;PHY芯片与FPGA芯片连接负责网络数据的收发;DDR2芯片与FPGA芯片连接负责图像数据的缓存;QSPI-FLASH芯片与FPGA芯片连接负责XML文件的存储;2)建立数据收发通道;FPGA与PHY芯片通过RGMII接口相连,由FPGA通过MIDO和MDC配置PHY芯片的工作状态,建立数据收发通道;3)利用QSPI-FLASH芯片建立参数存储区域;存储区域的存储数据包括两个部分:(1)相机通用参数,所述相机通用参数包括IP地址、MAC地址;(2)GigEVision协议需要的XML文件的ZIP压缩包;XML文件的ZIP压缩包内容包含了GigEVision的协议版本信息,控制寄存器的地址表以及图像信息寄存器地址表;4)运行底层协议;首先进入侦听状态,在FPGA中首先将接收到的PC上位机发送的网络数据包进行解包分析后再进行协议类型判断,并进行相应处理:如果是ARP协议,则将相机的MAC地址,按照ARP协议进行封装,然后发送给PC上位机;如果是ICMP协议,则回复相应的icmp协议数据包,表示该相机能够ping通,相机处于在线状态;如果是UDP协议,则进入下一步的判断,如果数据包发送的目标端口为3956且关键字信息为0x42则判定其为属于GigEVision协议的数据包;若不是,则不作处理,返回侦听状态;GigEVision协议数据包的解析,如果解析的数据内容为GVCP协议,则进行步骤5)的处理,如果解析的数...

【专利技术属性】
技术研发人员:王彦超余建成张伟刚寇经纬
申请(专利权)人:中国科学院西安光学精密机械研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1