航天器地面综测系统软件间通信协议的现状与改进

2017-05-24 14:45李勤毅陈静静
计算机测量与控制 2017年5期
关键词:通信协议航天器传输

李勤毅,彭 欣,陈静静

(1.上海利正卫星应用技术有限公司,上海 201108; 2.上海卫星工程研究所,上海 200240;3.上海交通大学海洋研究院,上海 200240)

航天器地面综测系统软件间通信协议的现状与改进

李勤毅1,2,彭 欣1,陈静静3

(1.上海利正卫星应用技术有限公司,上海 201108; 2.上海卫星工程研究所,上海 200240;3.上海交通大学海洋研究院,上海 200240)

传统的航天器地面综测系统软件间通信协议一般是根据不同航天器的测试任务和测试特点而制定的,没有形成统一规范,各航天器综测系统软件协议和接口的差别甚大,导致综测系统软件可移植性差;针对现有航天器地面综测系统软件间通信协议可扩展性能差的现状,以新型小卫星地面综测系统的设计研发为依托,探索并设计了一套基于XML描述与传输的通信协议,开发了地面综测系统软件,并对该通信协议进行了实现和试验;经试验证明,利用XML描述与传输的综测系统软件协议和XML串行化反串行化技术,该通信协议具备良好的操作性和可扩展性,较大的简化了航天器地面综测系统软件间的接口设计,增强了综测系统软件的可移植性。

航天器综测系统;通信协议;XML;串行化;反串行化

0 引言

航天器地面综合测试系统(以下简称为:综测系统)是航天器各分系统接口设计匹配性与正确性、航天器整器的功能性能和航天器各项总体指标的检验系统,完成航天器内测控分系统、电源分系统、姿轨控分系统、热控分系统、载荷分系统等各分系统单机的总装测试、航天器有线及无线测试、测控对接测试和应用对接测试等。对于新研航天器,综测系统需要配合完成航天器关键技术验证和关键单机研制测试等工作。综测系统在航天器总体设计、总装和总测中占据着非常重要的地位,其产生的数据和结论,直接关系到航天器是否具备出厂发射的条件。同时,综测系统接收、解析的各种航天器遥测数据、遥控数据、载荷应用数据、地面系统状态数据、研制过程环境数据、环境模拟试验数据等数据,可直接作为航天器在轨状态分析、演算和趋势分析的依据。

随着航天器功能的日益强大和航天器种类型号的日益庞大,航天器下行的遥测数据量日趋增大和复杂,如何高效、准确的接收、解析、传输航天器遥测数据,并尽可能适应不同种类、型号的航天器地面综合测试,是现今航天器地面综测系统设计和运行亟需解决的难题。

传统的综测系统软件协议一般是由航天器总体研制单位根据本单位航天器的测试任务和测试特点而制定的,并没有形成统一的规范,各航天器综测系统软件协议和接口的差别甚大,即使同单位内部,综测系统软件协议和接口也存在着不同航天器型号间定制的特点。这导致了综测系统软件协议需要根据不同的航天器进行修改和订制,再根据协议对综测系统软件进行修改、调试和再验证。

本文以新型小卫星地面综测系统的设计研发为依托,探索具有灵活性和可扩展性的综测系统软件协议,设计了一套基于XML描述与传输[1-2]的综测系统软件协议,开发了综测系统软件,并对该综测系统软件协议进行了实现和试验。经试验证明,利用XML描述与传输的综测系统软件协议及XML串行化、反串行化技术,本文设计的航天器综测系统软件协议具备良好的操作性和可扩展性,较大的简化综测系统软件接口设计,可灵活运用于不同种类型号的航天器地面综合测试系统。

1 传统综测系统软件间协议概述

传统的综测系统软件间协议版本较多,概括而言,预留较多的备用字段,以便后续扩展。软件间协议样板如表1所示。

表1 传统综测系统软件协议

数据区内的数据格式会根据数据类别的不同分别进行制订。数据区内格式案例如表2所示。

表2 数据区格式案例

对于不同型号的航天器,如果航天器的测试特征差别较大,对于同一数据类别下的数据区格式定义差别也是比较大的。这便造成了综测系统软件移植性较差,如果该型号的航天器综测系统需用于其他型号,综测软件修改量非常大。因为在协议中增加一个或多个字节,其余数据项在解析时便会有字节序号的偏移,直接关系到软件协议解析模块的解析错误。

航天器研制过程质量控制非常严格,如果综测系统软件修改量较大,那么综测系统需要重新进行长时间的自测试进行验证,验证正确后方可用于航天器的综合测试,这势必造成航天器研制周期的延长,增加了航天器研制的风险。

2 基于XML描述的综测系统软件协议设计

可扩展标记语言(XML)能够精确地声明和描述航天器遥测数据项、遥控数据项及地面系统状态项的各种内容,再利用XML的串行化和反串行化技术进行数据传输和解析,可以较好的解决不同种类航天器间综测系统软件的网络数据接口的匹配难题。XML提供的这种描述结构数据的格式,可大大简化网络中数据交换和表示,使得代码、数据和表示分离[3-4]。

2.1 协议设计

基于XML描述与传输的系统软件协议如表3所示。系统内所有类型数据信息在网络上传输时,统一采用该协议格式。

表3 基于XML描述的综测系统软件间通信协议

2.2 包头设计

包头由同步头、版本号、信息类别、包体长度和校验位组成。直接传输XML包体也是可以的,但本协议在制订时增加了包头部分,目的如下:(1)信息类别可用于区分不同XML数据,如0x01表示卫星遥测或地面设备状态遥测;0x02表示遥控指令或地面设备控制指令;等。(2)同步头、包体长度、校验位的设置可增强协议传输的健壮性,在一定程度上对网络传输帧进行了同步和校验。

2.3 包体设计

包体采用XML文件进行定义。对于航天器研制、测试过程中产生的不同类型信息数据采用不同的XML格式。信息量比较大的遥测类型数据、地面设备状态数据等信息采用四级节点的XML进行描述,遥控类型数据采用二级节点的XML进行描述。

(1)遥测类型数据XML包格式设计。

遥测源码和采用解析规则对源码解析后的物理工程量的包体设计样本如下。节点表示本包传输的是遥测数据,同理,节点可表示传输的数据为发送至航天器的遥控数据。地面设备状态信息、地面设备控制指令、环境数据等各种航天器测试数据类型可依次定义。

......

3

1

AAAAAA

......

1

......

其中,子节点对传输的数据进行全局说明,如:

航天器型号

航天器代号节点

采集通道名称

通道类别

通道描述节点

网络发送的包计数节点

本包数据地面接收时间节点

源码节点等。

为遥测数据的根节点,此节点内有多个组成,表示经解析规则解析后的工程物理量。如:

波道名称节点

物理量源码节点

解析后物理量节点

显示信息节点

物理单位节点

是否报警节点等。

由于采用XML格式对数据进行了组织,根节点下子节点的顺序及不同型号航天器特定的子节点定义对软件接收端解析没有影响,这从根本上解决了传统软件协议难扩展的难题。

(2)遥控类型数据XML包格式设计

航天器遥控组织发送执行过程所需信息的包体设计样本如下。

0x15

S频段遥控

其中,为遥控类型数据的根节点,由于航天器的遥控不是连续的,是偶发的上行数据注入,信息量较小,采用二级节点可以完整的表述。具体子节点含义如下:

遥控发送时间子节点

遥控代号子节点

遥控通道子节点

遥控通道描述子节点

遥控状态子节点

遥控数据子节点

遥控包计数子节点

(3)其他类型数据XML包格式设计

其他类型数据的XML包设计可参照遥测类型数据、遥控类型数据进行设计,由于使用XML串行化和反串行化技术对XML文件进行传输,软件收端可以完整地发端组织的XML文件及其内容,这也是包体采用XML文件的巨大优势之一。

2.4 XML串行化与反串行化

为了方便存储或传输,采用串行化技术将打包的XML文件格式化至数据缓冲区,放入包体内,然后对包头进行处理,再通过TCP/IP或者UDP方式进行数据发布。

软件接收端通过网络将接收的数据放入数据缓冲区,首先进行包体解析,包括包的同步、信息类别的识别、数据检验等。包头判别正确后再将XML包体通过反串行化技术进行数据还原,即利用串行的状态信息将对象从串行XML状态还原成原始状态,最后获得打包时的XML文件。串行化与反串行化的目的是进行数据存储和数据转换。

为了满足这一机制的需求,.NET Framework实现了一种基于XML的串行化机制,.NET框架中包含了命名空间System.Runtime.Serialization和System.Xml.Serialization以提供串行化功能,其中,System.Xml.Serialization命名空间提供了将一个对象串行化为XML格式的基本方法。这样便可以将一个对象串行化为XML格式,从而它的所有公共域和属性都将以XML写入,然后可以将这个XML发送到任何地方,接收方则可以并行化该XML 数据,从而在内存中重建该对象。

System.Xml.Serialization命名空间中的关键类XmlSerializer提供了把对象串行化为XML文件及把XML文档反串行化为对象的方法。实际的串行化过程在XmlSerializer类的Serialize方法中实现。该方法允许在串行化过程中调用TextWriter、Stream和XmlWriter对象。

XML文件串行化具体实现过程如下:

byte[] xmlDocBuffer;

MemoryStream xmlStream

= new MemoryStream();

XmlSerializer xmlSerial

= new XmlSerializer (typeof (XmlDocument));

xmlSerial.Serialize(xmlStream, xmlDocument);

//串行化XML文档

xmlDocBuffer = xmlStream.ToArray();

//将内存流写入字节数组缓存中

XML文件串行化具体实现过程如下:

byte[] buf = udpRecvSocket.Receive(ref multicastUdpRecv);

MemoryStream xmlStream

= new MemoryStream(buf);

//将缓存中的信息写入内存流

XmlSerializer xmlSerial = new XmlSerializer (typeof (XmlDocument));

XmlDocument udpRecv = (XmlDocument) xmlSerial. Deserialize(xmlStream );

//反串行化XML文档

xmlStream.Flush();

xmlStream.Close();

//关闭内存流

xmlStream.Dispose();

3 基于XML描述与传输的软件协议验证

综测系统软件是航天器地面综合测试系统的信息核心,主要由总控台软件、服务器软件、监视台软件、太阳模拟阵软件、基带前端软件及其他各设备前端软件组成[5-8]。综测软件系统的设计图如图1所示。

图1 航天器地面综测系统的设计图

综测系统内各功能软件间通信均采用上述基于XML描述和传输的软件协议。服务器软件与监视台软件运行截图如图2所示。从软件中设备连接状态、接收数据计数、UDP组播发送计数及数据接收文本和曲线显示可以看出,本文设计的基于XML描述与传输的通信协议在综测系统软件中应用良好。

航天器在空间通过天线利用微波信号将自身数据传送至地面,经地面站微波通道接收后送基带前端设备进行解调还原成源码。服务器软件可接收多个通道的源码,并按照解析规则进行解析,而后按照上述协议进行组织打包,通过网络分发出去。

监视台软件为测试人员提供对航天器状态的监视界面,如图2所示。从图2的曲线和文本数据与发送的数据一致,证明本文设计的基于XML描述与传输的通信协议具有可行性和良好的操作性。

图2 监视台软件运行截图

4 基于XML描述与传输的软件协议可扩展性分析

传统的综测系统软件协议通过预留较多的备用字段,以便后续扩展。当备用字段重新定义或者在协议中增加一个或多个字节后,数据接收端在解析时需要准确把握字段定义及字节序号的偏移,否则会造成到软件协议解析模块的解析错误。

而本文设计的综测系统软件协议充分发挥了XML文件的灵活性,即使软件接收端对部分节点定义不明确,也可通过反串行化技术直接获得发端的XML文件和文件内各节点的信息。同时,子节点的前后顺序对数据接收解析没有影响。对于不同种类型号的航天器综测软件,保证根节点及全局节点的名称一致,子节点可根据航天器不同的测试特征进行删减,这可极大地提高综测系统软件的可移植性。

5 结论

本文针对现行航天器地面综合测试系统软件协议可扩展性能差的现状,以新型小卫星地面综测系统的设计研发为依托,探索并设计了一套基于XML描述与传输的通信协议,开发了综测系统软件,并对该通信协议进行了实现和试验。经试验证明,利用XML描述与传输的综测系统软件协议和XML串行化反串行化技术,该通信协议具备良好的操作性和可扩展性,较大的简化了综测系统软件接口设计,可灵活运用于不同种类型号的航天器地面综合测试系统。

[1] 郑 珂,徐艳群,张 斌.基于FDT与OPC XML的工业控制系统集成研究[J]. 计算机测量与控制, 2010, 18(8):1805-1807.

[2] 李 栋,翟正军. 基于ATML的靶场数据交换技术研究[J] . 计算机测量与控制, 2010, 18(7):1582-1584.

[3] 张力生,洪小云,雷大江,等. 基于路径特征的XML文档结构相似性度量[J] .计算机应用与软件,2015,32(7):39 -42.

[4] 夏 刚,刘林静,楼文高.基于Schema的XML混合编码索引查询技术[J].计算机应用与软件,2016,33(2):33-37.

[5] 上海卫星工程研究所.卫星射频指标自动测试软件:中国, 2013SR080509[P]. 2013-08-05.

[6] 上海卫星工程研究所.卫星信号频谱监测软件:中国, 2013SR080487[P]. 2013-08-05.

[7] 上海卫星工程研究所.卫星源信号控制软件:中国, 2013SR080445[P]. 2013-08-05.

[8] 上海卫星工程研究所. 星地测试数据显示终端框架软件:中国, 2014SR002551[P]. 2014-01-08.

Current Situation and Improvement of Software Communication Protocol for Spacecraft Testing System

Li Qinyi1,2, Peng Xin1, Chen Jingjing3

(1.Shanghai Lizheng Satellite Application Technology Co., Ltd., Shanghai 201108,China; 2.Shanghai Institute of Satellite Engineering, Shanghai 200240 ,China; 3.Institute of Oceanology, Shanghai Jiao Tong University, Shanghai 200240,China)

There is no unified software protocol for traditional spacecraft testing system and the difference between software protocols for each spacecraft testing system is very large, resulting in portability of spacecraft testing system software very poor. In light of this issue, we design a software communication protocol based on XML description and transmission, and develope the software for spacecraft testing system. The result proves that the use of XML description protocol and XML serialization and deserialization technology simplifies the design of system software and enhances the portability of system software.

spacecraft testing system; software protocol; XML; serialization; deserialization

2016-12-08;

2017-01-05。

李勤毅(1985-),男,主任设计师,工程师,主要从事卫星地面综合测试系统设计、测试系统软件开发,电磁兼容设计与试验,天线设计与仿真等方向的研究。

1671-4598(2017)05-0132-04

10.16526/j.cnki.11-4762/tp.2017.05.037

TP3

A

猜你喜欢
通信协议航天器传输
2022 年第二季度航天器发射统计
轨道交通信号系统无线传输应用
牵引8K超高清传输时代 FIBBR Pure38K
2019 年第二季度航天器发射统计
2018 年第三季度航天器发射统计
关于无线电力传输的探究
2018年第二季度航天器发射统计
车载网络通信协议标准化问题研究
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线
电动汽车充电接口及通信协议新国标发布