一种姿态轨道控制软件在轨编程方法与流程

pingsheng
pingsheng 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 35 浏览

本发明涉及卫星控制技术领域,尤其涉及一种卫星星上姿态轨道控制软件在轨编程方法。

背景技术:

卫星控制系统作为整个卫星中负责控制的分系统,是卫星在太空中运行的神经中枢。卫星控制系统负责卫星的姿态控制和轨道控制,决定着卫星是否可以在太空中正常运行。

由于卫星控制系统的重要性,在对卫星控制系统中的姿态轨道控制软件进行修复和功能扩展时,通常采用在轨编程的方式实现。现有的在轨编程方法一般在姿态轨道控制软件的运行区域(sram存储器)对其进行修改,并利用复杂的地址函数映射表进行修改。但姿态轨道控制软件一般存储在prom存储器或flash存储器中,这就导致通过现有的在轨编程方法对姿态轨道控制软件所进行的修改无法保存,当姿态轨道控制软件复位或者重启后,需要再次上注在轨编程的数据。另外由于地址函数映射表的有限性,只能将部分重要的函数预留在轨编程接口,导致无法对姿态轨道控制软件的所有功能进行在轨编程,而地址函数映射表在经过多次操作后,对其维护也变得非常困难。因此在对姿态轨道控制软件的功能进行修改时,现有的在轨编程方法较为复杂,可靠性较低。

技术实现要素:

本发明的目的在于提供一种姿态轨道控制软件在轨编程方法,克服现有在轨编程方法的缺陷,实现对姿态轨道控制软件所有功能的在轨编程。

为了达到上述目的,本发明通过以下技术方案实现:

一种姿态轨道控制软件在轨编程方法,包括:

将姿态轨道控制软件的运行文件划分为若干个结构库文件。

将每一所述结构库文件划分为若干个功能库文件。

替换所述功能库文件,以对所述姿态轨道控制软件进行在轨编程。

优选地,所述将姿态轨道控制软件的运行文件划分为若干个结构库文件的步骤包括:根据结构特征将所述姿态轨道控制软件的运行文件划分为最高层结构库文件、高层结构库文件、中层结构库文件和底层结构库文件。

优选地,所述将每一所述结构库文件划分为若干个功能库文件的步骤包括:根据功能特征将每一所述结构库文件划分为若干个功能库文件。

优选地,所述替换所述功能库文件,以对所述姿态轨道控制软件进行在轨编程的步骤包括:

启动在轨编程操作,对在轨编程线程进行初始化;

上传新的所述功能库文件替换原有的所述功能库文件,并生成在轨编程信号;

所述在轨编程线程接收所述在轨编程信号,并设置在轨编程标志;

主线程根据预设控制周期对所述在轨编程标志进行查询;若查询到所述在轨编程标志,对所述姿态轨道控制软件进行在轨编程,即所述姿态轨道控制软件复位并以新的所述功能库文件运行所述姿态轨道控制软件。

优选地,新的所述功能库文件以注数包形式上传;所述注数包包含包头、包类型、总包数、包序号、数据内容和校验位。

优选地,所述新的所述功能库文件以注数包形式上传的步骤包括:

所述姿态轨道控制软件接收所述注数包的若干个分包至缓存区;

根据所述校验位判断所述分包是否正常,若正常则设置所述分包状态正常;

对于状态正常的所述分包,根据所述总包数确定所有所述分包是否都上传完成,若所有所述分包数达到所述总包数表示所有所述分包都成功上传;

所有所述分包上传完成后,新的所述功能库文件替换原有的所述功能库文件,并生成所述在轨编程信号。

优选地,所述预设控制周期为0.5s~1.5s。

优选地,新的所述功能库文件存入用于存储所述姿态轨道控制软件的存储器中。

优选地,对原有的所述功能库文件进行保留,以使所述姿态轨道控制软件回退至以原有的所述功能库文件运行。

优选地,将新的所述功能库文件定义为当前版本,原有的所述功能库文件定义为原有版本;

设置判别标志,若使用所述原有版本,则以所述原有版本对应的所述功能库文件启动并运行所述姿态轨道控制软件;若使用所述当前版本,则以所述当前版本对应的所述功能库文件启动并运行所述姿态轨道控制软件。

本发明与现有技术相比至少具有以下优点之一:

本发明提供的一种姿态轨道控制软件在轨编程方法,通过对功能库文件的替换,可以实现对姿态轨道控制软件所有功能的在轨编程。

本发明通过替换功能库文件还可以实现在轨编程数据的在轨固化,当姿态轨道控制软件复位或者重启后不需要再次上传在轨编程数据。

本发明使姿态轨道控制软件具有回退功能,即能够以未在轨编程前的版本运行。

本发明通过替换功能库文件实现在轨编程,不再需要维护复杂的地址函数映射表,降低了姿态轨道控制软件的在轨编程复杂度,提高其可靠性。

附图说明

图1是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的流程图;

图2是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的结构库文件划分图;

图3是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的敏感器功能库文件划分图;

图4是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的在轨编程流程图;

图5是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的注数包上传流程图;

图6是本发明一实施例提供的一种姿态轨道控制软件在轨编程方法的版本选择流程图。

具体实施方式

以下结合附图和具体实施方式对本发明提出的一种姿态轨道控制软件在轨编程方法作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合附图1~6所示,本实施例提供一种姿态轨道控制软件在轨编程方法,包括:步骤s110、将姿态轨道控制软件的运行文件划分为若干个结构库文件;步骤s120、将每一所述结构库文件划分为若干个功能库文件;步骤s130、替换所述功能库文件,以对所述姿态轨道控制软件进行在轨编程。

请继续参考图2,所述步骤s110包括:根据结构特征将所述姿态轨道控制软件的运行文件划分为最高层结构库文件、高层结构库文件、中层结构库文件和底层结构库文件。

请同时参考图2和图3,所述步骤s120包括:根据功能特征将每一所述结构库文件划分为若干个功能库文件。

具体的,对所述姿态轨道控制软件进行在轨编程主要在于对所述功能库文件进行替换,因此各所述功能库文件需要具有大小均匀、层次合理和结构清晰的特征,以便于替换所述功能库文件,并使所述姿态轨道控制软件在轨编程方法更加合理可行;而所述功能库文件的层次合理和结构清晰,则要求所述结构库文件同样具有层次合理和结构清晰的特征,但本发明不以此为限。

更具体的,可以将所述姿态轨道控制软件的运行文件划分为四个所述结构库文件;其中所述最高层结构库文件主要负责对所述姿态轨道控制软件进行初始化、进程管理以及主流程控制;根据其功能可以将所述最高层结构库文件划分为主程序功能库文件,用于生成实时操作系统下所述姿态轨道控制软件的主流程进程,设置预设控制周期、执行初始化动作以及在轨编程操作等,但本发明不以此为限。

所述高层结构库文件主要负责对所述姿态轨道控制软件的模式控制和交互处理,并且是所述姿态轨道控制软件的主体控制部分;根据其功能可以将所述高层结构库文件划分为模式控制功能库文件和交互处理功能库文件,用于实现对所述姿态轨道控制软件的模式控制以及所述姿态轨道控制软件与卫星星上其他软件之间的信息交互。

所述中层结构库文件主要负责对所述姿态轨道控制软件中数据的处理,是所述姿态轨道控制软件的具体算法实现部分;根据其功能可以将所述中层结构库文件划分为轨道计算功能库文件、任务基准计算功能库文件、控制算法处理功能库文件、敏感器处理功能库文件、通用计算功能库文件和执行机构处理功能库文件;所述功能库文件作为所述姿态轨道控制软件中各种算法的承载,可以控制所需要的各种运算和算法,并为所述最高层结构库文件和所述高层结构库文件服务。

所述底层结构库文件主要负责对卫星星上计算机硬件的处理,为所述姿态轨道控制软件提供运行条件;根据其功能可以划分为硬件处理功能库文件,用于处理对星上计算机提供的各种基础硬件的操作,例如422通讯、can通讯、1553b通讯以及ad和da的读取等,但本发明不以此为限。

在本实施例中,若定义文件大小以50kb为标准大小,那么对所述功能库文件大小均匀的要求则为所述功能库文件大小应在(1-15%)50kb至(1+15%)50kb的范围内;如果某一所述功能库文件过大,则可以将所述功能库文件进一步划分为更小的单元库文件,且所述单元库文件大小的范围同样为(1-15%)50kb至(1+15%)50kb,以满足所述功能库文件大小均匀的要求。如图3所示,所述敏感器处理功能库文件可以划分为陀螺处理单元库文件、星敏感器处理单元库文件、太阳敏感器处理单元库文件、磁强计处理单元库文件,通过对所述单元库文件的替换也可以实现对所述姿态轨道控制软件的在轨编程。

将所述姿态轨道控制软件的运行文件依次划分为所述结构库文件、所述功能库文件以及所述单元库文件,可以使所述姿态轨道控制软件的运行文件具有结构清晰以及模块化程度高的特征,从而在后续对所述姿态轨道控制软件进行在轨编程时,既能通过替换对应的所述功能库文件实现对所述姿态轨道控制软件所有功能的在轨编程,又能使在轨编程更加高效快捷。

请继续参考图4和图5,所述步骤s130包括:启动在轨编程操作,对在轨编程线程进行初始化;上传新的所述功能库文件替换原有的所述功能库文件,并生成在轨编程信号;所述在轨编程线程接收所述在轨编程信号,并设置在轨编程标志;主线程根据预设控制周期对所述在轨编程标志进行查询;若查询到所述在轨编程标志,对所述姿态轨道控制软件进行在轨编程,即所述姿态轨道控制软件复位并以新的所述功能库文件运行所述姿态轨道控制软件。

可以理解的是,在一些其他的实施例中,新的所述功能库文件以注数包形式上传;所述注数包包含包头、包类型、总包数、包序号、数据内容和校验位。

在一些实施例中,所述预设控制周期为0.5s~1.5s。

具体的,当需要对星上所述姿态轨道控制软件进行在轨编程时,启动在轨编程操作,并对所述在轨编程线程进行初始化。新的所述功能库文件以注数包形式上传替换原有的所述功能库文件,并在上传完成后生成所述在轨编程信号。所述在轨编程线程通过与其他软件交互接收到所述在轨编程信号,则设置所述在轨编程标志为0x99,否则持续沉睡状态。所述姿态轨道控制软件的所述主线程则可以每1秒对所述在轨编程标志进行查询一次;若查询到所述在轨编程标志为0x99,则所述姿态轨道控制软件复位并以新的所述功能库文件运行所述姿态轨道控制软件,从而完成对所述姿态轨道控制软件的在轨编程;若未查询到所述在轨编程标志为0x99,则所述姿态轨道控制软件继续以原有的所述功能库文件运行,但本发明不以此为限。

请继续参考图5,所述新的所述功能库文件以注数包形式上传的步骤包括:所述姿态轨道控制软件接收所述注数包的若干个分包至缓存区;根据所述校验位判断所述分包是否正常,若正常则设置所述分包状态正常;对于状态正常的所述分包,根据所述总包数确定所有所述分包是否都上传完成,若所有所述分包数达到所述总包数表示所有所述分包都成功上传;所有所述分包上传完成后,新的所述功能库文件替换原有的所述功能库文件,并生成所述在轨编程信号。

具体的,以所述注数包形式上传新的所述功能库文件时,所述注数包可以包含若干个所述分包;所述姿态轨道控制软件接收所述分包后,可以根据所述校验位判断所述分包是否正常,若正常则设置所述分包状态正常,否则设置所述分包状态错误;对于正常状态的所述分包,可以根据所述总包数确定所有所述分包是否都上传完成,若所有所述分包数达到所述总包数表示所有所述分包都成功上传,否则所述姿态轨道控制软件继续接受所述分包直至所有所述分包皆上传完成;待所有所述分包上传完成后,新的所述功能库文件可以替换原有的所述功能库文件,此时新的所述功能库文件以所述注数包形式上传完成,生成所述在轨编程信号,但本发明不以此为限。

请继续参考图5,新的所述功能库文件存入用于存储所述姿态轨道控制软件的存储器中。

具体的,在本实施例中,所述姿态轨道控制软件存储于flash存储器中,新的所述功能库文件替换原有的所述功能库文件并存入所述flash存储器中时,可以使所述姿态轨道控制软件的在轨编程数据实现在轨固化,从而在所述姿态轨道控制软件上电或复位后不需要再次上传在轨编程数据。

请继续参考图6,对原有的所述功能库文件进行保留,以使所述姿态轨道控制软件回退至以原有的所述功能库文件运行。

可以理解的是,在一些其他的实施例中,将新的所述功能库文件定义为当前版本,原有的所述功能库文件定义为原有版本;设置判别标志,若使用所述原有版本,则以所述原有版本对应的所述功能库文件启动并运行所述姿态轨道控制软件;若使用所述当前版本,则以所述当前版本对应的所述功能库文件启动并运行所述姿态轨道控制软件。

具体的,新的所述功能库文件替换原有的所述功能库文件后,原有的所述功能库文件则可以保留,即新的所述功能库文件和原有的所述功能库文件可以同时存在,但本发明不以此为限。

在本实施例中,所述原有版本与所述当前版本同时存在时,可以选择使用所述原有版本或所述当前版本。所述原有版本和所述当前版本的同时可用,为所述姿态轨道控制软件提供了回退功能,使所述姿态轨道控制软件既能够以在轨编程后的所述当前版本运行,又能够以未在轨编程前的所述原有版本运行。

综上所述,本实施例提供的一种姿态轨道控制软件在轨编程方法,将姿态轨道控制软件的运行文件划分为若干个结构库文件,再将结构库文件划分为若干个功能库文件,通过上传新的功能库文件替换原有的功能库文件并以此完成对所述姿态轨道控制软件的在轨编程。本实施例提供的一种姿态轨道控制软件在轨编程方法的应用,既可以实现对姿态轨道控制软件所有功能的在轨编程,又可以实现在轨编程数据的在轨固化,同时还可以使姿态轨道控制软件回退到未在轨编程前的版本。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

发布于 2023-01-07 01:24

免责声明:

本文由 pingsheng 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

火鲤鱼 © 2024 专注小微企业服务 冀ICP备09002609号-8