一种基于双总线的冗余表决控制方法与流程

文档序号:16244308发布日期:2018-12-11 23:25阅读:511来源:国知局
一种基于双总线的冗余表决控制方法与流程

本发明涉及航天器控制单元软件,尤其属于航天器控制单元软件三冗余表决控制技术的一种基于双总线的冗余表决控制方法。

背景技术

随着我国新一代运载领域的发展,对火箭系统的安全、可靠性要求越来越高,其中控制系统因其直接决定了火箭发射任务的成败,可靠性安全性设计要求越来越高,常规的可靠性设计方法和措施已经很难满足将现役运载火箭可靠性再提高1%的目标要求。

以飞行任务可靠性为配置首要原则对航天器控制单元进行系统可靠性分析和设计,认为总线通信的可靠性直接关系到飞行任务的成败,必须做到有效解决各类总线异常问题,提高总线控制指令传输的可靠性,防止丢指令或误触发,确保硬件单点故障时整个系统能继续正确有效的运行。

但现有的航天器控制单元发生单点故障失效时往往难以兼顾可靠性和经济性。



技术实现要素:

为解决航天器控制单元单点故障失效等航天器控制总线异常问题,本发明提供了一种基于双总线的冗余表决控制方法,它通过采取冗余设计和设置补偿措施双管齐下的方法,提高总线指令传输的可靠性,防止丢指令或误触发,确保硬件单点故障时整个系统能继续正确有效的运行。

为解决上述技术问题,本发明提供了一种基于双总线的冗余表决控制方法,包括以下步骤:

s1:航天器控制单元a、b、c中的任一控制单元作为rt终端,接收mil-std-1553b总线的bc控制器发送的总线消息,对接收的总线消息校验数据有效后,通过can总线分别向另两个控制单元转发所述总线消息;

s2:航天器控制单元a、b、c中的任一控制单元接收所述can总线上另两个控制单元所转发的总线消息,并校验指令数据的有效性;

s3:航天器控制单元a、b、c中的任一控制单元对接收到的mil-std-1553b的总线消息和can总线上接收到的另两个控制单元转发的总线消息,结合本控制单元所回采的心跳信号,进行三取二表决输出,以应对已知的一度、二度故障。

较佳地,所述步骤s1包括如下步骤:

s11:航天器控制单元a、b、c分别各自接收其对应的bc控制器发送的总线消息;

s12:采用crc校验判断所接收的来自mil-std-1553b总线的总线消息的有效性;

s13:将校验后有效的总线消息通过所述can总线分别向另两个控制单元转发。

较佳地,所述步骤s2包括如下步骤:

s21:航天器控制单元a、b、c分别接收所述can总线上另两个控制单元转发的总线消息;

s22:采用crc校验判断所接收的来自can总线上的总线消息的有效性;

较佳地,上述s3包括如下步骤:

s31:航天器控制单元a、b、c通过回采各控制单元输出的心跳信号,判断各控制单元的工作状态,其中,mil-std-1553b总线bc控制器定时发送心跳信号,当连续三个采样周期未采集到bc控制器发送的心跳信号,则判定本控制单元的mil-std-1553b总线链路故障,其发送的总线消息将不被置信,该故障状态可恢复;航天器控制单元a、b、c相互发送can心跳消息,当连续三个采样周期未采集到其中一个控制单元发送的can心跳消息,则判断该控制单元的can总线链路故障,其转发的can总线消息将不被置信,该故障状态可恢复;

s32:通过监控mil-std-1553b总线的工作状态和can总线的工作状态,航天器控制单元a、b、c分别判断接收到的总线消息是否有效。

s33:对接收到的mil-std-1553b总线消息和can总线上另两个控制单元转发的总线消息进行三取二表决输出。

较佳地,总线消息包括控制指令和时间指令两类,由于双总线的传输延迟,从接收到的第一条指令开始计时,延迟预设时间后统计接收的指令个数;

对于时间指令,接收的指令个数小于2条时,直接执行该条指令,反之按接收先后顺序的第2条指令执行;

对于控制指令,接收的指令个数大于等于2条时,按接收先后顺序的第2条指令执行;反之则必须结合步骤s31和s32取得的工作状态信息,判定接收到指令的该条链路传输正常,且未接收到指令的两条链路或单元均已监测到故障,执行该指令,否则放弃,以防止控制指令的漏发或误触发。

本发明方法通过采用mil-std-1553b和can两种成熟总线技术相结合,有效保证了总线消息的实时、高可靠传输。采用软件表决的三冗余方式有效解决硬件单点故障,与现有技术相比,其有益效果是:(一)采用mil-std-1553b和can两种成熟总线技术相结合的方法,有效保证了总线消息的实时、高可靠传输;(二)采用软件三冗余表决的方式有效解决硬件单点故障,提高系统可靠性和安全性;(三)在原有的成熟系统平台上增加适度冗余技术,兼顾可靠性和经济性,且该设计方法具有较好的通用性和可扩展性。

附图说明

以下将结合附图和实施例对本发明作进一步详细说明。

图1是本发明的航天器控制单元基于双总线的三机热备冗余拓扑关系图;

图2、3是本发明的航天器控制单元软件三取二处理流程图;

图4是本发明的航天器控制单元软件三取二控制时序图(以单元a为例)。

具体实施方式

本发明适用的航天器控制单元系统需要有下面几个条件:

1、总线通讯交互条件

由于本发明是基于双总线通讯的方式进行的,所以航天器控制单元必须有途径接收到总线上发送的总线消息,无论是直接从mil-std-1553b总线上接收对应bc控制器发送的总线消息,还是从其他控制单元通过can总线转发过来的的总线消息。而一般航天器控制单元根据其总体架构设计都可以从控制系统的mil-std-1553b总线或者内部can总线上接收到控制指令。

2、硬件冗余条件

航天器控制单元在原有的成熟系统平台上支持对心跳信号、can总线接入的扩展,同时通过对改进后的控制单元进行硬件冗余组合,即可实现三机热备冗余,软件三取二表决,消除了mil-std-1553b总线和控制单元对于整个控制系统的硬件单点失效风险。因此本发明提出的软件三冗余表决方案也适用于具有通讯接口扩充余量的高可靠性系统。

鉴于上述两个条件一般的航天器控制单元都容易满足,故本发明可以应用到大多数的航天器控制单元以进行冗余方式设计,解决硬件单点故障。

本实例采用mil-std-1553b和can两种总线,结合三机热备冗余以及软件三取二表决,有效保证了总线消息的实时、高可靠传输,防止丢指令或误触发,确保硬件单点故障时整个系统能继续正确有效的运行。其方法的具体步骤如下:

如图1所示,航天器控制单元a、b、c基于mil-std-1553b总线和can总线三机热备冗余拓扑关系图。

步骤s1:航天器控制单元a、b、c中的任一控制单元作为rt终端,接收mil-std-1553b总线的bc控制器发送的总线消息,对接收的总线消息校验数据有效后,通过can总线分别向另两个控制单元转发所述总线消息。

具体地,参考步骤s11~s13:

步骤s11:航天器控制单元a、b、c分别各自接收其对应的bc控制器发送的总线消息;

其中,航天器控制单元a、b、c分别以相同的rt地址接入三条物理上隔离的mil-std-1553b总线,bc控制器bc1\2\3在相同的时间基准范围内同步向航天器控制单元a、b、c发送总线消息。

步骤s12:采用crc校验判断所接收的来自mil-std-1553b总线的总线消息的有效性。

其中,航天器控制单元a、b、c软件在接收到总线消息后对其进行crc校验,如果校验结果正确表明接收消息有效,反之则将该消息舍弃,同时记录下有效消息接收的时标。

步骤s13:将校验后有效的总线消息通过can总线分别向另两个控制单元转发。

任一航天器控制单元接收到mil-std-1553b总线的有效总线消息后,均需将该总线消息通过can总线转发给另两个控制单元。

步骤s2:航天器控制单元a、b、c中的任一控制单元接收所述can总线上另两个控制单元所转发的总线消息,并校验指令数据的有效性。具体地,参考步骤s21~s22:

步骤s21:航天器控制单元a、b、c分别接收can总线上另两个控制单元转发的总线消息;

这里的步骤s21与步骤s13对应,任一航天器控制单元均可以通过can总线接收另两个控制单元转发的总线消息。

步骤s22:采用crc校验判断所接收的来自can总线上的总线消息的有效性。

这一步骤完成can总线接收到的总线消息的crc校验,报文格式见表1,校验未通过的总线消息将被舍弃,同时记录下接收到有效can总线消息的时标。

表1can总线交互帧报文

步骤s3:航天器控制单元a、b、c中的任一控制单元对接收到的mil-std-1553b的总线消息和can总线上接收到的另两个控制单元转发的总线消息,结合本控制单元所回采的心跳信号,进行三取二表决输出,以应对已知的一度、二度故障。具体地,参见步骤s31~步骤s33:

步骤s31:航天器控制单元a、b、c中的任一航天器控制单元通过回采各控制单元输出的心跳信号,判断各控制单元工作状态。

即对于mil-std-1553b总线,bc控制器会定时发送心跳信号,当连续三个采样周期未采集到bc控制器发送的心跳信号,则判定本控制单元的mil-std-1553b总线链路故障,其发送的总线消息将不被置信。该故障状态可恢复;

类似的,三个航天器控制单元相互发送can心跳消息,当连续三个采样周期未采集到某控制单元发送的can心跳消息,则可以判断该控制单元的can总线链路故障,其转发的can总线消息将不被置信。该故障状态可恢复;

步骤s32:通过监控mil-std-1553b总线工作状态和can总线工作状态,航天器控制单元a、b、c分别判断接收到的总线消息是否有效。

步骤s33:对接收到的mil-std-1553b总线消息和can总线上另两个控制单元转发的总线消息进行三取二表决输出。

上述的总线消息分为控制指令和时间指令两类,综合考虑实时性和可靠性要求,其三取二表决策略有较大差异。

考虑到双总线的传输延迟,从接收到的第一条指令开始计时,延迟一定的预设时间(如1ms)后统计接收的指令个数。

对于时间指令,接收的指令个数小于2条时,直接执行该条指令,反之按接收先后顺序的第2条指令执行;

对于控制指令,接收的指令个数大于等于2条时,按接收先后顺序的第2条指令执行;反之则必须结合步骤s31和s32取得的工作状态信息,判定接收到指令的该条链路传输正常,且未接收到指令的两条链路或单元均已监测到故障,执行该指令,否则放弃,以防止控制指令的漏发或误触发。

对本控制单元的can总线状态、本控制单元的mil-std-1553b总线状态、本控制单元接收到的mil-std-1553b消息和本控制单元接收到的另两个控制单元的can总线消息共计5个状态量的所有可能性(12个状态),航天器控制单元软件分别采取不同的处理方法来实现三取二表决输出总线消息(详见表2)。

表2总线消息故障模式列表

注:表中×为故障(未收到消息或消息错误、总线故障等),√为正常消息或总线正常。

注1:该状态下,mil-std-1553b总线正常,但未下发总线消息或rt未收到总线消息。

注2:该状态下,mil-std-1553b无总线心跳,bc端故障。

以某型号为例,该型号的单机cpu为tms320f2812,源程序代码使用c语言进行编写,通过采取冗余设计和设置补偿措施双管齐下的方法解决总线单点故障时单机无法正常工作的问题,提高总线消息传输的可靠性,防止丢指令或误触发,确保硬件单点故障时整个系统可以继续正确有效的运行,提高整个系统的可靠性和安全性。

本发明方法解决了航天器控制单元单点故障失效的难题,在原有的成熟系统平台上增加适度冗余技术,兼顾可靠性和经济性,提出了分步消除单点故障的补偿措施。即通过基于mil-std-1553b总线和can总线双总线拓扑架构,采用三机热备冗余,软件三取二表决等一系列可靠性措施解决航天器控制单元单点故障问题。

由上可知,采用本发明的方法对航天器控制单元控制进行可靠性再设计,以飞行任务保成功为首要原则,借助成熟的总线通讯技术,兼顾可靠性和经济性,具有较好的通用性和可扩展性。

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