System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【】本专利技术涉及工业相机,尤其涉及一种基于内核驱动的相机数据传输方法、装置及相关产品。
技术介绍
0、
技术介绍
1、基于gige version协议的工业相机,是通过网口传输数据给工控机的,当拍照精度要求越高,相机的像素也要求越大,传输的数据也会越大。以8k的线阵黑白相机为例,单张扫描10000行,单张图片大小为8192*10000=80mb,图片数据通过udp协议从相机传输到工控机,假如单个udp数据包大小为1024个字节,则一张图片需要分切成80000个udp数据包来传输,如图1所示,在工控机使用传统方式(例如socket)接收udp数据包,每张图片都会造成80000+次的系统调用,每次系统调用都会切换用户态与内核态,会执行大约1000条cpu指令,严重消耗cpu资源,如图2所示,现有技术中相机数据传输时cpu占用为25.8%,cpu占用较高。
2、鉴于此,实有必要提供一种新型的基于内核驱动的相机数据传输方法、装置及相关产品以克服上述缺陷。
技术实现思路
0、
技术实现思路
1、本专利技术的目的是提供一种基于内核驱动的相机数据传输方法、装置及相关产品,能够降低系统调用,降低cpu消耗。
2、为了实现上述目的,第一方面,本专利技术提供一种基于内核驱动的相机数据传输方法,包括如下步骤:
3、基于内核驱动为相机创建独立的内存空间;
4、接收从相机网口传输到工控机网口的相机数据;
5、获取所述相
6、在所述内存空间内获取所述相机数据。
7、在一个优选实施方式中,基于内核驱动为相机创建独立的内存空间的步骤,包括:
8、创建一个字符设备驱动模块;
9、在业务应用程序调用打开所述字符设备驱动模块时,开辟所述内存空间;
10、在所述内存空间中构建有序的环形缓冲队列。
11、在一个优选实施方式中,创建一个字符设备驱动模块的步骤之后,包括:
12、在业务应用程序调用关闭所述字符设备驱动模块时,释放所述内存空间。
13、在一个优选实施方式中,在业务应用程序调用打开所述字符设备驱动模块时,开辟所述内存空间的步骤之后,包括:
14、将所述内存空间的地址映射到业务应用程序的用户态中以供业务应用程序访问。
15、在一个优选实施方式中,获取所述相机数据并将所述相机数据缓存至预先创建的内存空间的步骤,包括:
16、钩取业务应用程序需要捕获的数据包;
17、删除数据包的ip包头及udp包头后加入私有包头;
18、将加入私有包头的数据包缓存到所述环形缓冲队列中。
19、在一个优选实施方式中,在所述内存空间内获取所述相机数据的步骤,包括:
20、业务应用程序获取所述环形缓冲队列的内存地址,基于私有包头协议从环形缓冲队列获取所述数据包。
21、在一个优选实施方式中,所述相机数据为照片数据。
22、第二方面,本专利技术提供一种基于内核驱动的相机数据传输装置,包括:
23、内存空间创建模块,用于基于内核驱动为相机创建独立的内存空间;
24、相机数据接收模块,用于接收从相机网口传输到工控机网口的相机数据;
25、相机数据缓存模块,用于获取所述相机数据并将所述相机数据缓存至预先创建的内存空间;
26、相机数据获取模块,用于在所述内存空间内获取所述相机数据。
27、第三方面,本专利技术还提供一种计算机设备,包括:存储器及一个或多个处理器;所述存储器,用于存储一个或多个计算机程序;当所述一个或多个计算机程序被所述一个或多个处理器执行时,实现本专利技术第一方面任一实施例所述的基于内核驱动的相机数据传输方法。
28、第四方面,本专利技术还提供一种计算机存储介质,计算机存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现本专利技术第一方面任一实施例所述的基于内核驱动的相机数据传输方法。
29、第五方面,本专利技术还提供一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令被处理器执行时实现本专利技术第一方面任一实施例所述的基于内核驱动的相机数据传输方法。
30、相比于现有技术,本专利技术提供的基于内核驱动的相机数据传输方法、装置及相关产品,能够基于内核驱动为相机创建独立的内存空间,在接收到从相机网口传输到工控机网口的相机数据时,获取所述相机数据并将所述相机数据缓存至预先创建的内存空间,最后在所述内存空间内获取所述相机数据,即在预先创建的内存空间内能够获取相机数据,通过内核驱动层把数据包转给业务层,避免了传统使用socket造成的系统调用,单张图片可以减少80000+次系统调用,减少80000000+条cpu指命,降低系统调用,减少用户态与内核态的切换,降低了cpu消耗。
本文档来自技高网...【技术保护点】
1.一种基于内核驱动的相机数据传输方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于内核驱动的相机数据传输方法,其特征在于,基于内核驱动为相机创建独立的内存空间的步骤,包括:
3.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,创建一个字符设备驱动模块的步骤之后,包括:
4.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,在业务应用程序调用打开所述字符设备驱动模块时,开辟所述内存空间的步骤之后,包括:
5.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,获取所述相机数据并将所述相机数据缓存至预先创建的内存空间的步骤,包括:
6.如权利要求5所述的基于内核驱动的相机数据传输方法,其特征在于,在所述内存空间内获取所述相机数据的步骤,包括:
7.如权利要求1-6任意一项所述的基于内核驱动的相机数据传输方法,其特征在于,所述相机数据为照片数据。
8.一种基于内核驱动的相机数据传输装置,其特征在于,包括:
9.一种计算机设备,包括:存储器及一个
10.一种计算机存储介质,计算机存储介质内存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任意一项所述的基于内核驱动的相机数据传输方法。
...【技术特征摘要】
1.一种基于内核驱动的相机数据传输方法,其特征在于,包括如下步骤:
2.如权利要求1所述的基于内核驱动的相机数据传输方法,其特征在于,基于内核驱动为相机创建独立的内存空间的步骤,包括:
3.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,创建一个字符设备驱动模块的步骤之后,包括:
4.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,在业务应用程序调用打开所述字符设备驱动模块时,开辟所述内存空间的步骤之后,包括:
5.如权利要求2所述的基于内核驱动的相机数据传输方法,其特征在于,获取所述相机数据并将所述相机数据缓存至预先创建的内存空间的步骤,包括:
6.如权利要求5所述的基于内核驱动的相机数...
【专利技术属性】
技术研发人员:向峰,朱开星,
申请(专利权)人:深圳洪瑞微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。