CN110535561A - 一种基于双向链表的航天器遥测数据传输实现方法 - Google Patents
一种基于双向链表的航天器遥测数据传输实现方法 Download PDFInfo
- Publication number
- CN110535561A CN110535561A CN201910754716.3A CN201910754716A CN110535561A CN 110535561 A CN110535561 A CN 110535561A CN 201910754716 A CN201910754716 A CN 201910754716A CN 110535561 A CN110535561 A CN 110535561A
- Authority
- CN
- China
- Prior art keywords
- telemetering
- node
- packet
- telemetering packet
- linked list
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0016—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种基于双向链表的航天器遥测数据传输实现方法,获取每个遥测包节点的标准双向链表,依次包括:前向指针、后向指针和节点大小;对获取的标准双向链表进行扩展,将指向扩展存储区的指针加入标准双向链表,形成遥测包节点的扩展双向链表;对遥测包节点的扩展双向链表进行赋值后定义存储区地址和长度,建立遥测包链表;根据建立的遥测包链表,将各节点实时采集的遥测数据存入对应的存储区中,形成遥测数据包;建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略;将遥测数据包,根据分级调度策略,通过虚拟信道,进行下传,利用链表节点操作的灵活性,提高了遥测包数据组织以及虚拟信道生成的便捷性和执行效率。
Description
技术领域
本发明涉及一种基于双向链表的航天器遥测数据传输实现方法,属于航天器的遥测数据传输技术领域。
背景技术
目前常用的方法是设计一个静态数组集合,其中每个静态数组的长度相同,能够容纳航天器的最长遥测包,软件在生成遥测包时从数组集合中获取一个数组存储遥测包的数据内容。由于航天器各遥测包的长度不一,将“短”遥测包的数据内容存储到“长”数组中时必然带来存储空间的浪费。当所有遥测包存储到各个数组中后,将遥测包APID按照优先级从高到低的顺序存储到另外一个索引数组中。AOS遥测协议按照需求划分为多个虚拟信道,选择包业务生成虚拟信道遥测帧,多个虚拟信道按照约定的策略进行多路复用,从而生成遥测传送帧后输出。在生成虚拟信道遥测帧时先从索引数组中选择满足条件的遥测包APID,然后再从遥测包存储区数组中提取遥测包的数据内容并填充到虚拟信道帧数据域,同时按照约定的排序算法对所有遥测包重新排序。该过程中检索满足条件的遥测包APID、提取遥测包数据内容以及对遥测包排序都要通过访问静态数组的方式来完成,这种数据访问方式的效率比较低,尤其排序过程中需要进行大量的数组元素位置交换,当遥测包数量较多时,排序效率将明显下降。无法满足遥测包数据组织以及虚拟信道生成的便捷性和执行效率,遥测传输严重影响对有限的航天器硬件性能的消耗。
发明内容
本发明解决的技术问题为:克服现有技术不足,提供一种基于双向链表的航天器遥测数据传输实现方法,将不等长的遥测包数据存储到链表节点的不等长遥测数据存储区中,即按照遥测包的实际长度“按需分配”存储区,在航天器硬件资源非常有限的情况下,既能够满足遥测包的传输需求,又大大节省了存储空间;将链表节点链接到双向链表,利用链表节点操作的灵活性,提高了遥测包数据组织以及虚拟信道生成的便捷性和执行效率,有效降低了遥测传输对有限的航天器硬件性能的消耗,为航天器其他任务级需求提供了支持。
本发明解决的技术方案为:一种基于双向链表的航天器遥测数据传输实现方法,步骤如下:
(1)定义标准双向链表的节点,依次包括:前向指针、后向指针和节点大小;对定义的标准双向链表的节点进行扩展,将遥测包属性和存储区指针加入标准双向链表的节点,形成遥测包节点;(遥测包属性,优选包括:遥测包序号、遥测包下传周期、遥测包下传状态、遥测包APID、遥测包长度;存储区指针指向扩展的遥测数据存储区;前向指针和后向指针用于链接形成遥测包链表时指向链表中的相邻节点,具体为前向指针指向本节点的前一个节点,后向指针指向本节点的后一个节点。)
(2)对步骤(1)的遥测包节点的遥测包属性进行赋值,将步骤(1)的遥测包节点的存储区指针指向遥测数据存储区;再利用前向指针、后向指针将所有的遥测包节点链接起来形成扩展双向链表,即遥测包链表,即遥测包链表;(此时建立的遥测包链表中没有数据,是一种格式,遥测包链表中的每个遥测包节点能够存储一个遥测包的遥测包属性,包括:遥测包序号、遥测包下传周期、遥测包下传状态、遥测包APID、遥测包长度,以及遥测包中的遥测数据);
(3)建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略;
(4)根据步骤(2)建立的遥测包链表,将遥测数据存入遥测包节点的遥测数据存储区中,形成完整的遥测包;将遥测包,根据分级调度策略,通过虚拟信道,进行下传。
优选的,步骤(1)标准双向链表是由多个节点依次链接而成。
优选的,标准双向链表中首节点的前向指针为空,其余节点的前向指针指向链表中前一个节点,尾节点的后向指针为空,其余节点的后向指针指向后一个节点;
优选的,前向指针和后向指针用于访问链表中各节点时进行索引;节点的大小用来表示节点的存储区所能存储数据的字节数。
优选的,步骤(1)将遥测包属性和存储区指针加入标准双向链表的节点,形成遥测包节点,具体为:在标准双向链表节点的节点大小之后,加入遥测包属性和存储区指针,即完成对标准双向链表的节点的扩展,形成遥测包节点。
优选的,遥测包节点包含5个元素:前向指针、后向指针、节点大小、遥测包属性以及存储区指针,其中节点大小指的是存储区指针指向的遥测数据存储区的长度,要求能够容纳一个遥测包的全部数据内容;
优选的,遥测包属性表明了遥测包的基本信息,包括遥测包序号、遥测包下传周期、遥测包下传状态、遥测包APID、遥测包长度。
优选的,遥测包节点用于存储一个遥测包,利用前向指针、后向指针将遥测包节点链接起来形成双向链表,通过双向链表来提升访问遥测包的便捷性。
优选的,遥测包属性是遥测包的基本信息,事先存储在各遥测包的基本信息数组中,在将标准双向链表的节点扩展,形成遥测包节点后,能够将遥测包的各项信息值赋值给遥测包属性元素。
本发明与现有技术相比的优点在于:
(1)本发明将航天器的所有遥测数据生成遥测包,每个遥测包存储到一个链表节点存储区,形成一个遥测包节点,所有遥测包节点按照优先级从高到低的顺序链接形成一个双向遥测包链表。选择包业务生成多个虚拟信道的遥测帧,多个虚拟信道按照约定的策略进行多路复用,生成遥测传送帧后输出。遥测包生成及虚拟信道调度形成了一种参数配置式的实现流程,提升了航天器遥测数据传输的实现效率。
(2)本发明依据遥测包的实际长度“按需分配”存储区,即各遥测包节点的遥测数据存储区不等长,避免了所有遥测包都按照最长遥测包长度占用存储区的情况,减少对存储资源的浪费,从而在航天器硬件资源有限的情况下节省了内存空间。
(3)本发明将遥测包数据存储到遥测包节点中,遥测包节点链接形成双向链表,更新遥测数据内容时通过访问遥测包链表即可检索到相应的遥测包,生成虚拟信道遥测帧时从遥测包链表中选择满足条件的遥测包填充到虚拟信道帧数据域,同时按照约定的排序算法对所有遥测包重新排序,供下次生成虚拟信道遥测帧时应用,利用链表数据结构的灵活性和便捷性在遥测包调度过程中提高了效率,降低了遥测传输对航天器硬件性能的消耗。,
附图说明
图1基于分层结构的遥测传输协议示意图;
图2标准双向链表节点结构示意图;
图3遥测包节点结构示意图;
图4遥测包链表示意图;
图5虚拟信道分级调度示意图;
图6遥测包生成与传输流程图;
图7本发明的传输流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
本一种基于双向链表的航天器遥测数据传输实现方法,获取每个遥测包节点的标准双向链表,依次包括:前向指针、后向指针和节点大小;对获取的标准双向链表进行扩展,将指向扩展存储区的指针加入标准双向链表,形成遥测包节点的扩展双向链表;对遥测包节点的扩展双向链表进行赋值后定义存储区地址和长度,建立遥测包链表;根据建立的遥测包链表,将各节点实时采集的遥测数据存入对应的存储区中,形成遥测数据包;建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略;将遥测数据包,根据分级调度策略,通过虚拟信道,进行下传,利用链表节点操作的灵活性,提高了遥测包数据组织以及虚拟信道生成的便捷性和执行效率。
随着空间科学技术的发展,航天任务的复杂度越来越高,CCSDS为了适应复杂航天器的需求发展了一系列空间数据链路协议标准,其中的空间包协议和AOS空间数据链路协议已经越来越多的应用于我国航天器的遥测系统。CCSDS的遥测传输结构如图1所示。
用户数据是航天器内各分系统的数据,包括表征分系统工作状态的数据、分系统生成的功能性数据等,这些数据都要按照空间包协议封装到遥测包中,按照AOS空间数据链路协议填充到虚拟信道遥测帧中,最终通过射频电路输出,其位于分层结构的应用层。空间包协议既可用于遥测数据,也可用于遥控数据,其位于分层结构的网络层,在本发明中用于遥测数据,主要用来生成遥测包。AOS空间数据链路协议既可用于遥测链路,也可用于遥控链路,其位于分层结构的数据链路协议层,在本发明中用于遥测链路,主要用来生成遥测帧并进行虚拟信道调度。遥测同步与信道编码和射频与调制系统优选由硬件系统完成。
本发明采用了新的方法和技术,将航天器的所有遥测数据生成遥测包,每个遥测包存储到一个链表节点存储区,形成一个遥测包节点,所有遥测包节点按照优先级从高到低的顺序链接形成一个双向遥测包链表。选择包业务生成多个虚拟信道的遥测帧,多个虚拟信道按照约定的策略进行多路复用,生成遥测帧后输出。在生成虚拟信道遥测帧时,按照约定的排序算法对所有遥测包进行排序,从排序后的遥测包链表中选择满足条件的遥测包填充到虚拟信道遥测帧的数据域,最后通过虚拟信道输出遥测数据。本发明一方面依据遥测包的实际长度“按需分配”存储区,即各遥测包节点不等长,从而在航天器硬件资源有限的情况下节省了内存空间;另一方面利用链表数据结构的灵活性和便捷性在遥测包调度过程中提高效率,降低了遥测传输对航天器硬件性能的消耗;以上过程固化为一种参数配置式的实现流程,只需要配置各遥测包的基本信息和数据来源、虚拟信道调度的优先级设置,按照本发明则可快速实现遥测传输。
如图7所示,本发明的一种基于双向链表的航天器遥测数据传输实现方法,步骤如下:
(1)定义标准双向链表的节点,依次包括:前向指针、后向指针和节点大小;对定义的标准双向链表的节点进行扩展,将遥测包属性元素和指向扩展存储区指针加入标准双向链表的节点,形成遥测包节点,具体如下:
遥测包生成与遥测数据刷新、虚拟信道遥测帧生成过程都存在大量访问遥测包的情况,考虑到双向链表数据结构的访问较简便、访问效率较高,但由于标准双向链表的节点没有数据存储区,故考虑对标准双向链表的节点进行扩展,以满足遥测包存储与传输的需求。
标准双向链表的节点结构包括3个元素:前向指针,后向指针和节点大小,如图2所示。其中,*ptr_next是后向指针,*ptr_previous为前向指针,node_size为节点大小。
航天器的遥测数据一般包含几十到几百个遥测包,而每个遥测包的长度都不一样,因此,将标准双向链表的节点进行扩展,形成遥测包节点。
在遥测包生成过程和虚拟信道生成过程中需要用到遥测包的各个属性,因此给标准双向链表的节点扩展一个遥测包属性元素,包括遥测包序号、遥测包下传周期、遥测包下传状态、遥测包APID、遥测包长度等。
为了存储遥测包数据,给标准双向链表的节点扩展一个存储区,但是由于各遥测包的数据长度不一,少到十几字节,多到几百字节甚至上千字节,如果按照最多字节开辟存储区必然造成内存的很大浪费,因此,只给标准双向链表的节点扩展一个存储区指针,该指针可以指向不同长度的存储区,保证扩展后的遥测包节点的结构一致,又不浪费内存空间。
经过以上扩展形成一个遥测包节点,如图3所示。其中,node是将图2中的标准双向链表节点进行了抽象,只保留了对外前向指针和后向指针,pk_property为遥测包属性元素,*ptr_buff为扩展存储区指针,pk_buffer为遥测包数据的实际存储区。
(2)对步骤(1)的遥测包节点的遥测包属性进行赋值,将步骤(1)的遥测包节点的扩展存储区指针指向遥测数据存储区;再将所有的遥测包节点链接起来形成扩展双向链表,后即遥测包链表;(此时建立的遥测包链表中没有数据,是一种格式,遥测包链表中的每个遥测包节点能够存储一个遥测包的信息,包括:遥测包的序号、遥测包的下传周期、遥测包的下传状态、遥测包的APID、遥测包数据的存储区长度信息、遥测包中的遥测数据)具体如下:
考虑到遥测包的数据结构是统一的,每个遥测包的基本信息项是一致的,因此,考虑将遥测包的基本信息事先存储到航天器设备中,便于遥测数据传输过程中将这些基本信息赋值给遥测包节点。
按照遥测包的实际特性定义各自的遥测包节点,给遥测包属性赋值,遥测包属性是遥测包的基本信息,这些基本信息事先存储在各遥测包的基本信息数组中,在形成遥测包节点后,将遥测包的各项信息值赋值给遥测包属性元素,包括遥测包序号、下传周期、下传状态、APID、包长度等。
按照遥测包的长度需求定义多个不同长度的数据存储区(数组),遥测数据存储区是存储遥测包数据的实体存储区。如果按照每个遥测包的长度分别定义一个数组,那么必然增加软件的复杂度,不利于软件的维护。如果所有遥测包都按照最长遥测包定义数组,那么又大大浪费了内存空间。因此采用一个折中的策略,为了尽可能的节省内存空间,这里定义三种长度的遥测包数据存储区,第一种长度为64字节,第二种长度为256字节,第三种长度为512字节。为每个遥测包分配最短的但又足以存储遥测包所有内容的存储区。优选方案为,512字节的遥测包,共6个,那么定义8个512字节的数据存储区,一般存储区预留20%的余量;65~256字节的遥测包共50个,那么定义60个256字节的数据存储区;小于64字节的遥测包共20个,那么定义24个64字节的数据存储区。
将遥测包节点中的扩展存储区指针指向这些存储区,将所有的遥测包节点按照下传周期由小到大的顺序链接到遥测包链表,如图4所示,其中,pk_list是遥测包链表,pk_node1、pk_node2、...等是遥测包节点,即图3中的遥测包节点,pk_node1是首节点;buffer1是pk_node1的遥测数据存储区,pk_node1的扩展存储区指针*ptr_buff1指向buffer1,buffer2是pk_node2的遥测数据存储区,pk_node2的扩展存储区指针*ptr_buff2指向buffer2,...,依此类推。链接的具体过程为pk_node1的前向指针为空,后向指针指向pk_node2,pk_node2的前向指针指向pk_node1,后向指针指向pk_node3,...,依此类推,尾节点的前向指针指向前一个节点,后向指针为空。
优选按照固定周期生成所有遥测包,遥测包生成过程中对遥测包的检索比较简单,只需要从遥测包链表头到尾的顺序依次生成即可。但是在生成虚拟信道时,由于各遥测包的下传周期(即将遥测包填充到虚拟信道遥测帧数据域中的周期)不相同,就需要按照约定的排序算法对遥测包链表中的遥测包进行排序,再从排序后的链表中选择遥测包填充到虚拟信道遥测帧的数据域中。
在遥测包生成和虚拟信道生成过程中只要操作遥测包链表即可快速实现遥测包的检索、排序、数据更新和数据提取,由于链表数据结构的操作非常灵活,从而也就提高了遥测包生成和虚拟信道生成的灵活性和效率。
(3)建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略;具体如下:
遥测包需要填充到虚拟信道遥测帧中下传,考虑到遥测数据的用途、生成特性、传输周期等不同,需要划分多个虚拟信道,分别传输不同的遥测包。
优选多个虚拟信道之间采用分级调度策略,如图5所示。第一级为同步调度,第二级为异步调度。第一级调度(R0.0)包括VC1常规遥测虚拟信道(E1.0)和第二级调度(I1.1),节点间连线上的数字相同,表示二者优先级相同。第二级调度(I1.1)包括VC2~VC4的数据,节点间连线上的数字越大优先级越高,即VC2的优先级最高,VC4次之,VC3最低。
采用分级调度策略的优选方案为,将下传的信道划分为常规信道、回放信道、突发信道,常规信道用来传输实时生成的遥测包,实时遥测包一般按照固定周期下传;回放信道在指令控制下传输回放遥测包,回放遥测包是航天器设备中存储的一段时间内的遥测包,只在收到指令后才下传,所有回放遥测包传输完成后即停止回放信道;突发信道用来传输事件触发的突发遥测包,通常只传输一次。针对三种信道设置不同的传输优先级,一般突发信道的优先级最高,对应图5中VC2,回放信道次之,对应图5中的VC4,常规信道最低,对应图5中的VC1。
(4)根据步骤(2)建立的遥测包链表,将遥测数据存入遥测包节点的存储区中,形成完整的遥测包;将遥测包,根据分级调度策略,通过虚拟信道,进行下传,优选方案如下:
由于遥测数据是动态变化的,因此,需要周期性或事件触发时刷新各遥测包的数据内容,并将遥测包填充到相应的虚拟信道遥测帧中传输。
软件判断当前是否达到遥测包生成周期,如果达到生成周期,则按照从头到尾的顺序读取遥测链表中的遥测包,并将最新的用户数据填充到遥测包节点的扩展存储区指针所指向的存储区中,生成最新遥测包,如果没有达到生成周期,则不生成遥测包。
软件根据虚拟信道分级调度关系,选择当前应该下传的虚拟信道,判断当前虚拟信道是否达到生成周期,如果达到则按照约定的排序算法对所有遥测包进行排序,一般按照每个遥测包距离上次下传的时间间隔排序,时间间隔长的遥测包靠前,时间间隔短的遥测包排序靠后,也可按照实际工程项目约定的其他准则进行排序。再从排序后的遥测包链表中选择遥测包,填充到虚拟信道帧数据域并完成遥测帧结构中其他内容的填充,从而生成遥测帧,最后将遥测帧输出给硬件设备进行同步与信道编码等,如果没有达到虚拟信道生成周期则退出,流程如图6所示。
针对步骤(4)中的例子,通常情况下实时传输常规信道中的遥测包;当需要传输回放遥测包时,则将常规信道和回放信道按照约定的比例交替传输,当回放遥测包传输完以后则只传输常规信道的遥测包;当突发遥测包产生后,则停止传输常规信道的遥测包,只传输突发信道的遥测包,当突发遥测包传输完成后则只传输常规信道的遥测包。
上述方法中,中遥测包属性是遥测包的基本信息,事先存储在各遥测包的基本信息数组中,在将标准双向链表的节点扩展,形成遥测包节点后,能够将遥测包的各项信息值赋值给遥测包属性元素,定义一系列长度不一的遥测数据存储区(数组),遥测数据存储区是存储遥测包数据的实体存储区;将遥测包节点的存储区指针指向相应大小的遥测数据存储区,用来具体存储遥测包的数据;将遥测数据存储区的长度赋值给节点大小,用来在访问遥测包时识别遥测数据存储区的长度。
建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略,优选方案如下:遥测包需要填充到虚拟信道遥测帧中下传,虚拟信道优选划分为常规信道、回放信道、突发信道,常规信道传输实时生成的遥测包,优选按照固定周期下传;回放信道优选在指令控制下传输回放遥测包,传输完成所有回放遥测包后即停止;突发信道传输事件触发的突发遥测包,优选只传输一次。
针对三种信道设置不同的传输优先级,优选突发信道的优先级最高,回放信道次之,常规信道最低。
步骤(4)根据步骤(2)建立的遥测包链表,将各节点实时采集的遥测数据存入对应的存储区中,形成遥测数据包,其中,当遥测包数据生成后,根据遥测包属性检索到遥测包链表中的对应遥测包节点,根据遥测包节点的扩展存储区指针访问到遥测数据存储区,将遥测包属性的各项数据填充到遥测数据存储区的遥测包包头,将遥测包数据填充到遥测数据存储区的遥测包数据域,从而生成完整的遥测包。
步骤(4)将遥测数据包,根据分级调度策略,通过虚拟信道,进行下传,优选方案如下:通常情况下实时传输常规信道中的遥测包;当需要传输回放遥测包时,则将常规信道和回放信道按照约定的比例交替传输,当回放遥测包传输完以后则只传输常规信道的遥测包;当突发遥测包产生后,则停止传输常规信道的遥测包,只传输突发信道的遥测包,当突发遥测包传输完成后则只传输常规信道的遥测包。
本发明实现传输效率提高的进一步方案为:缩短遥测数据传输链条,从用户获取到遥测源数据后直接更新遥测包数据内容,遥测包直接填充进虚拟信道遥测帧后下传,删减遥测源数据到更新遥测包数据内容的中间缓存环节,减少访问内存的频度,提高遥测数据传输效率。
本发明实现传输可靠性提高的进一步方案为:提高遥测包属性元素和遥测包生成逻辑的独立性,即尽可能将遥测包的配置参数设计成对外接口提供给用户,尽可能将生成逻辑设计为对外不可见,降低二者之间的耦合,降低由于参数更动而误更动生成逻辑,避免带来不必要的错误,提高遥测传输的可靠性。
本发明进一步的优选方案为:某航天器的遥测数据传输,采用基于双向链表的遥测数据传输方法,共60个遥测包,对标准双向链表的节点进行扩展形成遥测包节点,定义三种长度的遥测数据存储区,分别为64字节、256字节和512字节,考虑20%的遥测数据存储区余量,共设计72个遥测数据存储区,经过分析与计算,共占用内存空间16.05Kbytes;每个遥测包节点的前向指针、后向指针、节点大小以及遥测包属性元素占用内存60字节,经过分析与计算,所有遥测包节点的这部分数据共占用内存4.22Kbytes,因此,该航天器的所有遥测包节点共占用内存20.27Kbytes,远小于指标要求的“不超过50Kbytes”;对应用本发明的方法实现的遥测传输进行动态仿真验证,覆盖遥测包数据内容刷新、遥测包生成、虚拟信道遥测帧生成以及虚拟信道调度的全流程,共耗时12ms,满足指标要求的“不超过20ms”,进一步提高了效率。
本发明的方法已应用于多个航天器,这些航天器已在轨运行5年以上,应用本发明的方法实现的遥测数据传输均运行正常。
应用本发明的方法实现遥测传输的过程,用时从以往方法的3周缩短到2周,效率提升33%;遥测数据传输的内存空间占用减少约44%,这对于非常有限的航天器硬件资源来说,是非常可观的一个数字,有利于整体提升航天器的性能;遥测包数据内容刷新、遥测包生成、虚拟信道遥测帧生成以及虚拟信道调度全流程的用时减少约20%,航天器遥测数据传输一般通过实时嵌入式软件来实现,遥测传输时间的缩短有利于提升航天器响应用户需求的实时性、提升航天器的好用性。
Claims (10)
1.一种基于双向链表的航天器遥测数据传输实现方法,其特征在于步骤如下:
(1)定义标准双向链表的节点,依次包括:前向指针、后向指针和节点的大小;对定义的标准双向链表的节点进行扩展,将遥测包属性和存储区指针加入标准双向链表的节点,形成遥测包节点;
(2)对步骤(1)的遥测包节点的遥测包属性进行赋值,将步骤(1)存储区指针指向遥测数据存储区;再利用前向指针、后向指针将所有的遥测包节点链接起来形成扩展双向链表,即遥测包链表;
(3)建立下传遥测数据的虚拟信道,并设置虚拟信道的分级调度策略;
(4)根据步骤(2)建立的遥测包链表,将遥测数据存入遥测数据存储区中,形成完整的遥测包;将遥测包,根据分级调度策略,通过虚拟信道,进行下传。
2.根据权利要求1所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:步骤(1)标准双向链表是由多个节点依次链接而成。
3.根据权利要求1或2所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:标准双向链表中首节点的前向指针为空,其余节点的前向指针指向链表中前一个节点,尾节点的后向指针为空,其余节点的后向指针指向后一个节点。
4.根据权利要求1所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:前向指针和后向指针用于访问链表中各节点时进行索引。
5.根据权利要求1或2所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:节点的大小用来表示节点的存储区所能存储数据的字节数。
6.根据权利要求1所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:步骤(1)将遥测包属性和存储区指针加入标准双向链表的节点,形成遥测包节点,具体为:在标准双向链表节点的节点大小之后,加入遥测包属性和存储区指针,即完成对标准双向链表的节点的扩展,形成遥测包节点。
7.根据权利要求1所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:遥测包节点包含5个元素:前向指针、后向指针、节点大小、遥测包属性以及存储区指针,其中节点大小指的是存储区指针指向的遥测数据存储区的长度,要求能够容纳一个遥测包的全部数据内容。
8.根据权利要求7所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:遥测包属性表明了遥测包的基本信息,包括遥测包序号、遥测包下传周期、遥测包下传状态、遥测包APID、遥测包长度。
9.根据权利要求7所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:遥测包节点用于存储一个遥测包,利用前向指针、后向指针将遥测包节点链接起来形成双向链表,通过双向链表来提升访问遥测包的便捷性。
10.根据权利要求1或8所述的一种基于双向链表的航天器遥测数据传输实现方法,其特征在于:遥测包属性是遥测包的基本信息,事先存储在各遥测包的基本信息数组中,在将标准双向链表的节点扩展,形成遥测包节点后,能够将遥测包的各项信息值赋值给遥测包属性元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910754716.3A CN110535561B (zh) | 2019-08-15 | 2019-08-15 | 一种基于双向链表的航天器遥测数据传输实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910754716.3A CN110535561B (zh) | 2019-08-15 | 2019-08-15 | 一种基于双向链表的航天器遥测数据传输实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535561A true CN110535561A (zh) | 2019-12-03 |
CN110535561B CN110535561B (zh) | 2022-04-12 |
Family
ID=68663549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910754716.3A Active CN110535561B (zh) | 2019-08-15 | 2019-08-15 | 一种基于双向链表的航天器遥测数据传输实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535561B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556051A (zh) * | 2020-04-26 | 2020-08-18 | 上海航天测控通信研究所 | 基于fpga的高速空间网络数据协议转换与复接装置 |
CN111698516A (zh) * | 2020-06-19 | 2020-09-22 | 上海航天计算机技术研究所 | 基于ccsds架构的飞行图像解码方法和系统 |
CN112187411A (zh) * | 2020-09-30 | 2021-01-05 | 中国科学院微小卫星创新研究院 | 基于遥测包复用的卫星遥测数据下传方法 |
CN115567184A (zh) * | 2022-12-01 | 2023-01-03 | 银河航天(北京)通信技术有限公司 | 基于分段层调节虚拟信道的时隙的方法、装置及存储介质 |
CN118041431A (zh) * | 2024-04-12 | 2024-05-14 | 银河航天(西安)科技有限公司 | 针对遥测传送帧的数据调度方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944119A (zh) * | 2010-09-21 | 2011-01-12 | 国网电力科学研究院 | 一种智能电子设备的实时事件管理方法 |
CN102968488A (zh) * | 2012-11-26 | 2013-03-13 | 北京空间飞行器总体设计部 | 一种同时适用于pcm遥测和aos遥测的遥测数据组织方法 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
CN108400811A (zh) * | 2018-02-13 | 2018-08-14 | 北京空间技术研制试验中心 | 基于高级在轨数据处理方法的空间实验室信息系统 |
CN108664211A (zh) * | 2017-03-31 | 2018-10-16 | 深圳市中兴微电子技术有限公司 | 一种实现数据读写的方法及装置 |
-
2019
- 2019-08-15 CN CN201910754716.3A patent/CN110535561B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944119A (zh) * | 2010-09-21 | 2011-01-12 | 国网电力科学研究院 | 一种智能电子设备的实时事件管理方法 |
CN102968488A (zh) * | 2012-11-26 | 2013-03-13 | 北京空间飞行器总体设计部 | 一种同时适用于pcm遥测和aos遥测的遥测数据组织方法 |
CN106407531A (zh) * | 2016-09-05 | 2017-02-15 | 北京空间飞行器总体设计部 | 一种基于增量化模型的航天器遥测方法 |
CN108664211A (zh) * | 2017-03-31 | 2018-10-16 | 深圳市中兴微电子技术有限公司 | 一种实现数据读写的方法及装置 |
CN108400811A (zh) * | 2018-02-13 | 2018-08-14 | 北京空间技术研制试验中心 | 基于高级在轨数据处理方法的空间实验室信息系统 |
Non-Patent Citations (1)
Title |
---|
朱剑冰: ""基于遥测遥控包应用标准的星载状态实时监测系统设计"", 《航天器工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556051A (zh) * | 2020-04-26 | 2020-08-18 | 上海航天测控通信研究所 | 基于fpga的高速空间网络数据协议转换与复接装置 |
CN111698516A (zh) * | 2020-06-19 | 2020-09-22 | 上海航天计算机技术研究所 | 基于ccsds架构的飞行图像解码方法和系统 |
CN112187411A (zh) * | 2020-09-30 | 2021-01-05 | 中国科学院微小卫星创新研究院 | 基于遥测包复用的卫星遥测数据下传方法 |
CN115567184A (zh) * | 2022-12-01 | 2023-01-03 | 银河航天(北京)通信技术有限公司 | 基于分段层调节虚拟信道的时隙的方法、装置及存储介质 |
CN118041431A (zh) * | 2024-04-12 | 2024-05-14 | 银河航天(西安)科技有限公司 | 针对遥测传送帧的数据调度方法、装置及存储介质 |
CN118041431B (zh) * | 2024-04-12 | 2024-07-02 | 银河航天(西安)科技有限公司 | 针对遥测传送帧的数据调度方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110535561B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535561A (zh) | 一种基于双向链表的航天器遥测数据传输实现方法 | |
CN102158392A (zh) | 集散型构架卫星的aos遥测方法 | |
CN106788855B (zh) | 一种灵活以太网业务的光传送网承载方法及装置 | |
CN106407531B (zh) | 一种基于增量化模型的航天器遥测方法 | |
CN1929361B (zh) | 传输装置 | |
CN105721543B (zh) | 基于操作控制单元的跨协议分布式云存储系统和数据管理方法 | |
CN103141153B (zh) | 无线通信装置、无线通信系统以及无线通信方法 | |
CN103795596B (zh) | 可编程控制的sdn网络测量系统和测量方法 | |
CN104348551B (zh) | 一种光突发传送环网的动态带宽调度方法和装置 | |
CN104868958B (zh) | 一种基于时分多址接入空间动态网络的数据传输测试方法 | |
CN101189843B (zh) | 电子设备和通信资源分配方法 | |
CN103493542B (zh) | 无线通信系统、无线终端、无线终端的控制方法 | |
CN102932261A (zh) | 一种基于智能型高速路由器的星上载荷信息流管理系统 | |
CN110086865A (zh) | 一种支持多个fc-ae-1553节点并行工作的节点卡及其实现方法 | |
CN101437179B (zh) | 一种基于epon系统实现批量同步多配置数据的方法 | |
CN107368583A (zh) | 一种多集群信息查询的方法及系统 | |
CN102208955A (zh) | 卫星网络化测控方法及系统 | |
CN110109872A (zh) | 一种遥感卫星异构数据统一存储管理装置 | |
CN107566925A (zh) | 一种数据传输方法及装置 | |
CN109756514A (zh) | 一种航天器复杂协议的遥测数据动态处理方法 | |
CN109905281A (zh) | 多路径最大吞吐量的星群网络遥感业务传输方法 | |
CN105487992B (zh) | 多通道软硬件并行串口通讯处理方法 | |
CN102984220B (zh) | 一种用于航天器多级子网的突发下行数据通信方法 | |
CN104427412B (zh) | 一种带宽地图更新的方法及装置 | |
CN104584486A (zh) | 分布式i/o控制系统、分布式i/o控制方法、分布式i/o控制系统的主站和辅站 |
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 |