CN109756514B - 一种航天器复杂协议的遥测数据动态处理方法 - Google Patents
一种航天器复杂协议的遥测数据动态处理方法 Download PDFInfo
- Publication number
- CN109756514B CN109756514B CN201910140932.9A CN201910140932A CN109756514B CN 109756514 B CN109756514 B CN 109756514B CN 201910140932 A CN201910140932 A CN 201910140932A CN 109756514 B CN109756514 B CN 109756514B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- epdu
- data packet
- mpdu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种航天器复杂协议的遥测数据动态处理方法,通过提取CCSDS的AOS分包遥测方式的数据传输特征,将相关特征信息提取成为配置文件,读取配置文件中所定义的特征信息内容,对遥测下行的CADU数据包进行读取,准确地获取所有EPDU数据包,并对相应的EPDU数据包中的变量进行自动解析处理解析,从而获得遥测变量的值。
Description
技术领域
本发明属于航天器遥测数据处理技术领域,尤其涉及一种航天器复杂协议的遥测数据动态处理方法。
背景技术
遥测数据是获取卫星、飞船飞行状态重要的信息,飞行器绝大部分状态和数据信息都是通过遥测通道下传,遥测处理的正确性对于飞行任务的成功具有重要意义。
随着我国航天事业的快速发展,卫星的信息系统越来越复杂。综合电子系统渐渐成为了飞行控制系统的主流。综合电子系统除了完成传统的遥控、遥测、程控、热控、导航制导控制任务以外,还为卫星平台有效载荷提供了全面、综合的服务与管理,具有功能集中,信息处理量大的特点。
基于上述特点,遥测数据处理需要满足数据量大和数据传输灵活的要求。传统的PCM(Pulse Code Modulation,PCM脉冲编码调制)传输方式为点对点传输方式,对应传输物理通道内的数据有固定对应的变量,传输信息量小、传输数据能力有限,越来越难以适应现代卫星信息量大的要求。因此基于CCSDS的AOS分包遥测的数据处理方式正在被越来越多的卫星遥测系统所采用。与传统点对点的数据传输方式相比,基于CCSDS的AOS的分包遥测方式,因此遥测数据包提取和处理的复杂度大大提升。
CCSDS的全称为:空间咨询委员会CCSDS(Consultative Committee for SpaceData Systems),其任务是负责开发和采纳适合于航天测控和数传系统的各种通信协议和数据处理规范,适应航天器复杂化的发展趋势,已经制定了一系列应用于空间链路系统的标准,并以蓝皮书的形式发布。其中AOS建议书向前扩展了常规建议,能提供形式更加多样、更加灵活遥测数据传输方式。
1.1、国内外现状
目前国内已有多个航天器项目采用了基于CCSDS的AOS分包遥测方式进行遥测数处理。该方法由于其灵活度高,数据传输内容多,正在逐渐地替代传统的PCM点对点的传输处理方法,成为遥测数据处理采用的主流技术。
基于这种处理方式,数据包的传输量和数据包处理的灵活性大地提升,随之而来的遥测数据处理的复杂性也大大提升。基于上述状态,需要对这种复杂协议动态提取处理后,才能够获得包含具体特定变量组成的数据包,在针对这些数据包进行处理获得数据包中的遥测变量。
如何高效、准确地从遥测数据流中有效地提取出数据源包的基本单元,从基本数据包单元中提取遥测数据变量,对于遥测数据处理来说具有重要的意义。
1.2、现有技术方案(技术手段介绍)
通常现有对于这类复杂遥测传输的处理,通常采用专门针对具体的型号研制任务定制开发的方式。这种方式针对不同卫星系统各个子系统的具体格式要求,往往仅针对该系统对其所需要的数据包进行提取,对于其他与该系统不相关的数据包并不关注,直接滤过不进行处理。当协议发生变化时重新定制遥测包数据提取的处理方式,没有对这种复杂的数据处理进行统一考虑和一体化设计。
1.3、现有技术方案存在的问题。
目前的对于CCSDS的AOS分包遥测方式的处理采用了专门定制的方式存在诸多缺陷。(1)由于对每一个基于CCSDS的AOS分包遥测方式的复杂遥测数据处理方式项目的定制开发,导致了遥测处理环境开发费时费力,效率较低;(2)当协议生变化时,需要重新针对新的数据传输要求进行更改,缺乏通用性,无法形成测试资产,为后续型号所复用。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种航天器复杂协议的遥测数据动态处理方法,旨在通过提取CCSDS的AOS分包遥测方式的数据传输特征,将相关特征信息提取成为配置文件,读取配置文件中所定义的特征信息内容,对遥测下行的CADU数据包进行读取,准确地获取所有EPDU数据包,并对相应的EPDU数据包中的变量进行自动解析处理解析,从而获得遥测变量的值。
为了解决上述技术问题,本发明公开了一种航天器复杂协议的遥测数据动态处理方法,包括:
根据配置文件,对内存空间进行初始化,构建三维数据结构单元存储空间;其中,a(x,y,z)为所述三维数据结构单元存储空间下的任一数据结构单元;(x,y,z)表示第x个虚拟信道下的第y个EPDU数据包的第z次重复次数;三维数据存储空间下的各子空间用于存储各数据结构单元;
接收到第一帧下行CADU数据包;
从第一帧下行CADU数据包中提取得到VCDU数据包,确定VCDU数据包的虚拟信道状态信息;
从VCDU数据包中获取MPDU数据包导头;
根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中。
在上述航天器复杂协议的遥测数据动态处理方法中,还包括:
根据型号任务请求,生成配置文件;其中,所述配置文件,包括:第一子配置文件和第二子配置文件;
第一子配置文件,包括:虚拟信道的数量配置信息、各虚拟信道下的EPDU数据包的数量配置信息、和各EPDU数据包一帧内的最大重复数量配置信息;
第二子配置文件,包括:各EPDU数据包的识别字配置信息、各EPDU数据包的包号配置信息、和各EPDU数据包对应变量的字节长度配置信息。
在上述航天器复杂协议的遥测数据动态处理方法中,还包括:
根据三维数据结构单元存储空间所对应的所有虚拟信道,确定当前虚拟信道集合;
判断所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道是否隶属于所述当前虚拟信道集合;
若确定所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道隶属于所述当前虚拟信道集合,则执行所述从VCDU数据包中获取MPDU数据包导头的步骤。
在上述航天器复杂协议的遥测数据动态处理方法中,还包括:
从VCDU数据包中获取MPDU数据包导头后第一个字节开始到MPDU数据包导头所指的完整数据包包头之前位置的数据;
确定MPDU数据包导头对应变量的字节长度;
根据MPDU数据包导头对应变量的字节长度与MPDU数据包对应变量的字节长度的比较结果,确定MPDU数据包导头是否异常;
当MPDU数据包导头对应变量的字节长度在MPDU数据包对应变量的字节长度之内时,确定MPDU数据包导头正常,执行所述根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中的步骤。
在上述航天器复杂协议的遥测数据动态处理方法中,还包括:
当确定MPDU数据包导头正常时,判断MPDU数据包导头是否为中间包;
在确定MPDU数据包导头不是中间包时,执行所述根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中的步骤。
在上述航天器复杂协议的遥测数据动态处理方法中,数据结构单元,包括:数据存储区、数据接收完成标志、继续接受标志、数据存储区最大存储长度标志和数据存储区当前存储长度标志。
在上述航天器复杂协议的遥测数据动态处理方法中,根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,并将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中,包括:
根据MPDU数据包导头所指示的位置,获取下行EPDU数据包;
根据MPDU数据包导头位置后的剩余长度和MPDU数据包长度,获得下一包EPDU数据导头的位置;
判断MPDU数据包中从第一个EPDU位置开始到MPDU数据包的结束位置所包含的字节长度是否大于MPDU数据包中第一包EPDU数据的长度格式所定义的长度;
若是,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;
若否,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE。
在上述航天器复杂协议的遥测数据动态处理方法中,还包括:
步骤B1,获取下一包EPDU数据包的新包头、数据包通道号和长度,执行步骤B2;
步骤B2,判断MPDU数据包剩余长度是否大于等于EPDU数据包的长度;若是,执行步骤B3;若否,执行步骤B8;
步骤B3,判断下一包EPDU数据包通道号与上一包EPDU数据包通道号是否相同;若不同,执行步骤B4;若相同,执行步骤B5;
步骤B4,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6;
步骤B5,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的下一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6;
步骤B6,减去当前EPDU数据包的长度后,得到当前MPDU数据包的剩余长度;执行步骤B7;
步骤B7,判断当前MPDU数据包的剩余长度是否等于0,若是0,则执行步骤B10;若否,则返回执行步骤B2;
步骤B8,当步骤B2的条件判断为不满足时,执行步骤B8,将下一包EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,执行步骤B9;
步骤B9,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE,执行步骤B10;
步骤B10,判断是否结束本次遥测数据动态处理操作,条件为TRUE时,执行步骤B11,条件不为真时,执行步骤B12;
步骤B11,完成本次遥测数据动态处理操作,结束;
步骤B12,接受下一帧下行CADU数据包。
本发明具有以下优点:
本发明所述的航天器复杂协议的遥测数据动态处理方法为解决复杂协议的通用的处理手段,当协议数据处理有变化时,无需再进行专门的定制开发,仅通过更改配置文件中的相应特征参数值即可实现对新协议的处理。该发明解决了传统定制开发存在的问题,提升了对于这类复杂协议数据处理的效率,提升了遥测数据处理的通用性,有利于在不同型号之间的复用。
附图说明
图1是本发明实施例中一种航天器复杂协议的遥测数据动态处理方法的步骤流程图;
图2是本发明实施例中一种EPDU数据动态写入对应的数据结构单元的数据存储区中的步骤流程图;
图3是本发明实施例中又一种航天器复杂协议的遥测数据动态处理方法的步骤流程图;
图4是本发明实施例中再一种航天器复杂协议的遥测数据动态处理方法的步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公共的实施方式作进一步详细描述。
本发明实施例所述的航天器复杂协议的遥测数据动态处理方法基于CCSDS的AOS协议实现。其中,CCSDS的AOS分包遥测方式由低到高由四个层次组成:源包(EPDU)组织、多路协议数据单元(MPDU)组织、虚拟信道数据单元(VCDU)组织以及信道访问数据单元(CADU)组织。
EPDU | Encapsulation Protocol Data Unit | 规约数据单元 |
MPDU | Multiplexer Protocol Data Unit | 多路协议数据单元 |
VCDU | Virtual Channel Data Unit | 虚拟信道数据单元 |
CADU | Channel Access Data Unit | 信道访问数据单元 |
下面对EPDU数据包、MPDU数据包、VCDU数据包和CADU数据包的数据结构进行说明:
(1)EPDU数据包的数据结构(如表1):
EPDU数据包(数据源包)是数据传输中最基本数据包传输单元,其长度定义后不再变化,EPDU数据包顺序包含了6字节长的包头信息和一定数据长度的遥测变量信息,遥测变量的数据长度在EPDU数据包的包头中明确定义。表1中的中的应用过程识别字,用于判断EPDU数据包的包名称。
表1,EPDU数据包的数据结构示意表(2)MPDU数据包的数据结构(如表2和表3):
MPDU是利用多路复用业务把多个源包数据单元EPDU按一定格式组合在一起,以使多个源包共用一个虚拟信道传输。
源包(EPDU)首尾相接装入MPDU的包域中。MPDU包域长度是固定的X+2字节,是一个虚拟信道数据单元(VCDU)中数据域的长度;其中,包域占用X字节,MPDU导头为2字节。
表2,EPDU数据包的数据结构示意表
分类 | 首导头指针 | MPDU包域的意义 |
1 | i(2≤i≤X+2) | 第一个源包的起始位置在本MPDU的第i个字节 |
2 | 0x7ff(自定义变量) | 本MPDU中只有源包数据,没有源包导头 |
3 | 0x7fe(自定义变量) | 全部是填充数据 |
表3,MPDU首导头指针取值示意表
注:基本情况为第一种情况,第二种情况动态数据为第一包时直接丢掉,为第二包以后的情况需要结合之前保存的包头拼出完成包、三种情况为:判断为填充包时,直接略过不处理。
(3)VCDU数据包的数据结构(如表4):
VCDU数据包的数据结构由主导头、插入域、数据域和差错控制域构成。其中,插入域用来等时传送重要遥测信息;差错控制域对整帧VCDU进行CRC校验。VCDU长度为字节,为MPDU包数据的长度加上VCDU导头6字节,加插入域长度M字节,加上CRC校验2字节。其中,M为协议指定的长度。
表4,VCDU数据包的数据结构示意表(4)VCDU数据包的数据结构:
CADU数据包为在VCDU数据包前加上4字节的同步标志,二者组合即为CADU包,同步字视不同的型号而定,对于数据包的提取没有影响。
其中,需要说明的是,在本发明实施例中,还设置有EPDU包识别设置配置表(如表5):
表5,EPDU包识别设置配置表
在本实施例中,可以通过读取该EPDU包识别设置配置表,提取EPDU包表头的特征字,通过特征字的匹配,在动态处理的时候通过包头匹配,提取出相应的EPDU数据包。
参照图1,示出了本发明实施例中一种航天器复杂协议的遥测数据动态处理方法的步骤流程图。在本实施例中,所述航天器复杂协议的遥测数据动态处理方法,包括:
步骤101,根据配置文件,对内存空间进行初始化,构建三维数据结构单元存储空间。
在本实施例中,为便于理解,可以以a(x,y,z)来表示所述三维数据结构单元存储空间下的任一数据结构单元。其中,(x,y,z)表示第x个虚拟信道下的第y个EPDU数据包的第z次重复次数;三维数据存储空间下的各子空间用于存储各数据结构单元。
其中,数据结构单元,具体可以包括:数据存储区、数据接收完成标志、继续接受标志、数据存储区最大存储长度标志和数据存储区当前存储长度标志。
步骤102,接收到第一帧下行CADU数据包。
步骤103,从第一帧下行CADU数据包中提取得到VCDU数据包,确定VCDU数据包的虚拟信道状态信息。
步骤104,从VCDU数据包中获取MPDU数据包导头。
步骤105,根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中。
在本实施例中,参照图2,示出了本发明实施例中一种EPDU数据动态写入对应的数据结构单元的数据存储区中的步骤流程图。如图2,所述步骤105具体可以包括:
子步骤1051,根据MPDU数据包导头所指示的位置,获取下行EPDU数据包。
子步骤1052,根据MPDU数据包导头位置后的剩余长度和MPDU数据包长度,获得下一包EPDU数据导头的位置。
子步骤1053,判断MPDU数据包中从第一个EPDU位置开始到MPDU数据包的结束位置所包含的字节长度是否大于MPDU数据包中第一包EPDU数据的长度格式所定义的长度。
在本实施例中,若MPDU数据包中从第一个EPDU位置开始到MPDU数据包的结束位置所包含的字节长度大于MPDU数据包中第一包EPDU数据的长度格式所定义的长度,则执行子步骤1054;若否,执行子步骤1055。
子步骤1054,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE。
子步骤1055,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE。
参照图3,示出了本发明实施例中又一种航天器复杂协议的遥测数据动态处理方法的步骤流程图。
在本发明的一优选实施例中,所述航天器复杂协议的遥测数据动态处理方法,还可以包括:
步骤S11,根据型号任务请求,生成配置文件。
在本实施例中,所述配置文件,具体可以包括:第一子配置文件和第二子配置文件。其中,第一子配置文件,具体可以包括:虚拟信道的数量配置信息、各虚拟信道下的EPDU数据包的数量配置信息、和各EPDU数据包一帧内的最大重复数量配置信息。第二子配置文件,具体可以包括:各EPDU数据包的识别字配置信息、各EPDU数据包的包号配置信息、和各EPDU数据包对应变量的字节长度配置信息。
在本发明的一优选实施例中,所述航天器复杂协议的遥测数据动态处理方法,还可以包括:
步骤S21,根据三维数据结构单元存储空间所对应的所有虚拟信道,确定当前虚拟信道集合。
步骤S22,判断所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道是否隶属于所述当前虚拟信道集合。
在本实施例中,若确定所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道隶属于所述当前虚拟信道集合,则可以执行上述步骤104。
在本发明的一优选实施例中,所述航天器复杂协议的遥测数据动态处理方法,还可以包括:
步骤S31,从VCDU数据包中获取MPDU数据包导头后第一个字节开始到MPDU数据包导头所指的完整数据包包头之前位置的数据。
步骤S32,确定MPDU数据包导头对应变量的字节长度。
步骤S33,根据MPDU数据包导头对应变量的字节长度与MPDU数据包对应变量的字节长度的比较结果,确定MPDU数据包导头是否异常。
在本实施例中,当确定MPDU数据包导头对应变量的字节长度在MPDU数据包对应变量的字节长度之内时,确定MPDU数据包导头正常,执行上述步骤105。
进一步优选的,在确定MPDU数据包导头正常之后,执行上述步骤105之前,还可以判断MPDU数据包导头是否为中间包,若确定MPDU数据包导头不是中间包,则执行上述步骤105。
参照图4,示出了本发明实施例中再一种航天器复杂协议的遥测数据动态处理方法的步骤流程图。在本实施例中,所述航天器复杂协议的遥测数据动态处理方法,还可以包括:
步骤B1,获取下一包EPDU数据包的新包头、数据包通道号和长度,执行步骤B2。
步骤B2,判断MPDU数据包剩余长度是否大于等于EPDU数据包的长度。
在本实施例中,若MPDU数据包剩余长度大于等于EPDU数据包的长度,则执行步骤B3;若否,则执行步骤B8。
步骤B3,判断下一包EPDU数据包通道号与上一包EPDU数据包通道号是否相同。
在本实施例中,若下一包EPDU数据包通道号与上一包EPDU数据包通道号不同,则执行步骤B4;若相同,则执行步骤B5。
步骤B4,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6。
步骤B5,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的下一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6。
步骤B6,减去当前EPDU数据包的长度后,得到当前MPDU数据包的剩余长度;执行步骤B7。
步骤B7,判断当前MPDU数据包的剩余长度是否等于0。
在本实施例中,若当前MPDU数据包的剩余长度等于0,则执行步骤B10;若当前MPDU数据包的剩余长度不等于0,则返回执行步骤B2。
步骤B8,当步骤B2的条件判断为不满足时,执行步骤B8,将下一包EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,执行步骤B9。
步骤B9,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE,执行步骤B10。
步骤B10,判断是否结束本次遥测数据动态处理操作,条件为TRUE时,执行步骤B11,条件不为真时,执行步骤B12。
步骤B11,完成本次遥测数据动态处理操作,结束。
步骤B12,接受下一帧下行CADU数据包。
基于上述实施例,下面以一个具体实例对本发明所述的航天器复杂协议的遥测数据动态处理方法进行详细说明。
某卫星型号采用综合电子系统架构,控制器综合电子软件的遥测采用CCSDS的AOS分包遥测方式处理,CADU数据包的长度为256字节,VCDU共使用了3个虚拟信道,MPDU的长度为203字节,CRC校验占用CADU数据包的最后两字节,有115个EPDU数据包,每个数据包的长度有各自的长度。
通过本发明所述的航天器复杂协议的遥测数据动态处理方法,将上述复杂协议处理的特征信息写入配置文件,通过读取配置文件中的信息,进行相应的处理获得所有115个EPDU数据包中通过遥测进行下传的数据包的内容,当需要对某一个下传数据包进行解析处理的时候,对该数据包处理,获得所需要的遥测变量。该发明采用通用的数据处理方法,当上述协议发生变化或者有增删的情况下,仅需要修改配置文件即可实现对于协议变化的适应,具有很强的兼容性和可扩展性。
综上所述,本发明所述的航天器复杂协议的遥测数据动态处理方法为解决复杂协议的通用的处理手段,当协议数据处理有变化时,无需再进行专门的定制开发,仅通过更改配置文件中的相应特征参数值即可实现对新协议的处理。该发明解决了传统定制开发存在的问题,提升了对于这类复杂协议数据处理的效率,提升了遥测数据处理的通用性,有利于在不同型号之间的复用。
本说明中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (7)
1.一种航天器复杂协议的遥测数据动态处理方法,其特征在于,包括:
根据型号任务请求,生成配置文件;其中,所述配置文件,包括:第一子配置文件和第二子配置文件;第一子配置文件,包括:虚拟信道的数量配置信息、各虚拟信道下的EPDU数据包的数量配置信息、和各EPDU数据包一帧内的最大重复数量配置信息;第二子配置文件,包括:各EPDU数据包的识别字配置信息、各EPDU数据包的包号配置信息、和各EPDU数据包对应变量的字节长度配置信息;
根据配置文件,对内存空间进行初始化,构建三维数据结构单元存储空间;其中,a(x,y,z)为所述三维数据结构单元存储空间下的任一数据结构单元;(x,y,z)表示第x个虚拟信道下的第y个EPDU数据包的第z次重复次数;三维数据存储空间下的各子空间用于存储各数据结构单元;
接收到第一帧下行CADU数据包;
从第一帧下行CADU数据包中提取得到VCDU数据包,确定VCDU数据包的虚拟信道状态信息;
从VCDU数据包中获取MPDU数据包导头;
根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中。
2.根据权利要求1所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,还包括:
根据三维数据结构单元存储空间所对应的所有虚拟信道,确定当前虚拟信道集合;
判断所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道是否隶属于所述当前虚拟信道集合;
若确定所述VCDU数据包的虚拟信道状态信息所指示的虚拟信道隶属于所述当前虚拟信道集合,则执行所述从VCDU数据包中获取MPDU数据包导头的步骤。
3.根据权利要求1所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,还包括:
从VCDU数据包中获取MPDU数据包导头后第一个字节开始到MPDU数据包导头所指的完整数据包包头之前位置的数据;
确定MPDU数据包导头对应变量的字节长度;
根据MPDU数据包导头对应变量的字节长度与MPDU数据包对应变量的字节长度的比较结果,确定MPDU数据包导头是否异常;
当MPDU数据包导头对应变量的字节长度在MPDU数据包对应变量的字节长度之内时,确定MPDU数据包导头正常,执行所述根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中的步骤。
4.根据权利要求3所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,还包括:
当确定MPDU数据包导头正常时,判断MPDU数据包导头是否为中间包;
在确定MPDU数据包导头不是中间包时,执行所述根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中的步骤。
5.根据权利要求1所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,数据结构单元,包括:数据存储区、数据接收完成标志、继续接受标志、数据存储区最大存储长度标志和数据存储区当前存储长度标志。
6.根据权利要求5所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,根据MPDU数据包导头所指示的位置,获取下行EPDU数据包,并将所述下行EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的数据存储区中,包括:
根据MPDU数据包导头所指示的位置,获取下行EPDU数据包;
根据MPDU数据包导头位置后的剩余长度和MPDU数据包长度,获得下一包EPDU数据导头的位置;
判断MPDU数据包中从第一个EPDU位置开始到MPDU数据包的结束位置所包含的字节长度是否大于MPDU数据包中第一包EPDU数据的长度格式所定义的长度;
若是,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;
若否,将下行EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE。
7.根据权利要求6所述的航天器复杂协议的遥测数据动态处理方法,其特征在于,还包括:
步骤B1,获取下一包EPDU数据包的新包头、数据包通道号和长度,执行步骤B2;
步骤B2,判断MPDU数据包剩余长度是否大于等于EPDU数据包的长度;若是,执行步骤B3;若否,执行步骤B8;
步骤B3,判断下一包EPDU数据包通道号与上一包EPDU数据包通道号是否相同;若不同,执行步骤B4;若相同,执行步骤B5;
步骤B4,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的第一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6;
步骤B5,将下一包EPDU数据包内的EPDU数据动态写入对应的数据结构单元的下一个数据存储区中,将数据结构单元中的数据接收完成标志置为TRUE,将数据结构单元中的继续接受标志置为FALSE;执行步骤B6;
步骤B6,减去当前EPDU数据包的长度后,得到当前MPDU数据包的剩余长度;执行步骤B7;
步骤B7,判断当前MPDU数据包的剩余长度是否等于0,若是0,则执行步骤B10;若否,则返回执行步骤B2;
步骤B8,当步骤B2的条件判断为不满足时,执行步骤B8,将下一包EPDU数据包内的EPDU数据,动态写入对应的数据结构单元的第一个数据存储区中,等待数据继续写入,执行步骤B9;
步骤B9,将数据结构单元中的数据接收完成标志置为FALSE,将数据结构单元中的继续接受标志置为TRUE,执行步骤B10;
步骤B10,判断是否结束本次遥测数据动态处理操作,条件为TRUE时,执行步骤B11,条件不为真时,执行步骤B12;
步骤B11,完成本次遥测数据动态处理操作,结束;
步骤B12,接受下一帧下行CADU数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140932.9A CN109756514B (zh) | 2019-02-26 | 2019-02-26 | 一种航天器复杂协议的遥测数据动态处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140932.9A CN109756514B (zh) | 2019-02-26 | 2019-02-26 | 一种航天器复杂协议的遥测数据动态处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756514A CN109756514A (zh) | 2019-05-14 |
CN109756514B true CN109756514B (zh) | 2021-07-13 |
Family
ID=66406693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910140932.9A Active CN109756514B (zh) | 2019-02-26 | 2019-02-26 | 一种航天器复杂协议的遥测数据动态处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756514B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111181847B (zh) * | 2019-12-30 | 2022-04-19 | 北京空间技术研制试验中心 | 基于分层路由的组合式航天器数据处理方法 |
CN111858571B (zh) * | 2020-07-08 | 2024-04-09 | 深圳航天东方红海特卫星有限公司 | 一种卫星数传数据处理方法与系统 |
CN113364511B (zh) * | 2021-05-11 | 2023-04-07 | 上海卫星工程研究所 | 基于ccsds分包遥测的均衡传递计算方法和系统 |
CN114510476B (zh) * | 2021-12-29 | 2023-08-04 | 北京空间飞行器总体设计部 | 基于ccsds源包体制的遥测数据多路并行处理系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957134A (zh) * | 2014-04-22 | 2014-07-30 | 航天恒星科技有限公司 | 一种模块化可配置的遥测参数解析处理系统 |
CN104486335A (zh) * | 2014-12-12 | 2015-04-01 | 北京控制工程研究所 | 一种高复杂度航天器gnc数据实时智能处理系统 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2563894A (en) * | 2017-06-29 | 2019-01-02 | Airbus Operations Ltd | Data centric messaging |
-
2019
- 2019-02-26 CN CN201910140932.9A patent/CN109756514B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957134A (zh) * | 2014-04-22 | 2014-07-30 | 航天恒星科技有限公司 | 一种模块化可配置的遥测参数解析处理系统 |
CN104486335A (zh) * | 2014-12-12 | 2015-04-01 | 北京控制工程研究所 | 一种高复杂度航天器gnc数据实时智能处理系统 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109756514A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756514B (zh) | 一种航天器复杂协议的遥测数据动态处理方法 | |
CN106407531B (zh) | 一种基于增量化模型的航天器遥测方法 | |
CN113612654B (zh) | 一种基于数据库的车载网关功能测试方法 | |
CN101651683B (zh) | 一种信令消息解析源代码生成方法 | |
CN107592238A (zh) | 接口的自动测试方法及系统、服务终端、存储器 | |
CN106998260A (zh) | 一种基于以太网链路的fpga设备升级方法及系统 | |
CN111107059A (zh) | 一种无人机多协议传输数据解析方法 | |
CN113887173A (zh) | 一种基于xml的协议动态组包和解析方法 | |
CN111541521B (zh) | 一种数据包长度识别方法及系统 | |
CN110868458B (zh) | 一种用于稳定控制系统的通信方法及装置 | |
CN109872411B (zh) | 一种基于时序统一的多源异步飞控数据处理方法 | |
CN114780315A (zh) | 一种硬件模拟测试方法及装置 | |
US7463653B2 (en) | Apparatus and method for compression of the timing trace stream | |
CN113722340A (zh) | 基于配电装置的远程自动点表更新的处理方法及系统 | |
CN112235316A (zh) | 一种仪器集成的数据通信方法 | |
CN116521602A (zh) | 一种总线数据的传输方法和装置及存储介质 | |
CN112054955B (zh) | 基于网关的设备通信方法 | |
CN112804027B (zh) | 数据包生成方法及装置、数据读取方法及装置 | |
CN116414820A (zh) | 数据表的预处理方法、装置、电子设备及存储介质 | |
CN102835127B (zh) | Otn开销的发送、接收方法和装置 | |
KR20090056622A (ko) | 바이너리 데이터 파일 분석 방법 및 장치와 그 방법을수행하기 위한 프로그램이 기록된 기록매체 | |
CN103678054B (zh) | 用于BACnet设备的测试方法及装置 | |
CN112737831A (zh) | 一种固件升级包处理方法、装置、电子设备和存储介质 | |
CN112350839B (zh) | 以太网的事件记录方法、装置、计算机设备以及存储介质 | |
CN116055350B (zh) | 一种基于Json的数据通信质量检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |