一种时间触发以太网端节点的冗余通信接收管理系统及方法与流程

文档序号:17003500发布日期:2019-03-02 01:54阅读:358来源:国知局
一种时间触发以太网端节点的冗余通信接收管理系统及方法与流程

本发明属于多通道冗余通信接收数据管理领域,涉及一种时间触发以太网端节点的冗余通信接收管理系统及方法。



背景技术:

时间触发以太网是在ieee802.3标准以太网技术的基础上增加了分布式网络时钟同步、时间触发通信和可靠性保证等技术形成的。时间触发以太网支持双冗余或三冗余通信,冗余通信运行在多条独立的物理链路上,通过对数据链路层进行适应性改造,为上层协议的通信链路提供统一数据接口。由于时间触发数据并发传输特性,多个通道冗余报文到达接收节点时序情况复杂,接收冗余处理难度较大。

现在已经存在的以太网领域内冗余通信管理的方法都不能适用于时间触发以太网接收管理。中国专利cn200410042985.0公开的基于冗余网络的数据通信方法中,需要网络节点周期性发送网络诊断信息,维护网络状态信息表,并根据网络状态判决出一个最优路径进行冗余报文传输;中国专利cn200580038914.6公开的冗余和非冗余报文的接收中,给出的冗余链路中有效报文和冗余报文的接收判别方法没有时间窗口的检查也没有给出具体接收管理方式,不适用于对于时间要求苛刻的时间触发以太网的接收管理。中国专利cn201110185004.8公开的基于虚链路路由冗余协议的报文发送、接收方法、装置及系统中,定义了路由冗余协议相关控制报文的发送接收方法,与本发明中不需要额外控制报文的冗余接收管理方法有本质不同。对于时间触发以太网的接收管理,目前暂没有公开的用于时间触发以太网端节点的冗余通信接收管理方法。



技术实现要素:

本发明的目的在于克服上述现有技术的缺点,提供一种时间触发以太网端节点的冗余通信接收管理系统及方法。

为达到上述目的,本发明采用以下技术方案予以实现:

一种时间触发以太网端节点的冗余通信接收管理方法,当报文数据为时间触发/速率受限报文数据时,包括以下步骤:

1)时间触发/速率受限报文首先传输到mac层,经mac层进行协议处理后的数据流传送至报文控制信息捕获模块,报文数据传送至可冲刷接收fifo模块;

2)报文控制信息捕获模块捕获当前时间触发/速率受限报文的报文控制信息并生成虚链路编号n,将报文控制信息和虚链路编号n共同传递至完整性检查模块;

3)通过完整性检查模块检查报文的完整性,并将检查有效的报文的报文信息传递至控制信息时序重排模块,检查无效的报文丢弃;

4)通过控制信息时序重排模块对报文信息进行时序重排后送至冗余管理模块,使冗余管理模块同一个时刻仅执行一个数据包的冗余管理;

5)通过冗余管理模块对报文信息进行冗余管理,判断报文的有效性;并将有效报文的帧信息写入到控制信息fifo模块中,无效的报文丢弃;

6)通过接收数据分发模块读取控制信息fifo模块中存储的报文控制信息,并根据报文控制信息从可冲刷接收fifo模块中读取报文数据,并将速率受限报文和时间触发报文分别写入端节点控制器的速率受限接收缓存和时间触发接收缓存。

本发明进一步的改进在于:

一种时间触发以太网端节点的冗余通信接收管理方法,当报文数据为标准报文数据时,包括以下步骤:

a)通过报文控制信息捕获模块检测mac层接收到标准报文时,报文控制信息捕获模块根据标准通道选择控制信号将所选通道的标准报文控制信息写入到控制信息fifo模块中,非选定通道的标准报文直接丢弃;

b)通过接收数据分发模块从控制信息fifo模块中读取标准报文的控制信息,并根据控制信息从可冲刷接收fifo模块中读出相应标准报文数据并写入到端节点控制器的标准接收缓存。

步骤2)生成虚链路编号n的具体方法为:

根据报文控制信息捕获模块提取的虚链路号与配置控制模块传递至报文控制信息捕获模块的虚链路信息将接收的时间触发/速率受限报文的虚链路号映射转换为一个虚链路编号n,该编号表示当前虚链路是接收节点的第n条虚链路。

步骤3)检查报文的完整性包括时间完整性检查和顺序完整性检查;其中:

时间完整性检查是在mac层接收到一个时间触发网络报文数据时,检查报文的接收时刻点是否落在所属虚链路预期的接收时间窗口内,落在接收时间窗口内,将报文的控制信息传递给控制信息时序重排模块;没有落在对应时间窗口内时,根据软件配置对当前报文进行处理;

顺序完整性检查是对mac接收的时间触发网络报文和速率受限报文的序列号进行检查,当接收到某一条虚链路的网络报文时,检查序列号是否遵守以下规则:a、上电复位后,虚链路的第一个报文的序列号为0,后续报文序列号都累加1;b、当前报文的前一个报文的序列号为0xff时,序列号回转到1继续累加;c、每当端系统发生复位时,所有虚链路的序列号都将从0开始;符合规则的报文则顺序完整性检查通过,报文控制信息提交到控制信息时序重排模块;否则,完整性检查模块将报文丢弃信号给至可冲刷接收fifo模块进行报文数据冲刷丢弃。

步骤3)或步骤5)无效的报文丢弃的具体方法为:

完整性检查模块或冗余管理模块将报文丢弃信号送至可冲刷接收fifo模块中,通过可冲刷接收fifo模块进行数据冲刷,丢弃无效的报文。

报文控制信息包括报文的虚链路id号、报文类型、报文长度和序列号信息。

步骤5)判断报文的有效性的具体方法为:

冗余管理模块通过内部设置的ram表中的序列号值与新报文的序列号值进行对比判断报文的有效性;当新报文的序列号是ram表中对应虚链路已经接收的序列号,新报文为无效报文;否则,新报文为有效报文。

可冲刷接收fifo模块冲刷和写入操作都以一帧网络报文为单位。

可冲刷接收fifo模块的个数与冗余的mac接收通道个数相同。

一种时间触发以太网端节点的冗余通信接收管理系统,包括报文控制信息捕获模块、完整性检查模块、控制信息时序重排模块、冗余管理模块、控制信息fifo模块、可冲刷接收fifo模块和接收数据分发模块;其中:

报文控制信息捕获模块用于同时对冗余的mac接收通道独立进行检测,当mac层接收到一个时间触发网络报文或速率受限网路报文时,报文控制信息提取模块会捕获当前报文的报文控制信息,并提交到完整性检查模块;当mac层接收到一个标准网络报文时,报文控制信息捕获模块根据配置控制信息将报文控制信息写入到控制信息fifo模块;

完整性检查模块用于对mac通道独立进行完整性检查,通过完整性检查的报文数据送至控制信息时序重排模块;未通过完整性检查的报文数据,完整性检查模块将报文丢弃信号给至可冲刷接收fifo模块;

控制信息时序重排模块用于将随机到达的相互冗余的时间触发通信网络包的帧控制信息进行重新排序后提交至冗余管理模块,使冗余管理模块同一个时刻仅执行一个数据包的冗余管理;

冗余管理模块用于处理时间触发通信和速率受限通信的报文,并判断报文的有效性,并将有效报文的帧信息写入到控制信息fifo模块中,无效的报文丢弃;

控制信息fifo模块用于当接收的报文数据被确认接收时,写入报文数据的控制信息;

可冲刷接收fifo模块用于缓存接收管理模块接收处理的网络报文,并当接到mac层、完整性检查模块和冗余管理模块给出当前报文丢弃信号时,进行数据冲刷丢弃报文数据;

接收数据分发模块用于读取控制信息fifo模块中的报文控制信息,并根据报文控制信息将可冲刷接收fifo模块中的帧数据读出来并写入到时间触发以太网端节点控制器的相应类型的数据缓存中。

与现有技术相比,本发明具有以下有益效果:

本发明通过完整性检查模块设置时间完整性检查和顺序完整性检查,使接收报文完整性检查在完成顺序完整性检查的同时,还能够对接收的时间触发网络报文进行时间完整性检查,功能可配置。通过控制信息时序重排模块对报文信息进行时序重排后送至冗余管理模块,使冗余管理模块同一个时刻仅执行一个数据包的冗余管理,简化了冗余管理模块的设计,可自适应支持单通道、双通道、三通道以及更多通道的网络报文的冗余管理,同时可有效的将冗余帧和非冗余帧进行区分和处理。本发明采用可冲刷接收fifo模块进行数据的缓存和冲刷,可冲刷接收fifo缓存方式实现了流水线式报文数据处理,执行效率得到提高。

附图说明

图1为本发明的冗余通信接收管理系统示意图;

图2为本发明的时序重排处理示意图;

图3为三个通道都正常工作情况下的一条虚链路的冗余管理输入输出示意图;

图4为三个通道有一个网络通道工作失效时冗余管理处理情况示意图;

图5为三个通道有一个通道出现接收数据异常的一条虚链路的冗余管理处理情况示意图;

图6为三个通道中有两个通道工作异常的冗余管理处理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面结合附图对本发明做进一步详细描述:

参见图1,本发明时间触发以太网端节点的冗余通信接收管理系统,包括报文控制信息捕获模块、完整性检查模块、控制信息时序重排模块、冗余管理模块、控制信息fifo模块、第一可冲刷接收fifo模块、第二可冲刷接收fifo模块、第三可冲刷接收fifo模块和接收数据分发模块;其中:

报文控制信息捕获模块用于同时对三个冗余的mac接收通道独立进行检测,当mac层接收到一个时间触发(tt)网络报文或速率受限(rc)网路报文时,报文控制信息提取模块将当前报文的虚链路id号、报文类型、报文长度、序列号(sn)信息进行捕获,并提交到完整性检查模块。当mac层接收到一个标准(be)网络报文时,报文控制信息捕获模块根据配置信息将报文控制信息写入到控制信息fifo。

完整性检查模块用于对三个mac接收通道独立进行完整性检查,包括时间完整性检查和顺序完整性检查。时间完整性检查是在mac层接收到一个时间触发网络报文数据时,检查报文的接收时刻点是否落在所属虚链路预期的接收时间窗口内,落在接收时间窗口内,将报文的控制信息传递给控制信息时序重排模块;没有落在对应时间窗口内时,根据软件配置对当前报文进行处理;顺序完整性检查是对mac接收的时间触发网络报文和速率受限报文的序列号进行检查,当接收到某一条虚链路的网络报文时,检查序列号是否遵守以下规则:(a)上电复位后,虚链路的第一个报文的序列号为0,后续报文序列号都累加1。(b)当前报文的前一个报文的序列号为0xff时,sn号回转到1继续累加。(c)每当端系统发生复位时,所有虚链路的序列号都将从0开始。符合规则的报文则顺序完整性检查通过,报文控制信息提交到控制信息时序重排模块;否则,报文丢弃。

控制信息时序重排模块用于将随机到达的相互冗余的时间触发通信网络包的帧控制信息进行重新排序,使得冗余管理模块同一个时刻仅执行一个数据包的冗余管理。当只有一帧报文被接收时,报文信息不需要被重排,当有两帧或三帧报文同一时刻被接收时,报文信息信号会进行时序重排,参见图2。由于时间触发以太网支持多通道数据冗余传输,因此多个相互冗余的时间触发网络报文到达接收处理节点的时刻是随机的,因此,冗余管理模块接收到相互冗余的时间触发网络报文的帧控制信息的时刻也是随机的。这会导致冗余管理模块设计电路复杂且时序收敛难度大。因此,通过控制信息时序重排模块使得冗余管理模块同一个时刻仅执行一个数据包的冗余管理。

冗余管理模块用于对时间触发通信和速率受限通信的报文进行处理。报文的控制信息通过控制信息时序重排模块提交至冗余管理模块,冗余管理模块内部设置有一个ram表,每个ram表的内容存储的是当前虚链路已经被接收的最新报文的序列号值,ram表中的内容通过虚链路编号进行索引。当某一条虚链路接收到一个新报文时,将报文的序列号值与存储在ram表中的序列号值进行比较,如果新报文的序列号是ram表中对应虚链路已经接收的序列号,则当前报文为无效报文被丢弃;否则,当前报文当为有效报文被接收。

控制信息fifo用于在当接收的报文数据被确认接收时,将前报文数据的控制信息,如报文类型、虚链路编号、报文长度信息写入到控制信息fifo中。

三个可冲刷接收fifo模块用于缓存接收管理模块接收处理的网络报文,支持数据冲刷功能,冲刷和写入操作都以一帧网络报文为单位。当mac层接收到标准以太网通信报文、时间触发以太网通信报文和速率受限通信以太网报文时,报文数据首先会被填写至可冲刷接收fifo模块。当mac层、完整性检查模块、冗余管理模块给出当前报文确认接收信号时,fifo中的报文数据被确认。当mac层、完整性检查模块、冗余管理模块给出当前报文丢弃信号时,fifo中的报文数据将被可冲刷fifo丢弃。

接收数据分发模块用于根据控制信息fifo的空满情况读取其中报文控制信息,并根据报文控制信息将可冲刷接收fifo模块中的帧数据读出来并写入到时间触发以太网端节点控制器的相应类型的数据缓存中。

本发明还公开了一种时间触发以太网端节点的冗余通信接收管理方法,其中:

时间触发/速率受限报文接收的冗余管理流程为:

(1)时间触发/速率受限报文首先通过mac控制器的物理层接收接口从物理层传输到mac层,三通道冗余工作模式下会有三帧相互冗余的时间触发/速率受限报文被接收。

(2)时间触发/速率受限报文在mac核进行协议处理的数据流,通过mac层内部报文数据流接口传送至报文控制信息捕获模块,报文控制信息捕获模块会从数据流中提取当前时间触发/速率受限报文的报文类型、报文长度、虚链路号、序列号信息。根据提取的虚链路号与配置控制模块传递至报文控制信息捕获模块的虚链路信息将接收的时间触发/速率受限报文的虚链路号映射转换为一个虚链路编号n,该编号表示当前虚链路是接收节点的第n条虚链路。同时通过时间触发/速率受限报文控制信息接口将时间触发/速率受限报文的信息(包括虚链路编号,报文序列号,报文类型,报文有效标识)传递至完整性检查模块;

(3)当报文是速率受限报文则按照顺序完整性检查规则对报文的顺序完整性进行检查;当报文是时间触发报文,则进行完顺序完整性检查后,对报文进行时间完整性检查,通过时间触发虚链路接收窗口有效标识接口传递来的第n条虚链路的接收窗口有效标识是否有效来判断是否通过时间完整性检查;完整性检查有效的报文会通过完整性检查模块输出给控制信息时序重排模块的报文信息信号接口将报文信息传递至控制信息时序重排模块,检查无效的报文通过可冲刷接收fifo报文数据冲刷信号接口通知第一可冲刷接收fifo模块、第二可冲刷接收fifo模块或第三可冲刷接收fifo模块将当前接收的报文从对应的可冲刷接收fifo模块中冲刷掉。

(4)控制信息时序重排模块对报文信息进行时序重排,当只有一帧报文被接收时,报文信息不需要被重排,当有两帧或三帧报文同一时刻被接收时,报文信息信号会进行时序重排,使得冗余管理模块同一个时刻仅执行一个数据包的冗余管理。时序重排处理示意图见图2。

(5)冗余管理模块对经过控制信息时序重排模块重排后传递来的报文信息进行冗余管理,冗余管理模块中有一个ram表,表中保存了每条虚链路已经接收的有效序列号,按照特定比较算法,如果新报文的序列号是ram表中对应虚链路已经接收的序列号,则该报文为冗余报文;否则,当前报文为有效报文。对于冗余报文,通过可冲刷接收fifo报文数据冲刷信号接口通知第一可冲刷接收fifo模块、第二可冲刷接收fifo模块或第三可冲刷接收fifo模块将当前接收的报文从对应的可冲刷接收fifo模块中冲刷掉;对于有效报文,则将帧信息写入到控制信息fifo模块中。

(6)接收数据分发模块通过报文控制信息fifo读接口读取控制信息fifo模块中存储的报文控制信息,并根据报文控制信息从第一可冲刷接收fifo模块、第二可冲刷接收fifo模块或第三可冲刷接收fifo模块中读取报文数据,根据报文类型通过速率受限报文接收缓存写接口将速率受限报文写入端节点控制器的速率受限接收缓存,或通过时间触发报文接收缓存写接口将时间触发报文写入到端节点控制器的时间触发接收缓存。

标准报文接收处理流程:

(1)报文控制信息捕获模块通过mac层内部报文数据流接口检测到mac层接收到标准报文,根据be通道选择控制信号接口将所选通道的标准报文控制信息写入到控制信息fifo模块中。非选定通道的标准报文直接被第一可冲刷接收fifo模块、第二可冲刷接收fifo模块或第三可冲刷接收fifo模块冲刷掉。

(2)接收数据分发模块通过报文控制信息fifo读接口从控制信息fifo模块中读取标准报文的控制信息,并根据控制信息从第一可冲刷接收fifo模块、第二可冲刷接收fifo模块或第三可冲刷接收fifo模块读出相应标准报文数据并通过标准报文接收缓存写接口写入到端节点控制器的标准接收缓存。

根据上述的功能结构,用veriloghdl语言对提出的接收管理方法进行逻辑设计描述,已应用到时间触发e端节点控制器设计中,并对控制器的功能进行测试。测试结果表明本发明具有很好的可实施性,且性能满足预期。

参见图3,三个通道都正常工作情况下的某一条虚链路的冗余管理输入输出示例,从图中可以看出,每个通信周期三个网络通道都会收到正确的有效网络报文。经过冗余管理模块的处理后,输出每个通信周期向上层提交一个有效的网络报文。

参见图4,三个网络通道有一个网络通道工作失效的冗余管理处理情况,当前虚链路的第一帧网络报文都正常接收,从第2帧网络报文开始,第二通道b发生故障不能接收到网络报文,第一通道a和第三通道c工作正常能够接收到有效网络报文。冗余管理系统自动从第一通道a和第三通道c两个通道中进行冗余处理,每个通信周期向上层提交一个有效的网络报文。

参见图5,端节点三个通道有一个通道出现接收数据异常的某一条虚链路的冗余管理处理情况,第一帧三个通道均正常接收到了网络报文,从第二帧网络报文开始,第一通道a和第二通道b工作正常能够接收到有效网络报文,第三通道c一直接收到重复的异常网络报文。冗余管理系统将第三通道c网络报文做丢弃处理后,从第一通道a和第二通道b个通道中进行冗余处理,向上层提交一个有效网络报文。

参见图6,端节点三个网络端口中有两个端口工作异常的冗余管理处理示例,其中,第一通道a出现链路断开故障不能接收网络报文,第二通道b工作正常可接收到有效报文,第三通道c出现接收数据重复异常的故障。此时,冗余处理系统会自动忽略第一通道a切换为双通道冗余处理的模式,冗余处理过程中将第三通道c的异常报文进行丢弃处理,并将第二通道b有效报文提交到上层。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1