首页> 中国专利> 一种用于微纳卫星控制模块开发测试的星务模拟器及方法

一种用于微纳卫星控制模块开发测试的星务模拟器及方法

摘要

本发明公开一种用于微纳卫星控制模块开发测试的星务模拟器及方法,所述的星务模拟器采用一体化功能设计和通用化接口设计,包括星务模拟器硬件、指令文件和星务模拟器应用程序三个部分;所述的星务模拟器硬件用于运行星务模拟器应用程序并与外系统建立数据通信;指令文件负责描述控制模块测试使用的指令、指令序列、数据块和数据块序列;星务模拟器应用程序负责驱动板卡工作、读取指令文件、处理总线通讯数据、执行与管理测试流程等。本发明的星务模拟器灵活性好、通用性强,可支持不同型号微纳卫星处于不同开发完成度阶段的控制模块进行测试,满足微纳卫星“边设计、边测试”的需求;此外,它还具备一定的自动化测试能力。

著录项

  • 公开/公告号CN106598019A

    专利类型发明专利

  • 公开/公告日2017-04-26

    原文格式PDF

  • 申请/专利权人 航天东方红卫星有限公司;

    申请/专利号CN201610932076.7

  • 发明设计人 陈雄姿;谢松;于灵慧;

    申请日2016-10-31

  • 分类号G05B23/02(20060101);H04B7/185(20060101);

  • 代理机构11009 中国航天科技专利中心;

  • 代理人安丽

  • 地址 100094 北京市海淀区北京市5616信箱

  • 入库时间 2023-06-19 01:59:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-19

    授权

    授权

  • 2017-05-24

    实质审查的生效 IPC(主分类):G05B23/02 申请日:20161031

    实质审查的生效

  • 2017-04-26

    公开

    公开

说明书

技术领域

本发明属于小卫星姿态与轨道控制技术领域,具体涉及一种用于微纳卫星控制模块开发测试的星务模拟器及方法。

背景技术

卫星的控制分系统负责卫星姿态和轨道的控制,其性能直接关系到卫星在轨能否成功完成规定的任务以及任务完成的质量。为了确保卫星控制分系统的有效性和可靠性,在卫星发射前需要在地面对其进行严格的测试。地面测试一般包括分系统测试和整星测试两个阶段,其中分系统测试阶段耗时最长、能曝露的问题也最多,是非常关键的环节。在分系统测试阶段,需要通过模拟卫星星务分系统,向控制分系统发送各种数据轮询指令、间接指令和数据块(含程序块)等,来实现控制分系统的各项软硬件功能和性能的验证确认。

现有资料中关于卫星控制分系统测试使用的星务模拟器的实现方法的记录很少,可检索到的一种方法是基于单片机来实现星务模拟器(张万利,蒋庆华,胡越欣等.可在线控制的多功能星务模拟器设计.第二十二届全国空间探测学术讨论会,2009:227-230),该方法仅模拟了星务的数据中转功能,一端通过RS-422总线连接遥控遥测上位机,另一端通过CAN总线连接卫星控制分系统。这种架构在进行指令和数据块发送以及遥测数据接收时,都需要在两种总线之间进行来回的数据格式转换,这不仅影响效率,同时也增加了出现问题的风险。另外,单片机程序也非常不便于在测试过程中进行修改和调试,这就要求提前确定好控制分系统和星务分系统之间所有需要用到的遥控指令、数据块、遥测参数和接口协议等。因此,这类架构比较适合于针对已经开发完成的或者非常成熟的卫星控制分系统进行测试。

微纳卫星广泛地采用微电子、微机电等高新技术,具有研制周期短、成本低、发射灵活和可编队组网等突出优点,当前已经成为小卫星的一个重要发展方向。为了尽可能的缩短微纳卫星的研制周期,各功能模块一般均需遵循“边设计、边测试”的原则。在控制模块设计开发的全过程中各项功能、指令数据、参数数据以及接口协议是逐步完善的,然而通常情况下控制模块的设计开发工作与星务模拟器的开发工作会由不同的人员来完成,这就要求测试用的星务模拟器能供控制模块设计开发人员根据研制进度方便灵活的做出适应性的更改;另外,微纳卫星型号研制任务较多,为了降低研制成本,星务模拟器应该具有通用性,能够在多批次不同型号的微纳卫星控制模块开发测试中重复使用。

发明内容

本发明所要解决的技术问题是:克服现有技术的不足,提供一种适用于微纳卫星控制模块开发测试的星务模拟器及实现方法。该星务模拟器采用一体化功能设计和通用指令接口设计,可灵活用于对不同型号微纳卫星的处于不同开发完成度阶段的控制模块进行测试,充分满足微纳卫星“边设计、边测试”的需求。

本发明的技术方案是:一种用于微纳卫星控制模块开发测试的星务模拟器,所述星务模拟器采用一体化功能设计和通用化接口设计,一方面将遥控指令发送与星务数据中转两项功能融为一体,另一方面采用标准化的指令文件来表示和管理测试中需要使用指令和数据块;所述星务模拟器包括星务模拟器硬件、指令文件和星务模拟器应用程序三个部分;

所述星务模拟器硬件,主体是一台工控机,其内部配置一块PCI RS-422总线卡、一块PCI CAN总线卡和一块以太网卡;所述工控机负责运行整个星务模拟器应用程序;所述PCI RS-422总线卡用于同动力学仿真计算机进行通信,发送GNSS数据轮询指令,实时获取GNSS数据;所述PCI CAN总线卡用于向微纳卫星控制模块发送轮询指令、间接指令、数据块、星时广播数据和GPS广播数据,同时接收控制模块返回的指令应答、速变和缓变遥测、重要保存数据以及内存下卸数据;所述以太网卡用于通过UDP协议向数据库和遥测显示前端发送速变和缓变遥测数据;

所述指令文件,采用规范统一的XML模板来表示和管理微纳卫星控制模块测试过程中所有需要用到的间接指令、数据块以及为了提高测试自动化水平而设计的间接指令序列和数据块序列,供星务模拟器应用程序读取和使用;所述指令文件分为间接指令合集文件、间接指令序列文件、数据块文件和数据块序列文件四类;对于任意某颗卫星,间接指令合集文件只有一个,包含了所有的间接指令;每一个间接指令序列、数据块以及数据块序列都会拥有自己单独的一个文件;

所述星务模拟器应用程序,负责让用户进行间接指令和数据块的发送操作、读取XML格式指令文件、驱动星务模拟器硬件中的RS-422总线卡、CAN总线卡和以太网卡与外系统进行通信、处理接收到的总线通信数据、执行与管理测试流程等;所述星务模拟器应用程序基于.net架构实现,包含板卡驱动模块、通用指令接口模块、RS-422总线通讯数据处理模块、CAN总线通讯数据处理模块、测试流程执行与管理模块以及用户操作与结果显示窗体模块六个功能模块。

所述指令文件均由基本信息表和指令列表组成;所述基本信息表的属性包括卫星名称和指令类型,所述的指令列表中每一条指令都至少包含指令名称、指令数据、指令长度、发送标识符、接收标识符、响应时间阈值、响应数据长度和正确响应数据等八个属性;对于所述指令序列文件和数据块序列文件,指令列表中的每一条指令还增加一个执行时间属性。

所述板卡驱动模块,用于驱动CAN总线卡、RS-422总线卡和以太网卡执行数据收发功能,实现与外系统的数据交互;

所述通用指令接口模块,基于.net中XML组件来实现指令文件的读取,定义CommandData类,它具有指令文件基本信息表和指令列表的所有属性,通过建立该类的实例和数组来存放读入的间接指令或者数据块的信息;

所述RS-422总线通讯数据处理模块,负责根据广播数据协议将从动力学仿真计算机轮询到的GNSS数据拆解为星时广播数据和GPS广播数据;

所述CAN总线通讯数据处理模块,负责在同微纳卫星控制模块通信过程中对发送的轮询指令、间接指令、数据块、星时广播数据和GPS广播数据按照CAN总线标准帧格式进行组帧操作,对接收到的指令应答、速变遥测、缓变遥测、重要保存数据和内存下卸数据等响应数据进行解帧操作;

所述测试流程执行与管理模块,负责调用板卡驱动模块、通用指令接口模块、RS-422总线通讯数据处理模块和CAN总线通讯数据处理模块执行测试任务;

所述用户操作与结果显示窗体模块,提供用户操作界面,分别设置GNSS数据轮询使能、速变遥测轮询使能、缓变遥测轮询使能、重要保存数据轮询使能和内存下卸轮询使能;控制测试的开始和停止;提供间接指令、间接指令序列、数据块、数据块序列的列表显示供用户选择发送;该模块能够源码显示指令应答、速变和缓变遥测数据、重要保存数据以及内存下卸数据;同时,还能显示星时和指令发送是否成功信息。

所述测试流程执行与管理模块实现为:为实现轮询,以1秒为周期,循环执行测试任务,计时器利用.net中的Timer计时器组件实现,每隔一秒钟触发一次事件执行一个周期内的测试任务;为了避免CAN总线通信发生冲突,单个周期内的任务顺序执行;所述单个周期内的任务包括:①轮询GNSS数据,转发星时广播和GPS广播;②轮询与转发速变遥测;③回送重要保存数据;④轮询与转发缓变遥测;⑤轮询重要保存数据;⑥轮询内存下卸数据;⑦发送间接指令;⑧发送数据块;⑨发送间接指令序列;⑩发送数据块序列。

一种用于微纳卫星控制模块开发测试的星务模拟方法,包括以下步骤:

步骤①:启动星务模拟器应用程序;

步骤②:选择被测微纳卫星名称后,星务模拟器自动读取对应的XML间接指令合集文件并扫描所有其它指令文件的名称,完成用户界面的初始化;同时用户根据测试需要设置GNSS数据轮询使能、速变遥测轮询使能、缓变遥测轮询使能、重要保存数据轮询使能和内存下卸轮询使能;

步骤③:启动测试,自动开始计时;

步骤④:在一个计时周期内,星务模拟器根据使能设置状态以及指令与数据块的发送请求开始顺序执行各项任务;测试过程中,用户同样可根据测试需要更改各项使能设置的状态,用户可以自由选择需要发送的任意间接指令、间接指令序列、数据块和数据块序列;

步骤⑤:计时周期结束,检查用户是否要求停止测试;若是,停止计时,暂停测试;否者,回到步骤④,开始新的一个计时周期;测试暂停后,用户可重新启动测试,回到步骤③;

步骤⑥:如果测试结束,关闭星务模拟器应用程序。

本发明与现有技术相比的优点在于:

(1)本发明采用了一体化的设计,将遥控指令发送与星务数据中转两项功能融为一体,相比于现有的星务模拟器设计,它不仅满足微纳控制模块测试的功能要求,还能够减少风险环节,提高数据传输效率。

(2)本发明的灵活性好、通用性强,将间接指令、间接指令序列、数据块和数据块序列均采用统一格式的XML文件来描述;当在微纳卫星控制模块开发测试过程中需要增加或者修改指令时,只需相应修改这些文件即可,无需对星务模拟器本身做出更改,非常有利于微纳卫星控制模块的开发与调试;对于不同型号的微纳卫星控制模块测试,也只需编写相应的XML指令文件即可。此外,本发明可以对各种轮询使能进行自由设置,能够支持处于不同开发完成度阶段的微纳卫星控制模块进行测试。这些都特别符合微纳卫星“边设计、边测试”的需求。

(3)本发明具备一定的自动化测试能力,通过调用间接指令序列和数据块序列的方式,实现了程控定时发送指令和指令块的功能,能够简化用户的现场操作。

附图说明

图1为本发明提供的星务模拟器结构图;

图2为星务模拟器XML指令文件格式与读取方法图;

图3为星务模拟器CAN指令处理模块组帧格式图;

图4为星务模拟方法的流程图。

具体实施方式

下面结合附图对本发明提供的星务模拟器及其实现方法进行详细说明。

如图1所示,本发明提供一种用于微纳卫星控制模块开发测试的星务模拟器,其采用一体化功能设计和通用化接口设计,主要由星务模拟器硬件、指令文件以及星务模拟器应用程序三个部分组成。

(1)星务模拟器的外部信息接口与硬件配置

在微纳卫星控制模块的测试过程中,为了真实模拟星上星务模块与控制模块的通信机制,本发明中星务模拟器与外系统的信息交互逻辑关系设计为:

①通过RS-422总线轮询动力学仿真计算机,获取实时的GNSS数据;

②通过CAN总线与微纳卫星控制模块实现数据交互,星务模拟器向控制模块发送间接指令、数据块、星时广播和GPS广播,同时接收对方返回的指令应答信息、速变和缓变遥测、重要保存数据和内存下卸数据等;

③通过以太网向数据库和遥测显示前端发送速变和缓变遥测。

本发明中星务模拟器硬件是与外系统进行数据交互的基础,如图1所示,其主体是一台工控机,内部配置了一块PCI CAN总线卡、一块PCI RS-422总线卡和一块以太网卡。它们均直接选用商用货架产品,只需满足以下基本指标要求即可:工控机用于运行整个星务模拟器应用程序,配置不低于:Intel(R)Pentium(R)4CPU、主频2.8G、内存2G;PCI CAN总线卡要求至少具有两路CAN总线接口,支持CAN2.0A标准和不低于1Mbps的传输速率;PCI RS-422总线卡要求至少支持两路串口;以太网卡要求支持UDP网络传输协议。

(2)指令文件实现方法

微纳卫星控制模块用到的指令可分为三类,分别是轮询指令、间接指令和数据块。其中轮询指令包括GNSS数据轮询指令、速变遥测轮询指令、缓变遥测轮询指令、重要保存数据轮询指令和内存下卸轮询指令。由于轮询指令个数较少且一旦确定一般不做更改,同时在测试过程中又需要周期性反复的调用,因此本发明将它们固化到程序里,对于不同型号的卫星也只需做少量适应性的修改。

本发明中指令文件用于表示和管理微纳卫星控制模块测试过程中所有需要用到的间接指令和数据块,以及为了提高测试自动化水平引入的间接指令序列和数据块序列,如图1所示。指令文件是星务模拟器通用化设计的纽带。在微纳卫星控制模块“边设计、边测试”的过程中,间接指令和数据块是逐步完善的,测试过程中需要经常性地增减或者修改这些指令。因此,本发明中指令文件均采用标准格式的XML文件,其具有人为可读性强、便于手动编辑且易于计算机读写的突出优点。如图2所示,XML指令文件可分为间接指令合集文件、间接指令序列文件、数据块文件和数据块序列文件。其中,间接指令合集文件只有一个,包含了所有的间接指令,而每一个间接指令序列、数据块和数据块序列都会拥有自己单独的一个文件。

本发明中指令文件均由基本信息表和指令列表组成,如图2所示。基本信息表的属性包括卫星名称和指令类型,其中卫星名称指的是该指令所属卫星的名称,避免不同卫星之间指令相互混淆;指令类型一般可分为:间接指令合集、间接指令序列、数据块和数据块序列四种。指令列表中每一条指令都至少包含指令名称、指令数据、指令长度、发送标识符、接收标识符、响应时间阈值、响应数据长度和正确响应数据等八个属性。其中:指令名称为该指令在星务模拟器中的唯一标识,由控制系统设计人员决定;指令数据是需要发送指令的十六进制数值;指令长度为指令的字节数;发送标识符为指令发送时CAN总线标识符;接收标识符为接收响应信息时的CAN总线标识符;响应时间阈值为指令发送后接收反馈信息允许的最大时间间隔,若在规定的时间内没有响应则指令发送失败;响应数据长度供接收响应信息时使用;正确响应数据用于和接收到的真实响应数据做比对,判断指令是否发送成功。

本发明中间接指令合集文件,其指令列表包含很多条指令,每一条指令都具有上述属性;对于数据块文件,指令信息表只包含一个数据块指令,此时该文件的名称与指令名称相同。而对于指令序列文件和数据块序列文件,指令列表分别包含多个间接指令和数据块,且它们每一项都需要增加一个“执行时间”属性,该属性表示的是该条指令执行时间点与序列启用时间点的相对时间间隔,单位为计数周期,其值大小可设,需保持不断增大。

本发明中的指令文件供星务模拟器应用程序中用户操作与结果显示窗体模块和通用指令接口模块读取和调用,如图1所示。

(3)星务模拟器应用程序实现方法

本发明中星务模拟器应用程序全部基于微软公司的.net架构实现,包含板卡驱动模块、通用指令接口模块、RS-422总线通讯数据处理模块、CAN总线通讯数据处理模块、测试流程执行与管理模块以及用户操作与结果显示窗体模块六个功能模块。

本发明中板卡驱动模块用于驱动CAN总线卡、RS-422总线卡和以太网卡执行数据收发功能。其中,CAN总线卡一般都提供C语言格式的驱动程序,可通过.net直接调用;而对于RS-422总线卡和以太网卡,可分别使用.net开发环境自带的SerialPort串口组件和Socket组件实现驱动。本发明中以太网卡采用UDP组播的通讯方式,仅需要数据发送接口,这样设计的好处在可以有效避免数据库和遥测显示前端对模拟器工作的影响。

本发明中通用指令接口模块基于.net中XML组件来实现指令文件的读取,方法如图2所示。定义CommandData类,具有指令文件基本信息表和指令列表中的所有属性,用于存储单条间接指令或者数据块的信息。对于间接指令合集文件,只需读取一次,定义一个CommandData类的数组存储所有间接指令;同时由于微纳卫星控制模块间接指令在测试过程中是不断完善的,其数目会动态变化,需要先以List形式读入,再转为数组。对于数据块文件,每次根据需要发送的数据块的名称,读取同名的XML文件,保存为CommandData类的一个实例。对于间接指令序列文件和数据块序列文件,每次根据需要发送的序列名称,选择同名的XML文件,其读取方法与间接指令合集文件读取方法完全一致,需要再定义两个该类的数组。

本发明中RS-422总线通讯数据处理模块负责根据广播数据协议将从动力学仿真计算机轮询到的GNSS数据拆解为星时广播数据和GPS广播数据,供CAN总线通讯数据处理模块做进一步处理。

本发明中CAN总线通讯数据处理模块负责在CAN总线通讯过程中进行组帧和解帧,处理方法如图3所示。本发明中CAN总线上数据的发送与接收采用的是标准帧,包含11比特位的ID标识符和8字节长度的数据。对于轮询指令和间接指令,单帧就可以完成传输,但对于数据长度较长的数据块和广播数据,则需要分配到多帧传输。组帧操作在发送数据时使用,其步骤为:①根据轮询指令、广播数据或者经通用指令接口模块读入的间接指令、数据块的指令长度属性值计算所需帧的数目;②将指令发送标识符属性值填充到所有帧的ID标识符;③所有帧数据区的第一个字节填充帧序号;④首帧数据区第二个字节填充指令数据长度;⑤其它数据区依次填充指令数据;⑥尾帧最后一个字节是校验和。解帧是组帧的逆操作,在接收控制模块的响应数据时使用。

本发明中测试流程执行与管理模块负责调用板卡驱动模块、通用指令接口模块、RS-422总线通讯数据处理模块和CAN总线通讯数据处理模块执行测试任务。为实现轮询,以1秒周期,循环执行测试任务,计时器利用.net中的Timer计时器组件实现,每隔一秒钟触发一次事件执行一个周期内的测试任务。为了避免CAN总线通信发生冲突,单个周期内的任务顺序执行,如图4所示:

任务①:轮询GNSS数据,转发星时广播和GPS广播。通过RS-422总线向姿态动力学计算机轮询当前GNSS数据,经RS-422总线通讯数据处理模块处理后得到星时广播和GPS广播,然后再通过CAN总线将广播数据发送给控制模块。

任务②:轮询与转发速变遥测。通过CAN总线向控制模块发送速变遥测轮询指令,并将接收的速变遥测数据在以太网局域网内通过UDP组播方式进行发送。

任务③:回送重要保存数据。若速变遥测有申请星务返回重要保存数据,通过CAN总线向控制模块回送最近一次收到的重要保存数据。

任务④:轮询与转发缓变遥测(轮询周期根据型号协议来定)。通过CAN总线向控制模块发送缓变遥测轮询指令,并将接收的遥测数据在以太网局域网内通过UDP组播方式进行发送。

任务⑤:轮询重要保存数据(轮询周期根据型号协议来定)。通过CAN总线向控制模块发送重要保存数据轮询指令,并接收重要保存数据。

任务⑥:轮询内存下卸数据。通过CAN总线向控制模块发送内存下卸轮询指令,并接收内存下卸数据。

任务⑦:发送间接指令。查询用户操作与结果显示窗体模块是否要求发送间接指令;若有,依据指令名称在间接指令合集中检索后发送,然后接收响应信息。

任务⑧:发送数据块。查询用户操作与结果显示窗体模块是否要求发送数据块;若有,依靠通用指令接口模块读取与数据块同名的指令文件,经CAN总线通讯数据处理模块处理后发送,然后接收响应信息。

任务⑨:发送间接指令序列。查询用户操作与结果显示窗体模块是否要求发送新的间接指令序列或者是否有未发送完毕的指令序列;若是,根据指令序列中指令的“执行时间”属性,确定该周期内是否存在指令需要发送;若存在,依据指令名称在间接指令合集中检索后发送,然后接收响应信息。

任务⑩:发送数据块序列。查询用户操作与结果显示窗体模块是否要求发送新的数据块序列或者是否有未上注完毕的数据块;若是,根据数据块序列中数据块的“执行时间”属性,确定该周期内是否存在数据块需要发送;若存在,读取数据块指令文件,经处理后发送,然后接收响应信息。

本发明中上述任务⑦至任务⑩在接收指令响应信息时,若在指令“响应时间阈值”时间内接收到“正确响应数据”,则指令发送成功;否则,指令发送不成功。指令发送结果将通知用户操作与结果显示窗体模块。

本发明中用户操作与结果显示窗体模块具有如下功能:

①对GNSS数据轮询使能、速变遥测轮询使能、缓变遥测轮询使能、重要保存数据轮询使能和内存下卸轮询使能分别进行设置;在微纳卫星控制模块开发的过程中,其软件功能是逐步完善的,模拟器的使能设置功能使其可以支持全开发过程的控制模块测试;

②对模拟器工作的启动和停止进行控制;

③通过读取间接指令合集文件将所有间接指令(数百条)在界面以下拉树的形式提供给用户选择发送,并提供指令搜索功能;

④通过文件扫描方式将所有可用的数据块文件、间接指令序列文件和数据块序列文件的名称显示到界面下拉列表框,供用户选择发送;

⑤接收数据的显示,包括速变和缓变遥测、重要保存数据和内存下卸数据的源码以及星时;

⑥指令反馈显示,包括指令应答的源码,以及发送成功与否的结果信息。

(4)星务模拟方法

本发明中用于微纳卫星控制模块开发测试的星务模拟方法如图4所示,其包括如下步骤:

步骤1:启动星务模拟器应用程序;

步骤2:选择被测微纳卫星名称后,星务模拟器自动读取对应的XML间接指令合集文件并扫描所有其它指令文件的名称,完成用户界面的初始化;同时用户根据测试需要设置GNSS数据轮询使能、速变遥测轮询使能、缓变遥测轮询使能、重要保存数据轮询使能和内存下卸轮询使能;

步骤3:启动测试3a,自动开始计时3b;

步骤4:在一个计时周期内,星务模拟器根据使能设置状态以及指令与数据块的发送请求开始顺序执行各项任务;测试过程中,用户同样可根据测试需要更改各项使能设置的状态,用户可以自由选择需要发送的任意间接指令、间接指令序列、数据块和数据块序列;

步骤5:计时周期结束5a,检查用户是否要求停止测试;若是,停止计时,暂停测试5b;否者,回到步骤4,开始新的一个计时周期;测试暂停后5c,用户可重新启动测试,回到步骤3;

步骤6:如果测试结束,关闭星务模拟器应用程序。

本发明说明书中未作详细描述的内容,均属本领域技术人员的公知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号