卫星仿真系统及卫星仿真方法与流程

未命名 08-15 阅读:184 评论:0


1.本发明主要涉及卫星仿真技术领域,具体地涉及一种卫星仿真系统及卫星仿真方法。


背景技术:

2.卫星的数字化仿真技术正在不断发展,可以使用卫星仿真系统来模拟卫星任务的准备阶段和执行阶段等。随着卫星的任务种类越来越复杂,卫星进入任务前的准备时间以及执行任务流程的时间可能越来越长,通常需要数小时甚至更长时间,若卫星仿真系统采用1倍速的仿真速率来模拟卫星的工作情况,会导致卫星仿真系统的使用者需要等待较长时间才能完成整个卫星仿真任务,严重影响卫星研究人员的工作效率,因此在实际使用卫星仿真系统的过程中,希望卫星仿真系统能有较快的仿真速率。
3.现有的卫星仿真系统主要基于虚拟cpu的方式实现,在虚拟cpu内加载卫星星务软件以模拟真实的卫星状态。但是基于虚拟cpu的卫星仿真系统,其仿真速率基本为1至2倍速,卫星仿真系统的使用者在完整的卫星仿真任务中仍然要花费大量时间,存在卫星仿真系统的仿真速率过于低下,影响卫星研究人员工作效率的问题。


技术实现要素:

4.本技术所要解决的技术问题是提供一种卫星仿真系统及卫星仿真方法,可以提升卫星仿真系统的仿真速率。
5.本技术为解决上述技术问题而采用的技术方案是一种卫星仿真系统,包括卫星星务模型模块、虚拟卫星外设接口模块、调度接口模块、虚拟卫星单机模型模块以及空间环境模型模块,其中,卫星星务模型模块的构建方法包括:去除卫星星务软件中的操作系统以及虚拟化映射卫星星务软件中的硬件读写接口;虚拟卫星外设接口模块包括虚拟卫星外设接口数据结构体,虚拟卫星外设接口数据结构体用于交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据;调度接口模块用于获取并转发卫星星务模型模块和虚拟卫星单机模型模块之间的数据;空间环境模型模块用于模拟卫星所在的空间环境,虚拟卫星单机模型模块用于模拟卫星单机和/或分系统在空间环境下的功能和内部逻辑。
6.在本技术的一实施例中,卫星星务模型模块包括虚拟内部寄存器单元和虚拟星务时钟单元,卫星星务模型模块的构建方法还包括:将卫星星务软件的内部寄存器地址设置为数组,并生成虚拟内部寄存器单元;将卫星星务软件中每个分系统的线程设置为函数,每个分系统的初始化函数仅执行一次;将卫星星务软件中读写数据的方式设置为从虚拟卫星外设接口模块读写;将卫星星务软件中通过中断触发的数据读写操作重新设置为当数据准备完成时直接触发数据读写操作;构建用于维护星上时的虚拟星务时钟,并生成虚拟星务时钟单元;将卫星星务软件的存储模式设置为小端模式;以及将修改后的卫星星务软件编译为动态链接库以生成卫星星务模型模块。
7.在本技术的一实施例中,虚拟卫星外设接口数据结构体包括是否已更新标志、数
据指针地址以及数据有效长度字段,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程包括:当卫星星务模型模块向虚拟卫星单机模型模块发送命令时,虚拟卫星外设接口模块执行以下步骤:根据命令的实际长度为虚拟卫星外设接口数据结构体中的数据指针申请相应大小的内存,并将命令的实际长度赋值给数据有效长度字段;将命令的内容拷贝至数据指针指向的内存中;将是否已更新标志设置为已更新。
8.在本技术的一实施例中,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程还包括:当卫星星务模型模块从虚拟卫星单机模型模块接收数据时,虚拟卫星外设接口模块执行以下步骤:判断是否有虚拟卫星单机数据更新;若有虚拟卫星单机数据更新,则将更新后的虚拟卫星单机数据拷贝至卫星星务模型模块中对应的虚拟卫星单机数据存储地址;若没有虚拟卫星单机数据更新,则跳过拷贝虚拟卫星单机数据的操作。
9.在本技术的一实施例中,卫星星务模型模块和虚拟卫星单机模型模块之间交换的数据包括:单机遥测请求命令、单机遥测数据、上注的遥控指令码、卫星遥测数据帧以及单机遥控命令中的一种或多种。
10.在本技术的一实施例中,卫星星务模型模块包括至少一个运行周期,卫星星务模型模块顺序执行当前运行周期中的每个分系统功能。
11.在本技术的一实施例中,调度接口模块包括单机遥测数据结构体,单机遥测数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,调度接口模块获取并转发卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程包括:当调度接口模块收到虚拟卫星单机模型模块传输的单机遥测包后,调度接口模块执行以下步骤:根据单机遥测包的长度申请内存,将数据指针地址指向内存的首地址;拷贝单机遥测包的数据至数据指针地址指向的内存中;更新数据有效长度字段为单机遥测包的长度;将是否已更新标志设置为已更新。
12.在本技术的一实施例中,卫星星务模型模块从单机遥测数据结构体中获取数据的步骤包括:判断是否已更新标志为已更新还是未更新,若为已更新,则从数据指针地址中取走单机遥测包的数据,若为未更新,则不作处理。
13.在本技术的一实施例中,虚拟卫星外设接口模块包括通用异步收发传输器单元、控制器局域网络单元、同步串口单元以及卫星轨道指令单元中的一个或多个。
14.在本技术的一实施例中,虚拟卫星单机模型模块包括全球导航卫星系统单元、光纤陀螺单元、星敏感器单元、反作用轮单元中的一个或多个。
15.在本技术的一实施例中,空间环境模型模块包括动力学模型单元、能源模型单元以及热控模型单元中的一个或多个。
16.在本技术的一实施例中,虚拟卫星单机模型模块和空间环境模型模块基于编程语言c++中类和对象的概念构建。
17.本技术为解决上述技术问题还提出一种卫星仿真方法,使用如上的卫星仿真系统,卫星仿真方法用于在卫星星务模型模块、调度接口模块和虚拟卫星单机模型模块之间交换数据,调度接口模块执行以下步骤:判断是否有来自卫星星务模型模块的单机遥测请求命令,若有,则转发单机遥测请求命令至虚拟卫星单机模型模块;获取虚拟卫星单机模型
模块反馈的单机遥测数据并转发至卫星星务模型模块;判断是否有上注的遥控指令,若有,则获取相应上注的遥控指令码并转发至卫星星务模型模块;根据上注的遥控指令码调度卫星星务模型模块并获取卫星星务模型模块反馈的调度结果;从卫星星务模型模块获取卫星遥测数据帧并转发至地面解析软件的测控前端;从卫星星务模型模块获取单机遥控命令并转发至虚拟卫星单机模型模块;从卫星星务模型模块获取当前星务周期的单机遥测请求命令并转发至虚拟卫星单机模型模块;判断是否有退出仿真指令,若有,则结束卫星仿真方法;卫星星务模型模块执行以下步骤:从调度接口模块获取上注的遥控指令码并更新星上时以及更新星务周期;从调度接口模块获取最新的单机遥测数据;输出卫星遥测数据帧至调度接口模块;输出单机遥控命令至调度接口模块;输出当前星务周期的单机遥测请求命令并反馈调度结果至调度接口模块。
18.本技术的技术方案在构建卫星星务模型模块的过程中,通过去除卫星星务软件中的操作系统使卫星星务软件可以不依赖操作系统和cpu,通过虚拟化映射卫星星务软件中的硬件读写接口可以模拟真实硬件的读写操作行为,使卫星星务软件运行时可以不依赖硬件cpu或虚拟cpu,卫星星务模型模块可以使修改后的卫星星务软件独立运行,不需要再开发例如虚拟cpu等星务计算机硬件模块,从而可以有效降低卫星仿真系统的开发难度;虚拟卫星外设接口模块的数据结构体以及调度接口模块可以实现卫星星务模型模块和虚拟卫星单机模型模块之间的数据交换;虚拟卫星单机模型模块可以模拟卫星单机和分系统的功能和内部逻辑,以实现整星信息流的闭环。
19.本技术的技术方案以真实的卫星星务软件为基础,可以保证卫星仿真系统最大程度模拟卫星的真实行为和状态,并保留了真实卫星星务软件任务层面的执行逻辑和行为,该卫星仿真系统可以在常规的计算机系统中直接编译成可运行程序,且常规计算机服务器的处理能力较强,可以进一步提升卫星仿真系统的仿真速率至数倍或数十倍,以更好地满足卫星功能测试、验证以及故障应急处理演练等各种应用场景。
附图说明
20.为让本技术的上述目的、特征和优点能更明显易懂,以下结合附图对本技术的具体实施方式作详细说明,其中:
21.图1是本技术一实施例的卫星仿真系统的示例性架构图;
22.图2是本技术另一实施例的卫星仿真系统的示例性架构图;
23.图3是卫星在不同运行周期中需要分别执行不同星务分系统的示例性示意图;
24.图4是本技术一实施例的卫星仿真方法的示例性流程图。
具体实施方式
25.为让本技术的上述目的、特征和优点能更明显易懂,以下结合附图对本技术的具体实施方式作详细说明。
26.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但是本技术还可以采用其它不同于在此描述的其它方式来实施,因此本技术不受下面公开的具体实施例的限制。
27.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一
种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
28.本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
29.本技术提出一种卫星仿真系统,可以应用在模拟卫星功能测试、验证以及故障应急处理演练等场景中。
30.图1是本技术一实施例的卫星仿真系统的示例性架构图,参考图1所示,该卫星仿真系统100,包括卫星星务模型模块110、虚拟卫星外设接口模块120、调度接口模块130、虚拟卫星单机模型模块140以及空间环境模型模块150,其中,卫星星务模型模块110的构建方法包括步骤s001:去除卫星星务软件中的操作系统以及虚拟化映射卫星星务软件中的硬件读写接口;虚拟卫星外设接口模块120包括虚拟卫星外设接口数据结构体,虚拟卫星外设接口数据结构体用于交换卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据;调度接口模块130用于获取并转发卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据;空间环境模型模块150用于模拟卫星所在的空间环境,虚拟卫星单机模型模块140用于模拟卫星单机和/或分系统在空间环境下的功能和内部逻辑。
31.示例性地,卫星星务软件中的操作系统包括vxworks操作系统,去除卫星星务软件中的操作系统包括将操作系统的相关代码删除。
32.本技术的技术方案在构建卫星星务模型模块110的过程中,通过去除卫星星务软件中的操作系统使卫星星务软件可以不依赖操作系统和cpu,通过虚拟化映射卫星星务软件中的硬件读写接口可以模拟真实硬件的读写操作行为,使卫星星务软件运行时可以不依赖硬件cpu或虚拟cpu,卫星星务模型模块110可以使修改后的卫星星务软件独立运行,不需要再开发例如虚拟cpu等星务计算机硬件模块,从而可以有效降低卫星仿真系统100的开发难度;虚拟卫星外设接口模块120的数据结构体以及调度接口模块130可以实现卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据交换;虚拟卫星单机模型模块140可以模拟卫星单机和分系统的功能和内部逻辑,以实现整星信息流的闭环。
33.图2是本技术另一实施例的卫星仿真系统的示例性架构图,参考图2所示,在一些实施例中,卫星星务模型模块110包括虚拟内部寄存器单元111和虚拟星务时钟单元112。卫星星务模型模块110的构建方法还包括以下步骤:
34.步骤s002:将卫星星务软件的内部寄存器地址设置为数组,并生成虚拟内部寄存器单元111。示例性地,内部寄存器地址可以根据实际需求设置为适当大小的数组,以实现虚拟化操作。
35.步骤s003:将卫星星务软件中每个分系统的线程设置为函数,每个分系统的初始化函数仅执行一次。示例性地,分系统例如包括卫星的姿态控制系统。
36.步骤s004:将卫星星务软件中读写数据的方式设置为从虚拟卫星外设接口模块120读写。示例性地,该步骤s004相当于将读写数据的方式映射为对应接口的数据结构体。
37.步骤s005:将卫星星务软件中通过中断触发的数据读写操作重新设置为当数据准备完成时直接触发数据读写操作。
38.步骤s006:构建用于维护星上时的虚拟星务时钟,并生成虚拟星务时钟单元112。示例性地,星上时用于表示卫星时间,虚拟星务时钟单元112可以用一个全局结构体变量表示。
39.步骤s007:将卫星星务软件的存储模式设置为小端模式。
40.步骤s008:将修改后的卫星星务软件编译为动态链接库以生成卫星星务模型模块110。示例性地,编译环境包括windows操作系统。
41.本技术根据前述步骤s001~步骤s008对卫星星务软件进行适配性修改,通过使用适当大小的数组虚拟化内部寄存器、内存和星务时钟等,使修改后的卫星星务软件运行时可以不依赖硬件cpu或虚拟cpu,从而可以独立运行。
42.在一些实施例中,虚拟卫星外设接口数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据的过程包括:当卫星星务模型模块110向虚拟卫星单机模型模块140发送命令时,虚拟卫星外设接口模块120执行以下步骤:
43.步骤s011:根据命令的实际长度为虚拟卫星外设接口数据结构体中的数据指针申请相应大小的内存,并将命令的实际长度赋值给数据有效长度字段;步骤s012:将命令的内容拷贝至数据指针指向的内存中;步骤s013:将是否已更新标志设置为已更新。示例性地,通过步骤s011~步骤s013可以使卫星星务模型模块110完成对虚拟卫星外设接口模块120的写操作,使卫星星务模型模块110可以不依赖于硬件接口进行相应操作,从而可以大幅提高卫星仿真系统100的仿真速率。虚拟卫星外设接口数据结构体的数据结构形式如下所示:
44.typedef struct//虚拟卫星外设接口数据结构体
45.{
46.u8 refresh;//是否已更新标志,1表示已更新,0表示未更新
47.u8*data;//数据指针地址,存储外设接口实际传输的数据
48.u32 length;//数据有效长度字段,表示数据指针地址中存储的有效数据长度
49.}。
50.在一些实施例中,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据的过程还包括:当卫星星务模型模块110从虚拟卫星单机模型模块140接收数据时,虚拟卫星外设接口模块120执行以下步骤:
51.步骤s021:判断是否有虚拟卫星单机数据更新;步骤s022:若有虚拟卫星单机数据更新,则将更新后的虚拟卫星单机数据拷贝至卫星星务模型模块110中对应的虚拟卫星单机数据存储地址;步骤s023:若没有虚拟卫星单机数据更新,则跳过拷贝虚拟卫星单机数据的操作。示例性地,通过步骤s021~步骤s023可以使卫星星务模型模块110完成对虚拟卫星外设接口模块120的读操作,使卫星星务模型模块110可以不依赖于硬件接口进行相应操作,从而可以大幅提高卫星仿真系统100的仿真速率。
52.在一些实施例中,卫星星务模型模块110和虚拟卫星单机模型模块140之间交换的数据包括:单机遥测请求命令、单机遥测数据、上注的遥控指令码、卫星遥测数据帧以及单机遥控命令中的一种或多种。示例性地,不同虚拟卫星单机模型的单机遥测数据和上注的遥控指令码可以通过调度接口模块130转发给卫星星务模型模块110。卫星星务模型模块110发出的卫星遥测数据帧、单机遥控命令和单机遥测请求命令可以通过调度接口模块130
传输至虚拟卫星单机模型模块140。
53.图3是卫星在不同运行周期中需要分别执行不同星务分系统的示例性示意图。在一些实施例中,卫星星务模型模块110包括至少一个运行周期,卫星星务模型模块110顺序执行当前运行周期中的每个分系统功能。示例性地,参考图3所示,卫星星务模型模块110的运行周期包括a周期310、b周期320、c周期330和d周期340,以卫星星务周期为250ms为例,卫星星务模型模块110每执行一个运行周期,卫星的星上时就增加250ms,同时卫星星务模型模块110进入下一个运行周期。每个运行周期执行的星务线程各不相同,在a周期310中,分系统功能包括:星务、采集、轨道、定姿、姿态控制、遥控、遥测和载管;在b周期320中,分系统功能包括:星务、采集、轨道、定姿、姿态控制、遥控、遥测和能源;在c周期330中,分系统功能包括:星务、采集、轨道、定姿、姿态控制、遥测和载管;在d周期340中,分系统功能包括:星务、采集、轨道、定姿、姿态控制、遥测、健康和载管。
54.在一些实施例中,调度接口模块130包括单机遥测数据结构体,单机遥测数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,调度接口模块130获取并转发卫星星务模型模块110和虚拟卫星单机模型模块140之间的数据的过程包括:当调度接口模块130收到虚拟卫星单机模型模块140传输的单机遥测包后,调度接口模块130执行以下步骤:
55.步骤s031:根据单机遥测包的长度申请内存,将数据指针地址指向内存的首地址;步骤s032:拷贝单机遥测包的数据至数据指针地址指向的内存中;步骤s033:更新数据有效长度字段为单机遥测包的长度;步骤s034:将是否已更新标志设置为已更新。示例性地,通过步骤s031~步骤s034,使单机遥测数据结构体中已包括最新的单机遥测数据,调度接口模块130可以不依赖于硬件接口进行相应操作,从而可以大幅提高卫星仿真系统100的仿真速率。
56.示例性地,单机遥测数据结构体与虚拟卫星外设接口数据结构体的数据结构形式可以一致,单机遥测数据结构体的数据结构形式如下所示:
57.typedefstruct//单机遥测数据结构体
58.{
59.u8refresh;//是否已更新标志,1表示已更新,0表示未更新
60.u8*data;//数据指针地址,存储单机遥测数据包
61.u32length;//数据有效长度字段,表示数据指针地址中存储的有效数据长度
62.}。
63.在一些实施例中,卫星星务模型模块110从单机遥测数据结构体中获取数据的步骤包括:判断是否已更新标志为已更新还是未更新,若为已更新,则从数据指针地址中取走单机遥测包的数据,若为未更新,则不作处理。示例性地,卫星星务模型模块110获取到遥控指令码后,需要清除单机遥测数据结构体中的变量,以避免重复执行统一条指令。卫星遥测数据帧、单机遥控命令和单机遥测请求命令等均采用数据结构体形式来存储数据,卫星遥测数据帧会转发至地面解析软件解析显示,单机遥控命令和单机遥测请求命令则会转发至虚拟卫星单机模型模块140中相应的单机模型进行处理。
64.参考图2所示,在一些实施例中,虚拟卫星外设接口模块120包括通用异步收发传输器单元121(universalasynchronousreceiver/transmitter,uart)、控制器局域网络
单元122(controller area network,can)、同步串口单元123以及卫星轨道指令单元124中的一个或多个。在一些实施例中,虚拟卫星单机模型模块140包括全球导航卫星系统单元141(global navigation satellite system,gnss)、光纤陀螺单元142、星敏感器单元143、反作用轮单元144中的一个或多个。在一些实施例中,空间环境模型模块150包括动力学模型单元151、能源模型单元152以及热控模型单元153中的一个或多个。
65.在一些实施例中,虚拟卫星单机模型模块140和空间环境模型模块150基于编程语言c++中类和对象的概念构建。示例性地,这样可以更好地实现各模块的复用,降低卫星仿真系统100的开发工作量。
66.本技术的技术方案以真实的卫星星务软件为基础,可以保证卫星仿真系统100最大程度模拟卫星的真实行为和状态,并保留了真实卫星星务软件任务层面的执行逻辑和行为,该卫星仿真系统100可以在常规的计算机系统中直接编译成可运行程序,且常规计算机服务器的处理能力较强,可以进一步提升卫星仿真系统100的仿真速率至数倍或数十倍,以更好地满足卫星功能测试、验证以及故障应急处理演练等各种应用场景。
67.本技术还包括一种卫星仿真方法,使用如前文所述的卫星仿真系统100,卫星仿真方法用于在卫星星务模型模块110、调度接口模块130和虚拟卫星单机模型模块140之间交换数据。图4是本技术一实施例的卫星仿真方法的示例性流程图,参考图2和图4所示,图4的左边虚线框中流程的执行主体是调度接口模块130,图4的右边虚线框中流程的执行主体是卫星星务模型模块110。卫星仿真方法开始执行后,在步骤s410加载卫星星务模型。
68.参考图4所示,调度接口模块130执行以下步骤:在步骤s420判断是否有来自卫星星务模型模块110的单机遥测请求命令,若有单机遥测请求命令,则在步骤s430转发单机遥测请求命令至虚拟卫星单机模型模块140,若无单机遥测请求命令,则跳转至步骤s450;在步骤s440获取虚拟卫星单机模型模块140反馈的单机遥测数据并转发至卫星星务模型模块110;在步骤s450判断是否有上注的遥控指令,若有上注的遥控指令,则在步骤s460获取相应上注的遥控指令码并转发至卫星星务模型模块110,若无上注的遥控指令,则跳转至步骤s470;在步骤s470根据上注的遥控指令码调度卫星星务模型模块110并获取卫星星务模型模块110反馈的调度结果;在步骤s530从卫星星务模型模块110获取卫星遥测数据帧并转发至地面解析软件的测控前端;在步骤s540从卫星星务模型模块110获取单机遥控命令并转发至虚拟卫星单机模型模块140;在步骤s550从卫星星务模型模块110获取当前星务周期的单机遥测请求命令并转发至虚拟卫星单机模型模块140;在步骤s560判断是否有退出仿真指令,若有退出仿真指令,则结束卫星仿真方法,若无退出仿真指令,则跳转至步骤s420。
69.继续参考图4所示,卫星星务模型模块110执行以下步骤:在步骤s480从调度接口模块130获取上注的遥控指令码并更新星上时以及更新星务周期;在步骤s490从调度接口模块130获取最新的单机遥测数据;在步骤s500输出卫星遥测数据帧至调度接口模块130;在步骤s510输出单机遥控命令至调度接口模块130;在步骤s520输出当前星务周期的单机遥测请求命令并反馈调度结果至调度接口模块130(即将调度结果反馈至步骤s470)。
70.示例性地,完整执行上述步骤s420~步骤s560相当于完成了卫星星务软件的一个运行周期,在步骤s560判断是否有退出仿真指令,若没有退出仿真指令,则进入下一个运行周期。退出仿真指令可以由卫星仿真系统100的使用者发出,例如卫星仿真系统100的使用者在人机交互界面点击退出仿真的按键。
71.示例性地,上述的卫星仿真方法可以实施为计算机程序,保存在硬盘中,并可加载到处理器中执行。卫星仿真方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(eprom)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
72.应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理器可以在一个或者多个特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
73.本技术的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本技术的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
74.计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
75.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
76.同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
77.一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说
明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本技术一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

技术特征:
1.一种卫星仿真系统,其特征在于,包括卫星星务模型模块、虚拟卫星外设接口模块、调度接口模块、虚拟卫星单机模型模块以及空间环境模型模块,其中,所述卫星星务模型模块的构建方法包括:去除卫星星务软件中的操作系统以及虚拟化映射所述卫星星务软件中的硬件读写接口;所述虚拟卫星外设接口模块包括虚拟卫星外设接口数据结构体,所述虚拟卫星外设接口数据结构体用于交换所述卫星星务模型模块和所述虚拟卫星单机模型模块之间的数据;所述调度接口模块用于获取并转发所述卫星星务模型模块和所述虚拟卫星单机模型模块之间的数据;所述空间环境模型模块用于模拟卫星所在的空间环境,所述虚拟卫星单机模型模块用于模拟卫星单机和/或分系统在所述空间环境下的功能和内部逻辑。2.如权利要求1所述的卫星仿真系统,其特征在于,所述卫星星务模型模块包括虚拟内部寄存器单元和虚拟星务时钟单元,所述卫星星务模型模块的构建方法还包括:将所述卫星星务软件的内部寄存器地址设置为数组,并生成所述虚拟内部寄存器单元;将所述卫星星务软件中每个分系统的线程设置为函数,所述每个分系统的初始化函数仅执行一次;将所述卫星星务软件中读写数据的方式设置为从所述虚拟卫星外设接口模块读写;将所述卫星星务软件中通过中断触发的数据读写操作重新设置为当数据准备完成时直接触发数据读写操作;构建用于维护星上时的虚拟星务时钟,并生成所述虚拟星务时钟单元;将所述卫星星务软件的存储模式设置为小端模式;以及将修改后的所述卫星星务软件编译为动态链接库以生成所述卫星星务模型模块。3.如权利要求1所述的卫星仿真系统,其特征在于,所述虚拟卫星外设接口数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,根据所述虚拟卫星外设接口数据结构体交换所述卫星星务模型模块和所述虚拟卫星单机模型模块之间的数据的过程包括:当所述卫星星务模型模块向所述虚拟卫星单机模型模块发送命令时,所述虚拟卫星外设接口模块执行以下步骤:根据所述命令的实际长度为所述虚拟卫星外设接口数据结构体中的数据指针申请相应大小的内存,并将所述命令的实际长度赋值给所述数据有效长度字段;将所述命令的内容拷贝至所述数据指针指向的所述内存中;将所述是否已更新标志设置为已更新。4.如权利要求3所述的卫星仿真系统,其特征在于,根据所述虚拟卫星外设接口数据结构体交换所述卫星星务模型模块和所述虚拟卫星单机模型模块之间的数据的过程还包括:当所述卫星星务模型模块从所述虚拟卫星单机模型模块接收数据时,所述虚拟卫星外设接口模块执行以下步骤:判断是否有虚拟卫星单机数据更新;若有虚拟卫星单机数据更新,则将更新后的虚拟卫星单机数据拷贝至所述卫星星务模型模块中对应的虚拟卫星单机数据存储地址;若没有虚拟卫星单机数据更新,则跳过拷贝虚拟卫星单机数据的操作。
5.如权利要求1所述的卫星仿真系统,其特征在于,所述卫星星务模型模块和所述虚拟卫星单机模型模块之间交换的数据包括:单机遥测请求命令、单机遥测数据、上注的遥控指令码、卫星遥测数据帧以及单机遥控命令中的一种或多种。6.如权利要求1所述的卫星仿真系统,其特征在于,所述卫星星务模型模块包括至少一个运行周期,所述卫星星务模型模块顺序执行当前运行周期中的每个分系统功能。7.如权利要求1所述的卫星仿真系统,其特征在于,所述调度接口模块包括单机遥测数据结构体,所述单机遥测数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,所述调度接口模块获取并转发所述卫星星务模型模块和所述虚拟卫星单机模型模块之间的数据的过程包括:当所述调度接口模块收到所述虚拟卫星单机模型模块传输的单机遥测包后,所述调度接口模块执行以下步骤:根据所述单机遥测包的长度申请内存,将所述数据指针地址指向所述内存的首地址;拷贝所述单机遥测包的数据至所述数据指针地址指向的所述内存中;更新所述数据有效长度字段为所述单机遥测包的长度;将所述是否已更新标志设置为已更新。8.如权利要求7所述的卫星仿真系统,其特征在于,所述卫星星务模型模块从所述单机遥测数据结构体中获取数据的步骤包括:判断所述是否已更新标志为已更新还是未更新,若为所述已更新,则从所述数据指针地址中取走所述单机遥测包的数据,若为所述未更新,则不作处理。9.如权利要求1所述的卫星仿真系统,其特征在于,所述虚拟卫星外设接口模块包括通用异步收发传输器单元、控制器局域网络单元、同步串口单元以及卫星轨道指令单元中的一个或多个。10.如权利要求1所述的卫星仿真系统,其特征在于,所述虚拟卫星单机模型模块包括全球导航卫星系统单元、光纤陀螺单元、星敏感器单元、反作用轮单元中的一个或多个。11.如权利要求1所述的卫星仿真系统,其特征在于,所述空间环境模型模块包括动力学模型单元、能源模型单元以及热控模型单元中的一个或多个。12.如权利要求1所述的卫星仿真系统,其特征在于,所述虚拟卫星单机模型模块和所述空间环境模型模块基于编程语言c++中类和对象的概念构建。13.一种卫星仿真方法,使用如权利要求1-12任一项所述的卫星仿真系统,所述卫星仿真方法用于在卫星星务模型模块、调度接口模块和虚拟卫星单机模型模块之间交换数据,其特征在于,所述调度接口模块执行以下步骤:判断是否有来自所述卫星星务模型模块的单机遥测请求命令,若有,则转发所述单机遥测请求命令至所述虚拟卫星单机模型模块;获取所述虚拟卫星单机模型模块反馈的单机遥测数据并转发至所述卫星星务模型模块;判断是否有上注的遥控指令,若有,则获取相应上注的遥控指令码并转发至所述卫星星务模型模块;根据所述上注的遥控指令码调度所述卫星星务模型模块并获取所述卫星星务模型模块反馈的调度结果;从所述卫星星务模型模块获取卫星遥测数据帧并转发至地面解析软件的测控前端;从所述卫星星务模型模块获取单机遥控命令并转发至所述虚拟卫星单机模型模块;从所述卫星星务模型模块获取当前星务周期的单机遥测请求命令并转发至所述虚拟卫星单机模型模块;判断是否有退出仿真指令,若有,则结束所述卫星仿真方法;
所述卫星星务模型模块执行以下步骤:从所述调度接口模块获取所述上注的遥控指令码并更新星上时以及更新星务周期;从所述调度接口模块获取最新的单机遥测数据;输出卫星遥测数据帧至所述调度接口模块;输出单机遥控命令至所述调度接口模块;输出当前星务周期的单机遥测请求命令并反馈所述调度结果至所述调度接口模块。

技术总结
本发明涉及卫星仿真系统及卫星仿真方法,该卫星仿真系统包括卫星星务模型模块、虚拟卫星外设接口模块、调度接口模块、虚拟卫星单机模型模块和空间环境模型模块,卫星星务模型模块的构建方法包括:去除卫星星务软件中的操作系统和虚拟化映射卫星星务软件中的硬件读写接口;虚拟卫星外设接口模块包括用于交换卫星星务模型模块和虚拟卫星单机模型模块之间数据的虚拟卫星外设接口数据结构体;调度接口模块用于获取并转发卫星星务模型模块和虚拟卫星单机模型模块之间的数据;空间环境模型模块用于模拟卫星所在的空间环境,虚拟卫星单机模型模块用于模拟卫星单机和/或分系统在空间环境下的功能和内部逻辑。本发明可以提升卫星仿真系统的仿真速率。真系统的仿真速率。真系统的仿真速率。


技术研发人员:刘虎 郑倩云 虞业泺 李立 俞天佑 郑柯 李畅然 李梦蕾
受保护的技术使用者:上海微小卫星工程中心
技术研发日:2023.05.10
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐