掌桥专利:专业的专利平台
掌桥专利
首页

MVB线路冗余切换方法和系统、车辆

文献发布时间:2023-06-19 09:44:49


MVB线路冗余切换方法和系统、车辆

技术领域

本发明涉及轨道交通技术领域,尤其涉及一种基于FPGA的MVB线路冗余切换方法和系统、车辆。

背景技术

多功能车辆总线(Multifunction Vehicle Bus,简称MVB)网络的冗余方案通常采用A线和B线两条线路组成,其中一条线路为信任线,另外一条线路为观察线。两条线路同时从MVB网络接收数据,当信任线出现问题时,比如无法接收帧数据或者接收的帧数据有错时,则进行信任线和观察线切换。然而,现有的MVB线路冗余切换方法在进行切线时,由于A线和B线的时滞存在不确定性,在进行切线操作时可能无法及时切换到观察线,导致帧数据的丢失。

因此,亟需一种可以避免丢失帧数据且快速安全可靠的MVB线路冗余切换方法和系统。

发明内容

为了解决上述技术问题,本发明提供了一种基于FPGA的MVB线路冗余切换方法和系统、车辆,利用缓存寄存器和设计的切线状态机能够快速安全可靠的进行线路切换,同时避免了切换线路时丢失数据的情况发生,极大的提高了整个MVB网络的可靠性。

根据本发明的一个方面,提供了一种MVB线路冗余切换方法,包括:

将信任线和观察线分别连接至第一寄存器和第二寄存器,以分别缓存所述信任线和所述观察线接收到的一帧数据;以及

在判断出所述信任线接收到的数据出错时,则不发送该错误的数据,并且进行如下操作:

若判断出所述观察线接收到的数据未出错,则发送与所述观察线连接的所述第二寄存器中的数据,并在其发送完成时,将所述观察线切换为新的信任线,将所述信任线切换为新的观察线;以及

若判断出所述观察线接收到的数据出错,则直接将所述观察线切换为新的信任线,将所述信任线切换为新的观察线。

在一实施例中,该方法还包括:

在缓存所述一帧数据之前,先对所述数据进行如下操作中的一个或多个:曼彻斯特解码、CRC检验、主帧间隔计数、帧起始计数、从帧长度计数和故障诊断。

在一实施例中,经过所述故障诊断:

若所述数据出错,则不将其缓存;

若所述数据未出错,则将其缓存至对应的寄存器中,并在缓存完成时,发出缓存完成信号。

在一实施例中,在所述信任线接收到的数据出错时:

若在预设时间内未接收到与所述观察线对应的缓存完成信号,则直接进行线路切换;

若在预设时间内接收到与所述观察线对应的缓存完成信号,则待与所述观察线连接的所述第二寄存器中的数据发送完成后,再进行线路切换。

在一实施例中,所述故障诊断包括:

若所述信任线接收到的相邻两个主帧的间隔超过1.4ms,则认为所述信任线接收到的所述主帧间隔过长错误;以及

若所述观察线接收到的相邻两个主帧的间隔超过1.4ms,则认为所述观察线接收到的所述主帧间隔过长错误。

在一实施例中,所述故障诊断还包括:

若所述观察线接收到的主帧或从帧的帧起始计数值比所述信任线接收到的主帧或从帧的帧起始计数值大于8us,则认为所述信任线数据时滞过大。

在一实施例中,所述故障诊断还包括:

若所述信任线接收到的从帧的长度计数与主帧要求的从帧长度不一致时,则认为所述信任线接收到的所述从帧长度错误;

若所述观察线接收到的从帧的长度计数与主帧要求的从帧长度不一致时,则认为所述观察线接收到的所述从帧长度错误。

在一实施例中,该方法还包括:

当有新的数据缓存至所述第一寄存器或所述第二寄存器时,则删除该寄存器中已有的数据。

根据本发明的另一个方面,提供了一种MVB线路冗余切换系统,包括:

第一寄存器,其与信任线连接,用于缓存所述信任线中的当前待发送的一帧数据;

第二寄存器,其与观察线连接,用于缓存所述观察线中的当前待发送的一帧数据;

故障诊断模块,其用于判断所述信任线和所述观察线接收到的数据是否出错;以及

数据选择模块,其用于在所述信任线接收到的数据出错时,则不发送该错误的主帧或从帧,并且:

若所述观察线接收到的数据未出错,则发送与所述观察线连接的所述第二寄存器中的数据,并在其发送完成时,将所述观察线切换为新的信任线,将所述信任线切换为新的观察线;以及

若所述观察线接收到的数据出错,则直接将所述观察线切换为新的信任线,将所述信任线切换为新的观察线。

本发明还提供了一种车辆,其包括如上所述的MVB线路冗余切换系统。

与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:

本发明实施例提供了一种基于FPGA的MVB线路冗余切换方法和系统、车辆,本发明为信任线和观察线分别设置了一个缓存一帧数据的寄存器,并为其设计了一种线路切换的状态机,利用设计的缓存寄存器和切线状态机能够快速安全可靠的进行线路切换,同时避免了切换线路时丢失数据的情况发生,极大的提高了整个MVB网络的可靠性。

本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及说明书附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。

图1示意性示出了本发明实施例的MVB线路冗余切换系统。

图2为根据本发明实施例的MVB线路冗余切换方法的状态流程图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。

为解决现有的MVB线路冗余切换方法和系统在进行切线时存在帧数据的丢失的技术问题,本发明实施例提供了一种基于FPGA(Field Programmable Gate Array,现场可编程门阵列)的MVB线路冗余切换方法和系统。

下面结合附图和本发明实施例综合说明本发明提供的基于FPGA的MVB线路冗余切换方法和系统。

图1示意性示出了本发明实施例的MVB线路冗余切换系统。如图1所示,该系统100包括:A线和B线,其中一条线路为信任线,另外一条线路为观察线。两条线路同时从MVB网络接收数据。在正常情况下,信任线负责将接收到的帧数据发送给后端的报文分析模块,而观察线仅作为一条冗余线,其接收到的帧数据不被发送。

在本发明实施例中,A线和B线都连接有一个寄存器。为了便于理解和说明,首先默认A线为信任线,则B线为观察线,与A线连接的寄存器称作第一寄存器(图中未示出),与B线连接的寄存器称作第二寄存器(图中未示出)。其中,第一寄存器用于缓存A线接收到的数据,其包括主帧和从帧;第二寄存器用于缓存B线接收到的数据,其包括主帧和从帧。当然,也可以首先默认B线为信任线,则A线为观察线,本发明不限于此。

通过设置第一寄存器和第二寄存器分别缓存A线和B线接收到的数据,本发明实施例可以避免在切线时若观察线传输的数据比信号线传输的数据提前到达而造成的数据丢失。

在本发明一实施例中,在缓存一帧数据之前,先对所述数据进行如下操作中的一个或多个:曼彻斯特解码、CRC检验、主帧间隔计数、帧起始计数、从帧长度计数和故障诊断。

如图1所示,该系统100还包括:第一曼彻斯特解码器模块101和第二曼彻斯特解码器模块201。其中,第一曼彻斯特解码器模块101与A线连接,第二曼彻斯特解码器模块201与B线连接。第一曼彻斯特解码器模块101和第二曼彻斯特解码器模块201分别用于对A线和B线接收到的主帧或从帧进行解码处理,并同时用于判断A线和B线接收到的主帧或从帧的帧格式是否符合标准帧的定义,此外还用于发送帧解读信号。其中,帧解读信号至少包括主帧正确结束信号、帧起始信号、帧结束信号和帧格式错误信号,对于各种信号的具体作用会在下文中描述。

该系统100还包括:第一CRC检验模块102和第二CRC检验模块202。其中,第一CRC检验模块102与第一曼彻斯特解码器模块101连接,用于对第一曼彻斯特解码器模块101解码后的主帧或从帧进行CRC计算,并将计算后的CRC值与该主帧或从帧中的CRC值进行比对,根据比对结果发送CRC检验正确信号或CRC检验错误信号。第二CRC检验模块202与第二曼彻斯特解码器模块201连接,用于对第二曼彻斯特解码器模块201解码后的主帧或从帧进行CRC计算,并将计算后的CRC值与该主帧或从帧中的CRC值进行比对,根据比对结果发送CRC检验正确信号或CRC检验错误信号。

该系统100还包括:第一计数器模块103和第二计数器模块203。其中,第一计数器模块103和第二计数器模块203均包括三个计数器,即:主帧间隔计数器、帧起始计数器和从帧长度计数器。第一计数器模块103与第一曼彻斯特解码器模块101连接,第二计数器模块203与第二曼彻斯特解码器模块201连接。其中,主帧间隔计数器用于对A线和B线接收到的相邻两个主帧的间隔进行计数。为了精准的确定相邻两个主帧的间隔,在本发明实施例中,主帧间隔计数器一直持续计数,并在收到曼彻斯特解码器模块发送的主帧正确结束信号时清零。帧起始计数器用于记录A线和B线接收到的主帧或从帧的起始时间,在接收到曼彻斯特解码器模块发送的帧起始信号时,帧起始计数器开始计数,并在收到曼彻斯特解码器模块发送的帧结束信号时清零。其中,帧长度计数器用于记录A线和B线接收到的从帧的长度。

该系统100还包括:故障诊断模块104。其中,故障诊断模块104分别连接第一CRC检验模块102、第二CRC检验模块202、第一计数器模块103和第二计数器模块203。故障诊断模块104用于根据第一曼彻斯特解码器模块101、第二曼彻斯特解码器模块201、第一CRC检验模块102、第二CRC检验模块202、第一计数器模块103和第二计数器模块203发送过来的数据或信号来诊断A线和B线接收到的主帧或从帧是否出现错误。故障诊断包括:

(1)若接收到第一曼彻斯特解码器模块101发送的帧格式错误信号,则认为A线接收到的主帧或从帧的帧格式错误;同理,若接收到第二曼彻斯特解码器模块201发送的帧格式错误信号,则认为B线接收到的主帧或从帧的帧格式错误。

(2)若接收到第一CRC检验模块102发送的CRC检验错误信号,则认为A线接收到的主帧或从帧的CRC检验错误;同理,若接收到第二CRC检验模块202发送的CRC检验错误信号,则认为B线接收到的主帧或从帧的CRC检验错误。

(3)优选地,若接收到第一计数器模块103发送的主帧间隔计数器的值超过1.4ms,则认为A线接收到的主帧间隔过长错误;同理,若接收到第二计数器模块203发送的主帧间隔计数器的值超过1.4ms,则认为B线接收到的主帧间隔过长错误。

(4)优选地,若接收到的第二计数器模块203发送的帧起始计数器值比第一计数器模块103发送的帧起始计数器值大于8us,则认为A线数据时滞过大,即认为A线接收到的主帧或从帧出错;相反,若接收到的第一计数器模块103发送的帧起始计数器值比第二计数器模块203发送的帧起始计数器值大于8us,则认为B线数据时滞过大,即认为B线接收到的主帧或从帧出错。

(5)若接收到第一计数器模块103发送的从帧长度计数器的值与该从帧对应的主帧要求的从帧长度不一致时,则认为A线接收到的从帧长度错误;同理,若接收到第二计数器模块203发送的从帧长度计数器的值与该从帧对应的主帧要求的从帧长度不一致时,则认为B线接收到的从帧长度错误。

需要说明的是,上述(3)中的1.4ms和(4)中的8us也可以根据实际情况灵活设定为其他值,本发明不限于此。此外,故障诊断还可以包括:若B线已接收到主帧或从帧,而预设时间内A线仍旧没有接收到对应的主帧或从帧,则认为A线故障。

上述故障诊断基本可以覆盖主帧和从帧出错的全部情况,本发明实施例通过上述严格的故障诊断,可以提高切换线路的灵敏度,进而可以保证只有正确的主帧和从帧才能发送给报文分析模块,提高了通信的正确性和可靠性。

优选地,在本发明实施例中,第一寄存器和第二寄存器分别与故障诊断模块104连接,用于只将A线和B线接收到的经故障诊断正确的主帧或从帧进行缓存。缓存过程如下:经过故障诊断模块104的诊断:若A线和B线接收到的主帧或从帧出错,则不缓存;若A线和B线接收到的主帧或从帧未出错,则将正确的主帧或从帧缓存至对应的寄存器中,并在缓存完成时,发出缓存完成信号。

具体地,经过故障诊断:A线接收到的主帧或从帧未出错,则将A线接收到的主帧或从帧缓存至第一寄存器,并在第一寄存器缓存完成时,发出第一寄存器缓存完成信号。经过故障诊断:B线接收到的主帧或从帧未出错,则将B线接收到的主帧或从帧缓存至第二寄存器,并在第二寄存器缓存完成时,发出第二寄存器缓存完成信号。

此外,在缓存过程中:第一寄存器和第二寄存器将被实时更新。具体地,当有新的主帧或从帧缓存至第一寄存器和第二寄存器时,同时删除第一寄存器和第二寄存器中已有的主帧或从帧,以保证第一寄存器和第二寄存器中仅保留一个主帧或者一个从帧。

返回图1,该系统100还包括AB线数据选择模块105(简称数据选择模块)。其中,AB线数据选择模块105分别与第一曼彻斯特解码器模块101、第二曼彻斯特解码器模块201、故障诊断模块104以及报文分析模块连接,其用于根据故障诊断模块的诊断结果进行AB线切换,同时用于在A线、第一寄存器、B线和第二寄存器这四个来源中选择一个正确的主帧或从帧发送给报文分析模块。之后,报文分析模块将识别AB线数据选择模块105发送的主帧的主帧类型。在本发明实施例中,主帧有多种类型,例如包括Fcode0、Fcode1、和Fcode15。

图2为根据本发明实施例的MVB线路冗余切换方法的状态流程图。如图2所示,AB线数据选择模块105根据如下状态机来实现AB线切换及主帧或从帧的发送。

具体地,状态机根据当前状态选择发送的帧数据:

在复位时,进入A_trust状态。A_trust状态:表示A线为信任线,B线为观察线,此状态直接将A线接收到的主帧或从帧发送给报文分析模块。当报文分析模块分析出AB线数据选择模块105发送的帧是一个“设备状态请求主帧”时,反馈给AB线数据选择模块105一个AB线切换信号,进入B_trust状态;当接收到A线中的主帧或从帧错误信号时,进入Wait_B状态。

Wait_B状态:等待B线接收到的主帧或从帧缓存至第二寄存器,此状态不向报文分析模块发送任何数据。当预设时间内没有收到第二寄存器缓存完成信号时,进入B_trust状态;当预设时间内收到第二寄存器缓存完成信号时,进入Send_B状态。在本发明实施例中,优选预设时间为8us,当然也可以根据实际情况灵活设定为其他值,本发明不限于此。

通过设置一个预设时间,本发明实施例可以避免A线和B线接收到的主帧或从帧发生堆积,即如果预设时间内没有接收到缓存完成信号,直接进行A线和B线的线路切换,以保证不会影响到下一个主帧或从帧的正常发送。

Send_B状态:将第二寄存器的主帧或从帧发送给报文分析模块,并在其发送完成时,进入B_trust状态。

B_trust状态:表示B线为信任线,A线为观察线,此状态直接将B线接收到的主帧或从帧发送给报文分析模块。当报文分析模块分析出AB线数据选择模块105发送的帧是一个“设备状态请求主帧”时,反馈给AB线数据选择模块105一个AB线切换信号,进入A_trust状态;当接收到B线中的主帧或从帧错误信号时,进入Wait_A状态。

Wait_A状态:等待A线接收到的主帧或从帧缓存至第一寄存器,此状态不向报文分析模块发送任何数据。当预设时间内没有收到第一寄存器缓存完成信号时,进入A_trust状态;当预设时间内收到第一寄存器缓存完成信号时,进入Send_A状态。

Send_A状态:将第一寄存器的主帧或从帧以及相应使能信号发送给报文分析模块,并在其发送完成时,进入A_trust状态。

在本发明实施例中,AB线数据选择模块105在向报文分析模块发送正确的主帧或从帧的同时,还发送相应的使能信号。

相应地,本发明实施例还提供一种车辆,其包括如上述的MVB线路冗余切换系统。

综上所述,本发明实施例提供了一种基于FPGA的MVB线路冗余切换方法和系统、车辆,本发明为信任线和观察线分别设置了一个缓存一帧数据的寄存器,并为其设计了一种线路切换的状态机,利用设计的缓存寄存器和切线状态机能够快速安全可靠的进行线路切换,同时避免了切换线路时丢失数据的情况发生,极大的提高了整个MVB网络的可靠性。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“实施例”意指结合实施例描述的特定特征、或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语或“实施例”并不一定均指同一个实施例。

此外,所描述的特征或特性可以任何其他合适的方式结合到一个或多个实施例中。在上面的描述中,提供一些具体的细节,例如厚度、数量等,以提供对本发明的实施例的全面理解。然而,相关领域的技术人员将明白,本发明无需上述一个或多个具体的细节便可实现,或者也可采用其它方法、组件、材料等实现。

虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

相关技术
  • MVB线路冗余切换方法和系统、车辆
  • 基于MVB与以太网的车辆网冗余系统及网关切换方法
技术分类

06120112287599