[发明专利]一种基于网卡的实时以太网现场总线网络数据包处理方法有效
申请号: | 202011276999.4 | 申请日: | 2020-11-16 |
公开(公告)号: | CN114513382B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 李备备;郑飂默;王诗宇;辛丽;李伦兴;姜志超 | 申请(专利权)人: | 沈阳中科数控技术股份有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L69/08;H04L69/22 |
代理公司: | 沈阳科苑专利商标代理有限公司 21002 | 代理人: | 王倩 |
地址: | 110168 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 网卡 实时 以太网 现场总线 网络 数据包 处理 方法 | ||
本发明涉及一种基于网卡的实时以太网现场总线网络数据包处理方法,本发明涉及数控技术领域,尤其涉及实时以太网现场总线技术领域,具体涉及一种基于网卡的实时以太网现场总线网络数据包处理方法。本发明首先,分析实时以太网现场总线数据包在原生网卡驱动中的传输路径,在网卡驱动内部建立实时以太网总线数据包的捕获点;然后,分析数据包在捕获点的特征,建立基于原生网卡驱动的数据包捕获方法;最后,根据数据包所属的总线协议类型,设计在原生网卡驱动中的数据包的解析处理方法。
技术领域
本发明涉及数控技术领域,尤其涉及实时以太网现场总线技术领域,具体涉及一种基于网卡的实时以太网现场总线网络数据包处理方法。
背景技术
目前,数控系统中实时以太网现场总线仍采用传统的通信板卡形式进行网络数据包的传输,不同的现场总线(如EtherCAT、SSB-III实时以太网总线等)对应不同的通信板卡,针对每一种现场总线都要开发一套与之对应的硬件板卡,使系统变得臃肿且不可复用,替代方案是采用标准的网络接口卡进行网络数据包的传输。当采用标准网卡进行实时以太网现场总线数据包传输时,网络数据包会在传输到内核网络协议栈后,因不被网络协议栈识别而被丢弃,如通过修改内核网络的方式使之通过协议栈,也将增加系统延迟和抖动,因此必须在进入内核网络协议栈之前捕获并处理数据包,否则系统的实时性将无法得到保证。
中高档数控系统对实时性和控制周期的要求相对较高,为了增加系统实时性并降低数据包传输及处理时间以满足中档数控系统对网络传输实时性的需求,理想的方式是在网卡驱动之中捕获并处理实时以太网总线数据包,因此如何设计简单高效的网络数据包处理方法是解决实时以太网现场总线网络数据包实时性传输的关键。
发明内容
为解决上述技术问题,本发明提出了一种基于网卡的实时以太网现场总线网络数据包处理方法。
本发明为实现上述目的所采用的技术方案是:
一种基于网卡的实时以太网现场总线网络数据包处理方法,包括以下步骤:
通过内核调试功能输出的调试信息,确定实时以太网现场总线数据包在原生网卡驱动中的传输路径,在网卡驱动内部建立实时以太网总线数据包的捕获点;
针对建立在网卡驱动内部的实时以太网总线数据包捕获点,基于原生网卡驱动对实时以太网总线数据包进行捕获;
根据实时以太网总线数据包所属的总线协议类型,在原生网卡驱动中对实时以太网总线数据包进行解析处理;
根据解析出的实时以太网总线数据,进行基于内存映射机制的底层驱动与用户空间的实时应用程序的数据交换。
所述实时以太网现场总线数据包类型包括EtherCAT协议和SSB-III协议中的任意一种。
所述网卡为MAC控制器加PHY芯片控制结构。
所述捕获点位于网卡DMA映射的环形队列之后。
所述基于原生网卡驱动对实时以太网总线数据包进行捕获具体为:
在内核空间中开辟出用于存储实时以太网总线数据包的静态内存;
选择中断源,设置中断为周期性触发并设置中断周期,在中断服务例程中,完成对实时以太网现场总线数据包的捕获;
数据的接收采用无中断的方式,屏蔽网卡中实时以太网总线数据包映射到环形队列时产生的接收中断;
数据的读取采用轮询的方式,通过不断轮询网卡,读取环形队列中的实时以太网总线数据包到开辟出的静态内存中。
所述在原生网卡驱动中对实时以太网总线数据包进行解析处理具体为:
开辟出用于存储解析出的指令数据的静态内存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沈阳中科数控技术股份有限公司,未经沈阳中科数控技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011276999.4/2.html,转载请声明来源钻瓜专利网。