专利名称:一种多功能星敏模拟器的制作方法
技术领域:
本技术属于航天测试技术,涉及地面测试时,星敏感器模型的建立,保证星敏模型与真实产品的一致性。
背景技术:
近年来高精度的星敏感器在卫星控制分系统中大量使用,为了完成卫星控制分系统高精度和高保真度的系统测试,采用静态星敏模拟器无法完成系统闭环,只能进行星敏开环测试;采用动态星敏模拟器,可有效地进行系统闭环测试,但是,由于受动态星敏模拟器安装难度大及整星无法安装等因素的影响,动态星敏模拟器只适用于短时间内在系统测试中采用,通常为2-3天,对于长达1000多个小时的系统测试和整星测试而言,是远远不够的,为此,需要设计一种高保真度的数字星敏模拟器,用于在系统闭环测试,为控制分系统提供星敏数据的模拟。另一方面,随着国内星敏感器研制技术的发展,星敏的功能日益强大,星敏软件由在轨固化形式向在轨可注入修改形式逐步发展,并在多颗卫星中采用,而这一功能的实现,需要由整星的星务计算机、控制计算机、星敏三个环节共同来完成,由于注入方案和步骤复杂、难度大,各个环节的验证工作需要分开进行,为了对控制分系统应用软件的星敏注入功能进行充分验证,需要采用一种带注入功能的数字星敏模拟器,用于替代真正星敏感器。目前,控制分系统验证中使用的数字星敏模拟器,一般将卫星动力学模型输出的实时星敏数据通过串口发送给星载控制计算机,用于系统闭环和整星的测试。而真实的星敏感器,由于受星敏处理器、单机本身等限制,不能输出实时的星敏数据,均具有时延特点,而目前的数字星敏模拟器则不带有时延特点或注入功能。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供一种带有注入和时延特点的多功能星敏模拟器,实现真实星敏感器的高保真度模拟,用于卫星控制分系统和整星的系统闭环测试。本发明的技术方案是:一种多功能星敏模拟器,包括接收指令处理模块、状态设置模块、程序注入模块和数据回复模块;接收指令处理模块接收外部的星载控制计算机发出的数据指令,将星载控制计算机的数据指令按其类型分为状态设置类指令、注入程序类指令和数据回复类指令,并分别对应送至状态设置模块、程序注入模块和数据回复模块;同时接收指令处理模块接收测试序列设置的星敏时延参数Td,并将星敏时延参数Td发送至数据回复模块;所述的测试序列为卫星闭环测试时按时间先后顺序设置的测试条件;状态设置模块根据真实星敏感器状态设置逻辑以及输入进来的状态设置类指令,完成对星敏的状态设置模拟和模式转换模拟,并将模拟后的结果输送至数据回复模块;程序注入模块对输入进来的注入程序类指令进行动态存储;定义一个NX (L+1)字节的内存空间,其中N为可存储的最大数据块块数,L为注入程序类指令中一个数据块的字节数;每一个数据块内包含地面上行的已经分好块的注入程序类指令;将小于等于N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示;对于大于N个数据块的注入程序类指令,将前N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示,超过N个数据块的注入程序类指令,则在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行循环覆盖存储并显示;每接收一个数据块经星敏模拟器判断正确后,发送一个正确标志给数据回复模块;数据回复模块根据状态设置模块输送过来的模拟结果以及程序注入模块发送的正确标志,将状态设置模块的模拟结果以及程序注入模块发送的正确标志及时反馈给指令处理模块,并按真实星敏感器通讯协议的要求,及时响应星载控制计算机发出的数据指令;定义一个LnumX (Tb/Tp)字节的星敏姿态数据数组,其中Lnum为星敏姿态数据包的长度,Tb为设定的最大时延,Tp为卫星动力学仿真周期;所述的星敏姿态数据数组对外部卫星模拟器中星敏模型输出的(Tb/Tp)组星敏姿态数据包进行实时存储和更新;每组星敏姿态数据包包括动力学仿真时间以及当前时刻对应的星敏姿态数据;从所述星敏姿态数据数组中,选取第(Td/Tp)组星敏姿态数据包作为当前输出;读取星敏模拟器最近一次记录的同步时刻并与取出的第(Td/Tp)组星敏姿态数据包中的动力学仿真时间项作差,得到星敏输出数据的相对时间,记作第(Td/Tp)组星敏数据包中的星敏时间,结合输出的第(Td/Tp)组星敏姿态数据包并按照星敏通信协议组包得到时延为Td的星敏姿态数据包,经过指令处理模块发送给星载控制计算机;同时,星敏模拟器每周期对(Tb/Tp)组星敏姿态数据包进行动态更新,形成一个最大时延为Tb的星敏数据动态数据流;所述的同步时刻指的是星敏模拟器接收到星载计算机的同步信号时,对应的星敏模拟器时刻。本发明与现有技术相比的优点在于:针对目前星敏模拟器没有注入功能和时延特性的不足,设计了一种带注入功能和时延特点的星敏模拟器,比较真实的模拟了真实星敏在轨的工作特点,从2009年开始,本发明已经成功应用于多个采用星敏定姿的遥感卫星控制分系统闭环测试和整星测试,为 整星和分系统闭环测试提供了有效星敏数据动态模拟,取得了良好的效果。
图1为本发明星敏模拟器实现原理框图;图2为时延特性实现原理框图。
具体实施例方式实施流程如图1和图2所示,具体描述如下:一种多功能星敏模拟器,包括接收指令处理模块、状态设置模块、程序注入模块和数据回复模块;指令处理模块负责与星载控制计算机进行通讯,负责接收和响应星载计算机指令。接收指令处理模块接收外部的星载控制计算机发出的数据指令,将星载控制计算机的数据指令按其类型分为状态设置类指令、注入程序类指令和数据回复类指令,并分别对应送至状态设置模块、程序注入模块和数据回复模块;同时接收指令处理模块接收测试序列设置的星敏时延参数Td,并将星敏时延参数Td发送至数据回复模块;所述的测试序列为卫星闭环测试时按时间先后顺序设置的测试条件;状态设置模块根据真实星敏感器状态设置逻辑以及输入进来的状态设置类指令,如模式字、模式转换开关、写开关、复位指令等,完成对星敏的状态设置模拟和模式转换模拟,并将模拟后的结果输送至数据回复模块;程序注入模块将注入程序类指令写入指定内存空间,并在上位机进行显示,并将正确标志发送给数据回复模块;定义一个NX (L+1)字节的内存空间,其中N为可存储的最大数据块块数,L为注入程序类指令中一个数据块的字节数;每一个数据块内包含地面上行的已经分好块的注入程序类指令;将小于等于N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示;对于大于N个数据块的注入程序类指令,将前N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示,超过N个数据块的注入程序类指令,则在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行循环覆盖存储并显示;所述的循环覆盖存储方式为第N+1块数据块覆盖第I块数据块、第N+2块覆盖第2块数据块……第N+N块覆盖第N块数据块的方式进行动态存储;每接收一个数据块经星敏模拟器判断正确后,发送一个正确标志给数据回复模块;数据回复模块根据状态设置模块输送过来的模拟结果以及程序注入模块发送的正确标志,将状态设置模块的模拟结果以及程序注入模块发送的正确标志及时反馈给指令处理模块,并按真实星敏感器通讯协议的要求,及时响应星载控制计算机发出的数据指令;定义一个LnumX (Tb/Tp)字节的星敏姿态数据数组,其中Lnum为星敏姿态数据包的长度,Tb为设定的最大时延,Tp为卫星动力学仿真周期;所述的星敏姿态数据数组对外部卫星模拟器中星敏模型输出的(Tb/Tp)组星敏姿态数据包进行实时存储和更新;每组星敏姿态数据包包括动力学仿真时间以及当前时刻对应的星敏姿态数据;从所述星敏姿态数据数组中,选取第(Td/Tp)组星敏姿态数据 包作为当前输出;读取星敏模拟器最近一次记录的同步时刻并与取出的第(Td/Tp)组星敏姿态数据包中的动力学仿真时间项作差,得到星敏输出数据的相对时间,记作第(Td/Tp)组星敏数据包中的星敏时间,结合输出的第(Td/Tp)组星敏姿态数据包并按照星敏通信协议组包得到时延为Td的星敏姿态数据包,经过指令处理模块发送给星载控制计算机,用于分系统闭环测试;同时,星敏模拟器每周期对(Tb/Tp)组星敏姿态数据包进行动态更新,采用先进先出的方式,形成一个最大时延为Tb的星敏数据动态数据流,便于下一控制周期星敏姿态数据包的正确生成;所述的同步时刻指的是星敏模拟器接收到星载计算机的同步信号时,对应的星敏模拟器时刻。本发明未详细说明部分属本领域技术人员公知常识。
权利要求
1.一种多功能星敏模拟器,其特征在于:包括接收指令处理模块、状态设置模块、程序注入模块和数据回复模块; 接收指令处理模块接收外部的星载控制计算机发出的数据指令,将星载控制计算机的数据指令按其类型分为状态设置类指令、注入程序类指令和数据回复类指令,并分别对应送至状态设置模块、程序注入模块和数据回复模块;同时接收指令处理模块接收测试序列设置的星敏时延参数Td,并将星敏时延参数Td发送至数据回复模块;所述的测试序列为卫星闭环测试时按时间先后顺序设置的测试条件; 状态设置模块根据真实星敏感器状态设置逻辑以及输入进来的状态设置类指令,完成对星敏的状态设置模拟和模式转换模拟,并将模拟后的结果输送至数据回复模块; 程序注入模块对输入进来的注入程序类指令进行动态存储;定义一个NX (L+1)字节的内存空间,其中N为可存储的最大数据块块数,L为注入程序类指令中一个数据块的字节数;每一个数据块内包含地面上行的已经分好块的注入程序类指令;将小于等于N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示;对于大于N个数据块的注入程序类指令,将前N个数据块的注入程序类指令直接在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行存储并显示,超过N个数据块的注入程序类指令,则在定义的NX (L+1)字节的内存空间中按照从第一块数据块到第N块数据块的顺序依次进行循环覆盖存储并显示;每接收一个数据块经星敏模拟器判断正确后,发送一个正确标志给数据回复模块; 数据回复模块根据状态设置模块输送过来的模拟结果以及程序注入模块发送的正确标志,将状态设置模块的模拟结果以及程序注入模块发送的正确标志及时反馈给指令处理模块,并按真实星敏感器通讯协议的要求,及时响应星载控制计算机发出的数据指令;定义一个LnumX (Tb/Tp)字节的星敏姿态数据数组,其中Lnum为星敏姿态数据包的长度,Tb为设定的最大时延,Tp为卫星动力学仿真周期;所述的星敏姿态数据数组对外部卫星模拟器中星敏模型输出的(Tb/Tp)组星敏姿态数据包进行实时存储和更新;每组星敏姿态数据包包括动力学仿真时间以及当前时刻对应的星敏姿态数据;从所述星敏姿态数据数组中,选取第(Td/Tp)组星敏姿态数据包作为当前输出;读取星敏模拟器最近一次记录的同步时刻并与取出的第(Td/Tp)组星敏姿态数据包中的动力学仿真时间项作差,得到星敏输出数据的相对时间,记作第(Td/Tp)组星敏数据包中 的星敏时间,结合输出的第(Td/Tp)组星敏姿态数据包并按照星敏通信协议组包得到时延为Td的星敏姿态数据包,经过指令处理模块发送给星载控制计算机;同时,星敏模拟器每周期对(Tb/Tp)组星敏姿态数据包进行动态更新,形成一个最大时延为Tb的星敏数据动态数据流;所述的同步时刻指的是星敏模拟器接收到星载计算机的同步信号时,对应的星敏模拟器时刻。
全文摘要
本发明公开了一种多功能星敏模拟器,包括接收指令处理模块、状态设置模块、程序注入模块和数据回复模块;接收指令处理模块接收外部的星载控制计算机发出的数据指令,分类后分别对应送至状态设置模块、程序注入模块和数据回复模块进行处理,真实的模拟了真实星敏在轨的工作。本发明针对目前卫星系统验证中没有带有时延和注入功能的数字星模模拟器的问题,设计了一种带有注入和时延特点的多功能星敏模拟器,用于卫星控制分系统和整星的系统闭环测试,是以往从未采用过的工程试验模拟技术。
文档编号G05B17/00GK103235516SQ20131012156
公开日2013年8月7日 申请日期2013年4月9日 优先权日2013年4月9日
发明者周剑敏, 袁军, 曹永梅, 刘彤, 王胜刚, 姚宁, 王哲, 潘立鑫 申请人:北京控制工程研究所