CN109872411B - 一种基于时序统一的多源异步飞控数据处理方法 - Google Patents
一种基于时序统一的多源异步飞控数据处理方法 Download PDFInfo
- Publication number
- CN109872411B CN109872411B CN201910140950.7A CN201910140950A CN109872411B CN 109872411 B CN109872411 B CN 109872411B CN 201910140950 A CN201910140950 A CN 201910140950A CN 109872411 B CN109872411 B CN 109872411B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- packet
- epdu
- 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
技术领域
本发明属于航天器遥测数据处理技术领域,尤其涉及一种基于时序统一的多源异步飞控数据处理方法。
背景技术
航天器工程具有高风险、高投入和高复杂度的特点。虽然目前航天器飞行控制自主化程度较高,但由于在轨飞行高风险,依然需要地面有人参与的飞行控制,尤其是在空间交会对接的导航制导控制,深空探测的变轨机动等关键重要事件时更需要有人参与。地面飞行控制重要决策的数据基础,获得航天器的下行遥测数据的准确和及时就显得尤为重要。
我国目前对于航天飞行控制任务进行数据测控的测控网,由天基的多颗中继数据卫星、地基的多个测控站(分别分布在亚洲、非洲、美洲等地)以及执行飞控任务的测量船所组成。所有遥测数据在控制计算机打包之后通过遥测中继天线传递至中继卫星,再由中继卫星传递至飞行控制中心、或者通过遥测天线将数据直接下传至相应测控站再传递至飞行控制中心。在同一时刻,会有获得多个测站的同一类型的数据,由于各个测站距飞控中心的物理距离不同、遥测数据通过传输的途径的差异,导致了这些数据在时间上存在着差异,对于这些数据汇集而来的数据,如何准确、高效地从数据流中提取所需要的数据包,并且根据统一的时序处理方法从各个基站数据中挑选最合理的数据包,继而以这些数据为依据,进行后续的飞控数据处理和判读是本发明技术人员亟需解决的问题之一。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种基于时序统一的多源异步飞控数据处理方法,解决了现有技术在面对复杂遥测协议动态提取遥测数据时所存在的问题,并且,基于同一时序筛选出合理的遥测数据包,确保了筛选出的数据包不重、不漏,数据刷新过程中不发生回卷和跳帧,为飞行控制的状态监控提供了准确有效的数据来源,对于飞行控制任务具有重要作用。
为了解决上述技术问题,本发明公开了一种基于时序统一的多源异步飞控数据处理方法,包括:
通过基于时序统一的测站动态选择,筛选得到飞行控制决策支持所对应的数据;
根据配置文件,对内存空间进行初始化,构建三维数据结构单元存储空间;其中,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数据包。
在上述基于时序统一的多源异步飞控数据处理方法中,所述通过基于时序统一的测站动态选择,筛选得到飞行控制决策支持所对应的数据,包括:
步骤K21,判断接收到的遥测源码包类型,若是遥测数据包T,则执行步骤K22;若不是遥测数据包T,则退出遥测数据包T的数据处理;
步骤K22,判断遥测数据包T数据格式的正确性,若遥测数据包T格式正确,则执行步骤K23;若遥测数据包T格式不正确,则退出遥测数据包T的数据处理;
步骤K23,对从地面测站和从中继卫星采集的遥测数据包T,进行时间码提取,判断时间码是否合理递增;其中,保留满足时间码递增的遥测数据包T,执行步骤K24;将时间码不变或减小的数据确认为无效数据,退出遥测数据包T的数据处理;
步骤K24,将所有各个通道下传的信息正确的遥测数据包T存入缓冲区,执行步骤K25;
步骤K25,判断所有的遥测数据包T是否接收完全,若未接受完全,则执行步骤K24,若全部各个测控通道的遥测数据包T接收完全,则执行步骤K26;
步骤K26,判断遥测数据包T是否来源于中继卫星,若是,则执行步骤K27;若不是,则执行步骤K28;
步骤K27,筛选得到中继卫星的遥测数据包T,作为实时数据的输出,执行步骤K213;
步骤K28,判断遥测数据包T的数据是否为上一拍稳定跟踪的数据测控站的数据,若是同一个稳定跟踪的数据测控站,则执行步骤K212;若不是,则执行步骤K29;
步骤K29,判断是否满足地面测控站切换条件,若满足,则执行步骤K210;若不满足,则执行步骤K211;
步骤K210,选取下一个地面站采集的遥测数据包T,执行步骤K213;
步骤K211,不选取遥测数据包T,执行步骤K213;
步骤K212,选取地面站采集的遥测数据包T,执行步骤K213;
步骤K213,完成测站通道选择。
本发明具有以下优点:
本发明所述的基于时序统一的多源异步飞控数据处理方法为解决复杂协议的通用的处理手段,当协议数据处理有变化时,无需再进行专门的定制开发,仅通过更改配置文件中的相应特征参数值即可实现对新协议的处理。该发明解决了传统定制开发存在的问题,提升了对于这类复杂协议数据处理的效率,提升了遥测数据处理的通用性,有利于在不同型号之间的复用。其次,基于同一时序筛选出合理的遥测数据包,确保了筛选出的数据包不重、不漏,数据刷新过程中不发生回卷和跳帧,为飞行控制的状态监控提供了准确有效的数据来源,对于飞行控制任务具有重要作用。
附图说明
图1是本发明实施例中一种基于时序统一的多源异步飞控数据处理方法的步骤流程图;
图2是本发明实施例中一种测站通道选择处理流程示意图;
图3是本发明实施例中一种EPDU数据动态写入对应的数据结构单元的数据存储区中的步骤流程图;
图4是本发明实施例中又一种基于时序统一的多源异步飞控数据处理方法的步骤流程图;
图5是本发明实施例中再一种基于时序统一的多源异步飞控数据处理方法的步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公共的实施方式作进一步详细描述。
本发明实施例所述的基于时序统一的多源异步飞控数据处理方法基于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,示出了本发明实施例中一种基于时序统一的多源异步飞控数据处理方法的步骤流程图。在本实施例中,所述基于时序统一的多源异步飞控数据处理方法,包括:
步骤100,通过基于时序统一的测站动态选择,筛选得到飞行控制决策支持所对应的数据。
在本实施例中,基于时序统一的测站动态选择的主要作用为:接收到复杂遥测数据包提取之后的各个测站的数据包信息后,在多个信息冗余、时序异步的遥测信息源中,自动进行时间对齐和去冗余,获取符合时序要求的实时遥测包。
优选的,参照图2,示出了本发明实施例中一种测站通道选择处理流程示意图。以数据包T为例,上述步骤100具体可以通过如下方式实现:
步骤K21,判断接收到的遥测源码包类型,若是遥测数据包T,则执行步骤K22;若不是遥测数据包T,则退出遥测数据包T的数据处理。
步骤K22,判断遥测数据包T数据格式的正确性,若遥测数据包T格式正确,则执行步骤K23;若遥测数据包T格式不正确,则退出遥测数据包T的数据处理。
步骤K23,对从地面测站和从中继卫星采集的遥测数据包T,进行时间码提取,判断时间码是否合理递增;其中,保留满足时间码递增的遥测数据包T,执行步骤K24;将时间码不变或减小的数据确认为无效数据,退出遥测数据包T的数据处理。
步骤K24,将所有各个通道下传的信息正确的遥测数据包T存入缓冲区,执行步骤K25。
步骤K25,判断所有的遥测数据包T是否接收完全,若未接受完全,则执行步骤K24,若全部各个测控通道的遥测数据包T接收完全,则执行步骤K26。
步骤K26,判断遥测数据包T是否来源于中继卫星,若是,则执行步骤K27;若不是,则执行步骤K28。
步骤K27,筛选得到中继卫星的遥测数据包T,作为实时数据的输出,执行步骤K213。
步骤K28,判断遥测数据包T的数据是否为上一拍稳定跟踪的数据测控站的数据,若是同一个稳定跟踪的数据测控站,则执行步骤K212;若不是,则执行步骤K29。
步骤K29,判断是否满足地面测控站切换条件,若满足,则执行步骤K210;若不满足,则执行步骤K211。
步骤K210,选取下一个地面站采集的遥测数据包T,执行步骤K213。
步骤K211,不选取遥测数据包T,执行步骤K213。
步骤K212,选取地面站采集的遥测数据包T,执行步骤K213。
步骤K213,完成测站通道选择。
步骤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数据,动态写入对应的数据结构单元的数据存储区中。
在本实施例中,参照图3,示出了本发明实施例中一种EPDU数据动态写入对应的数据结构单元的数据存储区中的步骤流程图。如图3,所述步骤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。
参照图4,示出了本发明实施例中又一种基于时序统一的多源异步飞控数据处理方法的步骤流程图。
在本实施例中,通过上述步骤100~105,能够将所需要的数据包提取出来。提取出来的遥测数据包在通过基于时序统一的测站动态选择,剔除冗余信息后的遥测数据源包可作为飞行控制数据处理和判读的初始条件。
在本发明的一优选实施例中,所述基于时序统一的多源异步飞控数据处理方法,还可以包括:
步骤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。
参照图5,示出了本发明实施例中再一种基于时序统一的多源异步飞控数据处理方法的步骤流程图。在本实施例中,所述基于时序统一的多源异步飞控数据处理方法,还可以包括:
步骤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,则执行步骤10;若当前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数据包中通过遥测进行下传的数据包的内容,当需要对某一个下传数据包进行解析处理的时候,对该数据包处理,获得所需要的遥测变量。该发明采用通用的数据处理方法,当上述协议发生变化或者有增删的情况下,仅需要修改配置文件即可实现对于协议变化的适应,具有很强的兼容性和可扩展性。
又例如,某飞船型号遥测体系采用基于CCSDS的AOS的数据处理方式,CADU数据包的长度为M字节,VCDU共使用了N个虚拟信道,MPDU的长度为X字节,CRC校验占用CADU数据包的最后两字节,有Y个EPDU数据包,每个数据包的长度有各自的长度。飞行任务时的遥测数据来源有分布于全球的P个地面测控站和Q个中继卫星数据通路。通过本发明所采用的方法,将上述复杂协议处理的特征信息写入配置文件,通过读取配置文件中的信息,进行处理获得所有Y个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数据,动态写入对应的数据结构单元的数据存储区中;
其中,所述通过基于时序统一的测站动态选择,筛选得到飞行控制决策支持所对应的数据,包括:
步骤K21,判断接收到的遥测源码包类型,若是遥测数据包T,则执行步骤K22;若不是遥测数据包T,则退出遥测数据包T的数据处理;
步骤K22,判断遥测数据包T数据格式的正确性,若遥测数据包T格式正确,则执行步骤K23;若遥测数据包T格式不正确,则退出遥测数据包T的数据处理;
步骤K23,对从地面测站和从中继卫星采集的遥测数据包T,进行时间码提取,判断时间码是否合理递增;其中,保留满足时间码递增的遥测数据包T,执行步骤K24;将时间码不变或减小的数据确认为无效数据,退出遥测数据包T的数据处理;
步骤K24,将所有各个通道下传的信息正确的遥测数据包T存入缓冲区,执行步骤K25;
步骤K25,判断所有的遥测数据包T是否接收完全,若未接收完全,则执行步骤K24,若全部各个测控通道的遥测数据包T接收完全,则执行步骤K26;
步骤K26,判断遥测数据包T是否来源于中继卫星,若是,则执行步骤K27;若不是,则执行步骤K28;
步骤K27,筛选得到中继卫星的遥测数据包T,作为实时数据的输出,执行步骤K213;
步骤K28,判断遥测数据包T的数据是否为上一拍稳定跟踪的数据测控站的数据,若是同一个稳定跟踪的数据测控站,则执行步骤K212;若不是,则执行步骤K29;
步骤K29,判断是否满足地面测控站切换条件,若满足,则执行步骤K210;若不满足,则执行步骤K211;
步骤K210,选取下一个地面站采集的遥测数据包T,执行步骤K213;
步骤K211,不选取遥测数据包T,执行步骤K213;
步骤K212,选取地面站采集的遥测数据包T,执行步骤K213;
步骤K213,完成测站通道选择。
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 |
---|---|---|---|
CN201910140950.7A CN109872411B (zh) | 2019-02-26 | 2019-02-26 | 一种基于时序统一的多源异步飞控数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140950.7A CN109872411B (zh) | 2019-02-26 | 2019-02-26 | 一种基于时序统一的多源异步飞控数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109872411A CN109872411A (zh) | 2019-06-11 |
CN109872411B true CN109872411B (zh) | 2021-07-13 |
Family
ID=66919235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910140950.7A Active CN109872411B (zh) | 2019-02-26 | 2019-02-26 | 一种基于时序统一的多源异步飞控数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109872411B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858571B (zh) * | 2020-07-08 | 2024-04-09 | 深圳航天东方红海特卫星有限公司 | 一种卫星数传数据处理方法与系统 |
CN112799725B (zh) * | 2020-10-30 | 2024-03-26 | 航天东方红卫星有限公司 | 一种适用于卫星型号的指令控制数据块功能的设计方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050226143A1 (en) * | 2004-04-12 | 2005-10-13 | Raytheon Company | Data monitoring and recovery |
CN102801626A (zh) * | 2012-08-17 | 2012-11-28 | 北京空间飞行器总体设计部 | 一种基于aos标准的星载数据管理方法及装置 |
CN103034236A (zh) * | 2012-11-30 | 2013-04-10 | 北京控制工程研究所 | 一种基于时分复用的多星敏感器时序同步处理方法 |
CN107180459A (zh) * | 2017-05-16 | 2017-09-19 | 四川金信石信息技术有限公司 | 一种电力移动作业平台的数据采集和监测方法 |
CN108400811A (zh) * | 2018-02-13 | 2018-08-14 | 北京空间技术研制试验中心 | 基于高级在轨数据处理方法的空间实验室信息系统 |
-
2019
- 2019-02-26 CN CN201910140950.7A patent/CN109872411B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050226143A1 (en) * | 2004-04-12 | 2005-10-13 | Raytheon Company | Data monitoring and recovery |
CN102801626A (zh) * | 2012-08-17 | 2012-11-28 | 北京空间飞行器总体设计部 | 一种基于aos标准的星载数据管理方法及装置 |
CN103034236A (zh) * | 2012-11-30 | 2013-04-10 | 北京控制工程研究所 | 一种基于时分复用的多星敏感器时序同步处理方法 |
CN107180459A (zh) * | 2017-05-16 | 2017-09-19 | 四川金信石信息技术有限公司 | 一种电力移动作业平台的数据采集和监测方法 |
CN108400811A (zh) * | 2018-02-13 | 2018-08-14 | 北京空间技术研制试验中心 | 基于高级在轨数据处理方法的空间实验室信息系统 |
Non-Patent Citations (1)
Title |
---|
通用MPDU组帧算法设计;周倜等;《系统仿真学报》;20150831;第27卷(第8期);第1729-1734页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109872411A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756514B (zh) | 一种航天器复杂协议的遥测数据动态处理方法 | |
CN111224839B (zh) | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 | |
CN109872411B (zh) | 一种基于时序统一的多源异步飞控数据处理方法 | |
CN104158627B (zh) | 一种异构链路多协议的自动识别系统和方法 | |
EP1722529B1 (en) | Device and method for simulating communication system capable of easily controlling protocol message | |
US9680719B2 (en) | Communication system, client terminal, and server | |
JPH09326796A (ja) | コンピュータネットワーク通信をシミュレートするためのテストパケットの生成方法、及びその装置 | |
EP3605881B1 (en) | Method and device for transmitting and receiving network management information, transmitting apparatus and receiving apparatus | |
CN109672470B (zh) | 一种小卫星星上软件上注和重构地面测试验证方法及系统 | |
CN104809250A (zh) | 一种松散式数据一致性校验方法 | |
CN110868458A (zh) | 一种用于稳定控制系统的通信方法及装置 | |
US7463653B2 (en) | Apparatus and method for compression of the timing trace stream | |
CN112838886B (zh) | 一种用于小卫星的数据处理方法、装置、设备及存储介质 | |
CN114510357A (zh) | 一种卫星发射场试验鉴定业务消息交互方法及系统 | |
KR100512980B1 (ko) | 메인프로세서의 패킷 헤더 처리 효율 향상을 위해 패킷헤더 필더를 추출해 정렬하는 패킷프로세서,버퍼메모리제어장치 및 그 방법 | |
CN113177011B (zh) | 航天器数据解析应用方法 | |
CN114745254A (zh) | 基于功能分离的时变星间链路着色Petri网建模方法 | |
CN112804027B (zh) | 数据包生成方法及装置、数据读取方法及装置 | |
CN109033137B (zh) | 动态rinex数据存储方法及装置 | |
CN107976703A (zh) | 差分定位的优化方法及系统、定位终端、存储器 | |
CN113133107B (zh) | 用于同步信息的方法及装置 | |
CN114374812B (zh) | Dp接口辅助通道的通信信息监测设备、方法及系统 | |
CN110636016B (zh) | 数据传输方法及系统 | |
CN116781806B (zh) | 应用配置信息的大数据解析系统 | |
CN115134417B (zh) | 一种基于iec61850的电力系统一次设备的数据转换方法和装置 |
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 |