CN101170345B - 一种卫星分包遥测数据的解包方法 - Google Patents
一种卫星分包遥测数据的解包方法 Download PDFInfo
- Publication number
- CN101170345B CN101170345B CN2007101785019A CN200710178501A CN101170345B CN 101170345 B CN101170345 B CN 101170345B CN 2007101785019 A CN2007101785019 A CN 2007101785019A CN 200710178501 A CN200710178501 A CN 200710178501A CN 101170345 B CN101170345 B CN 101170345B
- Authority
- CN
- China
- Prior art keywords
- data
- bag
- frame
- packet
- telemetry
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Radio Relay Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种卫星分包遥测数据的解包方法,首先定义数据格式,并将所述数据格式存储在数据格式配置文件中;然后从遥测前端接收遥测数据,并根据数据格式配置文件中所定义的帧数据格式,从遥测数据中取出帧数据;根据数据格式配置文件中所定义的包数据格式,从帧数据中解析读取包数据,接收到完整的包数据后,根据包头信息判别包数据的有效性,如果包数据有效则对包内数据进行处理计算,如果包数据无效则遗弃接收到的包数据。
Description
技术领域
本发明涉及一种数据解包方法,特别是一种卫星分包遥测数据的解包方法。
背景技术
卫星测试设备总控系统是在卫星测试过程中所使用的一种控制和管理系统,它的重要功能之一就是将接收来的数据进行处理并计算。由于目前卫星通讯领域广泛采用的为帧格式数据,因此卫星测试设备总控系统所采用的数据处理方法也主要是针对单一的帧格式数据。帧格式数据即是将要发送的数据分别存储在固定长度的数据帧中,数据帧中的每个存储位置都有其特定的含义,通过查找对应的参数表即可获得其表示的内容。由于这种帧格式数据所传输的数据格式是固定的,不够灵活,在传输的数据量较大时,定义数据帧的存储位置将会相当繁琐,无法满足部分数据传输的需要。因此,随着我国航天事业的不断发展,卫星通讯的数据格式也不断变化,不再是原来单一的帧格式数据,而是既包含有帧格式数据又包含有包格式数据。卫星通常都由几个不同的分系统构成,每个分系统的测试数据组成一个包即成为包数据。由于卫星分系统的组成不同,所以每颗卫星下传的包数据也不相同,他们的包标识和包长度也各不相同,当采用固定长度的数据帧来传输这些包数据时,每帧数据中所包含的包数据是不固定的,通过定义数据帧的存储位置来查表的方法已不再适用于对这些新的包格式数据进行处理。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了一种操作简便的卫星分包遥测数据解包方法。
本发明的技术解决方案是:一种卫星分包遥测数据的解包方法,其特征在于步骤如下:
(1)定义包含有帧数据格式和包数据格式的配置文件;
(2)从遥测前端接收遥测数据;
(3)读取所述配置文件,并根据配置文件中定义的帧数据格式,从遥测数据中取出帧数据;
(4)根据配置文件中所定义的包数据格式,从步骤(3)中取出的帧数据中解析读取包数据,如果帧数据内含有完整的包数据则取出完整的包数据;如果帧数据内含有不完整的包数据,则缓存数据,直至接收到下一帧数据后继续接收所述不完整包数据的剩余部分以组成完整的数据包;如果帧数据中包含有多个包数据,则将包含的多个包数据逐个取出;
(5)判别取出的完整包数据的有效性;如果包数据有效则对包内数据进行处理,如果包数据无效则遗弃接收到的所述包数据;
(6)重复执行步骤(2)至(5),直至对所有遥测数据完成解包处理。
所述步骤(1)中的帧数据格式为:包含固定遥测区和分包遥测区,总共占用1 28字节,其中固定遥测区又分为帧同步码、卫星识别码、固定遥测数据和备用信息码;分包遥测区又分为帧计数、主导头指针和数据域,数据域中携带有包数据。
所述的包数据格式为:包含包头信息和包内遥测数据,其中包头信息包含包标识和包长度信息。
所述步骤(3)中读取帧数据的方法为:首先根据帧同步码判断接收到的帧数据的有效性;然后根据卫星识别码判断帧数据的来源,根据固定遥测数据接收测控信道的工作参数,同时根据帧计数的值判断帧数据的连续性;随后根据主导头指针找出帧数据域中第一个数据包的位置并顺序取出帧数据域中携带的包数据。
所述步骤(4)中从帧数据中解析读取包数据的方法为:从包数据的包头信息中读取包标识和包长度信息,根据包标识判断包数据所属的卫星测试分系统,按照包长度信息确定包数据的字节数。
本发明与现有技术相比的优点在于:一种卫星分包遥测数据的解包方法,通过在遥测数据格式配置文件中定义的帧数据格式及包数据格式,利用遥测数据格式配置文件即可正确地从遥测数据中对各种包数据进行拆分和组装,操作简单,扩展了卫星测试系统的遥测数据处理功能,使其既能处理帧格式遥测数据同时又能处理包格式遥测数据。
附图说明
图1为本发明卫星分包遥测数据解包方法的流程图。
具体实施方式
本发明实施例中,配置文件包含的帧数据格式如表1所示:
表1帧数据格式表
## ## …… …… …… …… …… …… …… …… ## ## | ||||||
帧同步码 | 卫星识别码 | 固定遥测 | 备用信息 | 帧计数 | 主导头指针 | 数据域 |
固定遥测区 | 分包遥测区 |
表中各组成部分所包含的内容如下:
1)帧同步码:取固定值,用于判断接收到的帧数据的有效性;
2)卫星识别码:用于判断帧数据的来源;
3)固定遥测:用于传送与测控信道工作状态相关的参数,确保星地链路工作可靠;
4)备用信息:用于其他扩展识别功能;
以上四部分构成固定遥测区,占用20字节。
5)帧计数:用于判断帧数据的连续性,在实际应用时可采用顺序加1的方式判别;
6)主导头指针:指出数据域中第一个出现的包数据主导头的首字节位置,数据域的第一个字节的位置为0;如果整个数据域中无包数据主导头首字节,则填FFH;
7)数据域:遥测包数据按字节界限连续置入数据域;如果数据域已填满,而一个数据包没有被组装完,则剩余部分放在下一帧数据的数据域最前端。
以上三部分构成分包遥测区,占用108字节。
本发明实施例配置文件中包含的包数据格式为:包含包头信息和包内遥测数据,其中包头信息包含包标识和包长度信息,可在配置文件中依如下格式配置:
遥测分系统标识 包标识 包长
AC 0xAB 12
AD 0xCD 13
在进行解包操作时,首先从遥测前端接收遥测帧数据,然后从遥测数据格式配置文件中读出相应的帧数据格式配置参数,其中包括帧计数位置、主导头指针位置、帧数据域等所在位置的参数值;随后根据帧同步码判断接收到的帧数据的有效性,根据卫星识别码判断帧数据的来源,根据固定遥测数据接收测控信道的工作参数,根据帧计数的值判断帧数据的连续性;再次,根据主导头指针找出帧数据的数据域中第一个包数据的位置并顺序取出数据域中携带的包数据。在取出包数据后,根据遥测数据格式配置文件中定义的包格式配置参数进行拆包处理。拆包时首先从包头信息中读取包标识和包长度信息,根据包标识判断包数据所属的卫星测试分系统,按照包长度信息确定包数据的字节数。如果帧数据内含有完整的包数据则取出完整的包数据;如果帧数据内含有不完整的数据包,则缓存数据,直至接收到下一帧数据后,继续接收所述不完整包数据的剩余部分以组成完整的包数据;如果帧数据中包含有多个包数据,则将包含的多个包数据逐个取出;如果包数据有效,即包标识和包长度信息符合预先设定的值,则对包内数据进行处理计算,如果包数据无效则遗弃接收到的此数据包;重复执行上述过程,直至对所有遥测数据进行完解包处理。
本发明遥测数据解包方法的详细工作流程如图1所示,其具体实现方式如下:
接收从遥测前端处理进程发来的遥测数据;
读取主导头指针head_pos;
If(头指针位置有效)
if head_pos为Oxff
if是组新包或本帧不连续
令head_pos指向帧数据域的开始;
else
使其无效head_pos=-1;
end of if//head_pos为Oxff
//处理主导头前面的第一个数据包数据
If主导头不是在开始位置且上一包尚未组完
if本帧连续
if上一包已取到完整的包头信息
if本帧含有完整的包数据信息
读取上一包剩余的包数据信息组成完整的包;进行包数
据处理;
重置head_pos使其指向剩余数据的开始位置;
else
读取帧数据域中的包数据到包数据缓冲区;
更新包剩余数据信息,置本包未组完标志;
else//上一包只取得了部分包头信息
读取剩余的包头信息到包头缓冲区;
从包头中取包长度信息;
If(包长合理)
If剩余的数据中含有完整的包数据信息
if包头指针值无效
设置包头指针
If(是合法包)
读取完整的包数据信息到包数据缓冲区;
if该帧是一Oxff帧,重置head_pos;
else//剩余的数据中不含有完整的包数据信息
把剩余的数据读到包数据缓冲区;
置包剩余数据信息及本包未组完标志;
else//包长不合理时
放弃处理此帧数据;
初始化组包过程中所用的变量;
else//不是连续帧
放弃处理接受到的本帧数据
end of if
//从第一个包头位置开始拆分数据组包,可能会拆分出若干包
While head_pos有效
If(从head_pos所指位置开始的剩余数据包含一个完整的包头)
读取完整的包头信息到包头缓冲区;
从包头中取包长度信息;
If(包长有效)
if剩余的数据长度>包长
读取完整的包数据信息到包数据缓冲区;
重置head_pos;
else//剩余的数据不够组成一个完整的包
把剩余的数据读到包数据缓冲区;
置包剩余数据信息;
置本包未组完标志;
置head_pos无效;
else//包长无效,表明此包不是一个合法的包
放弃此帧数据;
初始化组包过程中所用的变量;
break;
else //剩余的数据不足以组成一个完整的包头
把剩余的数据读到包头数据缓冲区;
置包头剩余数据信息;
置本包未组完标志;
置head_pos无效;
end of while head_pos有效
end of if包头指针位置有效。
其中:head_pos的值所表示的内容是指在本帧数据中第一个包数据的包头所在位置。head_pos=Oxff,表示接收到的数据中可能含有主导头指针,但是没有指定位置,需要根据具体情况确定主导头指针的位置。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知技术。
Claims (5)
1.一种卫星分包遥测数据的解包方法,其特征在于步骤如下:
(1)定义包含有帧数据格式和包数据格式的配置文件;
(2)从遥测前端接收遥测数据;
(3)读取所述配置文件,并根据配置文件中定义的帧数据格式,从遥测数据中取出帧数据;
(4)根据配置文件中所定义的包数据格式,从步骤(3)中取出的帧数据中解析读取包数据,如果帧数据内含有完整的包数据则取出完整的包数据;如果帧数据内含有不完整的包数据,则缓存数据,直至接收到下一帧数据后继续接收所述不完整包数据的剩余部分以组成完整的数据包;如果帧数据中包含有多个包数据,则将包含的多个包数据逐个取出;
(5)判别取出的完整包数据的有效性;如果包数据有效则对包内数据进行处理,如果包数据无效则遗弃接收到的所述包数据;
(6)重复执行步骤(2)至(5),直至对所有遥测数据完成解包处理。
2.根据权利要求1所述的一种卫星分包遥测数据的解包方法,其特征在于:所述步骤(1)中的帧数据格式为:包含固定遥测区和分包遥测区,总共占用128字节,其中固定遥测区又分为帧同步码、卫星识别码、固定遥测数据和备用信息;分包遥测区又分为帧计数、主导头指针和数据域,数据域中携带有包数据。
3.根据权利要求1或2所述的一种卫星分包遥测数据的解包方法,其特征在于:所述的包数据格式为:包含包头信息和包内遥测数据,其中包头信息包含包标识和包长度信息。
4.根据权利要求1所述的一种卫星分包遥测数据的解包方法,其特征在于:所述步骤(3)中读取帧数据的方法为:首先根据帧同步码判断接收到的帧数据的有效性;然后根据卫星识别码判断帧数据的来源,根据固定遥测数据接收测控信道的工作参数,同时根据帧计数的值判断帧数据的连续性;随后根据 主导头指针找出帧数据域中第一个数据包的位置并顺序取出帧数据域中携带的包数据。
5.根据权利要求1所述的一种卫星分包遥测数据的解包方法,其特征在于:所述步骤(4)中从帧数据中解析读取包数据的方法为:从包数据的包头信息中读取包标识和包长度信息,根据包标识判断包数据所属的卫星测试分系统,按照包长度信息确定包数据的字节数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101785019A CN101170345B (zh) | 2007-11-30 | 2007-11-30 | 一种卫星分包遥测数据的解包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101785019A CN101170345B (zh) | 2007-11-30 | 2007-11-30 | 一种卫星分包遥测数据的解包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101170345A CN101170345A (zh) | 2008-04-30 |
CN101170345B true CN101170345B (zh) | 2011-12-21 |
Family
ID=39390832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101785019A Expired - Fee Related CN101170345B (zh) | 2007-11-30 | 2007-11-30 | 一种卫星分包遥测数据的解包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101170345B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645799B (zh) * | 2009-08-12 | 2012-08-15 | 保定市三川电气有限责任公司 | 一种数字通信的发送、接收方法及设备 |
CN102075291B (zh) * | 2010-12-17 | 2013-01-23 | 北京控制工程研究所 | 一种实现遥测数据接收完整性的方法 |
CN102436465B (zh) * | 2011-09-01 | 2013-05-01 | 北京空间飞行器总体设计部 | 一种在轨航天器遥测数据存储与快速查询方法 |
CN102323941B (zh) * | 2011-09-01 | 2012-12-26 | 北京空间飞行器总体设计部 | 一种遥测数据处理方法 |
CN102664749B (zh) * | 2012-04-09 | 2014-08-13 | 北京航空航天大学 | 一种可配置遥测数据的监控系统 |
CN102983939B (zh) * | 2012-11-13 | 2015-09-23 | 北京空间飞行器总体设计部 | 一种用于航天器多级子网的上行数据通信方法 |
CN103347025B (zh) * | 2013-07-10 | 2015-12-23 | 北京航天自动控制研究所 | 一种空间飞行器的遥测数据处理方法 |
CN104750758B (zh) * | 2013-12-31 | 2018-07-03 | 深圳航天东方红海特卫星有限公司 | 一种微小卫星测试数据包的通用解析处理方法和系统 |
CN104252526B (zh) * | 2014-08-29 | 2017-09-22 | 航天东方红卫星有限公司 | 基于冗余消除的遥测存储方法 |
CN104410613A (zh) * | 2014-11-20 | 2015-03-11 | 广西大学 | 一种处理传输控制协议粘包方法及装置 |
CN105892345B (zh) * | 2015-01-23 | 2018-09-14 | 北京空间飞行器总体设计部 | Pcm遥控体制和分包遥控体制融合设计方法 |
CN105515638B (zh) * | 2015-11-30 | 2018-10-30 | 上海卫星工程研究所 | 星载多载荷数据帧传输装置及传输方法 |
CN107241276B (zh) * | 2017-06-08 | 2019-07-12 | 中国电子科技集团公司第五十四研究所 | 一种多星遥测数据的统一接收处理方法 |
CN107632844B (zh) * | 2017-07-28 | 2023-07-18 | 上海航天电子有限公司 | 用于卫星测试的遥测多格式组帧方法 |
CN109558279A (zh) * | 2017-09-26 | 2019-04-02 | 株洲中车时代电气股份有限公司 | 一种串口数据接收方法以及异常监测定位方法 |
CN108225311B (zh) * | 2017-12-25 | 2020-09-08 | 中铁第四勘察设计院集团有限公司 | 用于轨道自动测量车的轨道数据采集系统方法及系统 |
CN109213475B (zh) * | 2018-07-20 | 2022-04-01 | 北京航空航天大学 | 卫星多回路比对指令单元遥控源程序的人工智能书写方法 |
CN109842675B (zh) * | 2019-01-18 | 2022-03-25 | 北京信成未来科技有限公司 | 一种通用卫星遥测数据处理系统及方法 |
CN111771196A (zh) * | 2019-01-30 | 2020-10-13 | 深圳市大疆创新科技有限公司 | 用于点云数据的存储方法、回放方法及计算机可读介质 |
CN110175051B (zh) * | 2019-04-11 | 2022-03-29 | 上海卫星工程研究所 | 星地一体化的遥测配置管理方法 |
CN110932929B (zh) * | 2019-11-12 | 2021-08-24 | 上海卫星工程研究所 | Ccsds体制卫星遥测包分类提取方法、系统及介质 |
CN111262620B (zh) * | 2020-04-26 | 2020-07-31 | 武汉卓目科技有限公司 | 一种可灵活定制帧格式的测试数据模拟方法和系统 |
CN112134896B (zh) * | 2020-09-27 | 2022-09-16 | 中国科学院国家天文台 | 一种中性原子探测仪数据处理方法、装置及存储介质 |
CN115776325B (zh) * | 2022-11-07 | 2023-08-04 | 银河航天(成都)通信有限公司 | 一种应用于卫星系统的事件调度方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189049A (zh) * | 1996-12-31 | 1998-07-29 | 大宇电子株式会社 | 数据视频家用系统编译码器系统的编码方法及编码器 |
CN1964250A (zh) * | 2006-11-23 | 2007-05-16 | 华为技术有限公司 | 一种数据帧类型的识别方法及装置 |
CN1972163A (zh) * | 2006-10-16 | 2007-05-30 | 北京北方烽火科技有限公司 | 一种射频拉远模块中信令数据传输装置及其帧同步方法 |
-
2007
- 2007-11-30 CN CN2007101785019A patent/CN101170345B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189049A (zh) * | 1996-12-31 | 1998-07-29 | 大宇电子株式会社 | 数据视频家用系统编译码器系统的编码方法及编码器 |
CN1972163A (zh) * | 2006-10-16 | 2007-05-30 | 北京北方烽火科技有限公司 | 一种射频拉远模块中信令数据传输装置及其帧同步方法 |
CN1964250A (zh) * | 2006-11-23 | 2007-05-16 | 华为技术有限公司 | 一种数据帧类型的识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101170345A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101170345B (zh) | 一种卫星分包遥测数据的解包方法 | |
CN108600192B (zh) | 一种基于正则表达式的dbc文件解析及报文分析方法 | |
CN107395565B (zh) | 一种定长单字节格式报文协议下串口接收预处理方法 | |
CN108306835B (zh) | 一种以太网交换机的输入缓存及数据转发方法 | |
CN106850046A (zh) | 一种基于fpga的星载遥控遥测终端、系统及方法 | |
CN111010253B (zh) | 一种基于hinoc协议的himac拆帧系统、方法 | |
US20120226827A1 (en) | Mechanism for Performing SDIO Aggregation and Conveying SDIO Device Status to the Host Software | |
JP2008113096A (ja) | ゲートウェイ装置及びデータ管理方法 | |
CN101877659A (zh) | 一种丢包监控的方法、设备和系统 | |
CN107135049A (zh) | 一种面向离散数据流的可靠异步通信方法 | |
CN109756514B (zh) | 一种航天器复杂协议的遥测数据动态处理方法 | |
CN105162734A (zh) | 基于Zigbee网络的多源数据传输系统 | |
CN110457526A (zh) | 基于xml文件的通用化数据解析方法 | |
CN105187332A (zh) | 基于Zigbee网络的多源数据传输方法 | |
CN106444657A (zh) | 一种Modbus主站指令处理方法及主站控制器 | |
CN104009921A (zh) | 基于任意字段匹配的数据报文转发方法 | |
CN105515843A (zh) | SpW网络FDIR处理方法 | |
CN104021147B (zh) | 一种码流解析方法及装置 | |
US20030110233A1 (en) | Reflective memory system and method capable of dynamically sizing data packets | |
JP5161120B2 (ja) | データ・パケット・フレームを受信するための方法、モジュールおよび装置 | |
JP5732806B2 (ja) | データ転送装置及びデータ転送方法 | |
CN101304342A (zh) | 一种增强型以太网接口装置 | |
CN104199783A (zh) | Fpga内以太网数据帧的缓存与转发的方法及装置 | |
US6961338B2 (en) | Demultiplexer for handling different multiplexed data formats | |
CN101894005A (zh) | 高速接口向低速接口的异步fifo传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111221 Termination date: 20211130 |
|
CF01 | Termination of patent right due to non-payment of annual fee |