CN112887277B - 现场总线与以太网的转换方法、装置及计算机存储介质 - Google Patents
现场总线与以太网的转换方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112887277B CN112887277B CN202110036404.6A CN202110036404A CN112887277B CN 112887277 B CN112887277 B CN 112887277B CN 202110036404 A CN202110036404 A CN 202110036404A CN 112887277 B CN112887277 B CN 112887277B
- Authority
- CN
- China
- Prior art keywords
- frame
- ethernet
- frame length
- receiving
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种现场总线与以太网的转换方法、装置及计算机存储介质,所述方法包括:获取现场总线报文;对现场总线报文进行协议转换,得到以太网帧;获取以太网帧在以太网链路中传输时所需的预设帧长,预设帧长是根据以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的;判断以太网帧的帧长是否小于预设帧长;若是,则对以太网帧进行字节填充,得到填充后的以太网帧,以便将填充后的以太网帧作为现场总线报文的最终转换结果,填充后的以太网帧的帧长等于预设帧长。本发明可使填充后的以太网帧的帧长不会大于发送端和接收端的最小帧长,从而避免增加额外的网络带宽以及转发时延。
Description
技术领域
本发明涉及工业现场总线传输技术领域,具体涉及一种现场总线与以太网的转换方法、装置及计算机存储介质。
背景技术
以太网作为被广为支持和使用的标准,被广泛应用于工业领域,通过将工业现场总线报文与以太网帧之间进行格式转换,那么可以以以太网作为桥梁,实现各总线网络之间的互通,且通过与以太网之间的互相转换,工业现场总线还可以跨越因特网,实现真正意义上的远程控制与监控。
目前,以太网帧的最小帧长是64字节,而很多现场总线的报文长度远远小于该长度,所以在进行转换时,往往需要在转换后的报文中填充字段,以达到以太网的最小帧长标准;实际上,当前一些网络设备可以支持小于64字节的帧,这就导致报文的字节数大于设备实际所能支持的最小帧长,造成传输的以太网帧的帧长较大,额外增加了网络带宽以及报文转发的时延(例如发送设备支持的最小帧长为50字节,接收设备所支持的最小帧长为40字节,所以,只需要50字节即可满足发送端和接收端的传输要求,若以太网帧填充为64字节,则会多出14字节,从而多出14字节的网络带宽以及传输时延)。
发明内容
为了解决现有的现场总线在转换为以太网帧时,经常是填充为64字节,导致增加了额外的网络带宽以及报文转发时延的问题,本发明的目的在于提供一种能够根据以太网帧发送设备以及接收设备所支持进行传输的最小帧长,来进行以太网帧的填充,进而使填充得到的以太网帧的帧长等于最小帧长,而不必填充为64字节,从而避免增加额外的网络宽带以及转发时延的转换方法、装置及计算机存储介质。
第一方面,本发明提供了一种现场总线与以太网的转换方法,包括:
获取现场总线报文;
对所述现场总线报文进行协议转换,得到以太网帧;
获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的;
判断所述以太网帧的帧长是否小于所述预设帧长;
若是,则对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
基于上述公开的内容,在发明中,首先对现场总线报文进行协议转换,得到以太网帧,此步骤则是:将现场总线报文转换为以太网帧(此步骤得到的以太网帧未进行字节填充);然后,再根据以太网帧的发送端的发送帧长以及接收端的接收帧长,来得到以太网帧在以太网链路中进行传输时所需的预设帧长,此步骤的实质为:根据发送端和接收端进行传输时所支持的最小帧长(即发送帧长和接收帧长),来得到以太网帧进行填充后的帧长(即进行传输时所需的最小帧长);最后,即可判断以太网帧的帧长是否小于预设帧长,若小于,则说明以太网帧的帧长无法满足发送端和接收端进行数据传输的最小帧长,需要进行字节的填充,而填充后的帧长,则是预设帧长。
通过上述设计,本发明可根据以太网帧发送端以及接收端所支持的最小帧长,来确定进行字节填充后的最小帧长,从而使现场总线报文转换并填充后的以太网帧的帧长不会大于发送端和接收端的最小帧长,避免了传统转换方法将以太网帧填充为64字节,导致的增加了额外的网络带宽以及转发时延的问题。
在一个可能的设计中,取所述以太网帧在以太网链路中传输时所需的预设帧长,包括:
获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的;
获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的;
将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
基于上述公开的内容,本发明公开了预设帧长的具体获取方法,即先获取发送端进行数据帧发送时要求的发送帧长,以及接收端进行数据帧接收时要求的接收帧长(二者均是由终端的硬件结构决定),然后将二者中最大的帧长,作为预设帧长(例如,发送帧长为40字节,而接收帧长为50字节,那么预设帧长则为50字节);通过上述设计,可以使以太网帧进行填充后,所得到的帧长同时满足发送端以及接收端的数据传输帧长要求。
在一个可能的设计中,所述方法还包括:
若否,则将所述以太网帧作为所述现场总线报文的最终转换结果。
基于上述公开的内容,本发明公开了当以太网帧的帧长大于或等于预设帧长时的处理步骤,即若大于或等于预设帧长,则说明以太网帧满足发送端和接收端所要求的最小帧长,无需进行字节填充,可直接进行传输。
在一个可能的设计中,对所述现场总线报文进行协议转换,得到以太网帧,包括:
对所述现场总线报文进行封装,封装完毕后,得到所述以太网帧,其中,所述封装包括:在所述现场总线报文的头部之前添加以太网首部,以及在所述现场总线报文的尾部之后添加循环冗余校验码。
基于上述公开的内容,本发明公开了对现场总线报文进行协议转换的具体方法,即进行封装,将以太网首部添加到现场总线报文的头部之前,以及将循环冗余检验码添加到现场总线报文的尾部之后,从而完成封装,得到以太网帧。
在一个可能的设计中,对所述以太网帧进行字节填充,得到填充后的以太网帧,包括:
在所述以太网帧中的现场总线报文的尾部与所述循环冗余校验码之间添加空字节,直到使所述以太网帧的帧长增加到所述预设帧长为止,添加完毕后,得到所述填充后的以太网帧。
基于上述公开的内容,本发明公开了对以太网帧进行字节填充时的具体方法,即在以太网帧中的现场总线报文的尾部与循环冗余校验码之间填充空字节(通常为0),直到使以太网帧的帧长增加到预设帧长为止,填充完毕后,即可得到填充后的以太网帧。
在一个可能的设计中,所述以太网首部包括:以太网帧头。
第二方面,本发明提供了一种现场总线与以太网的转换装置,包括:第一获取单元、转换单元、第二获取单元、判断单元和填充单元;
所述第一获取单元,用于获取现场总线报文;
所述转换单元,用于对所述现场总线报文进行协议转换,得到以太网帧;
所述第二获取单元,用于获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的;
所述判断单元,用于判断所述以太网帧的帧长是否小于所述预设帧长;
所述填充单元,用于在所述判断单元判断为是时,对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
在一个可能的设计中,所述第二获取单元包括:发送帧长获取子单元、接收帧长获取子单元和预设帧长生成子单元;
所述发送帧长获取子单元,用于获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的;
所述接收帧长获取子单元,用于获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的;
所述预设帧长生成子单元,用于将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
在一个可能的设计中:
所述判断单元,还要用于在判断出以太网帧的帧长大于或等于所述预设帧长时,将所述以太网帧作为所述现场总线报文的最终转换结果。
在一个可能的设计中:
所述转换单元,具体用于对所述现场总线报文进行封装,封装完毕后,得到所述以太网帧,其中,所述封装包括:在所述现场总线报文的头部之前添加以太网首部,以及在所述现场总线报文的尾部之后添加循环冗余校验码。
在一个可能的设计中;
所述填充单元,具体用于在所述以太网帧中的现场总线报文的尾部与所述循环冗余校验码之间添加空字节,直到使所述以太网帧的帧长增加到所述预设帧长为止,添加完毕后,得到所述填充后的以太网帧。
第三方面,本发明提供了第二种现场总线与以太网的转换装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述现场总线与以太网的转换方法。
第四方面,本发明提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述现场总线与以太网的转换方法。
第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述现场总线与以太网的转换方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的现场总线与以太网的转换方法的流程示意图。
图2是本发明提供的现场总线报文与以太网帧进转换时无需进行字节填充时的转换示意图。
图3是本发明提供的现场总线报文与以太网帧进转换时需要进行字节填充时的转换示意图。
图4是本发明提供的第一种现场总线与以太网的转换装置的结构示意图。
图5是本发明提供的第二种现场总线与以太网的转换装置的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于下述实施例说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出***,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
实施例
如图1所示,本实施例第一方面所提供的现场总线与以太网的转换方法,适用于现场总线报文与以太网帧的转换;本发明可根据以太网链路上的发送端和接收端所支持的最小帧长(即发送端支持发送数据的最小帧长,以及接收端支持接收数据的最小帧长),从而来确定出现场总线报文转换为以太网帧后进行传输的最小帧长(即预设帧长);最后,判断以太网帧是否小于预设帧长,即可决定以太网帧是否进行字节填充;若小于,则说明以太网帧当前的帧长小于发送端和接收端所支持进行数据发送的最小帧长,需要进行字节的填充,而填充后的帧长则等于预设帧长;通过上述设计,本发明可使现场总线报文进行转换并填充后得到的以太网帧的帧长不必大于发送端和接收端的最小帧长,避免了传统转换方法将以太网帧填充为64字节,导致的增加了额外的网络带宽以及转发时延的问题。
在本实施例中,实现现场总线报文与以太网帧的转换可以但不限于在转换设备,例如网关或路由器等。
本实施例所提供的现场总线与以太网的转换方法,可以但不限于包括如下步骤S101~S105。
S101.获取现场总线报文。
S102.对所述现场总线报文进行协议转换,得到以太网帧。
步骤S101和步骤S102则是转换设备接收现场总线报文,并将其进行协议转换,转换为以太网帧的过程。例如,网关的现场总线端口接收现场总线,并在其内部对现场总线报文进行协议转换,得到以太网帧,最后,从以太网端口传输至发送端,从而实现以太网帧的传输。
在本实施例中,对现场总线报文进行协议转换,得到以太网帧可以但不限于采用如下步骤S102a实现。
S102a.对所述现场总线报文进行封装,封装完毕后,得到所述以太网帧,其中,所述封装包括:在所述现场总线报文的头部之前添加以太网首部,以及在所述现场总线报文的尾部之后添加循环冗余校验码。
在本实施例中,则是采用封装法将现场总线报文转换为以太网帧,实质为:将现场总线报文嵌入式至以太网帧中,而方法则是,在现场报文总线的头部之前添加以太网首部,在其尾部之后添加循环冗余检验码,进而实现现场总线报文“原封不动”的封装;即在本实施例中,以太网帧中包含有完整的现场总线报文,使现场报文总线内包含的内容不变。
在本实施例中,举例以太网首部可以但不限于包括:以太网帧头;而以太网帧头以MAC(Media Access Control,媒体存取控制)地址说明目的地址和源地址;而循环冗余校验码则用于检验数据传输是否出现损坏。
在本实施例中,现场总线报文在进行协议转换封装时,还可在现场报文总线的头部之前添加IP(Internet Protocol,网际互联协议)或UDP(User Datagram Protocol,用户数据报协议)等其它协议首部;当然,无论进行何种协议转换封装,其进行字节填充时,均需要进行以下步骤S103~S105。
通过上述步骤,即可实现现场总线报文的以太网转换,实现基于以太网链路的传输;由于步骤S102仅仅是进行封装得到的以太网帧,其还未进行字节的填充,而在本实施例中,判断以太网帧是否进行字节填充,则是根据以太网链路上的发送端和接收端所支持数据传输的最小帧长来决定的,即如步骤S103、步骤S104和步骤S105所示。
S103.获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的。
步骤S103则是获取发送端以及接收端所支持数据传输的最小帧长,并根据两者的最小帧长,得到预设帧长的过程。
通俗理解为:发送端在发送数据帧时,所要求数据帧的最小帧长(在本实施例中,发送帧长是指发送端的最小帧长,例如,发送端只能发送帧长大于或等于50字节的数据帧,那么发送端的最小帧长则是50帧),以及接收端在接收数据帧时,所要求数据帧的最小帧长(同理,接收帧长则是指接收端的最小帧长,例如,接收端只能支持接收帧长大于或等于40字节的数据帧,那么接收端的最小帧长则为40字节),而预设帧长则是根据发送端和接收端的最小帧长来确定。
在本实施例中,举例预设帧长的获取可以但不限于采用如下步骤S103a~S103c实现。
S103a.获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的。
S103b.获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的。
S103c.将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
在本实施例中,步骤S103a~S103c的原理为:先获取发送端和接收端所支持的最小帧长(即发送端的发送帧长,以及接收端的接收帧长),然后将二者中的最大者,作为预设帧长。通过上述设计,本发明可保证以太网帧进行字节填充后的帧长,可同时满足发送端和接收端的传输要求,且同时也不会大于发送端和接收端的最小帧长,进而避免填充额外的字节数所带来的网络带宽以及传输时延增加的问题。
例如,发送端的发送帧长为50字节,即发送端所支持进行数据帧传输的最小帧长为50字节;而接收端的接收帧长为40字节,即接收端所支持进行数据帧传输时的最小帧长为40字节;那么根据步骤S103c可知:预设帧长为50字节,即以太网帧在以太网链路上进行传输时所需要的最小帧长为50字节。
在本实施例中,发送端以及接收端的最小帧长均由各自的硬件结构(即硬件配置)决定,即只要发送端和接收端出厂后,其最小帧长就已确定。
S104.判断所述以太网帧的帧长是否小于所述预设帧长。
S105.若是,则对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
步骤S104和步骤S105则是进行字节填充的过程,在本实施例中,在进行字节填充前,还需要判断以太网帧的帧长与预设帧长的大小关系;若大于或等于,则说明,经过协议转换得到的以太网帧的帧长已满足在以太网链路中传输所需的最小帧长,无需进行字节填充,可直接将以太网帧作为现场总线报文的最终转换结果,由发送端发送至接收端,其转换示意图可参见图2。
如图3所示,若以太网帧的帧长小于预设帧长,则说明以太网帧的帧长无法满足在以太网链路中传输所需的最小帧长,需要填充后才能传输;此时,则需要对以太网帧进行字节填充,以便使填充后的以太网帧的帧长达到预设帧长。
例如,在上述举例的基础上,预设帧长为50字节;而以太网帧为20字节,其帧长小于预设帧长;所以,需要对以太网帧填充字节,直到使以太网帧的帧长在填充后等于50字节即可,即还需要在以太网帧中填充30字节,才能达到50字节的长度。
在本实施例中,举例对以太网帧进行字节填充可以但不限于为:在以太网帧中的现场总线报文的尾部与循环冗余校验码之间添加空字节,直到使以太网帧的帧长增加到预设帧长为止,添加完毕后,得到所述填充后的以太网帧;即如图3所示,空字节(通常为0)被填充至现场总线报文的尾部与循环冗余校验码之间。
在本实施例中,可将填充后的以太网帧的帧长控制在发送端和接收端所共同支持的最小帧长,从而使填充后的以太网帧的帧长不大于发送端和接收端的最小帧长,从而避免多余字节的填充,达到减少网络带宽以及传输时延的目的。
下面列举一个实例说明本实施例所提供的转换方法与传统转换方法的区别:
传统转换方法:只要以太网帧的帧长小于64字节,在进行字节填充时,无论发送端以及接收端所支持的最小帧长是否小于64,其均会将帧长填充到64字节(例如,发送端的最小帧长为50字节,接收端则为40字节,那么传输的数据帧长大于或等于50字节即可满足发送端和传输端的传输要求);上述方法就导致了多余了14字节,增加了14字节额外的网络带宽以及传输时延。
而本实施例所提供的转换方法,会先获取发送端以及接收端的最小帧长,并将二者中较大的帧长作为预设帧长,即作为以太网帧填充字节后得到的帧长,从而使以太网帧进行填充后,得到的帧长同时满足发送端以及接收端的最小帧长(即预设帧长),而无需填充多余的字节,达到减少网络带宽以及传输时延的目的(例如,发送端和接收端的最小帧长均为50字节,那么本实施例中填充后的以太网帧的帧长则为50字节,相比于传统的转换方法,其得到的最终转换结果则减少了14字节,从而可减少这14字节所需要的网络带宽以及传输时延)。
由此通过前述步骤S101~S105所详细描述的现场总线与以太网的转换方法,本发明可根据以太网帧发送端以及接收端所支持的最小帧长,来确定进行字节填充后的最小帧长,从而使现场总线报文转换并填充得到的以太网帧的帧长不必大于发送端和接收端的最小帧长,避免了传统转换方法将以太网帧填充为64字节,导致的增加了额外的网络带宽以及转发时延的问题。
如图4所示,本实施例第二方面提供了一种实现实施例第一方面中所述的现场总线与以太网的转换方法的硬件装置,包括:第一获取单元、转换单元、第二获取单元、判断单元和填充单元。
所述第一获取单元,用于获取现场总线报文。
所述转换单元,用于对所述现场总线报文进行协议转换,得到以太网帧。
所述第二获取单元,用于获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的。
所述判断单元,用于判断所述以太网帧的帧长是否小于所述预设帧长。
所述填充单元,用于在所述判断单元判断为是时,对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
在一个可能的设计中,所述第二获取单元包括:发送帧长获取子单元、接收帧长获取子单元和预设帧长生成子单元。
所述发送帧长获取子单元,用于获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的。
所述接收帧长获取子单元,用于获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的。
所述预设帧长生成子单元,用于将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
在一个可能的设计中:
所述判断单元,还要用于在判断出以太网帧的帧长大于或等于所述预设帧长时,将所述以太网帧作为所述现场总线报文的最终转换结果。
在一个可能的设计中:
所述转换单元,具体用于对所述现场总线报文进行封装,封装完毕后,得到所述以太网帧,其中,所述封装包括:在所述现场总线报文的头部之前添加以太网首部,以及在所述现场总线报文的尾部之后添加循环冗余校验码。
在一个可能的设计中;
所述填充单元,具体用于在所述以太网帧中的现场总线报文的尾部与所述循环冗余校验码之间添加空字节,直到使所述以太网帧的帧长增加到所述预设帧长为止,添加完毕后,得到所述填充后的以太网帧。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图5所示,本实施例第三方面提供了第二种实现实施例第一方面中所述的现场总线与以太网的转换方法的硬件装置,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的现场总线与以太网的转换方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory image,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction set computer,RSIC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第四方面提供了一种存储包含有实施例第一方面所述的现场总线与以太网的转换方法的指令的计算机存储介质,即所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面所述的现场总线与以太网的转换方法。其中,所述计算机存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的计算机存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的现场总线与以太网的转换方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
以上所描述的多个实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备执行各个实施例或者实施例的某些部分所述的方法。
本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
Claims (10)
1.一种现场总线与以太网的转换方法,其特征在于,包括:
获取现场总线报文;
对所述现场总线报文进行协议转换,得到以太网帧;
获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的;
判断所述以太网帧的帧长是否小于所述预设帧长;
若是,则对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
2.如权利要求1所述的方法,其特征在于,获取所述以太网帧在以太网链路中传输时所需的预设帧长,包括:
获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的;
获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的;
将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若否,则将所述以太网帧作为所述现场总线报文的最终转换结果。
4.如权利要求1所述的方法,其特征在于,对所述现场总线报文进行协议转换,得到以太网帧,包括:
对所述现场总线报文进行封装,封装完毕后,得到所述以太网帧,其中,所述封装包括:在所述现场总线报文的头部之前添加以太网首部,以及在所述现场总线报文的尾部之后添加循环冗余校验码。
5.如权利要求4所述的方法,其特征在于,对所述以太网帧进行字节填充,得到填充后的以太网帧,包括:
在所述以太网帧中的现场总线报文的尾部与所述循环冗余校验码之间添加空字节,直到使所述以太网帧的帧长增加到所述预设帧长为止,添加完毕后,得到所述填充后的以太网帧。
6.如权利要求4所述的方法,其特征在于,所述以太网首部包括:以太网帧头。
7.一种现场总线与以太网的转换装置,其特征在于,包括:第一获取单元、转换单元、第二获取单元、判断单元和填充单元;
所述第一获取单元,用于获取现场总线报文;
所述转换单元,用于对所述现场总线报文进行协议转换,得到以太网帧;
所述第二获取单元,用于获取所述以太网帧在以太网链路中传输时所需的预设帧长,其中,所述预设帧长是根据所述以太网帧的发送端在进行数据帧发送时要求的发送帧长,以及接收端在进行数据帧接收时要求的接收帧长得到的;
所述判断单元,用于判断所述以太网帧的帧长是否小于所述预设帧长;
所述填充单元,用于在所述判断单元判断为是时,对所述以太网帧进行字节填充,得到填充后的以太网帧,以便将所述填充后的以太网帧作为所述现场总线报文的最终转换结果,并由所述发送端将所述填充后的以太网帧发送至所述接收端,其中,所述填充后的以太网帧的帧长等于所述预设帧长。
8.如权利要求7所述的装置,其特征在于,所述第二获取单元包括:发送帧长获取子单元、接收帧长获取子单元和预设帧长生成子单元;
所述发送帧长获取子单元,用于获取所述发送端在进行数据帧发送时要求的发送帧长,其中,所述发送帧长是根据所述发送端的硬件结构确定的;
所述接收帧长获取子单元,用于获取所述接收端在进行数据帧接收时要求的接收帧长,其中,所述接收帧长是根据所述接收端的硬件结构确定的;
所述预设帧长生成子单元,用于将所述发送帧长与所述接收帧长中的最大者作为所述预设帧长。
9.一种现场总线与以太网的转换装置,其特征在于,包括依次相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~6任意一项所述的现场总线与以太网的转换方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1~6任意一项所述的现场总线与以太网的转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036404.6A CN112887277B (zh) | 2021-01-12 | 2021-01-12 | 现场总线与以太网的转换方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110036404.6A CN112887277B (zh) | 2021-01-12 | 2021-01-12 | 现场总线与以太网的转换方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887277A CN112887277A (zh) | 2021-06-01 |
CN112887277B true CN112887277B (zh) | 2022-07-08 |
Family
ID=76044282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110036404.6A Active CN112887277B (zh) | 2021-01-12 | 2021-01-12 | 现场总线与以太网的转换方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887277B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529106A (zh) * | 2021-06-25 | 2022-12-27 | 华为技术有限公司 | 一种通信方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953416A (zh) * | 2006-09-16 | 2007-04-25 | 华为技术有限公司 | 一种以太网传输IPv6报文方法、***与装置 |
CN105162734A (zh) * | 2015-08-05 | 2015-12-16 | 武汉森岩科技有限公司 | 基于Zigbee网络的多源数据传输*** |
CN106528486A (zh) * | 2016-11-09 | 2017-03-22 | 湖南戈人自动化科技有限公司 | 一种串口数据交换的方法 |
CN108011797A (zh) * | 2017-12-14 | 2018-05-08 | 天津津航计算技术研究所 | 一种基于1553b协议的以太网通信*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190044657A1 (en) * | 2018-09-28 | 2019-02-07 | Intel Corporation | Method and apparatus to manage undersized network packets in a media access control (mac) sublayer |
-
2021
- 2021-01-12 CN CN202110036404.6A patent/CN112887277B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953416A (zh) * | 2006-09-16 | 2007-04-25 | 华为技术有限公司 | 一种以太网传输IPv6报文方法、***与装置 |
CN105162734A (zh) * | 2015-08-05 | 2015-12-16 | 武汉森岩科技有限公司 | 基于Zigbee网络的多源数据传输*** |
CN106528486A (zh) * | 2016-11-09 | 2017-03-22 | 湖南戈人自动化科技有限公司 | 一种串口数据交换的方法 |
CN108011797A (zh) * | 2017-12-14 | 2018-05-08 | 天津津航计算技术研究所 | 一种基于1553b协议的以太网通信*** |
Also Published As
Publication number | Publication date |
---|---|
CN112887277A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341230B2 (en) | Techniques for forwarding or receiving data segments associated with a large data packet | |
US8891554B2 (en) | Method for data transmission in an automation system using dynamic frame packing | |
CN104937896B (zh) | 地址解析协议消息的处理方法和转发器、控制器 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
JP2015089092A (ja) | パケットをパッケージングする方法、アンパッケージングする方法、及びこれを利用する装置 | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
EP3820110A1 (en) | Data sending method, data receiving method, device, and system | |
AU2016202660B2 (en) | Techniques for forwarding or receiving data segments associated with a large data packet | |
CN104378315B (zh) | 一种capwap隧道数据包传输的方法及装置 | |
CN112887277B (zh) | 现场总线与以太网的转换方法、装置及计算机存储介质 | |
CN109218154A (zh) | 一种基于fpga的千兆以太网到slip的转换*** | |
WO2011137648A1 (zh) | 基于mdio接口的下载方法及*** | |
CN114301576A (zh) | 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置 | |
EP2201740B1 (en) | High speed packet processing in a wireless network | |
WO2018137218A1 (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN111327575B (zh) | 列车中基于以太网的通信方法和装置 | |
CN209805842U (zh) | 一种基于zynq的网络发包机 | |
KR20120087557A (ko) | 노드 슬로팅 방법과 그 방법을 이용한 노드 매핑 기반 FlexRay-CAN 게이트웨이 및 그 운영 방법 | |
CN109495371A (zh) | 面向dtn/ip协议栈的网络连通设备 | |
US9661110B2 (en) | System and method for enabling channel access enhancements in existing communication networks | |
CN105407084B (zh) | 一种网络传输装置、方法及*** | |
WO2017124307A1 (zh) | 一种数据传输方法、装置及*** | |
CN116996592B (zh) | 网卡、数据发送处理方法和数据接收处理方法 | |
KR101578065B1 (ko) | Can 패킷을 패키징하는 방법과 이를 이용하는 장치들 | |
CN110417813B (zh) | 出栈网络处理器及网络数据出栈处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |