一种基于有限状态机的卫星分包遥控接收控制方法与流程

文档序号:19737284发布日期:2020-01-18 04:40阅读:280来源:国知局
一种基于有限状态机的卫星分包遥控接收控制方法与流程

本发明涉及一种基于有限状态机的卫星分包遥控接收控制方法,属于航天器上的遥控接收处理技术领域。



背景技术:

为了保证航天器安全,空间站gnc分系统应用软件对接收到的遥控注入都进行基本格式的有效性验证,并对每条指令进行内容的有效性验证。航天器注入指令总共有两大类:常规指令和不定长指令。其中,不定长指令长度不固定,长度超出一个遥控帧的数据范围时,地面需要对不定长指令进行分包,采用多包序列遥控帧进行注入,航天器收全指令的所有数据后才执行指令。正常状态下,多包序列遥控帧按顺序注入;异常状态下,各分包的注入顺序混乱,甚至存在多包、丢包的情况。



技术实现要素:

本发明要解决的技术问题为:克服现有技术的不足,提供一种基于有限状态机的卫星分包遥控接收控制方法,通过有限状态机来维护多包序列遥控帧的所有接收状态以及所有输入激励,保证各种工况设计全覆盖,规避逻辑遗漏设计所带来的软件风险,从而提高软件运行的可靠性和安全性。

本发明的技术解决方案为:

一种基于有限状态机的卫星分包遥控接收控制方法,该方法针对的遥控帧格式如表1所示;

遥控帧格式由三部分组成:主导头、源数据以及校验和。遥控帧格式总共最长512字节。遥控数据按照遥控帧格式编排,版本号定义、类型、副导头标志为航天器标识信息;应用过程标识及分类标识共同表示注入指令分类;包序列标识及源包序列计数共同指示分包情况;包长指示源数据长度;校验和作为整个遥控帧格式的校验。

表1遥控帧格式

不定长指令长度不固定,长度超出一个遥控帧的数据范围时,地面需要对不定长指令进行分包,采用多包序列遥控帧进行注入,航天器收全指令的所有数据后才执行指令。多包序列的控制由主导头中的包顺序控制域决定,其中,包序列标识与源包序列计数的使用情况如下。

(1)包序列标识

对于需要多包传输的指令,包序列标识用以标识每个遥控包在包序列中的位置,只对于不定长指令才可以分为多包进行传输,而对于其它的指令只能以独立包的形式传输。具体意义如下:00b表示包序列中的中间包;01b表示包序列中的第1包;10b表示包序列中的最后一包;11b表示独立包。

(2)源包序列计数

若包序列标识为00b或者10b时,则源包序列计数的内容为从1开始计数的当前包的序号;若包序列标识为01b时,则源包序列计数为包的总数;若包序列标识为11b,则源包序列计数为源数据中指令单元的个数。

由于在多包序列遥控帧注入时,各分包的注入时机、分包间的注入间隔以及各分包的注入顺序都不确定,使得多包序列遥控帧接收状态具有多样性,通过有限状态机来维护多包序列遥控帧的所有接收状态以及所有输入激励。

多包序列遥控接收控制有限状态机共包括6个状态、11个激励条件,每一次遥控帧注入之后,进入到有效状态机中,根据航天器当前遥控状态以及遥控帧包头状态共同决定航天器最新遥控状态。基于有限状态机来进行多包序列遥控帧接收控制,控制逻辑严谨,状态转换清晰,既能保证正常流程时注入遥控帧的正确接收,也能够保证异常流程时非期望激励下接收状态具有安全、可靠的迁移动作。

该方法的步骤包括:

(1)判断有限状态机所处的状态,有限状态机所处的状态包括六种状态,分别为:无任何缓存包状态、首包状态、中间包状态、尾包状态、无效包状态和独立包状态;

无任何缓存包状态:此为初始化状态,未接收到多包序列中的任意包;

首包状态:遥控帧为多包序列中的首包;

中间包状态:遥控帧为多包序列中的中间包;

尾包状态:遥控帧为多包序列中的尾包;

无效包状态:遥控帧为无效包;

独立包状态:遥控帧为独立包;

(2)当有限状态机所处的状态为无任何缓存包状态时,且接收到t0激励条件时,则有限状态机所处的状态更新为独立包状态;

当有限状态机所处的状态为无任何缓存包状态时,且接收到t1激励条件时,则有限状态机所处的状态更新为首包状态;

当有限状态机所处的状态为无任何缓存包状态时,且接收到t9激励条件时,则有限状态机所处的状态更新为无效包状态;

(3)当有限状态机所处的状态为首包状态时,且接收到t2激励条件时,则有限状态机所处的状态更新为中间包状态;

当有限状态机所处的状态为首包状态时,且接收到t7激励条件时,则有限状态机所处的状态更新为无效包状态;

(4)当有限状态机所处的状态为中间包状态时,且接收到t3激励条件时,则有限状态机所处的状态更新为中间包状态;

当有限状态机所处的状态为中间包状态时,且接收到t4激励条件时,则有限状态机所处的状态更新为尾包状态;

当有限状态机所处的状态为中间包状态时,且接收到t8激励条件时,则有限状态机所处的状态更新为无效包状态;

(5)当有限状态机所处的状态为尾包状态时,且接收到t5激励条件时,则有限状态机所处的状态更新为无任何缓存包状态;

当有限状态机所处的状态为尾包状态时,且接收到除t5之外的其他激励条件时,则有限状态机所处的状态不进行响应,即有限状态机所处的状态不进行更新;

(6)当有限状态机所处的状态为无效包状态时,且接收到t6激励条件时,则有限状态机所处的状态更新为无任何缓存包状态;

当有限状态机所处的状态为无效包状态时,且接收到除t6之外的其他激励条件时,则有限状态机所处的状态不进行响应,即有限状态机所处的状态不进行更新;

(7)当有限状态机所处的状态为独立包状态时,且接收到t10激励条件时,则有限状态机所处的状态更新为无任何缓存包状态;当有限状态机所处的状态为独立包状态时,且接收到除t10之外的其他激励条件时,则有限状态机所处的状态不进行响应,即有限状态机所处的状态不进行更新;

11个激励条件,分别是:

t0:一次注入遥控接收完成,且包序列标识==11b;

t1:一次注入遥控接收完成,且包序列标识==01b,源包序列计数>1;

t2:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==2;

t3:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==上一次缓存源包序列计数+1;

t4:一次注入遥控接收完成,且包序列标识==10b,源包序列计数==总包数;

t5:执行完多包序列遥控帧,包序列标识清零,源包序列计数清零,总包数清零;

t6:包序列标识清零,源包序列计数清零,总包数清零;

t7:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t2条件之外的其他所有情况;

t8:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t3及t4条件之外的其他所有情况;

t9:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t0及t1条件之外的其他所有情况;

t10:执行完独立包遥控帧,包序列标识清零,源包序列计数清零,总包数清零。

本发明与现有技术相比的优点在于:基于有限状态机,提出一种多包序列遥控接收控制方法,将多包序列遥控接收控制所具有的6个状态及11个激励条件进行条目化,辅助软件完成所有工况的考虑及设计,避免状态遗漏,同时,为遥控功能的测试全面性提供有力支持。

为了保证航天器在正常状态下完整接收指令数据,在异常状态下不影响遥控正常功能,在进行gnc分系统应用软件遥控功能设计时,提出一种基于有限状态机的多包序列遥控接收控制方法,通过有限状态机来维护多包序列遥控的所有接收状态以及所有输入激励,保证各种工况设计全覆盖,规避逻辑遗漏设计所带来的软件风险。本方法,一方面确保正常注入流程下航天器完整接收指令数据,另一方面提供异常注入流程的可靠性保护措施,不导致软件故障,并及时恢复正常遥控。

附图说明

图1示出了本发明的一种基于有限状态机的多包序列遥控接收控制方法的状态迁移图。

具体实施方式

一种基于有限状态机的多包序列遥控接收控制方法,步骤如下:

s1、查询是否有遥控注入,若有注入则接收注入的遥控;

s2、确定包序列标识

对于需要多包传输的指令,包序列标识用以标识每个遥控包在包序列中的位置,只对于不定长指令才可以分为多包进行传输,而对于其它的指令只能以独立包的形式传输。具体意义如下:00b表示包序列中的中间包;01b表示包序列中的第1包;10b表示包序列中的最后一包;11b表示独立包。

s3、确定源包序列计数

若包序列标识为00b或者10b时,则源包序列计数的内容为从1开始计数的当前包的序号;若包序列标识为01b时,则源包序列计数为包的总数;若包序列标识为11b,则源包序列计数为源数据中指令单元的个数。

s4、完成上述操作后,获取了多包序列遥控接收控制有限状态机的激励条件,一共11种情况:

t0:一次注入遥控接收完成,且包序列标识==11b;

t1:一次注入遥控接收完成,且包序列标识==01b,源包序列计数>1;

t2:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==2;

t3:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==上一次缓存源包序列计数+1;

t4:一次注入遥控接收完成,且包序列标识==10b,源包序列计数==总包数;

t5:执行完多包序列遥控,包序列标识清零,源包序列计数清零,总包数清零;

t6:包序列标识清零,源包序列计数清零,总包数清零;

t7:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t2条件之外的其他所有情况;

t8:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t3及t4条件之外的其他所有情况;

t9:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t0及t1条件之外的其他所有情况;

t10:执行完独立包遥控帧,包序列标识清零,源包序列计数清零,总包数清零;

s5、确定有效状态机的当前状态

多包序列遥控接收控制有限状态机共包括6个状态:

无任何缓存包:此为初始化状态,未接收到多包序列中的任意包;

首包:遥控帧为多包序列中的首包;

中间包:遥控帧为多包序列中的中间包;

尾包:遥控帧为多包序列中的尾包;

无效包:遥控帧为无效包;

独立包:遥控帧为独立包;

s6、根据激励条件和当前状态,按照图1的状态迁移图进行状态迁移。

本发明提供一种基于有限状态机的多包序列遥控接收控制方法,通过有限状态机来维护多包序列遥控帧的所有接收状态以及所有输入激励,保证各种工况设计全覆盖,规避逻辑遗漏设计所带来的软件风险。多包序列遥控接收控制有限状态机共包括6个状态(无任何缓存包、首包、中间包、尾包、无效包、独立包)和11个激励条件(t0~t10)。每一次遥控注入之后,进入到有效状态机中,根据航天器当前遥控状态以及遥控帧包头状态共同决定航天器最新遥控状态。

本发明一方面确保正常注入流程下航天器完整接收指令数据,另一方面提供异常注入流程的可靠性保护措施,不导致软件故障,并及时恢复正常遥控。

本发明提供一种基于有限状态机的多包序列遥控接收控制方法,将有限状态机的概念引入到航天器遥控功能设计中,使得遥控功能这一安全关键点的设计更加严谨,确保了遥控软件设计逻辑的正确性、完整性,提高了航天器系统的可靠性、安全性。本方法已经应用于在轨航天器中,取得了良好的效果。本方法适用于所有航天器系统多包序列遥控接收控制功能。

参见图1所示,本发明的多包序列遥控接收控制有限状态机共包括6个状态、11个激励条件,其中,虚框椭圆内四个状态为多包序列接收控制主逻辑;实线箭头为正常期望激励,虚线箭头为异常工况激励。每一次遥控注入之后,进入到有效状态机中,根据航天器当前遥控状态以及遥控帧包头状态共同决定航天器最新遥控状态。

(1)6个状态分别是:

无任何缓存包:此为初始化状态,未接收到多包序列中的任意包;

首包:遥控帧为多包序列中的首包;

中间包:遥控帧为多包序列中的中间包;

尾包:遥控帧为多包序列中的尾包;

无效包:遥控帧为无效包;

独立包:遥控帧为独立包;

(2)11个激励条件,分别是:

t0:一次注入遥控接收完成,且包序列标识==11b;

t1:一次注入遥控接收完成,且包序列标识==01b,源包序列计数>1;

t2:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==2;

t3:一次注入遥控接收完成,且包序列标识==00b,源包序列计数==上一次缓存源包序列计数+1;

t4:一次注入遥控接收完成,且包序列标识==10b,源包序列计数==总包数;

t5:执行完多包序列遥控帧,包序列标识清零,源包序列计数清零,总包数清零;

t6:包序列标识清零,源包序列计数清零,总包数清零;

t7:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t2条件之外的其他所有情况;

t8:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t3及t4条件之外的其他所有情况;

t9:异常工况,一次注入遥控接收完成,遥控帧中包顺序控制域为除t0及t1条件之外的其他所有情况;

t10:执行完独立包遥控帧,包序列标识清零,源包序列计数清零,总包数清零;

基于有限状态机来进行多包序列遥控接收控制,控制逻辑严谨,状态转换清晰,既能保证正常流程时注入遥控帧的正确接收,也能够保证异常流程时非期望激励下接收状态具有安全、可靠的迁移动作。

经过测试表明,应用了本发明算法后,确保了遥控软件设计逻辑的正确性、完整性,提高了航天器系统的可靠性、安全性。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

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