一种小卫星表决式通信异常诊断方法与流程

文档序号:13984308阅读:240来源:国知局
一种小卫星表决式通信异常诊断方法与流程

本发明涉及一种小卫星表决式通信异常诊断方法。



背景技术:

目前卫星领域的星上自主通信异常诊断技术通常是采用在星载计算机软件中增加异常诊断模块的方式,星载计算机通过对单机返回的遥测数据的分析,诊断外围单机通信状态,但星载计算机诊断方式存在以下缺陷:星载计算机的主要功能为完成卫星在轨飞行任务,异常诊断模块占用资源过多,会影响卫星正常飞行任务的执行;同时整星仅通过星载计算机进行通信异常诊断,这就构成了“单点”诊断点,在星载计算机受到噪声、电磁干扰、空间粒子辐射、振动等恶劣环境干扰,或者星载计算机通信模块出现异常时,会出现虚警和漏报的现象。为此需要开发一种避免“单点”诊断点,可靠性高的通信异常诊断方法,在星上某个单机出现通信异常时,保证其他单机的正常通信状态。



技术实现要素:

本发明为解决现有星载计算机诊断方法存在“单点”诊断点,易出现故障以及虚警和漏报等问题,提供一种小卫星表决式通信异常诊断方法。

一种小卫星表决式通信异常诊断方法,该方法在菊花链拓扑方式的can总线上设计多主机联合表决的诊断机制,并采用can总线广播方式通信,设计一组诊断广播帧协议并采用限时响应方式实现单机通信状态的表决;

具体诊断过程为:

设定can总线上存在n个节点,相邻的两个节点按照节点号由小到大的顺序分别设定为前向节点和后向节点,所有正常工作节点组成表决组,按照顺序依次循环通信;n为正整数且n≤16;

每个节点有四种工作状态,分别为签名态、表决态、质询态和隔离态;

签名态:节点初始上电后或由异常通信转为正常通信后默认进入签名态,各节点根据自身节点号,在接收到前向节点的签名帧、表决帧或到达发送超时时间后,向can总线上广播发送签名帧,表征此节点处于正常通信状态;

表决态:

在完成签名帧发送后,节点进入表决态,根据can总线上表决帧的接收状态及表决帧的数据域中各节点状态,在接收到前向节点的表决帧或超时时间到达后,广播发送对后向节点的表决帧;若无异常状态发生,can总线上节点始终在表决态下工作;若收到其他节点发送的隔离帧,则在表决时将处于隔离态的节点剔除出表决组,总线上节点总数-1;若某个处于签名态的节点被表决为正常,则在表决时将其加入表决组,总线上节点总数+1;

质询态:

在某个节点连续三次被前向节点表决为异常后,则断定该节点为异常节点,所述异常节点与其前向节点同时进入质询态,前向节点向后向节点发送质询帧,后向节点在接收到质询帧后返回质询应答帧,若后向节点返回质询应答帧,则后向节点与其前向节点均返回表决态,表决组继续进行表决流程;若后向节点连续被质询三次均无应答,则前向节点向can总线上广播发送隔离帧,将后向节点隔离出表决组,后向节点进入隔离态;前向节点在发送隔离帧后,回到表决态;

隔离态:

处在隔离态的节点无法发送数据,无法参与表决,当被隔离的节点恢复正常通信后,默认进入签名态。

本发明的有益效果:本发明所述的通信异常诊断方法,综合星上多个节点获取的通信状态信息,表决出某个节点的通信情况,并通过质询进行节点故障的确认,避免了传统方法由于异常诊断计算机失效而导致整星无法对异常状态做出判断的弊端,有效的规避了“单点”危险点,提高了整星的在轨可靠性;表决时能够汇总除被表决节点外的n-1个节点的接收状态信息,完成对被表决节点异常状态的表决,提高故障诊断的可靠性;通过四种状态表述节点工作状态,在表决出某个节点异常后,能够将其隔离出表决组,表决流程在某个节点被隔离后,can总线上其他节点仍具备诊断通信异常的能力;通信网络中节点数目随节点状态变化动态更新,具有更高的适配性和扩展性。

附图说明

图1为本发明所述的一种小卫星表决式通信异常诊断方法中表决级成员的原理图;

图2为本发明所述的一种小卫星表决式通信异常诊断方法中节点工作状态转换图;

图3为本发明所述的一种小卫星表决式通信异常诊断方法中仲裁域定义原理图;

图4为本发明所述的一种小卫星表决式通信异常诊断方法中系统上电初始化流程图;

图5为本发明所述的一种小卫星表决式通信异常诊断方法中通讯故障表决异常流程图;

图6为本发明所述的一种小卫星表决式通信异常诊断方法中质询流程图;

图7为本发明所述的一种小卫星表决式通信异常诊断方法中节点恢复流程图。

具体实施方式

具体实施方式一、结合图1至图7说明本实施方式,设计一种小卫星表决式通信异常诊断方法,即基于微小卫星星上can总线通信网络实现单机部件通信异常诊断的多机协同表决式方法,该方法以菊花链拓扑方式的can总线上设计多主机联合表决诊断机制,并利用can总线广播方式通信,设计一组诊断广播帧协议并限时响应方式实现单机通信状态的表决。

在一个can总线网络上有n节点参与表决,n为正整数且n≤16;表决的过程为前向节点完成后向节点的表决,最后第n节点完成第1节点的表决。在每个表决周期内所有节点都会进行一次数据发送,接收到数据帧后在对应的状态位计数加1,当前向节点通信时将表决的信息发送到总线上。如某单机部件通信异常,则汇总其他n-1个节点的信息产生表决结果,表决结果分为正常和异常两种。根据系统对故障诊断的要求可设定参与表决的最小节点数量,如一个7节点系统,可以只采用2个节点信息进行表决。

can总线上所有节点组成表决组,如图1所示为n个节点组成的表决组,每两个连续的节点,分别称为前向节点和后向节点。默认的通信顺序为节点号由小到大的顺序,依次循环通信;若某节点超时则其后向节点自主进行通信。

每个节点设计有四个工作状态,分别是签名态、表决态、质询态和隔离态;每一种状态可以反映当前节点的通信状况。

签名态:节点初始上电后或由异常通信转为正常通信后默认进入签名态,各节点根据自身节点号,在接收到前向节点的签名帧、表决帧或到达发送超时时间后,向can总线上广播发送签名帧,表征此节点处于正常通信状态;

表决态:

在完成签名帧发送后,节点进入表决态,根据can总线上表决帧的接收状态及表决帧的数据域中各节点状态,在接收到前向节点的表决帧或超时时间到达后,广播发送对后向节点的表决帧;若无异常状态发生,can总线上节点始终在表决态下工作;若收到其他节点发送的隔离帧,则在表决时将处于隔离态的节点剔除出表决组;

质询态:

在某个节点连续三次被前向节点表决为异常后,则断定该节点为异常节点,所述异常节点与其前向节点同时进入质询态,前向节点向后向节点发送质询帧,后向节点在接收到质询帧后返回质询应答帧,若后向节点返回质询应答帧,则后向节点与其前向节点均返回表决态,表决组继续进行表决流程;若后向节点连续被质询三次均无应答,则前向节点向can总线上广播发送隔离帧,将后向节点隔离出表决组,后向节点进入隔离态;前向节点在发送隔离帧后,回到表决态;

隔离态:处在隔离态的节点无法发送数据,无法参与表决,将其与总线上的其他节点进行隔离,避免通信异常的进一步扩大化。当被隔离的节点恢复正常通信后,默认进入签名态。

结合图2说明本实施方式,节点上电后或由异常通信转为正常通信后默认进入签名态,发送签名帧;当节点表决出后向节点通信状态后进入表决态,发送对后向节点的表决帧(包含表决正常帧、表决异常帧);在后向节点连续三次被表决为异常后进入质询态,前向节点发送后向节点的质询帧(后向节点发送质询应答帧);在后向节点连续三次被质询都无应答时,前向节点发送隔离帧,将后向节点隔离出表决组,后向节点进入隔离态。

本实施方式中,超时时间的确定方法,每个节点根据接收到的通信帧中包含的节点序号动态计算超时时间,计算公式为:若节点号>发送通信帧节点号,则节点超时时间=(节点号-发送通信帧节点号)*δt;若节点号≤发送通信帧节点号,则节点超时时间=(总节点数+节点号-发送通信帧节点号)*δt;

如图1中当前发送表决帧的是节点1,则其后向节点2应答超时时间为(2-1)*δt,节点n的超时时间为(n-1)*δt。节点n发送后第一个应答节点是节点1。所述δt为设定的单位超时时间,根据总线上节点总数及节点工作形式确定。

本实施方式中,采用can扩展帧进行通信,定义表1为不同通信帧的仲裁域填写要求,仲裁域定义原理图如图3所示。仲裁域id28~id21定义为故障诊断帧标识、8bits、默认aah;id20~id17为帧类型标识位,4bits;id16~id13定义为发送节点标识、4bits;id12~id09为后向节点标识,填充被表决、被质询、被隔离或需要第一个应答的后向节点号;id08~id05为表决组节点总数,0001b~1111b分别表明总线上有1~15个节点,0000b表明总线上有16个节点;id04~id00为保留位。如图3所示。数据域采用8字节长度,定义如表2为数据域填充说明。每个通信帧中包含本节点对后向节点进行的表决结果,其他节点的数据帧接收信息。

表1

表2

具体实施方式二、结合图4至图7说明本实施方式,本实施方式为具体实施方式一所述的一种小卫星表决式通信异常诊断方法的实施例:本实施方式以五个节点的can总线网络为例,详细说明通信故障诊断过程:

一、初始流程

1)如图4所示,can总线上节点在完成上电后,均处于签名态,默认从节点0开始发送签名帧,数据域默认填充0;

2)其他节点在收到前向节点签名帧后依次开始发送签名帧,数据域默认填充0;

3)在所有节点发送签名帧后,节点0开始发送表决正常帧,由于未收到其他节点的表决正常帧,数据域状态填写0;

4)节点1在收到节点0的表决正常帧后,发送表决正常帧,由于接收到节点0的表决正常帧,所以发送的表决正常帧中数据域节点0状态填写0+1=1;

5)节点2在接收到节点1的表决正常帧后,发送表决正常帧,节点1的表决正常帧中节点0的状态为1,且节点2接收到了节点0发送的表决正常帧,因此数据域节点0的状态填写1+1=2;由于接收到节点1的表决正常帧,数据域节点1状态填写1;

6)节点3在接收到节点2的表决正常帧后,发送表决正常帧,节点2的表决正常帧中数据域节点0的状态为2,数据域节点1状态为1,且节点3接收到了节点0、节点1发送的表决正常帧,因此发送的表决正常帧中数据域节点0的状态填写2+1=3,数据域节点1的状态填写1+1=2;由于接收到节点2的表决正常帧,数据域节点2状态填写1;

7)节点4在接收到节点3发送的表决正常帧后,第1个满足表决条件,开始对节点0的进行表决,节点3的表决正常帧中数据域节点0的状态为3,且节点4接收到了节点0的表决正常帧,节点4接收到的节点0的状态为3+1=4,除被表决节点外,所有节点均收到其发出的表决正常帧,因此节点4发送表决正常帧,表决节点0处于正常状态;

8)其他节点依次发送表决正常帧,表决后向节点的通信状态;

9)当节点3发送表决正常帧后,总线上所有节点均经过被表决,所有节点均处于正常状态;

10)总线上节点按照0->1->2->3->4->0的顺序循环发送表决正常帧。

二、通信异常表决流程

1)如图5所示,若节点1发生故障,该节点未能成功发送表决正常帧;

2)节点2未收到前向节点的表决正常帧,超时时间δt=10ms,节点2在等待20ms后,自主发送表决正常帧,由于未收到节点1的表决正常帧,数据域节点1状态填写0;

3)节点3接收到节点2的表决正常帧后,发送表决正常帧,由于节点2的表决正常帧中数据域节点1状态为0,且节点3未收到节点1的表决正常帧,因此数据域节点1状态填写0;

4)其他节点在收到前向节点表决正常帧后发送表决正常帧;

5)节点0收到前向节点发送的表决正常帧后,数据域节点1状态为0,发送表决异常帧,表决节点1出现异常;

6)其他节点继续进行表决流程,表决其后向节点通信状态;

7)若节点0连续3次表决节点1通信异常,在第3次发送表决异常帧后,节点0与节点1进入质询态。

三、质询流程

1)如图6所示,节点0与节点1处于质询态,节点0向节点1发送质询帧;

2)节点0在节点1无应答并等待3ms的情况下,第2次发送质询帧;

3)节点0在节点1无应答并等待3ms的情况下,第3次发送质询帧;

4)若等待3ms后,仍未收到质询应答帧,即连续3次发送质询帧均无响应,则节点0发送隔离帧,将节点1隔离出系统,使节点1处于隔离态,不再参与总线故障诊断流程。当其他节点接收到隔离帧后,将总线上总节点数减1,总线上通信不再考虑节点1;

5)节点0在发送隔离帧后,再次发送表决正常帧,开始新一轮表决,此时由于节点1已经被隔离,所以总线上节点总数为4,节点0的后向节点变为节点2;

6)节点2在接收到隔离帧后,总线上节点总数相应更改为4,前向节点变为节点0,在接收到节点0的表决正常帧后发送表决正常帧;

7)总线上其他节点按照0->2->3->4->0的顺序循环发送表决正常帧。

四、节点恢复正常,重新参与表决流程

1)如图7所示,节点1通信恢复正常后,在其前向节点(节点0)发送表决正常帧后,发送签名帧,在总线节点总数上加1;

2)节点2接收到节点1发送的签名帧后,在表决正常帧中更改数据域节点1的状态,表明接收到了节点1发送的签名帧;

3)其他节点按照接收规则更改数据域节点1状态;

4)节点0接收到节点4的表决正常帧后,表决节点1处于正常状态,发送表决正常帧,将节点总数加1,后向节点更改为1,同时不再对节点2进行表决,其他节点接收到表决正常帧后,取消节点1的隔离状态;

5)节点1根据数据接收状态,完成对节点2的表决,并发送表决正常帧;

6)其他节点将总线上总节点数变为5,完成对后向节点的表决,并发送表决正常帧;

7)总线上节点按照0->1->2->3->4->0的顺序循环发送表决正常帧。

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