一种深空探测器有效载荷数据注入包的编辑及校验方法与流程

文档序号:23849836发布日期:2021-02-05 13:56阅读:56来源:国知局
一种深空探测器有效载荷数据注入包的编辑及校验方法与流程

[0001]
本发明属于航天工程领域,特别涉及一种深空探测器有效载荷数据注入包的生成及校验方法。


背景技术:

[0002]“天问一号”火星探测器将开展我国首次自主火星探测任务,通过一次发射,实现“绕、落、巡”三大目标。探测器由环绕器和着陆巡视器组成,其中环绕器上配置有中分辨率相机、高分辨率相机、环绕器次表层探测雷达、火星矿物光谱分析仪、火星磁强计、火星离子与中性粒子分析仪、火星能量粒子分析仪、环绕器载荷控制器等8台有效载荷,着陆巡视器上配置有多光谱相机、火星车次表层探测雷达、火星表面成分探测仪、火星表面磁场探测仪、火星气象测量仪、火星车载荷控制器等6台有效载荷。通过环绕器与着陆巡视器的独立探测和天地协同探测,实现对火星的全球性综合性普查及表面重点地区精细勘测。
[0003]
有效载荷数据注入包是地面运控系统(或地面测试系统)通过探测器数管(或数管仿真设备)发送给载荷控制器,由载荷控制器解析后执行或转发给有效载荷执行的上行遥控指令,直接控制载荷设备的动作与状态,对载荷任务的顺利执行至关重要。
[0004]
与我国以往的应用卫星、科学卫星不同,以“天问一号”为代表的深空探测器有效载荷分系统具有载荷数量多、工作模式复杂、环境不确定性大、自主性要求高等特点,对有效载荷数据注入包的格式、规范提出了新的要求。同时载荷中新研设备较多,在地面集成测试、整器测试期间需频繁设置及调整设备的相关参数,生成有效载荷数据注入包任务繁重,传统的手工编辑方式难以完成。而现有的专用软件开发模式仅侧重于对特定类型注入包的编辑,无法满足多样化的注入包编辑需求,也缺乏对单机控制指令的全面管理和对注入包编辑的过程管理,无法跟踪、检查、校验注入包的正确性。而且,随着我国后续深空探测计划的相继开展,需要一种通用的深空探测器有效载荷数据注入包的编辑及校验方法。


技术实现要素:

[0005]
本发明的目的在于克服上述技术缺陷,提供一种可维护、可通用的深空探测器有效载荷数据注入包的编辑及校验方法,以满足多样化的有效载荷数据注入包的编辑需求,实现注入包从编辑到核验的全过程管理。
[0006]
为实现上述目的,本发明提出了一种深空探测器有效载荷数据注入包的编辑及校验方法,所述方法包括:
[0007]
获取各有效载荷的所有单机控制指令,建立指令库;
[0008]
为每个有效载荷创建与指令库关联的单机指令装载表单;
[0009]
依据有效载荷数据注入包生成规则,构建不同类型的注入包模板;
[0010]
在与生成有效载荷数据注入包任务需求相匹配的注入包模板中,调用一个或多个单机指令装载表单,并编辑时间码;将单机指令装载表单产生的单机控制指令代码和对应时间码导入注入包模板的特定位置,形成有效载荷数据注入包代码,生成二进制文件和文
本文件;
[0011]
对有效载荷数据注入包的二进制文件进行解析,确定其所属类型,反演出其中的时间码和单机控制指令,检查和校验注入包的正确性。
[0012]
作为上述方法的一种改进,所述获取各有效载荷的所有单机控制指令,建立指令库,包括:
[0013]
将各有效载荷可能使用到的所有单机控制指令及其文本描述汇集为指令库;所述单机控制指令包括载荷编号、命令码和命令参数,其中载荷编号由载荷名称唯一确定;
[0014]
将指令库中的单机控制指令按所属有效载荷不同划分为若干集合,每一集合对应一种载荷编号,同一集合内部再按指令功能分为若干子类,每一子类对应一个或多个命令码。
[0015]
作为上述方法的一种改进,所述单机指令装载表单由信息域和代码域组成,信息域包含指令功能字段和指令名称字段,代码域包含载荷编号、命令码和命令参数三个字段,其中指令名称字段与指令功能字段关联,根据选取的指令功能确定相应的指令名称字段取值列表;代码域与指令名称字段关联,根据选取的指令名称在指令库中查询,并将查询到的载荷编号、命令码和命令参数写入装载表单的对应字段。
[0016]
作为上述方法的一种改进,所述注入包模板包括不带时间码的间接指令注入包、带时间码的间接指令注入包和模式表注入包;在结构上均由包头、包序、包长、数据域和校验和组成,其中包头和包序由注入包生成规则直接确定,包长和校验和根据数据域内容和注入包生成规则计算产生;
[0017]
不带时间码的间接指令注入包的数据域中仅能包含一条单机控制指令;
[0018]
带时间码的间接指令注入包的数据域中可包含一条或多条单机控制指令,且每条单机控制指令前均带有绝对时间码;该模板中内置有绝对时间码编辑器,在10进制秒数和“日时分秒”格式之间相互转换,生成16进制绝对时间码导入带时间码的间接指令注入包的数据域;
[0019]
模式表注入包的数据域中可包含多条单机控制指令,在相邻两条单机控制指令之间通常插有一条相对时间码;该模板中内置有相对时间码编辑器,将10进制秒数转换为16进制相对时间码导入模式表注入包的数据域。
[0020]
作为上述方法的一种改进,所述方法还包括:
[0021]
建立生成有效载荷数据注入包的任务需求与注入包模板的对应关系;
[0022]
其中,生成有效载荷数据注入包的任务需求包括:生成单机指令注入包任务需求,生成延时指令注入包任务需求和生成模式表注入包任务需求;
[0023]
生成单机指令注入包任务需求对应于不带时间码的间接指令注入包模板,生成延时指令注入包任务需求对应于带时间码的间接指令注入包模板,生成模式表注入包任务需求对应于模式表注入包模板。
[0024]
作为上述方法的一种改进,所述在与生成有效载荷数据注入包任务需求相匹配的注入包模板中,调用一个或多个单机指令装载表单,并编辑时间码;将单机指令装载表单产生的单机控制指令代码和对应时间码导入注入包模板的特定位置,形成有效载荷数据注入包代码,生成二进制文件和文本文件;具体包括:
[0025]
当收到生成单机指令注入包任务需求时,选取不带时间码的间接指令注入包模
板,调用与任务需求中所述载荷对应的单机指令装载表单,根据任务需求选取相应的指令功能和指令名称,将对应的单机控制指令导入注入包的数据域,形成注入包代码,生成二进制文件和文本文件;
[0026]
当收到生成延时指令注入包任务需求时,选取带时间码的间接指令注入包模板,依序调用与任务需求中所述载荷对应的一个或多个单机指令装载表单,在每个单机指令装载表单中根据任务需求选取相应的指令功能和指令名称,并通过绝对时间码编辑器生成相应时间码,将“时间码-单机控制指令”组合导入注入包模板的数据域,直至将任务需求中所有待写入信息导入数据域,形成注入包代码,生成二进制文件和文本文件;
[0027]
当收到生成模式表注入包任务需求时,选取模式表注入包模板,设置模式表编号,依序调用与任务需求中所述载荷对应的一个或多个单机指令装载表单,在每个单机指令装载表单中根据任务需求选取相应的指令功能和指令名称,将对应的单机控制指令导入注入包的数据域;两条单机控制指令之间插入通过相对时间码编辑器生成的相对时间码,直至将任务需求中所有待写入信息导入数据域,形成注入包代码,生成二进制文件和文本文件。
[0028]
作为上述方法的一种改进,所述方法还包括:
[0029]
对模式表注入包设置连续加入单机控制指令或模式表的权限,获得该权限,可在模式表注入包的数据域中连续加入单机控制指令,或者连续加入相对时间码;未获得该权限,禁止连续加入单机控制指令或相对时间码。
[0030]
作为上述方法的一种改进,所述文本文件中包含生成文件的日期时间信息,注入包数据域的字节数,注入包16进制代码信息,数据域中单机控制指令的功能字段和指令名称。
[0031]
作为上述方法的一种改进,所述对有效载荷数据注入包的二进制文件进行解析,确定其所属类型,反演出其中的时间码和单机控制指令,包括:
[0032]
判断有效载荷数据注入包的二进制文件的构成是否符合有效载荷数据注入包生成规则;
[0033]
若判断结果是肯定的,识别其包头、包序、包长、数据域和校验和各部分,并逐条提取出数据域中的单机控制指令和时间码,将单机控制指令在指令库中检索,获得其对应的载荷名称、指令功能和指令名称,并将绝对时间码转换成“日时分秒”格式,将相对时间码转换成10进制秒数;
[0034]
否则,确定二进制文件中与生成规则不符的具体位置。
[0035]
作为上述方法的一种改进,所述方法还包括:对已有的模式表注入包进行快捷修改,新增、删除或替换其数据域中的单机控制指令或相对时间码,生成新的模式表注入包;具体包括:
[0036]
选取要修改的模式表注入包的二进制文件,对二进制文件进行解析,得到单机控制指令-相对时间码文本序列;
[0037]
根据修改需求,编辑该单机控制指令-相对时间码文本序列;
[0038]
选取模式表注入包,设置模式表编号,将编辑后的单机控制指令-相对时间码文本序列导入模式表注入包的数据域,形成注入包代码;
[0039]
生成二进制文件和文本文件。
[0040]
本发明的优势在于:
[0041]
1、本发明提供了一种深空探测器有效载荷数据注入包的编辑及校验方法,通过创建基于指令库的单机指令装载表单、进而构建注入包模板、生成并校验注入包的方式,建立了一套规范有序的有效载荷数据注入包编辑流程;
[0042]
2、本发明的指令库的建立,实现了对单机控制指令的全面、有效管理,改变了过去手工编辑或专用软件方式在引用单机控制指令时随意性大、无据可依的状况,使编辑任务具有可维护性、可追溯性;
[0043]
3、本发明的方法通过构建带有时间码编辑器的注入包模板,有效简化了编辑数据注入包的复杂程度,提高了编辑工作的灵活性和适应性,可以满足多样化、多类型的有效载荷数据注入包的编辑需求;
[0044]
4、本发明的方法对既有数据注入包进行解析、校验,能够及时发现和更正错误,保证了数据注入包的正确性,也可以对模式表注入包进行快捷编辑和修改;
[0045]
5、本发明的方法不仅适用于“天问一号”火星探测器,对于其他深空探测器的有效载荷数据注入包的编辑也可通用。
附图说明
[0046]
图1为本发明的深空探测器有效载荷数据注入包的生成及校验方法的流程图;
[0047]
图2是本发明的注入包模板的结构的示意图。
具体实施方式
[0048]
为使本发明的目的、技术方案和优点更加清楚,下面结合附图,以“天问一号”火星探测器着陆巡视器有效载荷数据注入包为例对本发明的技术方案进行详细说明。
[0049]
本发明提供了一种深空探测器有效载荷数据注入包的编辑及校验方法,通过创建基于指令库的单机指令装载表单、进而构建注入包模板、生成并校验注入包的方式,建立了一套规范有序的有效载荷数据注入包编辑流程,其步骤流程图如图1所示。所述有效载荷数据注入包的编辑及校验方法包括:
[0050]
步骤1)获取各有效载荷的所有单机控制指令,建立指令库。
[0051]
在本实施例中,共有多光谱相机、火星车次表层探测雷达、火星表面成分探测仪、火星表面磁场探测仪、火星气象测量仪、火星车载荷控制器等6台有效载荷。将各有效载荷可能使用到的所有单机控制指令(总计400余条)及其文本描述汇集为指令库;所述单机控制指令包括载荷编号、命令码和命令参数,其中载荷编号由载荷名称唯一确定;
[0052]
例如,多光谱相机“手动曝光设置:档位0”这条单机控制指令的代码为16进制数11171500,其中载荷编号为11,命令码为17,命令参数为1500(均为16进制数)。
[0053]
为便于管理和查找,将指令库中的单机控制指令按所属有效载荷不同划分为若干集合,每一集合对应一种载荷编号,同一集合内部再按指令功能分为若干子类,每一子类对应一个或多个命令码,如表1所示:
[0054]
表1:火星表面磁场探测仪的单机控制指令库示意表:
[0055][0056]
步骤2)为每个有效载荷创建与指令库关联的单机指令装载表单。
[0057]
单机指令装载表单由信息域和代码域组成,信息域包含指令功能字段和指令名称字段,代码域包含载荷编号、命令码和命令参数三个字段,其中指令名称字段与指令功能字段关联,根据选取的指令功能确定相应的指令名称字段取值列表;代码域与指令名称字段关联,根据选取的指令名称在指令库中查询,并将查询到的载荷编号、命令码和命令参数写入装载表单的对应字段,如表2所示:
[0058]
表2:火星表面磁场探测仪的单机指令装载表单示意表:
[0059][0060]
当选取“指令功能”字段为“设置自动调节采样率阈值”,“指令名称”字段为“调整阈值(0000h)”时,表单在单机控制指令库中搜索该指令名称,将查询到的载荷编号(0x44)、命令码(0x11)和命令参数(0x0000)分别写入表单的对应字段。
[0061]
步骤3)依据有效载荷数据注入包生成规则,创建不同类型的注入包模板。
[0062]
注入包模板包括不带时间码的间接指令注入包、带时间码的间接指令注入包和模式表注入包;在结构上都由包头、包序、包长、数据域和校验和组成,如图2所示;其中包头和包序由注入包生成规则直接确定,包长和校验和根据数据域内容和注入包生成规则计算产生;
[0063]
不带时间码的间接指令注入包的数据域中仅能包含一条单机控制指令。
[0064]
带时间码的间接指令注入包的数据域中包含一条或多条单机控制指令,且每条单机控制指令前均带有绝对时间码;该模板中内置有绝对时间码编辑器,在10进制秒数和“日时分秒”格式之间相互转换,生成16进制绝对时间码导入带时间码的间接指令注入包的数据域。
[0065]
将十进制秒数转换为“日时分秒”格式的方法为:
[0066]
n
d
=n
sec
\86400
[0067]
n
h
=(n
sec-n
d
*86400)\3600
[0068]
n
m
=(n
sec-n
d
*86400-n
h
*3600)\60
[0069]
n
s
=n
sec mod 60
[0070]
其中,n
sec
表示十进制秒数,n
d
、n
h
、n
m
、n
s
分别表示“日时分秒”格式的天数、小时数、分钟数和秒数,\表示整除,mod表示求余。
[0071]
将“日时分秒”格式转换为十进制秒数的方法为:
[0072]
n
sec
=n
d
*86400+n
h
*3600+n
m
*60+n
s
[0073]
模式表注入包的数据域中可包含多条单机控制指令,在相邻两条单机控制指令之间通常插有一条相对时间码。该模板中内置有相对时间码编辑器,将10进制秒数转换为16进制相对时间码导入模式表注入包的数据域。
[0074]
模式表注入包模板设置设有连续加入单机控制指令或时间码的权限。通常情况下,单机控制指令和相对时间码在数据域中交替排列,此权限置为关闭,不允许连续加入单机控制指令或相对时间码,以避免注入包编辑过程中的错误操作。在某些特殊应用中,要求在数据域中连续加入单机控制指令或时间码,此时将权限开放,可在模式表注入包的数据域中连续加入单机控制指令,或者连续加入相对时间码。
[0075]
步骤4)建立生成有效载荷数据注入包的任务需求与注入包模板的对应关系;
[0076]
其中,生成有效载荷数据注入包的任务需求包括:生成单机指令注入包任务需求,生成延时指令注入包任务需求和生成模式表注入包任务需求;
[0077]
生成单机指令注入包任务需求对应于不带时间码的间接指令注入包,生成延时指令注入包任务需求对应于带时间码的间接指令注入包,生成模式表注入包任务需求对应于模式表注入包。
[0078]
步骤5)在与生成有效载荷数据注入包任务需求相匹配的注入包模板中,调用一个或多个单机指令装载表单,并编辑时间码;将单机指令装载表单产生的单机控制指令代码和对应时间码导入注入包模板的特定位置,形成有效载荷数据注入包代码,生成二进制文件和文本文件;具体包括:
[0079]
步骤5-1)当收到生成单机指令注入包任务需求时,选取不带时间码的间接指令注入包,调用与任务需求中所述载荷对应的单机指令装载表单,根据任务需求选取相应的指令功能和指令名称,将对应的单机控制指令导入注入包模板的数据域,形成注入包代码,生成二进制文件和文本文件;
[0080]
步骤5-2)当收到生成延时指令注入包任务需求时,选取带时间码的间接指令注入包,依序调用与任务需求中所述载荷对应的一个或多个单机指令装载表单,根据任务需求选取相应的指令功能和指令名称,通过绝对时间码编辑器生成相应时间码,将“时间码-单机控制指令”组合导入注入包模板的数据域,直至将任务需求中所有待写入信息导入数据域,形成注入包代码,生成二进制文件和文本文件;
[0081]
步骤5-3)当收到生成模式表注入包任务需求时,选取模式表注入包,设置模式表编号,依序调用与任务需求中所述载荷对应的一个或多个单机指令装载表单,根据任务需求选取相应的指令功能和指令名称,将对应的单机控制指令导入注入包的数据域,两条单机控制指令之间插入通过相对时间码编辑器生成的相对时间码,直至将任务需求中所有待写入信息导入数据域,形成注入包代码,生成二进制文件和文本文件。
[0082]
所述文本文件中包含生成文件的日期时间信息,注入包数据域的字节数,注入包16进制代码信息,数据域中单机控制指令的功能字段和指令名称。
[0083]
步骤6)对有效载荷数据注入包的二进制文件进行解析,确定其所属类型的注入包
模板,识别其中的时间码和单机控制指令,反演并显示其对应的载荷名称、指令功能和指令名称,以检查和核对注入包的正确性;具体包括:
[0084]
判断有效载荷数据注入包的二进制文件的构成是否符合有效载荷数据注入包生成规则;
[0085]
若判断结果是肯定的,识别其包头、包序、包长、数据域和校验和各部分,并逐条提取出数据域中的单机控制指令和时间码,将单机控制指令在指令库中检索,获得其对应的载荷名称、指令功能和指令名称,并将绝对时间码转换成“日时分秒”格式,将相对时间码转换成10进制秒数;
[0086]
否则,确定二进制文件中与生成规则不符的具体位置。
[0087]
步骤7)若需对已有的模式表注入包进行修改,新增、删除或替换其数据域中的单机控制指令或相对时间码,生成新的模式表注入包,可采取快捷方式,具体为:
[0088]
选取要修改的模式表注入包的二进制文件,对二进制文件进行解析,得到单机控制指令-相对时间码文本序列;
[0089]
根据修改需求,编辑该单机控制指令-相对时间码文本序列;
[0090]
选取模式表注入包,设置模式表编号,将编辑后的单机控制指令-相对时间码文本序列导入模式表注入包的数据域,形成注入包代码;
[0091]
生成二进制文件和文本文件。
[0092]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1