CN117097590B - 一种tsn实时以太网网关数据传输方法 - Google Patents
一种tsn实时以太网网关数据传输方法 Download PDFInfo
- Publication number
- CN117097590B CN117097590B CN202311345100.3A CN202311345100A CN117097590B CN 117097590 B CN117097590 B CN 117097590B CN 202311345100 A CN202311345100 A CN 202311345100A CN 117097590 B CN117097590 B CN 117097590B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- ethernet
- bus
- frame
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000005540 biological transmission Effects 0.000 title claims abstract description 47
- 230000006854 communication Effects 0.000 claims abstract description 88
- 238000004891 communication Methods 0.000 claims abstract description 84
- 238000013500 data storage Methods 0.000 claims abstract description 68
- 238000007405 data analysis Methods 0.000 claims abstract description 16
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 17
- 230000006835 compression Effects 0.000 claims description 12
- 238000007906 compression Methods 0.000 claims description 12
- 230000010354 integration Effects 0.000 claims description 12
- 238000007711 solidification Methods 0.000 claims description 12
- 230000008023 solidification Effects 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 230000008439 repair process Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种TSN实时以太网网关数据传输方法,应用于TSN网关装置,TSN网关装置包括有FPGA芯片、总线收发器、以太网收发器以及电源模块;所述FPGA芯片通过总线收发器与总线终端设备通信连接,以及通过以太网收发器与以太网设备通信连接;所述FPGA芯片内部设置有网口通信模块、数据接收组包模块、数据解析模块、收发模块、数据存储模块、时间同步模块、数据发送组包模块、数据发送模块;数据传输方法包括总线终端设备至以太网终端设备的传输方法以及以太网终端设备至总线终端设备的传输方法。本发明解决了现有一对一专用网关存在的通信冲突问题以及现有网关存在的较长时间工作下时间不同步问题。
Description
技术领域
本发明涉及以太网网络技术领域,具体涉及一种TSN实时以太网网关数据传输方法。
背景技术
随着现场总线在工业网络通信中应用越来越广,多个总线与以太网之间具有异构性,互操作难度较大。为了实现异构总线和以太网之间的信息交换,一般采用专用网关进行一对一的协议转换,采用这种方式,由于任意两种协议转换之间均需要通过专用网关来连接完成,因此这种使用方式灵活性很低,而且当多个总线设备同时访问现场总线或以太网时,容易出现通信冲突问题;因此,如何对多个异构总线设备与以太网设备实现互联,是需要解决的技术问题。
同时,现有技术中的实时以太网网关,当多个以太网数据端口的数据发送至总线端口或多个总线数据端口的数据发送至以太网数据端口时,且端口传输速率较大,例如端口传输速率大于1000Mbps时,会出现帧头或者帧尾数据丢失、超长帧以及多帧合并等大量数据误码的情况,因此,在高速率传输过程中,多端口高速流量汇聚造成的数据大量误码,是需要解决的技术问题。
公开号为CN109510747A的专利公开了一种基于SRIO的一对多总线网关转换方法,该装置采用VPX架构,将SRIO分别与CAN、以太网、ARINC、USB总线设备数据协议的转换,用户可以选择某一种总线格式数据转换成其它某几种总线格式数据,通过采用一对多的转换策略,降低了采用多个一对一网关设备带来的额外时间成本和价格成本,同时集成存储记录功能提高了系统的故障排查能力;但是,该方案为时间确定性较低的通信链路,不能维持较长时间同步以及在网络拓扑改变和通信过程存在不确定因素的情况下,不能长时间维持时间同步并正常工作。
发明内容
针对现有技术的不足,本发明提供了一种基于TSN的网关数据传送方法,能够对多种总线数据与TSN以太网数据之间进行数据交换,实现了多个异构总线设备与以太网设备互联,解决了现有一对一专用网关存在的通信冲突问题以及现有一对多异构网关存在的较长时间工作下时间不同步以及在网络拓扑改变和通信过程存在不确定因素的情况下不能正常工作的问题。
本发明的技术方案如下:
一种TSN网关数据传输方法,应用于TSN网关装置,所述TSN网关装置包括有FPGA芯片、与FPGA芯片通信连接的总线收发器、以太网收发器以及电源模块;所述FPGA芯片通过总线收发器与总线终端设备通信连接,以及通过以太网收发器与以太网设备通信连接;
所述FPGA芯片内部设置有与以太网收发器通信连接的网口通信模块、与网口通信模块通信连接的数据接收组包模块、与数据接收组包模块通信连接的数据解析模块、与总线收发器通信连接的收发模块、与数据解析模块及收发模块通信连接的数据存储模块、分别与数据解析模块和数据接收组包模块通信连接的时间同步模块、分别与时间同步模块、数据存储模块通信连接的数据发送组包模块、分别与数据发送组包模块以及网口通信模块通信连接的数据发送模块;
所述数据传输方法包括总线终端设备至以太网设备的传输方法以及以太网设备至总线终端设备的传输方法,其中总线终端设备至以太网设备的传输方法包括以下步骤:
所述总线收发器接收总线数据,并将其发送至数据存储模块,所述总线数据包括RS422总线数据及LVDS总线数据;
数据存储模块接收总线数据,判断总线数据的数据帧头、数据长度是否符合预设标准,在总线数据的数据帧头、数据长度符合预设标准的情况下,判断数据存储模块中的FIFO缓存器是否为未写满状态,在数据存储模块中的FIFO缓存器为未写满状态情况下,则将总线数据进行存储,在数据存储模块中的FIFO缓存器为已写满状态情况下,数据存储模块则将总线数据丢弃;
数据组包发送模块获取总线数据,然后在每帧总线数据中增加以太网格式数据后组成以太网帧后发送给数据发送模块,数据发送模块通过网口通信模块以及以太网收发器发送至以太网终端设备;所述以太网格式数据包括源MAC地址、目的MAC地址、帧表示信息、VLAN标志、时间戳以及数据和校验信息;
以太网设备至总线设备的传输方法,包括以下步骤:
以太网收发器接收来自于以太网终端设备的TSN以太网数据,并将其发送给数据接收组包模块;数据接收组包模块在以太网协议每帧数据中增加目标端口信息以及时间戳信息后发送给数据解析模块;
数据解析模块获取TSN以太网数据的数据类型,在数据类型是时间同步帧的情况下,则获取时间同步帧内的时间戳以及帧类型信息并将其发送给时间同步模块,时间同步模块根据时间信息,并以此修复本地时间;在数据类型是数据配置帧的情况下,则获取配置信息;在数据类型为其他数据帧的情况下,则将其他数据发送至存储模块所述其他数据帧包括有RS422总线数据或LVDS总线数据;
数据存储模块接收TSN以太网数据,判断数据存储模块中的FIFO缓存器是否为未写满状态,在数据存储模块中的FIFO缓存器为未写满状态情况下,则将总线数据进行存储;在数据存储模块中的FIFO缓存器为已写满状态情况下,数据存储模块则将总线数据丢弃;
根据数据帧头信息,将TSN以太网数据通过总线收发器发送至总线终端设备。
进一步地,所述总线收发器包括有RS422总线收发器以及LVDS总线收发器,其中,RS422总线收发器包括与RS422收发模块通信连接的RS422芯片、与RS422芯片通信连接的隔离电路以及RS422接口,LVDS总线收发器包括与LVDS收发模块通信连接的LVDS芯片、与LVDS芯片通信连接的隔离电路以及LVDS接口;以太网收发器包括有与网口通信模块通信连接的以太网物理芯片、与以太网物理芯片通信连接的变压器以及与变压器通信连接的千兆网口。
进一步地,时间同步模块根据时间信息,并以此修复本地时间,包括:
时间同步模块进入集成状态并等待接收来自于其内集成单元的集成帧,若在预设时间内未接收到集成帧或以太网终端设备数目少于预设个数,则进入冷启动过程;
冷启动过程结束后,时间同步模块进入假定的时间同步状态,并再次等待接收集成单元的集成帧,在预设时间内接收到集成帧且以太网终端设备数目大于或等于预设个数的情况下,跳转到同步状态;在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,由假定的时间同步状态跳转至非同步状态,并开启同步重启动和超时计时;若时间同步模块在超时计时过程中,接收到集成单元的集成帧且同步设备数目大于或等于预设个数,则确认网络中存在全局同步时钟,将跳转到同步状态,否则进入冷启动过程;
时间同步模块进入同步状态后,根据接收到的集成帧计算时钟修正值,并以此修复本地时间。
进一步地,所述的冷启动过程,包括以下步骤:
时间同步模块向以太网终端设备发送冷启动帧以太网终端设备接收冷启动帧并对其进行固化和压缩处理后,响应并将冷启动帧发送给时间同步模块,时间同步模块对接收的冷启动帧进行固化和压缩处理;
时间同步模块等待接收集成单元的集成帧,在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,发送冷启动确认帧至所有的以太网终端设备;以太网终端设备接收冷启动确认帧并对其进行固化和压缩处理后,响应并将冷启动确认帧发送给时间同步模块,时间同步模块对接收的冷启动确认帧进行固化和压缩处理,冷启动过程结束。
进一步地,判断数据存储模块中的FIFO缓存器是否为未写满状态,具体包括:
数据存储模块计算FIFO缓存器的缓存深度与已写入FIFO缓存器内数据个数的差值;计算待存储数据的数据长度与FIFO缓存器的写入速度的商值再与FIFO缓存器内发送数据的速度之间的乘积;将所述差值与乘积相加,得到FIFO缓存动态值;所述待存储数据为TSN以太网数据、RS422总线数据或LVDS总线数据;
数据存储模块判断接收到的每一帧待存储数据的数据长度是否小于FIFO缓存动态值,在待存储数据的数据长度小于FIFO缓存动态值的情况下,将该帧待存储数据进行存储,在待存储数据的数据长度大于FIFO缓存动态值的情况下,则对待存储数据进行丢弃。
本发明通过总线收发器以及收发模块接收总线数据,并将其发送至数据存储模块,在总线数据的数据帧头、数据长度符合预设标准以及数据存储模块中的FIFO缓存器为未写满状态下,数据存储模块将总线数据转发至数据组包发送模块,然后数据组包发送模块将总线数据组成以太网帧后通过数据发送模块发送至以太网终端设备,从而实现总线设备至以太网设备的数据传输;
同时,本发明还通过以太网收发器、网口通信模块接收以太网终端设备的以太网数据,数据接收组包模块对以太网数据的数据帧中增加时间戳及目标端口信息后发送至数据解析模块,数据解析模块针对以太网数据进行解析,并将数据类型为其他数据帧的以太网数据发送至数据存储模块,在FIFO缓存器为未写满状态下,数据存储模块将总线数据根据以太网数据中携带的目标端口,转发至收发模块,最后通过总线收发器传输至总线终端设备,从而实现了以太网数据从以太网终端设备向总线终端设备的数据传输。
本发明的技术效果:
1.通过本发明所述的总线终端设备至以太网终端设备的传输方法以及以太网终端设备至总线终端设备的传输方法,能够实现以太网终端设备发出的以太网数据向总线终端设备的传输以及总线终端设备发出的总线数据向以太网终端设备的传输,解决了传统网关进行一对一的协议转换而导致灵活性低的问题,以及多个总线设备同时访问现场总线或以太网时,容易出现通信冲突问题;
2.通过本发明所述的本地时间修复方法,能够实现以太网网关与以太网终端设备之间的时间同步,解决了现有技术存在的不能维持较长时间同步以及在网络拓扑改变和通信过程存在不确定因素的情况下,不能长时间维持时间同步并正常工作的问题;
3.本发明通过在总线终端设备至以太网设备或以太网设备至总线终端设备的传输过程中,对数据存储模块中的FIFO缓存器的存储状态进行判断,在FIFO缓存器为已写满状态情况下,则将总线数据丢弃,从而解决在高速率传输过程中,多端口高速流量汇聚造成的数据大量误码的问题,误码率低。
附图说明
图1是本发明实施例所述的TSN网关装置的结构示意图;
图2是本发明实施例所述的FPGA芯片的内部结构示意图;
图3是本发明实施例一所述的一种总线终端设备至以太网设备的传输方法的流程图;
图4是本发明实施例二所述的一种总线终端设备至以太网设备的传输方法的流程图;
图5是本发明实施例三所述的一种以太网设备至总线终端设备的传输方法的流程图。
具体实施方式
本发明实施例提供了一种TSN网关数据传输方法,应用于TSN网关装置,如附图1所示,TSN网关装置包括有FPGA芯片、与FPGA芯片通信连接的总线收发器、以太网收发器以及电源模块;FPGA芯片通过总线收发器与总线终端设备通信连接,以及通过以太网收发器与以太网设备通信连接。
总线收发器包括有RS422总线收发器以及LVDS总线收发器,其中,RS422总线收发器是其包括与RS422收发模块通信连接的RS422芯片、与RS422芯片通信连接的隔离电路以及RS422接口,RS422芯片是一款非隔离全双工收发器芯片,数据速率为100Mbps;LVDS总线收发器包括与LVDS收发模块通信连接的LVDS芯片、与LVDS芯片通信连接的隔离电路以及LVDS接口;以太网收发器包括有与网口通信模块通信连接的以太网物理芯片、与以太网物理芯片通信连接的变压器以及与变压器通信连接的千兆网口,其中,以太网物理芯片适配10/100/1000Mbps速率;电源模块为POE方式供电,预留普通12V供电接口,为总线收发器、FPGA芯片以及以太网收发器供电。
如附图2所示,FPGA芯片内部设置有与以太网收发器通信连接的网口通信模块、与网口通信模块通信连接的数据接收组包模块、与数据接收组包模块通信连接的数据解析模块、与数据解析模块通信连接的以太网数据存储模块、分别与数据解析模块和数据接收组包模块通信连接的时间同步模块、与以太网数据存储模块通信连接的RS422收发模块及LVDS收发模块、与RS422收发模块通信连接的RS422数据存储模块、与LVDS收发模块通信连接的LVDS数据存储模块、分别与时间同步模块、RS422数据存储模块及LVDS数据存储模块通信连接的数据发送组包模块、分别与数据发送组包模块以及网口通信模块通信连接的数据发送模块;所述以太网数据存储模块、RS422数据存储模块以及LVDS数据存储模块三者构成数据存储模块。
本发明实施例中,多总线网关内部各个模块并行运行,数据传输分为两个方向,一为数据从以太网设备到终端设备,二为终端设备到以太网设备;数据传输方法包括总线终端设备至以太网设备的传输方法以及以太网设备至总线终端设备的传输方法,具体地,通过以下三种实施例实施:
实施例一
如附图3所示,本发明实施例1提供了一种总线终端设备至以太网设备的传输方法,具体包括以下步骤:
S101. RS422总线收发器接收来自于RS422总线数据,并通过FPGA芯片中的RS422收发模块传输至RS422数据存储模块;
S102. RS422数据存储模块接收RS422总线数据,判断RS422总线数据的数据帧头、数据长度是否符合预设标准,在RS422总线数据的数据帧头、数据长度是否符合预设标准的情况下,然后判断RS422数据存储模块中的FIFO缓存器是否为未写满状态,在判断RS422数据存储模块中的FIFO缓存器为未写满状态情况下,则将RS422总线数据进行存储;RS422数据存储模块判断其内FIFO缓存器为已被写满的情况下,数据存储模块则将RS422总线数据数据丢弃。
S103.数据组包发送模块获取RS422总线数据,然后在RS422总线数据中增加源MAC地址、目的MAC地址、帧表示信息、VLAN标志、时间戳以及数据和校验信息等以太网格式数据后组成以太网帧,并通过数据发送模块、网口通信模块发送至以太网终端设备。
步骤S102中,RS422数据存储模块判断其内FIFO缓存器是否为未写满状态,具体包括:
S10201. RS422数据存储模块计算FIFO缓存器的缓存深度与已写入FIFO缓存器内数据个数的差值;计算待存储的RS422总线数据的数据长度与FIFO缓存器的写入速度的商值再与FIFO缓存器内发送数据的速度之间的乘积;将所述差值与乘积相加,得到FIFO缓存动态值;
S10202. RS422数据存储模块判断接收到的每一帧RS422总线数据的数据长度是否小于FIFO缓存动态值,在RS422总线数据的数据长度小于FIFO缓存动态值的情况下,将该帧RS422总线数据进行存储,在RS422总线数据的数据长度大于FIFO缓存动态值的情况下,则对RS422总线数据进行丢弃。
实施例二
如附图4所示,本发明实施例2提供了一种总线终端设备至以太网设备的传输方法,具体包括以下步骤:
S201. LVDS总线收发器接收来自于LVDS总线数据,并通过FPGA芯片中的LVDS收发模块传输至LVDS数据存储模块;
S202. LVDS数据存储模块接收LVDS总线数据,判断LVDS总线数据的数据帧头、数据长度是否符合预设标准,在LVDS总线数据的数据帧头、数据长度是否符合预设标准的情况下,然后判断LVDS数据存储模块中的FIFO缓存器是否为未写满状态,在判断LVDS数据存储模块中的FIFO缓存器为未写满状态情况下,则将LVDS总线数据进行存储;LVDS数据存储模块判断其内FIFO缓存器为已被写满的状态,则将LVDS总线数据丢弃。
S203.数据组包发送模块获取LVDS总线数据,然后在LVDS总线数据中增加源MAC地址、目的MAC地址、帧表示信息、VLAN标志、时间戳以及数据和校验信息等以太网格式数据后组成以太网帧,并通过数据发送模块、网口通信模块发送至以太网终端设备。
上述步骤S202中,LVDS数据存储模块判断其内FIFO缓存器是否为未写满状态,具体包括:
S20201. LVDS数据存储模块计算FIFO缓存器的缓存深度与已写入FIFO缓存器内数据个数的差值;计算待存储的LVDS总线数据的数据长度与FIFO缓存器的写入速度的商值再与FIFO缓存器内发送数据的速度之间的乘积;将所述差值与乘积相加,得到FIFO缓存动态值;
S20202. LVDS数据存储模块判断接收到的每一帧LVDS总线数据的数据长度是否小于FIFO缓存动态值,在LVDS总线数据的数据长度小于FIFO缓存动态值的情况下,将该帧LVDS总线数据进行存储,在LVDS总线数据的数据长度大于FIFO缓存动态值的情况下,则对LVDS总线数据进行丢弃。
通过上述实施例1所述的以太网终端设备至总线终端设备的传输方法以及实施例2所述的总线终端设备至以太网终端设备的传输方法以及,能够实现以太网终端设备发出的以太网数据向总线终端设备的传输以及总线终端设备发出的总线数据向以太网终端设备的传输,解决了传统网关进行一对一的协议转换而导致灵活性低的问题,以及多个总线设备同时访问现场总线或以太网时,容易出现通信冲突问题。
实施例三
如附图5所示,本发明实施例3提供了一种以太网设备至总线终端设备的传输方法,具体包括以下步骤:
S301. 以太网收发器接收TSN以太网数据并通过网口通信模块发送给数据接收组包模块;数据接收组包模块在每帧TSN以太网数据中增加目标端口信息以及时间戳信息后发送给数据解析模块;
S302. 数据解析模块获取TSN以太网数据的数据类型,在数据类型是时间同步帧的情况下,则获取时间同步帧内的时间戳以及帧类型信息后将其发送给时间同步模块,时间同步模块根据时间信息,并以此修复本地时间;
在数据类型是数据配置帧的情况下,则获取配置信息;
在数据类型为其他数据帧的情况下,则将其他数据存储至以太网存储模块中,其他数据帧包括有RS422总线数据或LVDS总线数据;
上述步骤中,从以太网设备发送过来的数据分为三种类型,一为时间同步数据,时间同步数据用来完成系统间的时间同步,二为网关配置数据,实现对网关的配置,配置信息包括RS422和LVDS的数据长度,数据帧头,数据传输的优先级,链路号,发送目的MAC地址,以及发送的端口号等信息,三为和终端设备的交互数据,亦即本发明实施例中的“其他数据帧”。
S303. 以太网数据存储模块根据交互数据帧的帧头信息,若帧头信息为RS422总线交互数据,则将TSN以太网数据通过RS422总线收发器发送至RS422总线设备;若帧头信息为RS422总线交互数据,则将TSN以太网数据通过LVDS总线收发器发送至LVDS总线设备。
上述步骤S302中,时间同步模块根据时间信息,并以此修复本地时间,具体地,本地时间修复的方法包括以下步骤:
S30201. 时间同步模块进入集成状态并等待接收来自于集成单元的集成帧,若在预设时间内未接收到集成帧或同步设备数目少于预设个数,则进入冷启动过程;
S30202.冷启动过程结束后,时间同步模块进入假定的时间同步状态,并等待接收集成单元的集成帧,在预设时间内接收到集成帧且同步设备数目大于或等于预设个数的情况下,跳转到同步状态;
S30203.在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,由假定的时间同步状态跳转至非同步状态,并开启同步重启动和超时计时;若时间同步模块在超时计时过程中,接收到集成单元的集成帧且同步设备数目大于或等于预设个数,则确认网络中存在全局同步时钟,将跳转到同步状态,否则进入冷启动过程;
S30204. 时间同步模块进入同步状态后,根据接收到的集成帧计算时钟修正值,并以此修复本地时间。
上述步骤S30201至S30203中,冷启动过程包括以下步骤:
S30205.时间同步模块向外部设备发送冷启动帧,外部设备接收冷启动帧并对其进行固化和压缩处理后,响应并将冷启动帧发送给时间同步模块,时间同步模块对接收的冷启动帧进行固化和压缩处理;
S30206.时间同步模块等待接收集成单元的集成帧,在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,发送冷启动确认帧至所有的外部设备;外部设备接收冷启动确认帧并对其进行固化和压缩处理后,响应并将冷启动确认帧发送给时间同步模块,时间同步模块对接收的冷启动确认帧进行固化和压缩处理,冷启动过程结束。
通过本发明实施例所述的本地时间修复方法,能够实现以太网网关与以太网终端设备之间的时间同步,解决了现有技术存在的不能维持较长时间同步以及在网络拓扑改变和通信过程存在不确定因素的情况下,不能长时间维持时间同步并正常工作的问题。
Claims (5)
1.一种TSN实时以太网网关数据传输方法,应用于TSN网关装置,其特征在于,所述TSN网关装置包括有FPGA芯片、与FPGA芯片通信连接的总线收发器、以太网收发器以及电源模块;所述FPGA芯片通过总线收发器与总线终端设备通信连接,以及通过以太网收发器与以太网设备通信连接;
所述FPGA芯片内部设置有与以太网收发器通信连接的网口通信模块、与网口通信模块通信连接的数据接收组包模块、与数据接收组包模块通信连接的数据解析模块、与总线收发器通信连接的收发模块、与数据解析模块及收发模块通信连接的数据存储模块、分别与数据解析模块和数据接收组包模块通信连接的时间同步模块、分别与时间同步模块、数据存储模块通信连接的数据发送组包模块、分别与数据发送组包模块以及网口通信模块通信连接的数据发送模块;
所述数据传输方法包括总线终端设备至以太网终端设备的传输方法以及以太网终端设备至总线终端设备的传输方法,其中总线终端设备至以太网终端设备的传输方法包括以下步骤:
所述总线收发器接收总线数据,并将其发送至数据存储模块,所述总线数据包括RS422总线数据及LVDS总线数据;
数据存储模块接收总线数据,判断总线数据的数据帧头、数据长度是否符合预设标准,在总线数据的数据帧头、数据长度符合预设标准的情况下,判断数据存储模块中的FIFO缓存器是否为未写满状态,在数据存储模块中的FIFO缓存器为未写满状态情况下,则将总线数据进行存储,在数据存储模块中的FIFO缓存器为已写满状态情况下,数据存储模块则将总线数据丢弃;
数据发送组包模块获取总线数据,然后在每帧总线数据中增加以太网格式数据后组成以太网帧后发送给数据发送模块,数据发送模块通过网口通信模块以及以太网收发器发送至以太网终端设备;所述以太网格式数据包括源MAC地址、目的MAC地址、帧表示信息、VLAN标志、时间戳以及数据和校验信息;
以太网终端设备至总线设备的传输方法,包括以下步骤:
以太网收发器接收来自于以太网终端设备的TSN以太网数据,并将其发送给数据接收组包模块;数据接收组包模块在以太网协议每帧数据中增加目标端口信息以及时间戳信息后发送给数据解析模块;
数据解析模块获取TSN以太网数据的数据类型,在数据类型是时间同步帧的情况下,则获取时间同步帧内的时间戳以及帧类型信息并将其发送给时间同步模块,时间同步模块根据时间信息,并以此修复本地时间;在数据类型是数据配置帧的情况下,则获取配置信息;在数据类型为其他数据帧的情况下,则将其他数据发送至数据存储模块,所述其他数据帧包括有RS422总线数据或LVDS总线数据;
数据存储模块接收TSN以太网数据,判断数据存储模块中的FIFO缓存器是否为未写满状态,在数据存储模块中的FIFO缓存器为未写满状态情况下,则将TSN以太网数据进行存储;在数据存储模块中的FIFO缓存器为已写满状态情况下,数据存储模块则将总线数据丢弃;
根据数据帧头信息,数据存储模块将TSN以太网数据通过收发模块、总线收发器发送至总线终端设备。
2.如权利要求1所述的一种TSN实时以太网网关数据传输方法,其特征在于:
所述总线收发器包括有RS422总线收发器以及LVDS总线收发器,其中,RS422总线收发器包括与RS422收发模块通信连接的RS422芯片、与RS422芯片通信连接的隔离电路以及RS422接口,LVDS总线收发器包括与LVDS收发模块通信连接的LVDS芯片、与LVDS芯片通信连接的隔离电路以及LVDS接口;以太网收发器包括有与网口通信模块通信连接的以太网物理芯片、与以太网物理芯片通信连接的变压器以及与变压器通信连接的千兆网口。
3.如权利要求2所述的一种TSN实时以太网网关数据传输方法,其特征在于:时间同步模块根据时间信息,并以此修复本地时间,包括:
时间同步模块进入集成状态并等待接收来自于其内集成单元的集成帧,若在预设时间内未接收到集成帧或以太网终端设备数目少于预设个数,则进入冷启动过程;
冷启动过程结束后,时间同步模块进入假定的时间同步状态,并再次等待接收集成单元的集成帧,在预设时间内接收到集成帧且以太网终端设备数目大于或等于预设个数的情况下,跳转到同步状态;在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,由假定的时间同步状态跳转至非同步状态,并开启同步重启动和超时计时;若时间同步模块在超时计时过程中,接收到集成单元的集成帧且同步设备数目大于或等于预设个数,则确认网络中存在全局同步时钟,将跳转到同步状态,否则进入冷启动过程;
时间同步模块进入同步状态后,根据接收到的集成帧计算时钟修正值,并以此修复本地时间。
4.如权利要求3所述的一种TSN实时以太网网关数据传输方法,其特征在于:所述的冷启动过程,包括以下步骤:
时间同步模块向以太网终端设备发送冷启动帧以太网终端设备接收冷启动帧并对其进行固化和压缩处理后,响应并将冷启动帧发送给时间同步模块,时间同步模块对接收的冷启动帧进行固化和压缩处理;
时间同步模块等待接收集成单元的集成帧,在预设时间内未接收到集成帧或同步设备数目少于预设个数的情况下,发送冷启动确认帧至所有的以太网终端设备;以太网终端设备接收冷启动确认帧并对其进行固化和压缩处理后,响应并将冷启动确认帧发送给时间同步模块,时间同步模块对接收的冷启动确认帧进行固化和压缩处理,冷启动过程结束。
5.如权利要求1或4所述的一种TSN实时以太网网关数据传输方法,其特征在于,判断数据存储模块中的FIFO缓存器是否为未写满状态,具体包括:
数据存储模块计算FIFO缓存器的缓存深度与已写入FIFO缓存器内数据个数的差值;计算待存储数据的数据长度与FIFO缓存器的写入速度的商值再与FIFO缓存器内发送数据的速度之间的乘积;将所述差值与乘积相加,得到FIFO缓存动态值;所述待存储数据为TSN以太网数据、RS422总线数据或LVDS总线数据;
数据存储模块判断接收到的每一帧待存储数据的数据长度是否小于FIFO缓存动态值,在待存储数据的数据长度小于FIFO缓存动态值的情况下,将该帧待存储数据进行存储,在待存储数据的数据长度大于FIFO缓存动态值的情况下,则对待存储数据进行丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345100.3A CN117097590B (zh) | 2023-10-18 | 2023-10-18 | 一种tsn实时以太网网关数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311345100.3A CN117097590B (zh) | 2023-10-18 | 2023-10-18 | 一种tsn实时以太网网关数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117097590A CN117097590A (zh) | 2023-11-21 |
CN117097590B true CN117097590B (zh) | 2023-12-19 |
Family
ID=88772102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311345100.3A Active CN117097590B (zh) | 2023-10-18 | 2023-10-18 | 一种tsn实时以太网网关数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097590B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005033295A (ja) * | 2003-07-08 | 2005-02-03 | Oki Telecommunication Systems Co Ltd | プロトコル変換装置、プロトコル変換方法、およびプロトコル変換プログラム |
CN202772914U (zh) * | 2012-09-11 | 2013-03-06 | 武汉迈力特通信有限公司 | 一种通用通信接口互联系统 |
CN208128284U (zh) * | 2018-04-24 | 2018-11-20 | 珠海欧比特宇航科技股份有限公司 | 一种基于s698pm的以太网转多路同步串口接口通讯设备 |
KR102261975B1 (ko) * | 2020-12-04 | 2021-06-07 | 한국기술교육대학교 산학협력단 | 모바일 tsn에서의 시간동기화 방법 및 시스템 |
CN218772125U (zh) * | 2022-12-27 | 2023-03-28 | 广州市扬新技术研究有限责任公司 | 一种EdgeHub边缘网关 |
-
2023
- 2023-10-18 CN CN202311345100.3A patent/CN117097590B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005033295A (ja) * | 2003-07-08 | 2005-02-03 | Oki Telecommunication Systems Co Ltd | プロトコル変換装置、プロトコル変換方法、およびプロトコル変換プログラム |
CN202772914U (zh) * | 2012-09-11 | 2013-03-06 | 武汉迈力特通信有限公司 | 一种通用通信接口互联系统 |
CN208128284U (zh) * | 2018-04-24 | 2018-11-20 | 珠海欧比特宇航科技股份有限公司 | 一种基于s698pm的以太网转多路同步串口接口通讯设备 |
KR102261975B1 (ko) * | 2020-12-04 | 2021-06-07 | 한국기술교육대학교 산학협력단 | 모바일 tsn에서의 시간동기화 방법 및 시스템 |
CN218772125U (zh) * | 2022-12-27 | 2023-03-28 | 广州市扬新技术研究有限责任公司 | 一种EdgeHub边缘网关 |
Also Published As
Publication number | Publication date |
---|---|
CN117097590A (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850466B (zh) | 一种时间触发网络中数据包的转发方法及装置 | |
US20190230705A1 (en) | Method for preventing physical collision on ethernet multidrop networks | |
US20080225879A1 (en) | Method and system for reducing transceiver power via a variable symbol rate | |
CN111095860B (zh) | 时钟同步的方法和装置 | |
GB2332128A (en) | Arrangement for transmitting packet data segments from a media access controller across multiple physical links | |
US8493975B2 (en) | Communication system | |
JP2008160227A (ja) | ネットワーク装置及び通信システム | |
CN102624633B (zh) | 一种基于时间触发的SpaceWire网络通信方法 | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN108966046B (zh) | 一种基于fpga的两种通信接口融合mac控制器 | |
CN102546070A (zh) | 使用现有网络线缆来同步网络的方法和系统 | |
CN106571991B (zh) | 一种数据传输方法及装置 | |
EP4138336A1 (en) | Communication data processing method and apparatus | |
CN117097590B (zh) | 一种tsn实时以太网网关数据传输方法 | |
CN112968822A (zh) | 一种基于以太网phy的一主多从实时通讯系统及方法 | |
CN111756659A (zh) | 一种多主站EtherCAT网络实现方法及采用其的网络系统 | |
US11824657B2 (en) | Frame processing method and apparatus | |
CN113014515A (zh) | 一种支持异构网络时间同步时延补偿的交换机 | |
CN112491620B (zh) | 一种基于srio的多通道数据传输控制器及调整方法 | |
CN101895560A (zh) | 一种开放性二级拓扑结构的现场总线dp-net | |
CN113238537A (zh) | 一种基于以太网的高速工业现场总线及其数据传输方法 | |
CN102611615B (zh) | 一种基于fpga的一体化系统 | |
CN110601941B (zh) | 一种基于EtherCAT总线的车载信号传输系统及方法 | |
CN220964912U (zh) | 一种铁路tsn通信网关系统 | |
EP2073465B1 (en) | Method and system for a distinct physical pattern on an active channel to indicate a data rate transition for energy efficient ethernet |
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 |