一种基于逻辑帧交互的高可靠双余度动力控制器的制作方法

文档序号:12269903阅读:304来源:国知局
一种基于逻辑帧交互的高可靠双余度动力控制器的制作方法与工艺

本发明涉及一种基于逻辑帧交互的高可靠双余度动力控制器,属于航天器动力系统电气控制领域。



背景技术:

动力控制器作为航天器动力系统核心控制单元,主要功能是按照控制系统指令实现对发动机电气/液控制转换元件用的各类电磁阀及自锁阀的驱动控制,为航天器变轨、离轨、交会、在轨和再入姿态稳定提供俯仰、偏航和滚动控制力和控制力矩,是决定飞行任务成败的关键单机之一。

高可靠性要求决定了该类控制器内部必须采取冗余设计,目前导弹武器用于高可靠动力控制的综合控制器采用三模冗余技术,通过三取二表决机制输出控制脉冲,这种方法具有很高可靠性,但是为确保数据同步输出,需要设计复杂的同步器件和策略;其次,硬件表决器为单点设计,当硬件表决器发生故障时,控制器将无法正常运行;同时三模冗余系统采用三套同构的设备进行数据处理,控制器的重量、体积及功耗将大幅增加。

因此,面对航天器空间、重量及可靠性强约束条件,在现有的动力控制器设计方案中,单纯的采用三模冗余设计思路,不能实现有限硬件资源约束下的动力系统推力电磁阀、自锁阀的高可靠、强实时、轻质化控制。



技术实现要素:

本发明的技术解决问题是:针对航天器动力系统轻质化、高可靠及强实时设计约束,设计一种基于逻辑帧交互的高可靠双余度动力控制器,采用双指令与串并联驱动电路结构形式,结合电磁阀、自锁阀负载响应时间特性,设计了资源约束下的阀门分级控制策略,实现动力系统推力器的高可靠控制,有效满足系统重量、体积功耗及实时性约束。

本发明的技术解决方案是:一种基于逻辑帧交互的高可靠双余度动力控制器,该控制器包括为电源变换模块、权切换模块和驱动电路模块,其中,

电源变换模块,将外部输入的电源信号转换为二次电源,为权切换模块、CPU模块、驱动电路模块供电;

权切换模块,根据外部输入的遥控切权指令或者自主判别方式,确定CPU模块中双CPU的当班机或非当班机控制权,输出当班控制信号至CPU模块中的当班机和非当班机;

CPU模块,由双CPU组成,双CPU之间通过内总线交互,在当班控制信号的控制下,一个为当班机,另一个为非当班机;当班机与非当班机均接收外部输入的动力系统阀门控制指令,对于电磁阀阀门控制,当班机和非当班机收到最新的电磁阀阀门控制数据帧时,生成内部电磁阀阀门控制数据帧,通过内部总线发送至对方,当班机与非当班机根据先到的外部电磁阀阀门控制数据帧或者内部电磁阀阀门控制数据帧,输出电磁阀阀门控制指令至驱动电路模块;对于自锁阀阀门控制,由具有自锁阀控制权的当班机根据自锁阀阀门控制数据帧和自锁阀所控管路上的压力值,输出自锁阀阀门控制指令至驱动电路模块,之后,回读自锁阀驱动电路状态,发现异常时,通过内总线通知非当班机输出相应自锁阀阀门控制指令至驱动电路模块;

驱动电路模块,接收CPU模块发送的电磁阀控制信号指令和自锁阀控制信号指令,分别输出电磁阀控制脉冲信号和自锁阀控制脉冲信号给外部,实现对动力系统电磁阀及自锁阀的开关控制。

所述权切换模块采用自主判别方式确定切换双CPU控制权的具体方法为:检测外部输入的遥控准/禁自主指令和CPU模块工作状态信息,所述CPU模块工作状态信息包括当班机是否正常、非当班机自检是否正常、双机通讯是否正常,当遥控准/禁自主指令为准自主指令时,权切换模块检测到当班机发生故障且非当班机自检正常、双机通讯正常时,切换当班机和非当班机当班控制信号的状态,进而切换双CPU控制权。

所述当班机和非当班机周期性自检;并互相检测对方的“看门狗”信号,当班机还发送周期性的“心跳信号”至非当班机,非当班机实时检测当班机“看门狗”信号的状态和当班机发送周期性的脉冲信号,将检测结果和自检结果,组成CPU模块工作状态信息发送至权切换模块。

具有自锁阀控制权的当班机根据自锁阀阀门控制数据帧和动力系统反馈的自锁阀所控管路上的压力值,输出自锁阀阀门控制指令至驱动电路模块,具体实现为:

具有自锁阀控制权的当班机解析得到自锁阀控制数据帧之后,判断自锁阀控制类别为总线任务指令还是自主控制指令,如果是总线任务指令,则直接输出相应的自锁阀控制指令;如果是自主控制指令,则将外部输入的动力系统自锁阀所控管路上的压力值与控制阈值进行比较,如果压力值大于等于设定阈值,则输出自锁阀关闭指令,如果压力值小于设定阈值,则输出自锁阀打开指令。

所述当班机或者非当班机内总线通信和外部总线通信均采用中断的方式处理,外部输入的电磁阀阀门控制数据帧中包含逻辑帧计数,所述逻辑帧计数循环累加,当班机或者非当班机电磁阀阀门控制处理流程为:

(a)、判断电磁阀阀门控制数据帧是否来自外部总线中断,如果来自外部总线中断,则对电磁阀阀门控制数据帧进行数据校验,校验错误,则返回主循环;校验正确,则进入步骤(b);如果来自内部总线中断,则进入步骤(c);

(b)、进行逻辑帧计数判断,如果当前数据中的逻辑帧计数与内部存储区的帧计数相同,则认为该指令已经执行过,则退出中断处理;如果不同,则按照约定的协议组帧生成内部电磁阀阀门控制数据通过内部总线将其立即发送至对方,所述内部电磁阀阀门控制数据中包含收到的外部数据中的逻辑帧计数,同时,输出阀门控制指令至驱动电路模块,并采用收到的外部数据中的逻辑帧计数记录并更新当前存储区的帧计数,退出中断处理;

(c)、对指令进行数据校验,校验错误,退出中断处理,校验正确,则进入步骤(d);

(d)、进行逻辑帧计数判断,如果数据中的帧计数与存储区的帧计数相同,则认为该指令已经执行过,则返回主循环;如果不同,则输出阀门控制指令至驱动电路模块,并采用收到的内部数据中的逻辑帧计数记录并更新当前存储区的帧计数,退出中断。

所述阀门驱动电路功能模块包括N个结构完全相同的阀门驱动电路,分别用于控制N个电磁阀/自锁阀,通过不同的片选信号选通,N根据动力系统中的电磁阀/自锁阀个数确定,N为正整数,N≥1。

所述阀门驱动电路包括MOSFET开关电路、主驱动电路和备驱动电路,主驱动电路模块和备驱动电路完全相同,其中,

MOSFET开关电路,包括第一MOS管K11、第二MOS管K12、第三MOS管K13和第四MOS管K14串并联连接而成,K11与K12串联,K21与K22串联,两串联电路再并联连接输出至动力系统用于控制电磁阀/自锁阀;

主驱动电路和备驱动电路,分别接收当班机和非当班机输出的电磁阀/自锁阀控制指令,当班机和非当班机输出的电磁阀/自锁阀控制指令均包括第一控制指令和第二控制指令;当班机的第一控制指令经指令锁存、升压电路后输出,用于控制第一MOS管K11的开关,第二控制指令经逻辑取反后,再经指令锁存、升压电路输出,用于控制第二MOS管k12的开关;非当班机的第一控制指令经指令锁存、升压电路后输出,用于控制第三MOS管K21的开关,第二控制指令经逻辑取反后,再经指令锁存、升压电路输出,用于控制第三MOS管k22的开关。

所述当班机和非当班机内总线采用CPU的McBSP通信接口实现。

本发明与现有技术相比的优点在于:

1)、本发明采用McBSP实现单机内部总线通信,通过双机间逻辑帧指令实现发动机控制信息交互,解决了因外部指令不同步导致的阀门脉冲展宽问题,实现发动机阀门控制指令的准同步输出(误差在几十微秒);

2)、本发明采用逻辑相反的互锁指令与串并联设计的阀门驱动电路结构,可实现二度故障下阀门的有效开启与关闭,提高阀门控制可靠性;

3)、本发明设计了资源约束条件下的阀门分级控制策略,对于电磁阀采用双机交叉备份同时输出,可靠性高;对于自锁阀采用单机输出方式,实现了控制器硬件资源与实时性要求的平衡。

附图说明

图1为本发明基于逻辑帧交互的高可靠双余度动力控制器架构;

图2为本发明实施例扩展功能模块(阀门驱动电路)示意图;

图3为本发明实施例并行内总线接口示意图;

图4为本发明实施例电磁阀控制流程示意图;

图5为本发明实施例自锁阀控制流程示意图。

具体实施方式

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

对于航天器动力系统推力控制,可靠性、寿命、重量、功耗、体积、寿命等直接决定了控制器应采用何种架构形式,在实际应用中,采用何种冗余架构是一个综合了寿命、重量、功耗、实时性等不同因素的一个相互平衡的结果。比如:对于可靠性、安全性、实时性要求高的应用场合,一般采用三机表决架构;对于寿命、功耗约束严苛的应用场合,一般采用双机冷备架构;对于对寿命、功耗有一定约束,同时还需具备实时性要求的应用场合,可采用双机热备架构。

针对航天器重量、功耗及实时性约束强等应用背景,本发明设计了一种基于逻辑帧交互的动力控制器双机热备冗余架构。如图1所示,基于逻辑帧交互的高可靠双余度动力控制器包括电源变换模块、权切换模块、CPU模块及驱动电路模块四部分。以下对各部分进行详细介绍。

(一)电源变换模块

电源变换模块,由电源保护、浪涌抑制电路、电源滤波器、DC/DC模块和低压差稳压器构成,主要功能是对外系统输入的28V电进行电压转换处理,转换为动力控制器工作所需的二次电源,为权切换模块、CPU模块、驱动电路模块供电。

(二)权切换模块

权切换模块,主要用于实现对动力控制器双机组冗余切换控制,根据外部输入的遥控切权指令或者自主判别方式,确定CPU模块中双CPU的当班机或非当班机控制权,输出当班控制信号至当班机和非当班机。系统默认为自主判别方式,但遥控切权指令优先级高,一旦收到外部输入的遥控切权指令,按照切权指令切换双CPU的当班机或非当班机控制权。所述自主判别控制权的切换主要根据CPU模块输出的双机工作状态信息进行综合判定的。具体方法为:权切换模块检测外部输入的遥控准/禁自主指令和CPU模块工作状态信息,所述CPU模块工作状态信息来自非当班机,当班机和非当班机周期性自检,并互相检测对方的“看门狗”信号,当班机向非当班机发送周期“心跳信号”和自检结果,非当班机实时检测当班机“看门狗”信号的状态和当班机发送周期性的脉冲信号,判断当班机是否正常、非当班机自检是否正常、双机通讯是否正常,将检测结果和自检结果,组成CPU模块工作状态信息发送至权切换模块。当遥控准/禁自主指令为准自主指令时,权切换模块检测到当班机发生故障且非当班机自检正常、双机通讯正常时,切换当班机和非当班机当班控制信号的状态,进而切换双CPU控制权。以A机为例,当A机出现故障时,可由遥控指令或者自主判别切换,将控制权由A机转移到B机控制,动力控制器双机热冗余自主切换工作模式为:B机通过双机通讯口,可以得到A机的自检结果,从而获知A机是否发生故障,同时B机接收A机发送的A机心跳信号,若发现A机发生故障后,且B机自检正常,切换B机为当班机,A机为非当班机,进行系统结构重组。

(三)CPU模块

CPU模块是高可靠双余度动力控制器的核心部分,主要完成与外系统通信、总线控制、指令解析、指令输出、状态采集、参数计算功能和数据存储等功能。

CPU模块,由双CPU组成,双CPU之间通过内总线交互,在当班控制信号的控制下,一个为当班机,另一个为非当班机;当班机与非当班机均接收外部输入的动力系统阀门控制指令,对于电磁阀阀门控制,当班机和非当班机收到最新的电磁阀阀门控制数据帧时,生成内部电磁阀阀门控制数据帧,通过内部总线发送至对方,当班机与非当班机根据先到的外部电磁阀阀门控制数据帧或者内部电磁阀阀门控制数据帧,输出电磁阀阀门控制指令至驱动电路模块;对于自锁阀阀门控制,由具有自锁阀控制权的当班机根据自锁阀阀门控制数据帧和自锁阀所控管路上的压力值,输出自锁阀阀门控制指令至驱动电路模块,之后,回读自锁阀驱动电路状态,发现异常时,通过内总线通知非当班机输出相应自锁阀阀门控制指令至驱动电路模块。

(四)驱动电路模块

驱动电路模块,接收CPU模块发送的电磁阀控制指令和自锁阀控制信号指令,分别输出电磁阀控制脉冲信号和自锁阀控制脉冲信号,实现对动力系统电磁阀及自锁阀的开关控制。

阀门驱动电路功能模块包括N个结构完全相同的阀门驱动电路,分别用于控制N个电磁阀/自锁阀,通过不同的片选信号选通。N根据动力系统中的电磁阀/自锁阀个数确定。一个阀门驱动电路功能模块对应一个电磁阀/自锁阀。

动力系统电磁阀功能直接影响发动机的工作状态,当发动机在短脉冲工作模式下,电磁阀保持开启和关闭的时间特别短,为保证A、B机电路的切换不会影响发动机的工作状态,需采用主备机同时控制的方式实现对电磁阀的控制。为了保证驱动开关电路的可靠性,阀门驱动电路功能模块采用逻辑相反的互锁指令与MOSFET串并联驱动结构设计方式。

如附图2所示,所述阀门驱动电路包括MOSFET开关电路、主驱动电路和备驱动电路,主驱动电路和备驱动电路完全相同,其中,

MOSFET开关电路,包括第一MOS管K11、第二MOS管K12、第三MOS管K13和第四MOS管K14串并联连接而成,K11与K12串联,K21与K22 串联,两串联电路再并联连接输出至动力系统用于控制电磁阀/自锁阀。

主驱动电路和备驱动电路,分别接收当班机和非当班机输出的电磁阀/自锁阀控制指令,当班机和非当班机输出的电磁阀/自锁阀控制指令均包括第一控制指令和第二控制指令;当班机的第一控制指令经指令锁存、升压电路后输出,用于控制第一MOS管K11的开关,第二控制指令经逻辑取反后,再经指令锁存、升压电路输出,用于控制第二MOS管k12的开关;非当班机的第一控制指令经指令锁存、升压电路后输出,用于控制第三MOS管K21的开关,第二控制指令经逻辑取反后,再经指令锁存、升压电路输出,用于控制第三MOS管k22的开关。电磁阀和自锁阀采用负控设计,为保证控制可靠性,对输入驱动MOSFET开关电路的指令进行了冗余设计,以A机为当班机为例,A机CPU输出的控制指令1经指令锁存、升压电路后输出至MOSFET(k11),控制指令2经逻辑取反后,再经指令锁存、升压电路输出至MOSFET(k12),B机设计同理,然后A机、B机同时输出指令并联控制电磁阀。MOS管冗余控制有效指令为第一控制指令为“1”电平和第二控制指令为“0”电平有效,其中“0”电平经逻辑取反电路处理后输出至指令锁存电路。

采用MOS管并联的方式,防止了MOS管断路失效,可以有效解决阀门无法开启的问题;对单份驱动电路采用两个MOS管串联的方式,防止了MOS管短路失效;采用逻辑相反的互锁指令控制方式,避免了自CPU数据I/O引脚输出,到驱动电路k11、k12、k21、k12链路过程中出现常高电平导致双MOS管导通,从而影响阀门不能正常关闭的问题。

如图3所示,动力控制器采用“系统控制模块+扩展功能模块”的二级分布式架构,其中系统控制模块即为图1中CPU模块,扩展功能模块即为图1中驱动电路模块。通过内总线信号驱动电路、地址译码电路、读写控制信号、复位信号和必要的供电信号组成简单、灵活的内总线接口,扩展功能模块依据通用数据总线信号实现与系统控制模块完整的数据访问交互。其优点在于:1)可靠性高,可完全按照常规计算机直接控制和访问外部功能模块的方式工作;2) 可重用率强,地址空间的分配直接针对扩展功能模块,对于每个扩展功能模块设计固定的访问地址,不会随着功能模块的不同而导致访问方式的变化;3)可扩展性强,系统控制模块通过控制内总线可以实现多个功能模块的控制访问;4)节约空间,内总线设计的总线信号数量少,降低内部电连接器排点的复杂度,便于内引电连接器的选型。

一般来说,动力系统电磁阀控制实时性要求较高,控制时延一般要求控制在毫秒量级,而自锁阀实时性要求不高,因此针对这两种不同的控制负载特性,本发明设计了一种资源约束下的阀门分级控制策略。

对于电磁阀采用交叉备份的方式控制,即当班机A、非当班机B机同时对控制指令进行解析,并分别发送控制指令,为了保证控制指令发出的可靠性和精确性,对电磁阀控制指令执行策略进行了如下设计:

(1)、A机和B机的指令驱动电路并联,如附图2所示,A机和B机同时输出控制指令,确保在A机或B机发生故障时,控制电磁阀开启的指令都能有效输出;

(2)、A机和B机分别通过1553B外总线接口接收外部输入的电磁阀阀门控制数据帧,为了避免因控制系统输入的两路控制数据帧不同步问题所导致的阀门控制脉冲展宽,控制器中利用CPU的McBSP总线在A机和B机之间设计了通信内总线,在每一个通信周期内,先收到外部控制数据帧的一机通过内总线将相关控制指令数据通过内总线传递给另一机,通过内总线接收到数据的单机不再执行该周期内的外部总线指令;内总线发送的指令内容与外总线一致,包括发动机电磁阀的代号及工作时间,通信帧格式包括两个字节帧头、一字节帧计数、一个字节电磁阀代号以及一个字节电磁阀工作时间;

(3)内总线通信和外部总线通信采用中断的方式接收,在软件中设定使用先到中断中的指令数据,对于后到中断,如果指令数据中包含的帧计数与软件记录的帧计数相同则不予执行;

(4)软件对指令数据中的帧计数进行记录和判断,在每一个控制周期内,指令执行前都比对指令数据内帧计数和软件记录帧计数,指令执行完成后都对指令帧计数进行更新,防止漏指令的情况;

电磁阀控制流程如附图4所示,A机、B机软件控制流程完全一致,以A机为例,正常情况下软件程序工作在主循环中,A机、B机初始设定1553B外总线中断优先级大于内总线中断,因此当1553B外总线中断与内总线中断同时到达时,优先执行1553B外总线中断。外部输入的电磁阀阀门控制数据帧中包含逻辑帧计数,所述逻辑帧计数循环累加,电磁阀阀门控制处理流程为:

(a)、判断电磁阀阀门控制数据帧是否来自1553B外部总线中断,如果来自1553B外部总线中断,则对电磁阀阀门控制数据帧进行数据校验,校验错误,则返回主循环;校验正确,则进入步骤(b);如果来自内部总线中断,则进入步骤(c);

(b)、进行逻辑帧计数判断,如果数据中的逻辑帧计数与内部存储区的帧计数相同,则认为该指令已经执行过,则返回主循环;如果不同,则按照约定的协议组帧生成内部电磁阀阀门控制数据通过内部总线将其立即发送至对方,所述内部电磁阀阀门控制数据中包含收到的外部数据中的逻辑帧计数,同时,输出阀门控制指令至驱动电路模块,并采用收到的外部数据中的逻辑帧计数记录并更新当前存储区的帧计数,退出中断;

(c)、对指令进行数据校验,校验错误,返回主循环,校验正确,则进入步骤(d);

(d)、进行逻辑帧计数判断,如果数据中的帧计数与存储区的帧计数相同,则认为该指令已经执行过,则返回主循环;如果不同,则输出阀门控制指令至驱动电路模块,并采用收到的内部数据中的逻辑帧计数记录并更新当前存储区的帧计数,返回主循环。

在不增加单机硬件资源的前提下,利用CPU自身的McBSP资源构建双机通信内总线,通过双机间逻辑帧指令实现发动机控制信息交互,解决了因外部指令不同步导致的阀门脉冲展宽问题,实现发动机阀门控制指令的准同步输出。对于电磁阀控制,外部控制系统输入指令1或者外部控制系统输入指令2(指令相同但可能不同步),A/B机独立接收外部输入指令后,通过内总线实现指令信息的交互,并独立输出控制电磁阀。由于内总线传输数据少、传输速率高,因此内总线传输耗时仅在几十微秒。即使外部控制系统指令输入1、2不同步,通过该架构能实现电磁阀的可靠准同步输出。

为了实现电磁阀控制故障时的可靠实时切换,动力控制器设计了硬件“看门狗”监测电路,当CPU处于“跑死”或“跑飞”的情况无法正常控制电磁阀时,可由“看门狗”输出的复位信号将CPU以及所有电磁阀关闭;

进一步地,为了增加数据传输的可靠性,确保电磁阀控制指令能够正确执行,将外系统通过1553B总线输入的动力系统阀门控制指令中的电磁阀控制数据,以及解析后通过内总线发送的内总线电磁阀控制数据均按照三模冗余设计,程序取数时进行数据比对,选用至少两份相同的数据。

对于实时性要求不高的自锁阀,为减轻软件设计负担,采用单机控制模式,但硬件驱动电路上采用主备交叉备份的方式。正常工作时,默认A机发送自锁阀开启或关闭的控制指令,但A机和B机同时对驱动电路的开关状态进行监测,通过对MOS管控制指令进行电阻分压采集实现,理论上正常值为4V,异常值为0V,一旦当发现开关状态异常时,A机通过内总线通知B机,启动备份驱动电路,自锁阀控制指令执行策略进行了如下设计:

采用单机控制模式,默认当班机具有自锁阀控制权。假如A机为当班机,B机为非当班机,则A机为有权机,B机为无权机,可以通过外部遥控切机指令进行当班机切换。

A机和B机同时进行指令解析和执行控制策略,但最终控制指令仅由A机单独发出;

A机输出控制指令后对自锁阀驱动电路状态进行监测,当发现驱动电路出现异常时,通过A机和B机之间的内总线通知B机需要控制的自锁阀地址以及需要完成的动作(开指令或关指令),由B机接手进行控制;

B机对A机的运行状态进行监测,当A机发生复位时,B机自主夺权,立即接手自锁阀控制权。

自锁阀控制流程如附图5所示,默认当班机进行自锁阀控制,以当班机为A机为例,正常情况下软件程序工作在主循环中。当1553B外总线中断到来时,首先进行数据校验,数据正确后进行指令解析,然后进行权限判定,如果本机为当班机,具有自锁阀控制权的当班机解析得到自锁阀控制数据帧之后,判断自锁阀控制类别为总线任务指令还是自主控制指令,如果是总线任务指令,则直接输出相应的自锁阀控制指令;如果是自主控制指令,则将外部输入的动力系统自锁阀所控管路上的压力值与阈值进行比较,如果压力值大于等于阈值,则输出自锁阀关闭指令,如果压力值小于阈值,则输出自锁阀打开指令,之后,监测指令执行状态,若异常则将执行的控制指令组帧生成内总线自锁阀控制指令,发送至非当班机;如果本机为非当班机,则等待内总线中断,从收到的数据中获取内总线自锁阀控制指令,并进行内总线自锁阀控制指令正确性校验,正确后完成指令解析控制自锁阀,并对指令执行情况进行检测。

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