卫星仿真系统及卫星仿真方法

文档序号:35130301发布日期:2023-08-15 02:40阅读:301来源:国知局
卫星仿真系统及卫星仿真方法与流程

本发明主要涉及卫星仿真,具体地涉及一种卫星仿真系统及卫星仿真方法。


背景技术:

1、卫星的数字化仿真技术正在不断发展,可以使用卫星仿真系统来模拟卫星任务的准备阶段和执行阶段等。随着卫星的任务种类越来越复杂,卫星进入任务前的准备时间以及执行任务流程的时间可能越来越长,通常需要数小时甚至更长时间,若卫星仿真系统采用1倍速的仿真速率来模拟卫星的工作情况,会导致卫星仿真系统的使用者需要等待较长时间才能完成整个卫星仿真任务,严重影响卫星研究人员的工作效率,因此在实际使用卫星仿真系统的过程中,希望卫星仿真系统能有较快的仿真速率。

2、现有的卫星仿真系统主要基于虚拟cpu的方式实现,在虚拟cpu内加载卫星星务软件以模拟真实的卫星状态。但是基于虚拟cpu的卫星仿真系统,其仿真速率基本为1至2倍速,卫星仿真系统的使用者在完整的卫星仿真任务中仍然要花费大量时间,存在卫星仿真系统的仿真速率过于低下,影响卫星研究人员工作效率的问题。


技术实现思路

1、本技术所要解决的技术问题是提供一种卫星仿真系统及卫星仿真方法,可以提升卫星仿真系统的仿真速率。

2、本技术为解决上述技术问题而采用的技术方案是一种卫星仿真系统,包括卫星星务模型模块、虚拟卫星外设接口模块、调度接口模块、虚拟卫星单机模型模块以及空间环境模型模块,其中,卫星星务模型模块的构建方法包括:去除卫星星务软件中的操作系统以及虚拟化映射卫星星务软件中的硬件读写接口;虚拟卫星外设接口模块包括虚拟卫星外设接口数据结构体,虚拟卫星外设接口数据结构体用于交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据;调度接口模块用于获取并转发卫星星务模型模块和虚拟卫星单机模型模块之间的数据;空间环境模型模块用于模拟卫星所在的空间环境,虚拟卫星单机模型模块用于模拟卫星单机和/或分系统在空间环境下的功能和内部逻辑。

3、在本技术的一实施例中,卫星星务模型模块包括虚拟内部寄存器单元和虚拟星务时钟单元,卫星星务模型模块的构建方法还包括:将卫星星务软件的内部寄存器地址设置为数组,并生成虚拟内部寄存器单元;将卫星星务软件中每个分系统的线程设置为函数,每个分系统的初始化函数仅执行一次;将卫星星务软件中读写数据的方式设置为从虚拟卫星外设接口模块读写;将卫星星务软件中通过中断触发的数据读写操作重新设置为当数据准备完成时直接触发数据读写操作;构建用于维护星上时的虚拟星务时钟,并生成虚拟星务时钟单元;将卫星星务软件的存储模式设置为小端模式;以及将修改后的卫星星务软件编译为动态链接库以生成卫星星务模型模块。

4、在本技术的一实施例中,虚拟卫星外设接口数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程包括:当卫星星务模型模块向虚拟卫星单机模型模块发送命令时,虚拟卫星外设接口模块执行以下步骤:根据命令的实际长度为虚拟卫星外设接口数据结构体中的数据指针申请相应大小的内存,并将命令的实际长度赋值给数据有效长度字段;将命令的内容拷贝至数据指针指向的内存中;将是否已更新标志设置为已更新。

5、在本技术的一实施例中,根据虚拟卫星外设接口数据结构体交换卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程还包括:当卫星星务模型模块从虚拟卫星单机模型模块接收数据时,虚拟卫星外设接口模块执行以下步骤:判断是否有虚拟卫星单机数据更新;若有虚拟卫星单机数据更新,则将更新后的虚拟卫星单机数据拷贝至卫星星务模型模块中对应的虚拟卫星单机数据存储地址;若没有虚拟卫星单机数据更新,则跳过拷贝虚拟卫星单机数据的操作。

6、在本技术的一实施例中,卫星星务模型模块和虚拟卫星单机模型模块之间交换的数据包括:单机遥测请求命令、单机遥测数据、上注的遥控指令码、卫星遥测数据帧以及单机遥控命令中的一种或多种。

7、在本技术的一实施例中,卫星星务模型模块包括至少一个运行周期,卫星星务模型模块顺序执行当前运行周期中的每个分系统功能。

8、在本技术的一实施例中,调度接口模块包括单机遥测数据结构体,单机遥测数据结构体包括是否已更新标志、数据指针地址以及数据有效长度字段,调度接口模块获取并转发卫星星务模型模块和虚拟卫星单机模型模块之间的数据的过程包括:当调度接口模块收到虚拟卫星单机模型模块传输的单机遥测包后,调度接口模块执行以下步骤:根据单机遥测包的长度申请内存,将数据指针地址指向内存的首地址;拷贝单机遥测包的数据至数据指针地址指向的内存中;更新数据有效长度字段为单机遥测包的长度;将是否已更新标志设置为已更新。

9、在本技术的一实施例中,卫星星务模型模块从单机遥测数据结构体中获取数据的步骤包括:判断是否已更新标志为已更新还是未更新,若为已更新,则从数据指针地址中取走单机遥测包的数据,若为未更新,则不作处理。

10、在本技术的一实施例中,虚拟卫星外设接口模块包括通用异步收发传输器单元、控制器局域网络单元、同步串口单元以及卫星轨道指令单元中的一个或多个。

11、在本技术的一实施例中,虚拟卫星单机模型模块包括全球导航卫星系统单元、光纤陀螺单元、星敏感器单元、反作用轮单元中的一个或多个。

12、在本技术的一实施例中,空间环境模型模块包括动力学模型单元、能源模型单元以及热控模型单元中的一个或多个。

13、在本技术的一实施例中,虚拟卫星单机模型模块和空间环境模型模块基于编程语言c++中类和对象的概念构建。

14、本技术为解决上述技术问题还提出一种卫星仿真方法,使用如上的卫星仿真系统,卫星仿真方法用于在卫星星务模型模块、调度接口模块和虚拟卫星单机模型模块之间交换数据,调度接口模块执行以下步骤:判断是否有来自卫星星务模型模块的单机遥测请求命令,若有,则转发单机遥测请求命令至虚拟卫星单机模型模块;获取虚拟卫星单机模型模块反馈的单机遥测数据并转发至卫星星务模型模块;判断是否有上注的遥控指令,若有,则获取相应上注的遥控指令码并转发至卫星星务模型模块;根据上注的遥控指令码调度卫星星务模型模块并获取卫星星务模型模块反馈的调度结果;从卫星星务模型模块获取卫星遥测数据帧并转发至地面解析软件的测控前端;从卫星星务模型模块获取单机遥控命令并转发至虚拟卫星单机模型模块;从卫星星务模型模块获取当前星务周期的单机遥测请求命令并转发至虚拟卫星单机模型模块;判断是否有退出仿真指令,若有,则结束卫星仿真方法;卫星星务模型模块执行以下步骤:从调度接口模块获取上注的遥控指令码并更新星上时以及更新星务周期;从调度接口模块获取最新的单机遥测数据;输出卫星遥测数据帧至调度接口模块;输出单机遥控命令至调度接口模块;输出当前星务周期的单机遥测请求命令并反馈调度结果至调度接口模块。

15、本技术的技术方案在构建卫星星务模型模块的过程中,通过去除卫星星务软件中的操作系统使卫星星务软件可以不依赖操作系统和cpu,通过虚拟化映射卫星星务软件中的硬件读写接口可以模拟真实硬件的读写操作行为,使卫星星务软件运行时可以不依赖硬件cpu或虚拟cpu,卫星星务模型模块可以使修改后的卫星星务软件独立运行,不需要再开发例如虚拟cpu等星务计算机硬件模块,从而可以有效降低卫星仿真系统的开发难度;虚拟卫星外设接口模块的数据结构体以及调度接口模块可以实现卫星星务模型模块和虚拟卫星单机模型模块之间的数据交换;虚拟卫星单机模型模块可以模拟卫星单机和分系统的功能和内部逻辑,以实现整星信息流的闭环。

16、本技术的技术方案以真实的卫星星务软件为基础,可以保证卫星仿真系统最大程度模拟卫星的真实行为和状态,并保留了真实卫星星务软件任务层面的执行逻辑和行为,该卫星仿真系统可以在常规的计算机系统中直接编译成可运行程序,且常规计算机服务器的处理能力较强,可以进一步提升卫星仿真系统的仿真速率至数倍或数十倍,以更好地满足卫星功能测试、验证以及故障应急处理演练等各种应用场景。

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