HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

双显示系统互诊断与数据同步的方法、双显示系统和列车与流程

2021-02-04 08:02:31|287|起点商标网
双显示系统互诊断与数据同步的方法、双显示系统和列车与流程

[0001]
本发明涉及轨道交通技术领域,尤其涉及一种双显示系统互诊断与数据同步的方法、双显示系统和列车。


背景技术:

[0002]
在轨道交通技术领域,列车上安装有多个同时运行的且负责不同显示功能的显示系统。当这些显示系统出现故障时,如果没有及时处理,将会对列车正常运行产生严重影响。目前,对于这些显示系统通常采取冗余配置作为一种解决方案,但是冗余配置会导致系统结构复杂化。因此,目前亟需一种可以充分利用现有资源的显示系统间数据备份和系统运行状态互诊断的方法,以保证在显示系统发生故障时对其关键信息进行处理。
[0003]
此外,对于现有的多种通信方式,如以太网、无线通信、modbus、can和通用异步收发传输器(uart)。不论显示系统间采用哪一种通信方式,在数据传输时均会以数字信号的一位作为最基本传输单元。而由于存在系统时钟精度、电磁干扰、传输距离等因素的影响,因此不可避免地会出现传输数据丢失或错误的情况。对于uart通信来说,虽然其底层控制器实现了位校验的错误检测方式,但是并未定义数据传输错误时的行为。如果直接使用这些错误的数据或者读取后面的数据,则可能会依据对象不同而存在某些风险。因此,为了解决数据安全传输问题,需要定义一种的数据传输协议或机制,以保障所传输的数据的正确性。


技术实现要素:

[0004]
为了解决上述技术问题,本发明提供了一种双显示系统互诊断与数据同步的方法、双显示系统和列车。
[0005]
根据本发明的一个方面,提供了一种双显示系统互诊断与数据同步的方法,包括:
[0006]
对于所述双显示系统中的任一个:
[0007]
步骤s1:通过uart连接另一个显示系统;
[0008]
步骤s2:收集本显示系统的关键数据,并将其封装为关键数据帧后通过uart发送给所述另一个显示系统;生成表征本显示系统运行状态的生命信号,并将其封装为生命信号帧后通过uart发送给所述另一个显示系统;
[0009]
接收所述另一个显示系统发送的uart通信协议数据帧,并判断其类型,并且,经判断:如果为生命信号帧,则解析出生命信号并将该生命信号写入共享内存;如果为关键数据帧,则解析出关键数据并将该关键数据备份到本地文件中;如果为重发指令帧,则向所述另一个显示系统重发该重发指令帧指定的关键数据帧;以及
[0010]
步骤s3:读取所述共享内存中的生命信号,并将当前读取的生命信号与之前读取的生命信号作比较,并且,如果诊断出所述当前读取的生命信号状态异常,则发出报警信息,否则不作处理。
[0011]
优选地,该方法还包括:在步骤s2之前,通过发送和接收握手数据帧,使得所述双
显示系统之间建立握手连接。
[0012]
优选地,所述uart通信协议数据帧和所述握手数据帧均包括帧类型字段、来源标识字段和帧计数字段。
[0013]
优选地,所述生命信号为被赋予预设初值的32位无符号整型数字,且每隔预定时间数值加1。
[0014]
优选地,在步骤s3中,每隔所述预定时间读取所述共享内存中的生命信号,并将当前读取的所述生命信号的值与前三次读取的所述生命信号的值作比较,并且,如果诊断出所述当前读取的生命信号状态异常,则发出报警信息,否则不作处理。
[0015]
优选地,该方法还包括:在发出所述报警信息的同时,将所述另一个显示系统的关键数据在本显示系统上显示。
[0016]
优选地,在步骤s2中,经判断:如果所述uart通信协议数据帧为关键数据帧,则先将其存入至本显示系统的接收缓冲区,再判断当前接收到的所述关键数据帧的帧计数是否连续,若连续,则解析出关键数据并将该关键数据备份到本地文件中,若不连续,则在所述接收缓冲区查找使得所述帧计数连续的关键数据帧。根据本发明的另一个方面,提供了一种双显示系统,所述双显示系统之间通过uart连接,其中,所述双显示系统中的任一个均包括:
[0017]
应用模块,其用于收集、显示和发送本显示系统的关键数据;
[0018]
守护模块,其用于:接收所述应用模块发送的本显示系统的关键数据,并将其封装为关键数据帧后通过uart发送给另一个显示系统;生成表示本显示系统运行状态的生命信号,并将其封装为生命信号帧后通过uart发送给所述另一个显示系统;接收所述另一个显示系统发送的uart通信协议数据帧,并判断其类型,经判断:如果为生命信号帧,则解析出生命信号并将该生命信号写入共享内存;如果为关键数据帧,则解析出关键数据并将该关键数据备份到本地文件中;如果为重发指令帧,则向所述另一个显示系统重发该重发指令帧指定的关键数据帧;以及
[0019]
诊断模块,其用于:读取所述共享内存中的生命信号,并将当前读取的生命信号与之前读取的生命信号作比较,并且,如果诊断出所述当前读取的生命信号状态异常,则发出报警信息,否则不作处理。
[0020]
优选地,所述诊断模块还用于在发出所述报警信息的同时,向所述应用模块发送故障信号;并且
[0021]
所述应用模块还用于在接收到所述故障信号时,在本显示系统上显示所述另一个显示系统的关键数据。
[0022]
根据本发明的另一个方面,还提供了一种列车,包括上述的双显示系统。
[0023]
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
[0024]
应用本发明实施例提供的双显示系统互诊断与数据同步的方法和双显示系统:(1)实现了双显示系统间可靠的uart数据通信机制,保证了数据传输的安全性和连续性;(2)实现了双显示系统运行状态的相互诊断,充分利用了现有资源,能够实时检测双显示系统运行状态,弥补了自诊断的不足;(3)实现了双显示系统的关键数据同步和备份,结合互诊断,可在正常显示系统中获取故障显示系统于故障发生前一段时间内的关键数据,并能
够对其关键数据进行及时处理,提高了故障处理及时率;(4)备份的关键数据能够为故障分析提供帮助,提高了分析效率。
[0025]
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及说明书附图中所特别指出的结构来实现和获得。
附图说明
[0026]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。
[0027]
图1示意性示出了根据本发明实施例的双显示系统。
[0028]
图2为根据本发明实施例的双显示系统的应用模块所执行的流程图。
[0029]
图3为根据本发明实施例的双显示系统的守护模块所执行的流程图。
[0030]
图4为根据本发明实施例的双显示系统进行数据帧解析的流程图。
[0031]
图5为根据本发明实施例的双显示系统的诊断模块所执行的流程图。
[0032]
图6为根据本发明实施例的双显示系统实现握手协议的流程图。
具体实施方式
[0033]
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0034]
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
[0035]
下面结合附图和本发明实施例综合说明本发明提供的双显示系统互诊断与数据同步的方法和双显示系统。
[0036]
图1示意性示出了根据本发明实施例的双显示系统。如图1所示,该双显示系统包括第一显示系统100和第二显示系统200。其中,第一显示系统100和第二显示系统200可以为同时运行且负责不同显示功能的任意两个显示系统,本发明不限于此。优选地,第一显示系统100和第二显示系统200之间通过uart通信连接。其中,第一显示系统100包括:
[0037]
应用模块101,其用于收集、显示和发送本显示系统的关键数据;
[0038]
守护模块102,其用于:接收应用模块发送的本显示系统的关键数据,并将其封装为关键数据帧后通过uart发送给另一个显示系统;生成表示本显示系统运行状态的生命信号,并将其封装为生命信号帧后通过uart发送给另一个显示系统;接收另一个显示系统发送的uart通信协议数据帧,并判断其类型,经判断:如果为生命信号帧,则解析出生命信号并将该生命信号写入共享内存;如果为关键数据帧,则解析出关键数据并将该关键数据备份到本地文件中;如果为重发指令帧,则向另一个显示系统重发该重发指令帧指定的关键数据帧;以及
[0039]
诊断模块103,其用于:读取共享内存中的生命信号,并将当前读取的生命信号与
之前读取的生命信号作比较,并且,如果诊断出所述当前读取的生命信号状态异常,则发出报警信息,否则不作处理。
[0040]
在本发明实施例中,关键数据包括列车运行的状态数据和应用模块显示的界面数据,当然也可以包括其他数据,本发明不限于此。
[0041]
如图1所示,第二显示系统200包括:应用模块201、守护模块202和诊断模块203。其中,应用模块201、守护模块202和诊断模块203分别与第一显示系统100中的应用模块101、守护模块102和诊断模块103所起的作用和功能相同,在此不再赘述。
[0042]
此外,如图1所示,第一显示系统100和第二显示系统200还包括:发送缓冲区、接收缓冲区以及守护模块与诊断模块的共享内存(以下简称共享内存)。其中,守护模块将解析得到的发送方显示系统的生命信号写入共享内存,供诊断模块读取,以此判断发送方显示系统的运行状态。
[0043]
需要说明的是,在本发明实施例中,对于第一显示系统100/第二显示系统200,本显示系统指的是自身,而另一个显示系统指的是第二显示系统200/第一显示系统100。
[0044]
为了便于理解,下面以第一显示系统100为本显示系统,第二显示系统200为另一个显示系统为例进行说明。
[0045]
图2为根据本发明实施例的双显示系统的应用模块所执行的流程图。如图1和图2所示,一方面,应用模块101通过线程1实时收集本显示系统100的关键数据,并通过socket通信或者其他通信方式将线程1收集的关键数据发送给守护模块102;另一方面,应用模块101通过其他线程将关键数据或列车运行中的其他参数在本显示系统上进行显示,实现与驾驶员的人机交互。
[0046]
图3为根据本发明实施例的双显示系统的守护模块所执行的流程图。如图1和图3所示,守护模块102用于:(1)建立与应用模块101的socket通信服务或者其他通信服务,接收应用模块101发送的关键数据,根据定义将关键数据封装为关键数据帧,再通过uart将封装好的关键数据帧发送给第二显示系统200;(2)生成表征本显示系统运行状态的生命信号,根据定义将生命信号封装为生命信号帧,再过uart将封装好的生命信号帧发送给第二显示系统200;(3)接收第二显示系统200发送的uart通信协议数据帧,并对接收到的uart协议数据帧进行解析。
[0047]
优选地,在本发明实施例中,生命信号被定义为一个32位无符号整型数字,并被赋予预设初值,每隔预定时间对其作加1计算,用以表征本显示系统的生命状态。即,在生成生命信号的过程中,每隔预定时间生成一个生命信号,并且后一个生成的生命信号比前一个生成的生命信号数值加1。
[0048]
图4为根据本发明实施例的双显示系统进行数据帧解析的流程图。如图1和图4所示,守护模块102对接收到的uart通信协议数据帧进行解析的过程为:首先,校验接收到的uart通信协议数据帧是否完整,若不完整,则不作处理;若完整,则进行crc校验。若uart通信协议数据帧未通过crc校验,则不作处理;若通过crc校验,则判断uart通信协议数据帧的类型(其包括:关键数据帧、生命信号帧、重发指令帧),并根据数据帧类型作不同的处理。经判断,如果uart通信协议数据帧为关键数据帧,则先将其存入接收缓冲区,再判断当前接收到的关键数据帧的帧计数是否连续,若连续,则解析出关键数据并将该关键数据备份到本地文件中,若不连续,则在接收缓冲区查找使得帧计数连续的关键数据帧。如果uart通信协
议数据帧为生命信号帧,则将其写入共享内存供诊断模块103读取;如果uart通信协议数据帧为重发指令帧,则对重发指令帧进行解析,并根据解析出的重发指令帧中的指定信息查找发送缓冲区,若查找到其指定的关键数据帧则向第二显示系统200重发该关键数据帧,查找不到则打印错误信息。若uart通信协议数据帧的帧类型校验错误,则打印数据帧类型错误。
[0049]
在本发明实施例中,判断当前接收到的关键数据帧的帧计数是否连续,其主要用于检查是否有丢失的关键数据帧,以保证数据通信的完整性。具体地,在该过程中,判断当前接收到的关键数据帧的帧计数与上一次解析的关键数据帧的帧计数是否连续,若连续,则对当前接收到的关键数据帧进行解析,解析出其中的关键数据并将该关键数据备份到本地文件中;若不连续,则在接收缓冲区中查找使得帧计数连续的关键数据帧。例如,上一次解析的关键数据帧的帧计数为3,而当前接收到的关键数据帧的帧计数为4,那么则认为当前接收到的关键数据帧的帧计数与上一次解析的关键数据帧的帧计数是连续的,此时解析出当前接收到的关键数据帧的关键数据后并将该关键数据备份到本地文件中。再例如,上一次解析的关键数据帧的帧计数为3,而当前接收到的关键数据帧的帧计数为5,那么则认为当前接收到的关键数据帧的帧计数与上一次解析的关键数据帧的帧计数是不连续的,帧计数为4的关键数据帧丢失,则首先在该接收缓冲区查找使得帧计数连续的关键数据帧(即查找帧计数为4的关键数据帧),若找到该帧计数为4的关键数据帧,则解析出帧计数为4的关键数据帧的关键数据并将该关键数据备份到本地文件中,否则发送重发指令帧。
[0050]
优选地,在本发明实施例中,当帧计数为4的关键数据帧解析完成时,先将帧计数为5的关键数据帧缓存在接收缓存区,并且不对其进行解析。随后,当帧计数为6的关键数据帧缓存至接收缓存区时,通过比较帧计数为6的关键数据帧和上一次解析的帧计数为4的关键数据帧,发现帧计数不连续,则在接收缓存区查找出帧计数为5的关键数据帧,并对帧计数为5的关键数据帧进行解析,解析出其中的关键数据并将关键数据备份到本地文件中,随后依次类推完成关键数据帧解析过程。
[0051]
图5为根据本发明实施例的双显示系统的诊断模块所执行的流程图。如图1和图5所示,诊断模块用于:读取共享内存中的生命信号,并将当前读取的生命信号与之前读取的生命信号作比较,并且,如果诊断出当前读取的生命信号状态异常,则发出报警信息,否则不作处理。
[0052]
优选地,在第一显示系统100和第二显示系统200正常工作状态下,每隔预定时间守护模块102生成一个表征本显示系统运行状态的生命信号,相比于前一个生成的生命信号,当前生成的生命信号数值加1,将当前生成的生命信号封装为生命信号帧后,通过uart通信向第二显示系统200发送该生命信号帧。第二显示系统200的守护模块202在接收到该生命信号帧后,对该生命信号帧进行解析,并将解析出的生命信号值存储到共享内存。诊断模块203读取共享内存中的生命信号值以判断第一显示系统100的运行状态,如果检测到第一显示系统100运行状态异常,则发出报警信息,否则不作处理。为了实现对故障显示系统的及时处理,诊断模块203还用于在发出报警信息的同时,向应用模块201发送故障信号。应用模块201在接收到故障信号时,在第二显示系统200上同时显示第一显示系统100和第二显示系统200的关键数据。
[0053]
更为优选地,诊断模块203每隔预定时间读取共享内存中的生命信号,并将当前读
取的生命信号的值与前三次读取的生命信号的值作比较,如果诊断出当前读取的生命信号状态异常,则发出报警信息,同时向应用模块201发送故障信号,否则不作处理。
[0054]
为了实现可靠的uart数据通信,便于数据处理,本发明实施例中的uart通信协议数据帧和握手数据帧均采用如下的数据帧格式。
[0055]
帧头类型来源标识帧计数数据长度数据crc校验帧尾2字节2字节1字节4字节1字节n字节4字节2字节
[0056]
其中,

帧头:标识一帧开始;

类型:标识是否为关键数据帧、生命信号帧、重发指令帧、握手数据帧;

来源标识:标识数据帧的发送方;

帧计数:主要用于关键数据帧,判断接收数据是否连续,若不连续表示数据丢失,需要重发;

数据长度:标识数据段的有效数据个数,单位为字节;

数据:有效数据段,最大可发送255字节;

crc校验:采用32位crc校验方式;

帧尾:标识一帧结束。
[0057]
相对于现有的uart通信数据帧定义,本发明实施例为了实现数据帧类型区别处理和数据来源区别,增加了帧类型字段和来源标识字段,可以对数据分类处理和区别消息来源,增加灵活性。此外,增加了帧计数字段,用于实现数据重发机制,提高通信安全性。
[0058]
此外,由于第一显示系统100与第二显示系统200存在上电启动时间差异,进而会造成通信数据丢失。为了避免通信数据丢失,本发明实施例采取先握手再通信的方式。
[0059]
图6为根据本发明实施例的双显示系统实现握手协议的流程图。如图6所示,守护模块102和守护模块202还用于:在第一显示系统100与第二显示系统200进行通信(相互收发uart通信协议数据帧)之前,先相互发送和接收握手数据帧,使得第一显示系统100和第二显示系统200建立握手连接,以避免通信数据丢失。在该过程中,还包括:在第一显示系统100和第二显示系统200相互发送和接收完握手数据帧后,第一显示系统100和第二显示系统200相互判断对方显示系统是否准备好,若准备好,则相互收发uart通信协议数据帧;若没有准备好,则判断是否超过握手次数,若超过握手次数,则发出报警提醒。
[0060]
相应地,本发明实施例还提供一种列车,该列车包括上述的双显示系统。
[0061]
综上所述,本发明针对两个同时运行的显示系统,通过定义通信协议帧格式,设计可靠的uart数据通信机制,能够将双显示系统运行期间采集或计算产生的关键数据相互备份到对方显示系统上。同时基于上述uart数据通信机制,实现了双显示系统运行状态的相互诊断,当其中一个显示系统诊断到另一个显示系统故障时,其自身的应用模块能够对另一个显示系统的备份数据进行及时处理。
[0062]
应用本发明实施例提供的双显示系统互诊断与数据同步的方法和双显示系统:(1)实现了双显示系统间可靠的uart数据通信机制,保证了数据传输的安全性和连续性;(2)实现了双显示系统运行状态的相互诊断,充分利用了现有资源,能够实时检测双显示系统运行状态,弥补了自诊断的不足;(3)实现了双显示系统的关键数据同步和备份,结合互诊断,可在正常显示系统中获取故障显示系统于故障发生前一段时间内的关键数据,并能够对其关键数据进行及时处理,提高了故障处理及时率;(4)备份的关键数据能够为故障分析提供帮助,提高了分析效率。
[0063]
应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
[0064]
说明书中提到的“实施例”意指结合实施例描述的特定特征、或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语或“实施例”并不一定均指同一个实施例。
[0065]
此外,所描述的特征或特性可以任何其他合适的方式结合到一个或多个实施例中。在上面的描述中,提供一些具体的细节,例如厚度、数量等,以提供对本发明的实施例的全面理解。然而,相关领域的技术人员将明白,本发明无需上述一个或多个具体的细节便可实现,或者也可采用其它方法、组件、材料等实现。
[0066]
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips