基于CFDP标准的空间数据链路传输协议软件实现

2016-11-09 11:03邹业楠董振兴
电子设计工程 2016年20期
关键词:重传航天器实体

邹业楠,董振兴,朱 岩

(1.中国科学院 国家空间科学中心,北京100190;2.中国科学院大学 北京100190)

基于CFDP标准的空间数据链路传输协议软件实现

邹业楠1,2,董振兴1,2,朱 岩1

(1.中国科学院 国家空间科学中心,北京100190;2.中国科学院大学 北京100190)

当前我国卫星数据的存储和传输,仍采用位流的、不可靠传输方式。为了在特殊的空间环境下实现高速可靠的数据传输,研究了空间数据咨询委员会(CCSDS)提出的文件传输协议(CFDP)的传输机理,并以此为基础,对CFDP协议在实际工程中应用做了一些预先研究。提出了适用于星载大容量存储器(Solid State Recorder,SSR)的类文件化管理系统,并采用FPGA与CFDP软件相结合的方式实现高速数据存取。同时,结合特殊的空间数据传输链路,采用特殊的数据链路层同步码实现数据同步传输。最终实现星载大容量存储器上的文件可靠传输。

深空通信;CCDSD文件传输协议;文件系统;同步传输

随着卫星任务需求的不断增加,有效载荷对星载大容量固态存储器(Solid State Recorder,SSR)的数据存储管理及境内载荷数据下行传输提出了更高要求。传统的星载数据存储和传输,采用不可靠的位流形式,不能很好的适应一些高标准航天任务的数据要求,数据完整性也不能得到有效保障。

文中在类文件化管理的基础上进一步整合出SSR动态文件管理系统[1],提出了空间数据的文件化管理的方式,不仅降低了存储数据的复杂性,更加方便的实现对星载大容量存储器文件的管理。依托现有空间数据管理系统,设计并实现CFDP应用软件,验证CFDP传输协议,实现数据的可靠传输。

1 CFDP协议简介

核心CFDP[2]传输协议提供了类似FTP的传输机制,都采用ARQ自动请求重传机制。与FTP不同的是CFDP可应用于长延时、非对称信道的深空传输环境。CFDP提供了标准的实体(entities)到实体的文件可靠传输方式。实体可以是航天器到地面控制中心,航天器到航天器,也可以是地面控制中心到航天器[3]。CFDP作为应用层和传输层的传输协议[4],独立于底层数据传输协议。

CFDP协议实体收到用户应用程序发出的回放任务请求后,文件数据单元[5](File Data Unit,FDU)被创建。FDU包括一个包含待传文件名字、大小等文件信息的协议数据单元(Protocol Data Units,PDUs)——元数据PDU(Metadata PDUs),和一系列包含文件数据的文件数据PDU(FileData PDUs)。

CFDP给出了两种类型的不同传输模式,分别为不可靠传输模式和可靠传输模式。在不可靠传输模式下,数据文件仅被传输一次,接收实体不对接收到的文件数据做出反馈。在可靠传输模式下,通过一系列的肯定确认(ACKs)、否定确认(NAKs)和定时器(Timers)来保证文件被接收实体完整正确的接收。CFDP应用丢失检测重传机制来保证文件的完整性和正确性[6],与传统的ARQ机制不同的是,接收实体仅对传输出错和传输丢失的PDU向发送实体反馈NAK,而不是对正确接收的PDU做ACK确认,ACK确认仅用于对EOF PDU和Finished PDU的确认,以此来降低协议信令的开销。本文实现在可靠传输模式下传输文件,在文件数据PDU传输的过程中,CFDP实体可对接收到的文件数据PDU的完整性做出判定,当检测到有PDU丢失时,接收实体通过反馈链路给发送实体反馈丢失数据包信息NAK。CFDP给出了4种反馈NAK给接收实体的方式,分别为立即NAK(Immediate NAK)、延迟 NAK(Deferred NAK)、异步 NAK(Asynchronous NAK)和提示NAK(Prompted NAK)[7-10]。考虑到实际协议实体在数据处理速度和长传输延时等方面的限制,本文采用延迟NAK方式。

航天器实体发送元数据PDU之后,接着将所有文件数据PDU依次发送,当所有文件数据PDU发送结束后,实体发送一个包含已发送文件大小和文件校验和的EOF PDU。为了确保地面接收实体能够收到EOFPDU,航天器实体在发送EOF PDU后启动一个定时器,超时时间根据往返时延来确定。在超时时间内若没有收到地面实体发送的EOFACK,且重发次数没有超过预设的门限值,那么发送实体对EOFPDU进行重发。完整的软件设计流程图如图1所示。

图1 软件设计流程图

地面实体接收到EOF PDU后,对没有正确接收到PDU信息组织成NAK反馈给发送实体。为了确保发送实体收到NAK,接收实体在发出NAK后启动一个定时器,当定时器超时后仍有PDU没有接收到,再次发送NAK,并重启定时器。

当地面实体完整正确的接收到所有文件数据PDU后,反馈给航天器实体一个结束PDU(Finished PDU),标识请求发送的文件已经全部完整的接收到,并启动一个定时器。航天器实体反馈给地面实体一个Finished ACK,直到地面实体接收到FinishedACK,整个文件传输过程结束。

图2 上行CFDPPDU

2 CFDP工程调整

在工程模型中包含两个CFDP实体,分别为模拟航天器实体和模拟地面实体,考虑到实际应用中长延时的特性,采用确认模式和延迟NAK方式。为了适应工程约束的需要,减轻对星载CPU和内存的负载,对CFDP按照工程定制做一些简化[11]。

1)文件为单向传输,即从航天器到地面控制中心

2)UT(Unitdata Transfer layer)层采用CAN和LVDS,模拟遥测帧上行和传输帧下行

CFDP的UT层是特定于实现的,该模型简化了无线功率放大传输的收发模块。包括上行的遥测控制帧和下行的传输数据帧。对于上行帧,PDU放置在CAN传输帧的数据域,航天器实体接收到CAN传输帧后,提取PDU,并路由给CFDP控制软件,上行帧格式如图2所示。

对于CFDP下行帧,复用底层AOS[12]传输帧,将CFDP PDU作为AOS传输帧的用户数据,复用AOS传输帧导头,并添加CFDPPDU同步导头。下行帧格式如图3所示。在地面实体接收到AOS帧后,提取CFDPPDU并路由给地面检测软件。

图3 下行CFDPPDU

3 CFDP航天器实体工程软件

考虑到航天器资源的限制,针对该模型仅实现CFDP核心功能,即实现从航天器实体到地面实体的单向文件传输。由于仅有文件下行,为了简化设计,除去了航天器实体软件的文件重构功能,并采用可靠传输的延迟NAK方式。具体实现流程如图4所示。

图4 CFDP航天器实体工程软件

航天器实体CFDP软件包括一个事务表,NAKs队列,文件系统及回放任务。事务表存储了待传输的文件的信息,包括文件名,待回放文件部分。NAKs队列存储了待重传的文件数据信息,当NAKs队列有重传请求时优先处理回放请求。

当地面上注指令到达航天器实体时,首先唤醒命令解析任务。对于接收到的不同指令,启动相应的处理任务。

该模型支持的CFDPPDU包括以下几种:

1)Request——提取回放文件信息存储在事务表中,启动回放任务

2)NAK——一个NAK PDU可能包含多个重传请求,分别提取NAK放置在NAKs队列中,每个重传请求包括文件名,偏移量,等待回放任务调用。

3)EOFACK——停止对应文件的EOF Timer

4)Finished——触发程序发送ACK Finished

回放任务是CFDP的主要任务,空间探测的科学数据和工程遥测源包都需要经回放任务下行到地面控制中心处理。当接收到回放指令后,将回放文件信息存储到事务表中,启动回放任务。当下行链路可用时,首先检测是否有EOF和Finished ACK等待传输,如果有那么优先传输他们。然后再检测NAKs重传请求队列是否有重传请求,传输等待重传的文件数据帧。如果NAKs传输队列也为空,那么开始回放文件数据[13]。

为了实现高速数据的可靠传输,采用与FPGA配合的方式完成数据读取、组帧、回放。数据读取以簇为单位进行。当软件响应回放信号产生的中断后,根据中断状态字启动回放过程,向硬件电路发送“回放命令字”。该命令字指定了目标簇的地址,然后硬件电路在FLASH存储区处于空闲的时刻启动目标簇的数据回放过程。硬件在启动回放过程后,将立即产生一个中断申请信号,软件响应中断后,通过回放状态口查询原回放命令的执行情况,并检测是否回放完整个文件,否则再次向硬件电路发送下一簇的回放命令字,直至回放完整个文件。

硬件电路启动目标簇的回放过程中,将目标簇数据读取出放入缓存,由复接硬件电路按照CFDP传输帧格式组帧,并最终组成图2所示的传输下行帧。

回放任务除了完成和硬件电路联合实现文件数据的高速读取,还要处理定时器。定时器包括EOF定时器、NAK定时器和FIN定时器。完成定时器的创建和超时处理功能。

为了实现文件化管理存储器的有效载荷,FPGA在控制往FLASH中写入数据时,将簇使用信息写入簇的空余区,FPGA上电初始化时扫面整个存储区的簇使用信息,并组织块分配表送往CPU软件。CPU软件以此为基础,重新组织成文件存储分配表IBAT。IBAT的每一个记录项为64位,包含块状态,文件号,下一块地址指针和时间码等信息。如图5所示。

图5 IBAT组织结构

航天器实体接收到回放文件指令后,在IBAT中找到回放起始块地址。在回放任务启动后,将回放指令传输给FPGA,FPGA根据回放指令的簇地址,在SSR中读取相应簇数据。当指定簇回放结束后,FPGA给CPU一个回放结束中断,CPU发送下一簇回放簇地址,直到回放指令的结束簇地址,完成整个回放过程。

4 CFDP地面实体软件

地面接收实体需要对发送实体发送的数据包进行实时接收和解帧,并对接收到的数据包的正确性和完整性做校验。当检测到有数据包出错和丢失时,将出错和丢失数据包的信息组织成NAK。在地面接收到EOF PDU后,将NAK PDU通过上行链路反馈给发送实体。地面实体软件如图6所示,发送实体根据NAK重传请求检索IBAT,和FPGA交互完成重传请求。

图6 地面实体检测软件

当地面接收实体接收到完整文件后,要向发送实体反馈Finished PDU,标识地面接收实体完整正确的收到了回放文件。航天器实体接收到Finished PDU后,向地面接收实体反馈ACK Finished PDU。地面接收到ACK Finished PDU后整个回放过程结束。

5 结 论

该CFDP原型样机以CCSDSCFDP传输协议为基础,整合SSR类文件化管理技术并与FPGA交互完成星载大容量存储器的文件管理和高速数据可靠传输。对CFDP在实际型号的应用做进一步的研究,以期不断提高型号任务的技术水平,满足不断提升的未来航天任务需求。

[1]朱岩.基于闪存的星载高速大容量存储技术的研究[D].北京:中国科学院空间科学与应用研究中心,2006.

[2]Consultative Committee for Space Data Systems.CCSDS 727.0-B-4-2007 CCSDS File Delivery Protocol Recommendation for Space Data System Standards[S].2007.

[3]Consultative Committee for Space Data Systems.CCSDSFile Delivery Protocol(CFDP)-PART 1 INTRODUCTION AND OVERVIEW Report Concerning Space Data System Standards.Consultative Committee for Space Data Systems:CCSDS 720.1-G-3[R].2007.

[4]蒋啸天.深空网络文件传输协议研究[D].西安:西安电子科技大学,2010.

[5]Consultative Committee for Space Data Systems.CCSDSFile Delivery Protocol(CFDP)-PART 2 IMPLEMENTERSGUID Report Concerning Space Data System Standards.Consultative Committee for Space Data Systems:CCSDS 720.2-G-3[R].2007.

[6]Baek W,Lee D C.Expected File Delivery Time of Immediate NAK ARQ in CCSDS File Delivery Protocol[J].IEEE Transactions on Aerospace and Electronic Systems,2005,41(2):503-524.

[7]李旭,张钦宇,李晖,等.深空通信中CFDP协议的四种可靠传输方式比较 [C]//中国宇航学会深空探测技术专业委员会第五届学术年会.长沙,中国:中国宇航学会深空探测技术专业委员会,2008.

[8]李旭,张钦宇,李晖,等.深空通信中提示否定确认型CFDP协议延时估算[J].上海航天,2009,26(5):11-16.

[9]BaekW,LeeDC.Lee.Expected File-Delivery Timeof Immediate NAK ARQ in CCSDS File Delivery Protocol[J].IEEE TransactionsonCommunications,2005,41(2):503-524.

[10]Baek W,Lee D C.Expected File-Delivery Time of Deferred NAK ARQ in CCSDS File-Delivery Protocol[J].IEEE Transactions on Communications,2003,3(8):1509-1523.

[11]Christopher J.Krupiarz,Scott C.Burleigh,Constantine M. Frangos,Brian K.Heggestad,Douglas B.Holland,Kevin M.Lyons,William C.Stratton.The Use of the CCSDS File Delivery Protocol on MESSENGER[C]//2002 Space Ops and World Space Congress.Houston,Texas,United States.Aiaa Journal,2002.

[12]孙辉先,陈小敏,白云飞,等.CCSDS高级在轨系统及在我国航天器中的应用[J].航天器工程,2003,12(1):12-18.

[13]周大卫.基于喷泉编码的深空通信文件传输协议[D].哈尔滨:哈尔滨工业大学,2013.

The implementation of the software based on the CCSDS file delivery protocol

ZOU Ye-nan1,2,DONG Zhen-xing1,2,ZHU Yan1
(1.National Space Science Center,Chinese Academy of Sciences,Beijing 100190,China;2.University of Chinese Academy of Sciences,Beijing 100190,China)

The satellite data storage and transmission in our country is still have such characteristics that bit stream and unreliable transmission.In order to delivery files in the specialspace environmentwith high speed and in reliablemanner,this file have research the CCSDS File Delivery Protocol,and based on the CFDP have done some research in advance for the practicalengineering.In this paper,tomeet the requirement that the data delivery in high speed and in reliablemanner,this paper based on like dynamic file system used on high-capacity solid state recorder,CFDPtightly coupled to the onboard file system implementation and FPGA tomeet the high data rates.Using special synchronization code to deal with the data link layer,to realize the data synchronization transmission.Finally realize the reliable transmission of the file on the satellite.

deep space communication;CCSDS file delivery protocol;file system;synchronization transmission

TN919.5

A

1674-6236(2016)20-0013-04

2015-11-05 稿件编号:201511053

邹业楠(1990—),男,山东临沂人,硕士。研究方向:空间数据存储与处理。

猜你喜欢
重传航天器实体
2022 年第二季度航天器发射统计
适应于WSN 的具有差错重传的轮询服务性能研究
前海自贸区:金融服务实体
2019 年第二季度航天器发射统计
无线网络中基于网络编码与Hash查找的广播重传研究
2018 年第三季度航天器发射统计
2018年第二季度航天器发射统计
面向异构网络的多路径数据重传研究∗
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”