1.本发明涉及图像采集技术领域,具体涉及一种基于网络协议的图像采集系统及方法。
背景技术:2.基于网络协议(如gigevision协议)的图像采集,需要cpu参与网络协议包解析、图像数据拼接与重传请求和处理,且每个数据包(1.5kb到16kb)的到达都会触发一次cpu中断,具有极高的cpu占用率,同时具有传输稳定性差的特点,在操作系统颠簸时容易发生丢包、丢帧等问题,同时需要设备端(如网口工业相机)具有重传能力,并有较大的重传缓存,对于设备端设计有较高的要求。
3.基于网络协议的图像采集方法及装置,由于具有高带宽、低成本、传输距离长、灵活性高等优势,在各类视觉系统中有着极为广泛的应用。基于网口协议的图像采集方法及装置,主要包括使用以太网、快速以太网、千兆以太网、万兆以太网的应用,基本都是包括一台基于网口协议的相机设备、网络线缆、一块网卡与计算机,其中网卡可能是独立的,也可能集成于计算机主板上。相机设备采集的图像数据,会以网络协议数据包的形式通过网络线缆发送至网卡,每个数据包的大小最大不超过16kb,数据包中除了包括图像数据外,还包括包头、包类型、包编号、图像格式等信息。网卡在收到每个数据包后,会根据其驱动程序向计算机cpu发送中断,并由cpu实现对于网络数据包的解析,提取出图像数据放入内存。由于常见的操作系统调度、颠簸等问题,会导致cpu来不及处理网络数据包,此时就会发生丢包,为了得到完整的图像数据,cpu需要根据缺失的包编号通过网卡向相机设备发送重传请求,由相机设备重新发送丢失的数据包。此类应用对于cpu具有极高的占用率,同时也需要相机设备具有较大的重传缓存。因此,基于网络协议的图像采集系统通常应用于对于图像采集稳定性要求不高的应用场景中,在高稳定度要求的工业场景中应用较少。
4.具体的说,现有技术存在以下技术问题:
5.1.需要cpu参与网络数据包解析、图像数据拼接;
6.2.传输稳定性较差,且需要cpu分析丢包并提交重传请求;
7.3.具有极高的cpu中断率,以16kb数据包大小,万兆网满速传输为例,cpu中断率约为78khz;
8.4.需要相机设备具有重传能力,并具备较大的重传缓存。
技术实现要素:9.本发明提出的一种基于网络协议的图像采集系统及方法,可至少解决上述技术问题之一。
10.为实现上述目的,本发明采用了以下技术方案:
11.本发明公开了一种基于网络协议的图像采集系统,包括网口设备、图像采集卡和计算机,所述图像采集卡包括图像采集卡网口、处理器和存储器;
12.所述处理器用于接收所述计算机发送的配置命令和触发信号并将其发送到所述网口设备;以及,接收所述网口设备发送的网络数据包后,从网络数据包中解析出图像数据,再将其组成完整的图像数据帧并存储到所述存储器中,然后从所述存储器中读取完整的图像数据帧发送给所述计算机;
13.所述网口设备发送的网络数据包还包括数据包编号与数据校验信息;若所述图像采集卡处理器根据数据包编号判断存在丢包,或根据数据校验信息判断网络数据包存在传输错误,则向发送所述网络数据包的网口设备发送重传请求;
14.所述计算机包括内存和中断处理程序,所述内存包括命令缓冲区队列和数据缓冲区队列;其中,所述命令缓冲区队列用于发送配置命令与触发信号,所述数据缓冲区队列用于接收完整的图像数据帧,所述中断处理程序用于接收中断请求;
15.所述处理器还用于在预配置的中断事件发生时,向所述计算机的中断处理程序发送中断请求。
16.进一步的,网口设备为m个,且m≥1;图像采集卡包括n个网口,且n≥m;每个网口设备通过k根网络线缆使用网络协议分别连接至图像采集卡的k个网口,且n≥k≥1。
17.进一步的,网络线缆为网络双绞线、网络同轴线和光纤中的一种或多种;所述网络协议为以太网、快速以太网、千兆以太网和万兆以太网中的一种或多种。
18.进一步的,图像采集卡与所述计算机之间通过pcie总线连接。
19.进一步的,图像采集卡网口可以通过网络线缆为网口设备供电。
20.另一方面,本发明还公开一种基于网络协议的图像采集方法,包括以下步骤:
21.图像采集卡处理器将获取到的计算机发出的配置命令和触发信号通过图像采集卡网口发送至网口设备;
22.图像采集卡处理器通过图像采集卡网口接收网口设备发送的网络数据包后,从网络数据包中解析出图像数据,再将原始图像数据组成完整的图像数据帧,并存储到图像采集卡存储器中;
23.所述网口设备发送的网络数据包还包括数据包编号与数据校验信息;若所述图像采集卡处理器根据数据包编号判断存在丢包,或根据数据校验信息判断网络数据包存在传输错误,则向发送所述网络数据包的网口设备发送重传请求;
24.图像采集卡处理器将读取到的图像采集卡存储器中存储的完整图像数据帧发送至计算机内存;计算机内存包括命令缓冲区队列和数据缓冲区队列;其中,所述命令缓冲区队列用于发送配置命令与触发信号,所述数据缓冲区队列用于接收完整的图像数据帧;
25.图像采集卡处理器识别到预配置的中断事件发生后,向计算机的中断处理程序发送中断请求。
26.进一步的,图像采集卡处理器将不同所述网口设备发送的图像数据组成完整的图像数据帧后分别发送至所述计算机内存数据缓冲队列中的不同缓冲区中。
27.进一步的,配置命令与触发信号打包为网络数据包后传输;当图像采集卡处理器需要发送重传请求时,网络数据包还包括重传请求。
28.由上述技术方案可知,本发明提出的一种基于网络协议的图像采集系统及方法,网络协议包解析、图像数据拼接、重传请求和处理任务全部在网络协议图像采集卡内完成,并将纯图像数据以完整图像帧的格式通过pcie接口以直接内存访问(dma)的方式直接发送
至计算机内存,全程无需cpu操控,无需进行内存拷贝,具有极低的cpu占用;仅在每帧图像(如2mb到600mb)传输完成时才需要触发一次cpu中断,中断率大大降低;设备端与采集卡端通过网络线缆直连,采集卡端不存在系统调度、颠簸等问题,传输稳定性极高,不存在丢包、丢帧问题,同时也无需设备端设计有大容量的重传缓存;此外,通过灵活的设计,采集卡可为设备端提供poe供电,还可以支持“一拖多”等灵活的拓扑连接方式,还可以支持“多根线缆扩展”模式,以成倍增加图像传输带宽。
29.具体的说本发明的优点如下:
30.1.所有数据包解析和图像数据拼接工作都在网络协议图像采集卡内完成;
31.2.传输稳定性极高,不存在丢包问题,除非在现场干扰极为严重的工作环境中导致网络包传输出错才需要重传,该方法及装置设计架构可支持重传,重传分析和请求均由网络协议图像采集卡完成;
32.3.网络协议图像采集卡解析出的纯图像数据以完整图像帧的格式通过pcie总线以直接内存访问的方式发送至计算机内存,仅在每帧图像传输完成时才需要触发一次cpu中断,以50m像素相机设备通过万兆网满速传输为例,cpu中断率约为25hz;
33.4.绝大部分应用场景,无需相机设备具有重传能力。
附图说明
34.图1是本发明的原理框图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
36.如图1所示,本发明实施例的一种基于网口协议的图像采集系统,包括网口设备、图像采集卡和计算机,所述图像采集卡包括图像采集卡网口、处理器和存储器;
37.所述处理器用于接收所述计算机发送的配置命令和触发信号并将其发送到所述网口设备;以及,接收所述网口设备发送的网络数据包后,从网络数据包中解析出图像数据,再将其组成完整的图像数据帧并存储到所述存储器中,然后从所述存储器中读取完整的图像数据帧发送给所述计算机;其中,处理器接收到的网络数据包中包括图像数据外、包头、包类型、包编号、图像格式等信息,处理器根据特定的网络协议栈可以从中解析出图像信息。
38.所述网口设备发送的网络数据包还包括数据包编号与数据校验信息;若所述图像采集卡处理器根据数据包编号判断存在丢包,或根据数据校验信息判断网络数据包存在传输错误,则向发送所述网络数据包的网口设备发送重传请求;
39.所述计算机包括内存和中断处理程序,所述内存包括命令缓冲区队列和数据缓冲区队列;其中,所述命令缓冲区队列用于发送配置命令与触发信号,所述数据缓冲区队列用于接收完整的图像数据帧,所述中断处理程序用于接收中断请求;
40.所述处理器还用于在预配置的中断事件发生时,向所述计算机的中断处理程序发送中断请求。
41.具体的说,包括m个网口设备,m≥1,网络协议图像采集卡与计算机。其中,网络协议图像采集卡包括n个个网口、处理器、存储器与供电模块,n≥m,计算机包括内存与中断处理程序,内存包括命令缓冲区队列与数据缓冲区队列。每个网口设备通过k根网络线缆分别连接至网络协议图像采集卡的k个网口,n≥k≥1;网络协议图像采集卡的处理器通过pcie总线分别连接至计算机内存的命令缓冲区队列与数据缓冲区队列,以及计算机的中断处理程序。网络协议图像采集卡内,n个网口均连接至处理器,处理器连接至存储器,供电模块连接至n个网口。网络协议图像采集卡的供电模块,连接至各个网口,各个网口可以通过网络线缆为网口设备提供供电。
42.图像采集卡通过k根网络线缆连接至单个网口设备,将该网口设备的图像数据传输带宽提升至k
×
b,其中
×
为乘号,b为单根网络线缆的传输带宽,使得传输带宽不受限制。
43.图像采集卡与所述计算机之间通过pcie总线连接。
44.图像采集卡网口通过网络线缆为网口设备供电。
45.需要说明的是,网口设备通过网络线缆,使用网络协议连接至网络协议图像采集卡的网口;网口设备将包含图像数据的网络数据包通过网络线缆发送至网络协议图像采集卡的网口;网口将包含配置命令、触发信号、重传请求的网络数据包通过网络线缆发送至网口设备;网口可以通过网络线缆为网口设备提供供电。
46.网络协议图像采集卡的各个网口均连接至处理器,将包含图像数据的网络数据包发送至处理器;处理器将包含配置命令、触发信号的网络数据包发送至各个网口。
47.网络协议图像采集卡的处理器,将网口发来的包含图像数据的网络数据包进行解析,获取其中的原始图像数据并组成完整的图像数据帧,放入存储器进行存储。处理器从存储器中读出完整的图像数据帧,并通过pcie总线发送至计算机内存中的数据缓冲区队列。
48.网络协议图像采集卡的处理器,通过pcie总线连接至计算机的中断处理程序,可向计算机发送中断请求;
49.计算机内存的命令缓冲区队列,将配置命令与触发信号通过pcie总线发送至网络协议图像采集卡的处理器。处理器将配置命令与触发信号打包成网络数据包,并将包含配置命令、触发信号的网络数据包发送至各个网口。
50.其中,网络传输协议,可以是基于基础以太网、快速以太网、千兆以太网、万兆以太网等各类网络技术的网络传输协议。
51.所述网络线缆,可以是网络双绞线、网络同轴线、光纤等各类网络线缆。
52.所述网络协议图像采集卡的供电模块,连接至各个网口,各个网口可以通过网络线缆为网口设备提供供电。
53.所述网络协议图像采集卡,可以通过多根网络线缆连接至多个不同的网口设备,并将不同网口设备上传的图像数据分别发送至计算机内存数据缓冲队列中的不同缓冲区中。
54.所述网络协议图像采集卡,在发生需要通知计算机的事件时,可以通过pcie总线向计算机的中断处理程序发送中断请求;所述需要通知计算机的事件可以按需配置,例如发现网口设备连接、完成一个完整图像数据帧从处理器到计算机内存的数据缓冲队列的传输等事件。
55.所述包含图像数据的网络数据包内含有数据校验,所述网络协议图像采集卡的处
理器根据数据校验判断网络数据包是否有传输错误;当某个网口接收到的包含图像数据的网络数据包发生传输错误时,处理器会将重传该数据包的请求打包成网络数据包,并将包含重传请求的网络数据包发送至该网口。
56.相应的,本实施例所述的基于网络协议的图像采集方法,包括以下步骤:
57.图像采集卡处理器将获取到的计算机发出的配置命令和触发信号通过图像采集卡网口发送至网口设备;
58.图像采集卡处理器通过图像采集卡网口接收网口设备发送的网络数据包后,从网络数据包中解析出图像数据,再将原始图像数据组成完整的图像数据帧,并存储到图像采集卡存储器中;这里采集卡先将图像数据进行预处理,输出的不再是原始的图像数据,而是完整的图像数据帧。
59.图像采集卡处理器将读取到的图像采集卡存储器中存储的完整图像数据帧发送至计算机内存;采集卡直接将完整的图像数据帧发送到计算机内存,而不用先发送给计算机cpu进行处理,减小了计算机cpu的占用率,同时降低了其中断率,极大的提高了图像处理的速度并降低了图像数据的丢包率。
60.图像采集卡处理器识别到预配置的中断事件发生后,向计算机发送中断请求;中断事件可按照用户需求进行配置,从图像数据的采集角度来说,中断事件一般为发现网口设备连接或完成一个完整图像数据帧从处理器到计算机内存的数据缓冲队列的传输。
61.其中,计算机包括内存和中断处理程序,所述内存包括命令缓冲区队列和数据缓冲区队列;其中,所述命令缓冲区队列用于发送配置命令与触发信号,所述数据缓冲区队列用于接收完整的图像数据帧,所述中断处理程序用于接收中断请求。
62.图像采集卡处理器将不同网口设备发送的图像数据组成完整的图像数据帧后分别发送至计算机内存数据缓冲队列中的不同缓冲区中。
63.网口设备发送的图像数据,以网络数据包的形式进行传输,且所述网络数据包还包括数据包编号与数据校验信息;若所述图像采集卡处理器根据数据包编号判断存在丢包,或根据数据校验信息判断网络数据包存在传输错误,则向发送所述网络数据包的网口设备发送重传请求。
64.配置命令与触发信号打包为网络数据包后传输;当图像采集卡处理器需要发送重传请求时,网络数据包还包括重传请求。
65.综上所述,本发明提出的一种基于网络协议的图像采集系统及方法,网络协议包解析、重传请求和处理任务全部在网络协议图像采集卡内完成,并将纯图像数据通过pcie接口以直接内存访问(dma)的方式直接发送至计算机内存,全程无需cpu操控,无需进行内存拷贝,具有极低的cpu占用;仅在每帧图像(如2mb到600mb)传输完成时才需要触发一次cpu中断,中断率大大降低;设备端与采集卡端通过网络线缆直连,采集卡端不存在系统调度、颠簸等问题,传输稳定性极高,不存在丢包、丢帧问题,同时也无需设备端设计有大容量的重传缓存;此外,通过灵活的设计,采集卡可为设备端提供poe供电,还可以支持“一拖多”等灵活的拓扑连接方式,还可以支持“多根线缆扩展”模式,以成倍增加图像传输带宽。
66.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者
替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。