一种基于FPGA的GigeVision接口图像传输系统与方法与流程

文档序号:16403383发布日期:2018-12-25 20:16阅读:1188来源:国知局
一种基于FPGA的Gige Vision接口图像传输系统与方法与流程

本发明涉及数字图像处理技术领域,特别涉及一种基于FPGA的Gige Vision接口图像传输系统与方法。



背景技术:

随着计算机网络通信与多媒体技术的不断发展,图像处理技术的进步与成熟,在医疗、生物特征识别、机器视觉、军事、遥感监控等领域中,图像处理系统的应用越来越广泛,而无论在哪个领域中,图像处理系统中的数据传输研究向来是研究的关键点之一。对比起传统的传输技术,如百兆以太网技术、RS232接口等旨在传输简单信息的接口,现有的高速接口技术如USB接口、Camera Link接口、IEEE 1394、GigE千兆以太网接口等所能提供的带宽更大,且更能满足高清化及大数据化所需的大数据需求。相比其他接口,千兆以太网接口在图像传输上有着带宽大、传输距离远、可无缝升级到万兆以太网的优势。而FPGA强大的并行数据处理能力、在线可编性、以及动态系统重构静态可编程等先天特性使其在图像传输领域有着广泛的应用。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于FPGA的Gige Vision接口图像传输系统,结合千兆以太网与FPGA,并采用Gige Vision作为传输协议,可有效改善目前传统嵌入式图像传输存在的硬件成本高、传输距离较短、运行功耗大的问题。

本发明的另一目的在于提供一种基于FPGA的Gige Vision接口图像传输方法。

本发明的目的通过以下的技术方案实现:

一种基于FPGA的Gige Vision接口图像传输系统,包括:图像传感器、上位机、局域千兆以太网络、基于Gige接口的嵌入式图像采集设备,其中基于Gige接口的嵌入式图像采集设备为系统的核心设备,包括FPGA芯片、PHY芯片;其中FPGA芯片信号输入端与图像传感器输出信号端连接;FPGA芯片与PHY芯片互相信号连接;PHY芯片与上位机相连接;

FPGA芯片包括:图像采集模块(1)、图像格式处理模块(2)、GVCP控制模块(3)、以太网协议栈模块(4)以及以太网控制模块(5);

系统的工作过程包括:

1)摄像头、嵌入式图像采集设备和上位机连接到同一个局域网内,系统上电初始化、上位机读取设备状态、配置设备参数、自动发出发现指令与开启指令,系统开始工作;

2)摄像头获取图像数据,传输至嵌入式图像采集设备,对应嵌入式图像采集设备根据获取数据包,经过解析和预处理后进行格式封装,待上位机与设备的信令交互完成后,将数据和参数上传至上位机;

3)上位机实时显示所选摄像头图像和图像参数。

优选的,图像采集模块(1),将嵌入式图像采集设备与图像传感器相连接,负责对CMOS图像传感器进行设备配置与图像数据采集;

图像格式处理模块(2),对图像传感器采集到的图像进行预处理,实现功能包括对输入图像数据进行切包、格式封装,使其满足GVSP数据流协议的传输标准;

GVCP控制模块(3),负责与上位机发送的GVCP控制协议相交互;

以太网协议栈模块(4),负责对上游模块发送过来的数据进行以太网格式封装,使得其满足千兆以太网传输格式要求,该模块具有ARP、ICMP协议自动应答功能,能够解析上位机发送的ARP请求数据报,并自动发送相应的ARP、ICMP应答数据包进行应答,并将输入的上位机MAC地址和IP地址缓存至静态缓存列表模块中;

以太网控制模块(5),实现对PHY芯片的控制与信号交互,包括前导码和CRC校验码的添加,使得数据满足物理层传输要求。

具体的,图像采集模块(1)包括摄像头参数表模块(1.1)、摄像头配置模块(1.2)、摄像头接口模块(1.3)、图像采集接口模块(1.4);

图像格式处理模块(2)为单模块;

GVCP控制模块(3)包括设备发现配置模块(3.1)、设备寄存器读写模块(3.2)、设备内存读写模块(3.3)、GVCP报文汇聚模块(3.4);

以太网协议栈模块(4)包括ARP_IP汇总解析模块(4.1)、ARP解析模块(4.2)、ARP发送模块(4.3)、静态列表缓存模块(4.4)、IP解析模块(4.5)、ICMP解析模块(4.6)、UDP解析模块(4.7)、ICMP发送模块(4.8)、报文汇聚模块(4.9)、UDP发送模块(4.10)、UDP切包模块(4.11);

以太网控制模块(5)包括MAC控制模块(5.1)、MAC接口模块(5.2)、MAC配置模块(5.3)、PLL模块(5.4)。

优选的,上位机对嵌入式图像采集设备下的实时处理,包括有读取XML文件、解析XML文件、发现设备、产生配置接口、信令交互,图像缓存与显示。

一种基于FPGA的Gige Vision接口图像传输方法,包括以下步骤:

a)摄像头、嵌入式图像采集设备和上位机连接到同一个局域网内,系统上电初始化;

b)上位机发送信令报文GVCP,通过千兆以太网接口与FPGA进行信息交互,协商并配置设备中的通用引导寄存器与用户寄存器;

c)上位机完成基本的设备读写寄存器操作后,通过信令报文形式读取设备XML描述文件;

d)上位机软件自动解析XML文件,若解析成功则进行下一步,否则软件报错并返回至步骤c);

e)上位机产生配置接口与传输通道;

f)根据用户自定义寄存器使能图像设备采集,开启图像采集操作;

g)对采集的图像进行格式封装与以太网传输;

h)关机并完成操作。

优选的,上位机与嵌入式图像采集设备的信令报文流交互流程包括:

信令报文的接收:上位机PC发送信令报文,经网线与PHY芯片相连接;千兆以太网PHY芯片将GVCP信令报文传输至以太网控制模块(5),以太网控制模块对报文除去前导码,并进行CRC校验后,传输给以太网协议栈模块(4);在以太网协议栈模块中,数据首先传输至ARP_IP总解析模块(4.1),对输入的数据进行MAC地址校验,除去MAC头格式后,根据数据中的IP类型段,把GVCP信令报文送至IP数据流,传至IP解析模块(4.5);IP解析模块(4.5)会对输入的数据流进行IP地址校验,以及首部检错码校验,从数据段中提取出IP地址信息进行缓存,除去信令报文的IP首部后,根据数据流类型,把信令报文数据传输至UDP解析模块(4.7)进行解析;UDP解析模块会对输入的数据进行校验和计算处理,滤除校验和错误的报文,并除去UDP头部后把剩余数据送往GVCP控制模块(3);GVCP控制模块根据接收的信令报文进行读取、核查、协议处理操作,并根据信令报文产生内部指令操作设备;

信令报文的发送:GVCP控制模块在接收到信令报文并处理完毕后,发送应答报文回复上位机。首先GVCP根据不同信令类型产生对应的应答报文,应答报文先经过GVCP报文汇聚模块(3.4)进行调度,之后送往UDP切包模块(4.11),视发送报文长度需求决定是否需切包以及切分长度。

具体的,数据经过切包模块后送往UDP发送模块(4.10),对输入的数据进行MAC头封装、IP封装、并根据数据部分以及头部格式部分计算出UDP校验和后,进行UDP头部封装,之后将完整数据送往报文汇聚模块(4.9)进行FIFO缓存;以太网控制模块(5)会根据报文汇聚模块中存储数据FIFO的空满状态进行读取数据,将回复报文添加上前导码与CRC校验后,最终通过网络双绞线送往PC上位机进行交互。

具体的,切包模块结构如下:数据输入端需要输入信息包括数据部分、数据的头尾指示信号sop与eop、数据有效信号vld、以及需要送往的目的IP地址、目的物理地址、目的端口、源端口;其中端口信息与地址信息分别送往对应FIFO模块缓存;而数据部分,在FIFO缓存前加入两计数器cnt_1472、计数器cnt_18,FIFO输出端也同为双计数器逻辑,为cnt_1与cnt_2;cnt_1472在有数据输入时就对输入数据进行计算,加一条件为din_vld信号,而cnt_18只有在输入数据长度超过1454个字节,即cnt_1472计数结束时,才开始计数,并把计数长度存入信息FIFO中;而在FIFO输出端,cnt_2负责计数阶段数,若数据长度过长,则分两端传输,cnt_1负责计数实际的输出字节数。

优选的,在上位机与嵌入式图像采集设备完成信令报文的交互后,上位机会自动发送开启采集图像命令开启图像采集,其中图像数据流GVSP的发送流程为:图像采集模块(1)根据图像传感器图像采集时序要求采集图像数据,并传输至图像格式处理模块(2);图像数据经过图像格式处理模块进行切包与封装后,送往以太网协议栈模块的报文汇聚模块(4.9)供以太网控制模块调度与传输;在以太网控制模块中添加前导码、CRC校验后,通过PHY芯片送往上位机显像。

具体的,图像格式处理模块对输入数据封装成MAC+IP+UDP+GVSP+数据的形式进行发送。

具体的,图像格式处理模块还需根据采集图像的大小,调整length输入对一帧图像数据进行切包发送,其length长度为上位机信令交互时SCPS寄存器所设置的长度。

本发明与现有技术相比,具有如下优点和有益效果:

(1)本发明基于FPGA芯片,并通过在FPGA芯片内部设计了各部分逻辑模块(包括有图像采集模块、图像格式处理模块、GVCP控制模块、以太网协议栈模块、以太网控制模块五个大模块,每个模块又分为多个小模块组成)实现了图像采集的逻辑模块结构和数据流,由此一方面有效降低了硬件成本、降低了运行功耗、减小了体积,另一方面有效增大了数据处理量、提高了数据处理效率、提高了能效比。本发明可广泛应用于基于机器视觉的工业现场监控。

(2)本发明在方案实现上内部包含有支持ICMP、ARP、UDP、IP协议解析与发送的协议栈且协议栈自身带有高性能切包模块,对比起同类型协议栈,能提高千兆以太网带宽利用率以及协议栈的封装性,方便用户使用。

附图说明

图1为实施例总体操作流程图。

图2为实施例信令交互流程图。

图3为UDP切包模块结构图。

图4为图像格式处理模块结构图。

图5为图像格式处理模块状态转换图。

图6为实施例的系统模块框图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1

是为了改善传统Gige IP核所存在的逻辑资源消耗量大、硬件成本较高等缺点,本发明根据Gige Vision协议内容及以太网传输格式要求,对协议进行精简以设计出支持控制报文协议(Internet Control Message Protocol,ICMP)、地址解析协议(Address Resolution Protocol,ARP)、用户数据报协议(User Datagram Protocol,UDP)、千兆以太网视觉控制协议(GigE Vision Control Protocol,GVCP)、千兆以太网视觉数据流协议(GigE Vision Stream Protocol,GVSP)封包和解析的IP核,并利用FPGA的并行处理性,根据Gige Vision协议要求将图像数据传输给上位机实时显示。

一种基于FPGA的Gige Vision接口图像传输系统,包括CMOS图像传感器、PC上位机、局域千兆以太网络、基于Gige接口的嵌入式图像采集设备,其中基于Gige接口的嵌入式图像采集设备为系统的核心设备,包括FPGA芯片、PHY芯片、RJ45接口。其中所述的FPGA信号输入端与CMOS图像传感器输出信号端连接;所述的FPGA与PHY芯片互相信号连接;所述的PHY芯片与所述RJ45接口互相连接,RJ45接口通过网线与PC上位机相连接。在FPGA芯片内部设计各部分逻辑模块,包括:图像采集模块(1)、图像格式处理模块(2)、GVCP控制模块(3)、以太网协议栈模块(4)以及以太网控制模块(5),该部分使用硬件描述语言Verilog实现,满足Gige Vision传输协议和以太网传输协议格式要求,遵循GMII接口规范。

其中:

S1、图像采集模块(1)包含有摄像头参数表模块(1.1)、摄像头配置模块(1.2)、摄像头接口模块(1.3)、图像采集接口模块(1.4);

S2、图像格式处理模块(2)为单模块;

S3、GVCP控制模块(3)包含有设备发现配置模块(3.1)、设备寄存器读写模块(3.2)、设备内存读写模块(3.3)、GVCP报文汇聚模块(3.4);

S4、以太网协议栈模块(4)包含有ARP_IP汇总解析模块(4.1)、ARP解析模块(4.2)、ARP发送模块(4.3)、静态列表缓存模块(4.4)、IP解析模块(4.5)、ICMP解析模块(4.6)、UDP解析模块(4.7)、ICMP发送模块(4.8)、报文汇聚模块(4.9)、UDP发送模块(4.10)、UDP切包模块(4.11);

S5、以太网控制模块(5)包含MAC控制模块(5.1)、MAC接口模块(5.2)、MAC配置模块(5.3)、PLL模块(5.4)。

图像采集模块(1),将嵌入式采集设备与图像传感器相连接,负责对CMOS图像传感器进行设备配置与图像数据采集。

图像格式处理模块(2),负责对图像传感器采集到的图像进行预处理,在逻辑模块实现上采用单模块实现,具有对输入图像数据进行切包、格式封装等功能,使其满足GVSP数据流协议的传输标准。

GVCP控制模块(3),该模块在逻辑结构划分上划分为了三个分模块实现,包括有设备发现模块、设备寄存器读写模块、设备内存读写模块,该控制模块负责与上位机发送的GVCP控制协议相交互。

以太网协议栈模块(4),在逻辑结构上划分为了多个模块进行实现,主要负责对上游模块发送过来的数据进行以太网格式封装,使得其满足千兆以太网传输格式要求,该模块具有ARP、ICMP协议自动应答功能,能够解析上位机发送的ARP请求数据报,并自动发送相应的ARP、ICMP应答数据包进行应答,并将输入的上位机MAC地址和IP地址缓存至静态缓存列表模块中。

以太网控制模块(5),在逻辑结构上划分为了四个模块进行实现,包括有对PHY芯片的控制与信号交互,前导码和CRC校验码的添加等,使得数据满足物理层传输要求。

计算机作为上位机对嵌入式采集设备下位机的实时处理,包括有读取XML文件、解析XML文件、发现设备、产生配置接口、信令交互,图像缓存与显示。系统的工作过程为:

1)摄像头、嵌入式图像采集设备和计算机连接到同一个局域网内,系统上电初始化、上位机读取设备状态、配置设备参数、自动发出发现指令与开启指令,系统开始工作;

2)摄像头获取图像数据,传输至嵌入式图像采集设备,对应嵌入式图像采集设备根据获取数据包,经过解析和预处理后进行格式封装,待上位机与设备的信令交互完成后,将数据和参数上传至上位机;

3)上位机实时显示所选摄像头图像和图像参数。

嵌入式图像采集设备中的FPGA选用Altera的CYCLONE IV系列型号为EP4CE15F17C8。

嵌入式图像采集设备中的以太网PHY选用Realtek公司的RTL8211EG。

嵌入式图像采集系统中上位机显示软件为MVtec公司的Halcon。

实施例2

参照图1,一种基于FPGA的Gige Vision接口图像传输实现方法,总体操作流程为:

a)摄像头、嵌入式图像采集设备和计算机连接到同一个局域网内,系统上电初始化;

b)上位机发送信令报文GVCP,通过千兆以太网接口与FPGA进行信息交互,协商并配置设备中的通用引导寄存器与用户寄存器;

c)上位机完成基本的设备读写寄存器操作后,通过信令报文形式读取设备XML描述文件;

d)上位机软件自动解析XML文件,若解析成功则进行下一步,否则软件报错并返回至步骤c);

e)上位机产生配置接口与传输通道;

f)根据用户自定义寄存器使能图像设备采集,开启图像采集操作;

g)对采集的图像进行格式封装与以太网传输;

h)关机并完成操作。

参考图2,上位机与嵌入式图像采集设备的信令报文流交互流程:

信令报文的接收:上位机PC发送信令报文,经网线与PHY芯片相连接;千兆以太网PHY芯片将GVCP信令报文传输至以太网控制模块(5),以太网控制模块对报文除去前导码,并进行CRC校验后,传输给以太网协议栈模块(4);在以太网协议栈模块中,数据首先传输至ARP_IP总解析模块(4.1),对输入的数据进行MAC地址校验,除去MAC头格式后,根据数据中的IP类型段,把GVCP信令报文送至IP数据流,传至IP解析模块(4.5);IP解析模块(4.5)会对输入的数据流进行IP地址校验,以及首部检错码校验,从数据段中提取出IP地址信息进行缓存,除去信令报文的IP首部后,根据数据流类型,把信令报文数据传输至UDP解析模块(4.7)进行解析;UDP解析模块会对输入的数据进行校验和计算处理,滤除校验和错误的报文,并除去UDP头部后把剩余数据送往GVCP控制模块(3);GVCP控制模块根据接收的信令报文进行读取、核查、协议处理操作,并根据信令报文产生内部指令操作设备。

信令报文的发送:GVCP控制模块在接收到信令报文并处理完毕后,发送应答报文回复上位机。首先GVCP根据不同信令类型产生对应的应答报文,应答报文先经过GVCP报文汇聚模块(3.4)进行调度,之后送往UDP切包模块(4.11),视发送报文长度需求决定是否需切包以及切分长度。

UDP报文切包模块结构图参考图3,与传统的切包模块不同,该切包模块的加入可减少千兆以太网络中存在大量短包而需补零的情况,从而提高网络带宽利用率。该模块结构如下:数据输入端分别需要输入数据部分、数据的头尾指示信号sop与eop、数据有效信号vld、以及需要送往的目的IP地址、目的物理地址、目的端口、源端口等信息。其中端口信息与地址信息分别送往对应FIFO模块缓存;而数据部分,为了减少输入报文过小而需要补0的情况,在FIFO缓存前加入两计数器cnt_1472、计数器cnt_18,FIFO输出端也同为双计数器逻辑,为cnt_1与cnt_2;cnt_1472在有数据输入时就对输入数据进行计算,加一条件为din_vld信号,而cnt_18只有在输入数据长度超过1454个字节,即cnt_1472计数结束时,才开始计数,并把计数长度存入信息FIFO中。而在FIFO输出端,cnt_2负责计数阶段数,若数据长度过长,则分两端传输,cnt_1负责计数实际的输出字节数。

数据经过切包模块后送往UDP发送模块(4.10),对输入的数据进行MAC头封装、IP封装、并根据数据部分以及头部格式部分计算出UDP校验和后,进行UDP头部封装,之后将完整数据送往汇聚模块(4.9)进行FIFO缓存;以太网控制模块(5)会根据汇聚模块中存储数据FIFO的空满状态进行读取数据,将回复报文添加上前导码与CRC校验后,最终通过网络双绞线送往PC上位机进行交互。

所述的以太网控制模块的PHY管理接口信号为MDC以及MDIO信号。

所述的以太网控制模块的GMII交互信号为125M工作时钟。

在上位机与嵌入式图像采集设备完成信令报文的交互后,PC上位机软件会自动发送开启采集图像命令开启图像采集,其中图像数据流GVSP的发送流程为:图像采集模块(1)根据图像传感器图像采集时序要求采集图像数据,并传输至图像格式处理模块(2)。

图像格式处理模块的结构图参考图4。对输入数据封装成MAC+IP+UDP+GVSP+数据的形式进行发送,其中UDP封装时需要进行校验和计算,而GVSP封装采用的是Image格式,状态转换参考图5。

图像格式处理模块还需根据采集图像的大小,调整length输入对一帧图像数据进行切包发送,其length长度为上位机信令交互时SCPS(Stream Channel Packet Size)寄存器所设置的长度。

图像数据经过图像格式处理模块进行切包与封装后,送往以太网协议栈模块的报文汇聚模块(4.9)供以太网控制模块调度与传输;在以太网控制模块中添加前导码、CRC校验后,通过PHY芯片与RJ45送往上位机显像。

上位机接收到以太网传输数据后,Halcon软件会对采集的数据进行成像显示。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1