一种分布式系统军用1394总线数据完整性监控方法与流程

文档序号:14726766发布日期:2018-06-19 10:57阅读:918来源:国知局

本发明属于航空电子系统技术,涉及一种分布式系统军用1394总线数据完整性监控方法。



背景技术:

在如今航空领域或者工业领域,随着电子技术的快速发展,系统综合化、模块化、系统化已然成为主要的发展趋势,这导致总线技术早已成为系统设计的重要部分,在电子类产品的设计、研发、检测、维护等全寿命周期中发挥着越来越重要的作用,总线传递的性能是决定整个航空系统运行的速度、精确性和安全性的主要因素之一。其中,军用1394总线作为一种高速串行总线,以其高速、灵活和可扩展性等特点,已经被广泛应用于数据摄像机、计算机、工业测控,甚至航空航天等高安全领域。

在分布式系统中,当前综合模块化的航空子系统多采用总线网络完成航空LRM(在线可更换模块)之间的通信工作,对数据吞吐量、数据传输的确定性和故障隔离能力都有着越来越高的要求,利用军用1394总线网络数据通信中往往会出现一些大批量连续不间断、记录关键信息的数据包,但是军用1394总线协议,未对介质特性、包格式、消息有效性及系统完整性进行约束,再加上军用1394总线适用于异步传输模式,如何对其进行有效故障检测、分析处理无疑成为监控器功能的一个关键技术问题。



技术实现要素:

本发明的目的是:针对于提高分布式系统军用1394总线数据传输校验效果,设计了一种综合监控和故障状态的数据完整性监控方法,以此来增加总线传输的可靠性和实用性。

本发明的技术方案是:一种分布式系统军用1394总线数据完整性监控方法,包括:

1)一级控制器对二级控制器的情况,分为以下步骤:

步骤一:根据系统传输要求所定义数据包传输协议,提取总线监控所需的数据,包括心跳字和SVPC校验位;

步骤二:针对协议进行总线ILM监控,检查数据包中心跳字,进行心跳字监控,如该拍的心跳字HEART_ILM相应位为0,则该节点的对应心跳字故障计数加1,但不大于心跳字检验故障阈值;如果本拍故障恢复,即HEART_ILM相应位为1,则对应心跳字故障计数减1,但不小于0;当连续时间内心跳字检验故障计数达到心跳字检验故障阈值,则判定心跳字检验故障heatbeat_err=1;

步骤三:针对协议进行总线ILM监控,检查数据包中SVPC校验位,对总线数据包进行SVPC监控,检验失败,SVPC_ILM相应位为0,则该节点的对应SVPC故障计数加1;如果本拍SVPC校验通过,SVPC_ILM相应位为1,那么对应故障计数减1,但不小于0;当连续时间内SVPC监控故障计数达到SVPC校验故障阈值,则判定SVPC校验故障,svpc_err=1;

步骤四:综合判断总线有效性,只有当二级控制器本通道当拍的有效性为真且对应两种校验均没故障,即heatbeat_err=0且svpc_err=0,则该通道总线数据有效,即如果任意校验报故,则判定该总线传输故障。

2)二级控制器接收一级控制器的情况,即总线周期短的接收周期长的控制器发来的数据,则是先检测数据包刷新状态,再进行心跳字检验方法,并对有刷新的数据包进行SVPC监控,此时心跳字合法性设计为:计算本通道该拍减去上上拍的心跳值之差,如果差为1或者2,则认为心跳正确,HEAT_ILM=1;否则则认为心跳错误,HEAT_ILM为0;其后的步骤同1)中的步骤三和步骤四。

与现有技术相比,本发明具有以下的优点:

本发明中的心跳校验方法可以处理针对数据包停止发送、刷新失败等情况,是从全包数据刷新状态方面进行监控。而SVPC校验,着眼于对数据每位字的逐一校验方式,主要是针对数据的完整性进行判断,方法覆盖于常用的奇偶校验方法,且检测方法更加严格。心跳字监控方法和SVPC校验方法是从不同方面对总线传输特性进行检查,融合这两种方法的总线数据完整性校验方法既考虑到了总线整体的连接刷新故障,也同时覆盖到了数据在发送阶段的本身数据包内容故障,检测方法周全而且方便,实用性和可靠性强。

本发明是针对分布式系统专门设计的适用于军用1394总线异步传输,综合考虑到分布式系统中控制器之间实际运行差异,设定心跳字监控条件,用SVPC严格校验接收的数据,并利用心跳字和SVPC组成的总线监控器,再配合故障状态判断条件,使得检测方法更适合实际应用场景,减少外界干扰又提高数据的准确度,解决了军用1394总线无消息有效、系统完整性约束的问题。

附图说明

图1为本发明分布式系统军用1394总线数据完整性监控方法的流程图;

图2为本发明中总线数据有效性判断示意图;

图3为本发明中心跳字监控方法的具体流程图;

图4为本发明中SVPC监控方法的具体流程图。

具体实施方式

下面结合附图对本发明的具体实施方式进行详细说明。

参见图1,其为本发明分布式系统军用1394总线数据完整性监控方法的流程图。

本发明应用于军用1394总线校验、检测方面,监控算法核心是两种总线校验方法——心跳字监控和SVPC监控。发明首先提出对两种总线检测方法的定义,并通过两种校验方法的ILM监控器在连续的时段内的故障次数设计融合判断算法,完成对总线传输信号的监控。

军用1394总线上关联的系统终端有3种:总线控制器(CC)、远程节点(RN)、总线(CM)。为了方便陈述,在此仅详细讨论基于军用1394总线分布式系统中一级控制器(运行帧周期长)对二级控制器(运行帧周期短)发送总线数据的监控算法。

参见图2,发明由心跳字监控和SVPC监控构成两种总线监控:HEART_ILM和SVPC_ILM。总线监控结果是一种校验状态的监控标志,仅表征当前拍总线数据的状态,结果不锁存,不记录故障。SVPC_ILM同理。利用监控标志就可以监控当前总线的心跳字和SVPC的校验状态。总线的监控故障状态由heart_err和svpc_err记录和表示,当某一总线校验被判故,那么对应额err标志位则为1。

a)心跳字监控

心跳字监控,也可以称为帧计数器监控,是一种查看数据包中心跳字更新情况的校验方法。参见图3,实现过程如下,控制器在周期传输的总线数据包中设置心跳字,软件每运行一周期,心跳字依次增加。一级控制器在接收到二级控制器发送的总线数据包后,通过比较当前拍的心跳字与前拍数据包的心跳字,就可以确认总线数据是否更新,如果心跳差超差,则相应的HEART_ILM置0;如果心跳字没超差,则相应的HEART_ILM置1。

考虑到分布式系统传输的异步性,一级控制器在进行心跳监控时,可以适量给与容错余量。上述心跳差超差设计如下:如果一级控制器的运行周期为T,二级控制器的运行周期为t,认为当前拍减去前拍的合法心跳是(|T/t|-1)~(|T/t|+1)。例如,如果一级控制器的运行周期为15ms,二级控制器的运行周期为5ms,可以认为当前拍减去前拍的合法心跳是2~4。如果二级控制器的运行周期为7.5ms,那么可以认为合理心跳差是1~3。

另外,在分布式系统中,一级控制器使用总线数据前需综合判断总线故障和总线监控情况,总线监控考虑当前拍与前拍心跳字是否刷新,为防止总线故障记录过于严苛,将心跳字监控的合法性判断变为由当前拍的心跳字数据减前两拍心跳字。所以如果一级控制器的运行周期为T,二级控制器的运行周期为t,认为当前拍减去前拍的合法心跳是(|T/t|-1)~[2×(|T/t|+1)]。例如,如果一级控制器的运行周期为15ms,而二级控制器的运行周期为5ms,那么可以认为当前拍减去前两拍的合法心跳是比上两拍增加2~8。如果二级控制器的运行周期为7.5ms,那么可以认为合理心跳差是1~6。

b)SVPC监控

SVPC监控方法是一种对传输的按位校验的方法,适用于应用层的数据完整性检验。参见图4。

SVPC校验是将一个数据包内所需要校验的数据串中所有的16位字依次进行异或计算之后所得结果。利用符号⊙表示按位异或,如果设计SVPC校验填入数据串的最后一位,那么SVPC具体算法如下:

1)SVPC=实际负载数据第1个16位字(一般为数据总长);

2)SVPC=SVPC⊙实际负载数据第2个16位字;

3)……;

4)SVPC=SVPC⊙实际负载数据第n-1个16位字。

在传输过程中,软件将计算生成的SVPC填入实际负载数据的最后一个16位字,一级控制器在接收到二级控制器的信号后通过校验SVPC结果,查看数据包传输的正确性。

如果一级控制器计算所得SVPC等于实际负载数据发送的SVPC值,本拍SVPC校验通过,那么SVPC_ILM相关位置1;如果计算所得SVPC不等于实际发送的SVPC值,则检验失败,置SVPC_ILM相关位为0。

本发明在于提出一种面向军用1394总线的基于两种校验方法的在可以保证分布式系统间传输时效性、完整性的总线监控算法,这种监控算法既设计了数据包当前拍监控环节,也综合了连续时间内数据包的故障状态,对比传统的总线校验和监控算法,可以检测出传输刷新故障和掉拍现象,也能够校验数据包内容完整完整性,是一种严格、实用的监控算法,从而有效地提高军用1394总线网络节点间数据接收的可信度判断效果。

下面结合实施例说明本发明的具体实施方式。

本发明实施例设计的校验方法是利用两种校验方法组成对军用1394总线的监控ILM,再根据ILM故障状态,通过计数阈值判定总线故障。具体实现方法如下。

实施例的要求是在一分布式系统中的模块A用军用1394总线向模块B传输一个内容由10个字组成的数据包,模块A的总线运行周期为30ms,模块B的总线运行周期为10ms。首先设计数据传输协议,按照步骤一设置数据包中心跳字和SVPC。本实施例前两个字组成帧头,用于数据包接收检测,第三、第四个字定义为心跳字,最后一位为SVPC校验位。

模块A本身通道有效性为A_ILM,总线监控ILM分别由心跳字和SVPC校验位构成,HEART_ILM和SVPC_ILM,总线监控结果仅表征当前拍总线数据的状态,结果不锁存,不记录故障。

根据周期,设置心跳字本拍减上两拍的超差容限选择为2~8。当应答方收到一包数据后,先按照步骤二进行心跳字检查心跳字监控,将本拍心跳字减去上一拍得到的心跳字,如果监控报故,对应心跳故障计数(heartbeat.errcnt)加一;如果监控故障恢复,对应故障计数减一。

根据得到的故障计数,判定心跳字是否故障,即:

If(heatbeat.errcnt==心跳故障阈值)

heartbeat_err=1;

设置心跳故障阈值为12,则当心跳故障计数到12时,heatbeat_err为1。

完成心跳字检查心跳字监控后,再按照步骤三进行SVPC校验。而SVPC校验是对于数据串中除了帧头标志的数据进行SVPC检验,即SVPC第一步计算中第一位为数据长度,再用上一步得到的SVPC依次与下一位进行按位异或计算,一共计算13次得到该拍收到数据的SVPC结果,并与数据包中的SVPC校验位进行比较。如果结果不一致,监控报故(SVPC_ILM相关位置置0),对应SVPC故障计数(svpc.errcnt)加一;如果结果一致,监控无故障(SVPC_ILM相关位置置1),对应故障计数减一。根据得到的故障计数,判定SVPC是否故障,即:

If(svpc.errcnt==svpc故障阈值)

svpc_err=1;

设置SVPC故障阈值为12,则当心跳故障计数到12时,svpc_err为1。

本设计中,模块A发给模块B的总线有效的条件是:本通道ILM有效,心跳字和SVPC均无故障,那么判定该传输总线数据有效,即:

总线数据有效性=A_ILM&(heatbeat_err==0)&(svpc_err==0)。

通过实践验证,采用本发明的方法设计的总线应用层监控,可以显著提高系统内总线传输效率和可靠性,方法执行力强。

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