一种组网卫星星载软件的自主升级方法

文档序号:7223 发布日期:2021-09-17 浏览:30次 英文

一种组网卫星星载软件的自主升级方法

技术领域

本发明涉及航空航天

技术领域

,特别涉及一种组网卫星星载软件的自主升级方法。

背景技术

为了适应越来越高难度的航天任务,卫星的性能要求越来越高、功能要求越来越丰富多样,导致星载软件的复杂度越来越高。而当前很多航天软件是以型号任务为导向,针对不同的航天任务进行定制化的开发,因此,在轨发现的软件缺陷、功能升级、或者新的软件需求均需要进行重构修正。随着材料、工艺等技术的发展,当前卫星的寿命得到了极大的提升,这为卫星寿命期内的软件功能升级以及任务的扩展性提供了良好的基础。

无论是星载软件缺陷的修复以及卫星功能的升级或者卫星任务的扩展需求都对星载软件的在线升级提出了迫切的需求,特别是大型组网卫星星座比如全球导航星座、SpaceX公司的星链等。传统的软件升级方式为:首先地面测控站提前根据卫星入站信息进行重构软件的准备,这包括按照特定的遥控帧格式进行软件数据拆包、组帧等,根据软件配置项大小将单个或多个软件配置项程序数据打包为上注格式;然后通过上行通道将程序数据上注到卫星存储器,卫星通过遥测下传数据接收状态到地面;地面监测到卫星将程序数据接收完整后,人工向卫星发送控制指令卫星接收到该指令后将接收到的程序数据固化到FLASH/EEPROM中地面完成本轮次软件配置项在轨软件升级或重构后重复以上操作完成其余待重构软件配置项的在轨升级或重构。

采用这种方式进行卫星的在轨软件升级或重构,准备过程耗时耗力而且极易出错导致故障;其次地面测控站的数量有限以及每个测控站的工作范围限制,导致每颗卫星进入可见弧段的时间非常有限,对于一次软件升级或重构需要多个弧段进行工作,使得升级或重构过程断断续续影响卫星服务且易引发异常导致升级或重构失败。

发明内容

针对现有技术中的部分或全部问题,本发明提供一种组网卫星星载软件的自主升级方法,包括:

卫星在建立组网通信链路时,和与其建链的节点进行状态信息帧交换;

对接收到的状态信息帧进行解析,并与自身信息比较:

若接收到的某个状态信息帧中,硬件版本与自身一致,但软件版本高于自身,则向该状态信息帧对应的节点发送申请软件升级帧;以及

根据所述节点返回的软件重构数据包完成在轨软件升级。

进一步地,所述自主升级方法还包括,分批次将升级后的软件数据镜像存储至地面站。

进一步地,组网通信链路采用固定建联方式或时分体制的动态建链方式建立。

进一步地,所述节点包括卫星以及地面站。

进一步地,所述状态信息帧包括卫星号、单机编号、单机硬件版本、软件配置项编号以及软件版本号。

进一步地,在接收到的状态信息帧后,优先对地面站发送的状态信息帧进行解析。

进一步地,所述软件重构数据包包括若干个程序数据块,所述程序数据块采用断点续传方式传输,所述卫星根据接收到的程序数据块逐步完成软件升级。

进一步地,所述申请软件升级帧包括源卫星号、目的卫星号、单机编号、软件配置项编号以及申请状态。

进一步地,所述申请状态包括:

全0值:表示不需要升级;

全1值:表示初次申请升级;以及

其他数值:表示正在升级的程序数据块。

本发明提供的一种组网卫星星载软件的自主升级方法,仅需将升级后的软件镜像存储至地面站,后续通过组网通信链路进行信息交互:包括软件状态信息交互及比较,以及软件重构数据包传输等。整个卫星软件重构的过程无需人工干预,卫星星载软件通过将自身状态与接收到的他星或地面站的状态信息进行比较,实现软件版本的自主监测并生成版本更新需求,然后根据版本更新需求自主升级软件,可以保证组网批产各卫星状态一致,解决星座卫星群同状态硬件软件自主升级问题。此外,所述卫星在生成版本更新需求时,需要同时比对硬件信息及软件信息,因此,可细化区分同一组网卫星星座内,不同硬件版本的卫星的软件版本智能自主判断,解决了大型星座卫星群中卫星类型软硬件有差异的软件自主升级问题。同时,所述自主升级方法中,地面站准备好软件升级的数据,由地面更新至某颗卫星后,不需要地面站再次规划测控弧段用于软件重构,可以由组网卫星自主请求,星上自主生成升级程序数据包,并通过星间链路传输,其中所述升级程序数据还支持多路径断点续传,卫星能够通过其他卫星或者地面站继续完成当前卫星自主软件升级。。

附图说明

为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1示出本发明一个实施例的一种组网卫星星载软件的自主升级方法的流程示意图;

图2示出组网星座固定建链的示意图;以及

图3a-3c示出组网星座动态建链的示意图。

具体实施方式

以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

在本说明书中,除非特定说明,所述术语“卫星”、“卫星号”、“源卫星号”以及“目的卫星号”并不局限于组网星座中的卫星及其编号,同时还包括建链的地面站及其编号。

当前卫星在轨软件升级或重构的缺陷如下:

1)单颗卫星在软件重构过程中不可用的时长达数天,要完成星座所有卫星软件升级,卫星中断时间则可能达到几十~几百天的时间;并且星载软件的在轨维护需要地面持续根据不同批次卫星,人工比对软件版本,每颗卫星如果有上百项软件配置项,就需要人工比对检查几千次,工作重复,工作量庞大;例如全球导航系统共计24颗MEO卫星,3颗IGSO星座,3颗GEO卫星组成,此类卫星均属于大型卫星,涉及星上嵌入式软件约100余项,组网星座涉及到的卫星一共30余颗,有在轨维护需求的软件相当于有3000余项软件;再比如SpaceX公司的Starlink(星链)卫星系统建成后,将由近至少12000颗卫星构成的巨型星座,假设每颗卫星仅有一项软件配置项,那么也需要几万次的重复运作才能整个星座的软件升级或重构,所需要的工作量和时间成本巨大;

2)星载软件在轨重构通常数据较大,所需时长较长,因此,较少能在一个地面站测控弧段内完成,每次从地面测控站注入数据进行软件升级都需要根据卫星的运行情况进行弧段规划,管理流程复杂;

3)从地面测控站注入软件镜像时,需要人工对软件二进制镜像数据进行拆包和数据加工,比较容易出错,且一般软件拆包重组过程操作繁杂,在注入数据阶段需要实时人工监测相应遥测数据进行判读,耗时费力智能程度低;

4)在规划弧段内进行软件镜像数据上注时,大多数的操作涉及到软件重启,单机开关机等操作,需要将卫星业务暂停,影响卫星正常业务运行。

发明人通过研究发现,现有在轨软件升级方法存在这些缺陷的主要是因为所有卫星均需要通过与地面站进行信息交互才能完成软件升级,因此,其必然会受到地面站数量、工作范围等的限制。而采用这一方式的主要原因在于,在早期的卫星系统中,在轨卫星通常作为独立的个体进行工作,其通过测控系统与地面系统进行通信,卫星间不能进行通信。然而,随着技术的发展与成熟,星间链路技术已经开始在卫星系统中大量应用,通过星间链路技术,卫星与卫星之间能够相互建立通信链路,并实现星间测距和通信功能,协同工作形成一个整体,形成组网卫星星座。因此,若能通过星间通讯完成升级软件数据的传输,则能减少卫星与地面站的通讯时长或传输数据的大小,使得其不需要对软件重构进行额外的弧段规划等工作,能够一定程度上避免上述缺陷。基于此,本发明提供一种组网卫星星载软件的自主升级方法,其通过组网通信链路实现星载软件自主升级,基本不需要人工的干预,而是由卫星自主进行,且卫星通过组网通信链路能够保证重构过程的连续性,增加重构的可靠性,能够极大的节约人力物力且可靠性更高。

首先,自主升级方法将地面站和在轨组网卫星均视为网络节点之一,地面站及卫星中均各自保存有自身所存储的卫星状态信息;然后,当某颗卫星与其他卫星或地面站进行首次建链时,会进行一次卫星状态信息交换,如果其发现对方卫星或地面站的硬件状态与自身一致且软件版本比自身高,则向对方卫星或地面站发送软件升级请求帧,对方卫星或地面站收到该请求帧之后,将软件镜像发送至该卫星,直至该卫星收取完毕,完成该卫星软件升级。在软件镜像发送过程中,该卫星不再进行卫星状态信息交换和比对,卫星与卫星之间完成软件镜像数据交互后设置其为初始状态,在下一次与他星建链时重新交换卫星状态信息。根据卫星组网的连通性,一旦有卫星软件版本较新,则经过卫星与卫星间的传播,可完成整网卫星的升级。

下面结合实施例附图对本发明的方案做进一步描述,图1示出本发明一个实施例的一种组网卫星星载软件的自主升级方法的流程示意图。

如图1所示,一种组网卫星星载软件的自主升级方法,包括:

首先,在步骤101,更新地面站信息。当卫星出现功能优化或新增的需求时,在地面修改星载软件并在地面完成修改后验证,然后将最新版本的软件镜像存储至地面站,并更新该版本软件对应的地面站的硬件状态;

接下来,在步骤102,状态信息交换。当卫星与地面站或者卫星与卫星之间建立组网通信链路时,将自身的状态信息帧发送给卫星和/或地面站,并接收他星和/或地面站的状态信息帧,完成一次软件版本信息交换。其中,卫星与地面站或者卫星与卫星之间的组网通信链路可采用如下两种方式建立:

固定建链方式,图2示出组网星座固定建链的示意图,如图2所示,固定建链中,同轨道面前后的两颗星两两相连,且每个轨道面奇数编号的卫星与其左侧相邻轨道面相连,偶数编号的卫星则与其右侧相邻轨道面相连,地面站也作为一个节点,地面站可与进入其可见弧段内的卫星进行通信进行数据传输;以及

时分体制的动态建链方式,其经过时隙划分和对时隙的合理编排与分配来实现卫星之间有序高效的建链,图3a-3c示出组网星座动态建链的示意图,如图3a-3c所示,以5颗卫星和1个地面站为例,表示了连续3个时隙卫星建链情况:在时隙N内,卫星B与地面站建链,卫星C与卫星D建链,卫星E与卫星A建链;在时隙N+1内,卫星A与地面站建链,卫星B与卫星C建链,卫星D与卫星E建链;在时隙N+2内,卫星C与地面站建链,卫星B与卫星D建链,卫星A与卫星E建链,通过时隙的切换实现在一段时间内动态更新,从而实现一段时间内的整网联通;

在组网星座中,每颗卫星都设定有独立的卫星编号,地面站也可作为一个卫星节点进行统一编号,同时,卫星上每个单机均具有独立的编号,每个单机的硬件又可以根据实际的情况,例如研制时间先后、卫星批次等不同,后期对单机硬件进行升级改造等,分为不同的版本,在同一单机上还可能包含多个软件,每个软件也设置有不同编号,软件根据不同版本还具有版本信息,则根据上述描述内容,在本发明的一个实施例中,所述状态信息帧的格式定义如表1所示。所述状态信息帧包括卫星号、信息类型以及若干个信息子帧,任一所述信息子帧表征一个软件配置项的软硬件版本信息,包括单机编号、单机硬件版本、软件配置项编号以及软件版本号,其中,各个信息的数据长度可如表1所示设置,也可根据实际需求设置:卫星号的数据长度可根据组网卫星数量进行定义,例如当该信息设置为8bit时,则可编号256颗卫星,适用于卫星数量低于256的组网星座;单机编号的数据长度根据卫星上的可升级软件的单机数量定义,例如若单机编号的数据长度为8bit,则适用于可升级软件单机数量低于256的卫星,则可将每个单机依次编号:例如星载计算机编号0x00,遥测终端编号0x01,遥控终端0x02,载荷单机编号0x03,依此类推。

表1

接下来,在步骤103,状态信息解析。卫星接收到状态信息帧后,解析出卫星号、单机编号、单机硬件版本、软件配置项编号以及软件版本号信息。在本发明的一个实施例中,当在轨卫星处于地面站可见弧段,并且同时接收到地面站和其他卫星发送的状态信息帧时,优先解析地面站发送的状态信息帧;以及当卫星由地面站可见位置进入地面站不可见位置,且收到他星发送的状态信息帧时,则对收到的他星的状态信息帧进行解析;

接下来,在步骤104,比较状态信息。卫星将解析出的信息与自身对应信息进行比较:当地面站或其他卫星的单机硬件版本与自身一致,且软件版本号信息新于自身时,则进入步骤105,若单机硬件版本不一致时,则不进行后续操作,并返回步骤103,继续对接收到的其他的状态信息帧进行解析;

接下来,在步骤105,发送申请软件升级帧。向发送该状态信息帧的地面站或卫星发送申请软件升级帧,在本发明的一个实施例中,所述申请软件升级帧如表2所示,包括,源卫星号、目的卫星号、信息类型以及若干子帧,且任一所述子帧表征一个软件配置项的申请状态,包括单机编号、软件配置项编号以及申请状态。其中,其中,各个信息的数据长度可如表2所示设置,也可根据实际需求设置:源卫星号指待升级的卫星编号,目的卫星号指发送该状态信息帧的地面站或卫星编号;申请状态表征对应的软件配置项的升级状态:

若所述申请状态为全0值,则表示其对应的软件配置项不需要升级;

若所述申请状态为全1值,则表示对应的软件配置项初次申请升级;以及

若所述申请状态为其他数值,则表示对应的软件配置项正在升级,且暂未完成;

表2

为了尽可能地减少软件升级时间,提高软件升级的效率,在本发明的一个实施例中,还将一个星载软件配置项按照功能划分成几个不同的软件模块,使得在进行星载软件升级时,可以仅对需要升级的软件模块进行更新,则在该实施例中,所述软件配置性的编号中还包括所划分的软件模块信息;以及

最后,在步骤106,在轨软件升级。地面站或卫星接收到申请软件升级帧后,进行解析,得到单机编号、软件配置项编号以及申请状态,并根据所述申请状态向发送申请的卫星发送软件重构数据包,完成与其建链的卫星的在轨软件升级。在本发明的一个实施例中,为保证软件升级的连续性,所述软件重构数据包包括若干个程序数据块,所述程序数据块采用多星断点续传方式传输,当卫星由地面可见弧段进入地面不可见弧段时,能够通过其他卫星继续完成当前卫星自主软件升级,具体而言,是当卫星尚处于软件更新的过程中,且未完成所有待更新软件升级时,卫星即进入了地面站不可见区,则此时,卫星更新自身软件状态,然后利用最新的软硬件状态与接收到的其他卫星状态信息帧进行比较:若他星硬件状态与其自身一致,而软件版本更新,则向其发送申请软件升级帧。在该申请软件升级帧中:对于需要进行升级的软件的申请状态填写为该软件配置项正在进行升级的程序块号;对于不需要进行升级的软件,软件申请状态填0;对于初次申请升级的软件,申请状态填写为全1值。他星接收到该申请软件升级帧,逐一解析出设备编号、软件配置项编号、申请状态;当申请状态非零时根据申请状态值执行不同操作:当申请状态值非全1值时,则根据其值向申请软件升级的卫星发送该值对应程序数据块,完成后继续发送后续程序块,直到逐步后续待升级软件升级;当申请状态的值为全1时,则从该软件第1个程序数据块开始向其依次发送所有待升级程序数据,直到逐步完成后续待升级软件升级。在本发明的实施例中,所述程序数据块在建链时隙发送,因此,对卫星的建链几乎不产生影响。

在轨组网卫星由于不同批次的研制时间先后不同,后续卫星的硬件版本可能存在升级,使得组网卫星的硬件版本不一样,但是,基于本发明实施例中所述的自主升级方法,可以按照硬件批次对所有地面站进行统一的软件升级,且能够对不同硬件版本的卫星进行智能自主判断,当完成该批次所有相同硬件状态卫星的软件升级后,再对地面站进行统一下一批次硬件状态的软件升级,循环该过程,从而迅速完成在轨不同硬件状态卫星的所有软件配置项的升级。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种服务更新方法、装置、计算机设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!