本技术涉及卫星在轨上注的,特别是一种基于cfdp协议的卫星在轨上注数据传输方法和装置。
背景技术:
1、卫星在轨上注数据一般为星载软件和fpga的重构程序、重要参数、指令序列和其他关键数据等,是保证空间飞行器上各个设备高可靠运转,设备高效率维护和功能性能高灵活度升级的关键数据之一。伴随卫星网络化智能化的飞速发展,信息流链路涉及几十kbps的1553b总线和arinc659总线、1mbps的rs422总线、几十mbps的lvds总线、几百mbps的spacewire总线和大于1gbpsgtx总线等。在轨上注数据的上注、存储与分发流程面临更多样的空间链路,更灵活的通信方式以及更复杂的应用场景。
2、传统卫星在轨上注类数据侧重于数据内容正确性和信息完整性,因而在工程化实现探索有限。在轨上注数据的工程化实现中,多根据卫星特点定制信息流,将上注、存储与分发等功能与固定的硬件接口和应用模式绑定,例如星载存储装置只支持来自lvds总线接口的在轨上注数据、数据帧丢失则后面数据需要重新上注,工作模式单一且不支持多接口信息融合和多场景应用。
3、其他传统方案基于cfdp文件传输协议,搭建具备错误检测数据帧重传机制的上注数据在轨存储转发架构,其设计复杂需要嵌入式软件参与实现。由于软件处理对象和计算速率的局限,星间星内多用户多通道拓扑网络中在轨上注数据的高效重传难以实现。因此,传统在轨上注的星载处理装置难以适配单星到多星、再到组网的多用户多通道数据在轨上注的高灵活应用场景。
技术实现思路
1、本技术提供一种基于cfdp协议的卫星在轨上注数据传输方法和装置。本发明聚焦多样化信息链路和高灵活数据调度的工程化要求,提供的数据传输方法可以实现上注数据高效传输,提供了集合存储与分发功能的多通道灵活通信模式,还可以实现一种多平台适配即插即用的在轨上注数据高效传输装置,该在轨上注数据传输装置因支持后续型号应用而具有高拓展性。
2、第一方面,提供了一种基于cfdp协议的卫星在轨上注数据传输方法,包括:
3、接收目标在轨上注数据帧,目标在轨上注数据帧包括目标帧计数和vcdu数据单元;
4、根据目标帧计数,将目标在轨上注数据帧中vcdu数据单元的数据写入目标sdram分区的对应位置;
5、在目标sdram分区的上注数据帧状态缓存中对应目标帧计数的位置写入目标接收状态标识,目标接收状态标识用于指示目标在轨上注数据帧是否成功接收;
6、判断是否对目标sdram分区的最大连续帧计数进行更新,如果目标sdram分区的最大连续帧计数指示目标帧计数减1的在轨上注数据帧被成功接收,则将目标sdram分区的最大连续帧计数加1,否则不更新最大连续帧计数。
7、针对目标帧计数减1的在轨上注数据帧,具体指的是当前目标帧计数的前一帧计数所对应的在轨上注数据帧。下面通过示例说明最大连续帧计数的更新判断条件。
8、针对帧计数为0的在轨上注数据帧接收过程,在成功接收帧计数为0的在轨上注数据帧之后,由于最大连续帧计数初始可以设置为0,那么此时最大连续帧计数可以更新为1,最大连续帧计数为1的含义包括,帧计数为0的在轨上注数据帧被成功接收,下一个应当被成功接收的在轨上注数据帧的帧计数为1。
9、在一种情况中,假设目标帧计数为10,且帧计数0~9对应在轨上注数据帧均被成功接收。那么在接收目标在轨上注数据帧之前,最大连续帧计数可以取值为10,用于指示帧计数为9的在轨上注数据帧被成功接收。在成功接收目标帧计数为10的在轨上注数据帧之后,判断是否对目标sdram分区的最大连续帧计数进行更新。由于最大连续帧计数指示帧计数为10-1=9的在轨上注数据帧被成功接收,符合最大连续帧计数的更新条件。此时可以对最大连续帧计数进行加1更新,更新后的最大连续帧计数为11,最大连续帧计数为11的含义包括,帧计数为10的在轨上注数据帧被成功接收,下一个被成功接收的在轨上注数据帧的帧计数应当为11。
10、在另一种情况中,假设目标帧计数为10,且帧计数0~8对应在轨上注数据帧均被成功接收,帧计数9对应在轨上注数据帧未被成功接收。那么在接收目标在轨上注数据帧之前,最大连续帧计数可以取值为9,用于指示帧计数为8的在轨上注数据帧被成功接收。在成功接收目标帧计数为10的在轨上注数据帧之后,判断是否对目标sdram分区的最大连续帧计数进行更新。由于最大连续帧计数指示帧计数为8的在轨上注数据帧被成功接收,而不是帧计数为10-1=9的在轨上注数据帧被成功接收,因此不符合最大连续帧计数的更新条件。此时不更新最大连续帧计数。
11、结合第一方面,在第一方面的某些实现方式中,目标接收状态标识取值为1时用于指示目标在轨上注数据帧成功接收,目标接收状态标识取值为0时用于指示目标在轨上注数据帧未成功接收;所述最大连续帧计数的获取包括:
12、在目标sdram分区的上注数据帧状态缓存中从帧计数0的位置连续读取各个帧位置的接收状态标识,其持续加1直到读取到第一个接收状态为0的位置停止,将第一个接收状态为0的帧计数确定为最大连续帧计数。
13、结合第一方面,在第一方面的某些实现方式中,所述目标在轨上注数据帧还包括:sdram分区号;所述根据目标帧计数,将目标在轨上注数据帧中的数据写入目标sdram分区的对应位置,包括:
14、读取目标sdram分区号来确定目标sdram分区接收缓存的起始地址;
15、通过目标帧计数乘以sdram数据基本存储单元长度来获得目标sdram分区接收缓存的内部偏移地址;
16、叠加目标sdram分区接收缓存的起始地址和内部偏移地址,确定目标在轨上注数据帧在目标sdram分区中写入的地址。
17、第二方面,提供了一种基于cfdp协议的卫星在轨上注数据传输方法,包括:
18、接收目标在轨上注初始化指令,目标在轨上注初始化指令包括目标在轨上注数据标识;
19、通过如上述第一方面中的任意一种实现方式中所述的基于cfdp协议的卫星在轨上注数据传输方法,接收目标在轨上注数据标识所指示的数据,并在目标sdram分区中写入;
20、发送与目标在轨上注数据标识对应的最大连续帧计数,该最大连续帧计数为目标sdram分区的最大连续帧计数,该最大连续帧计数用于指示在轨上注数据上注完毕,或者用于指示在轨上注数据待重传。
21、结合第二方面,在第二方面的某些实现方式中,在最大连续帧计数指示在轨上注数据待重传的情况下,所述方法还包括:
22、接收漏帧查询指令,漏帧查询指令包括目标在轨上注数据标识;
23、发送针对漏帧查询指令的指令回复帧,指令回复帧用于指示未成功接收的帧计数;
24、接收重传的在轨上注数据帧,更新最大连续帧计数并重新广播目标sdram分区的最大连续帧计数。
25、结合第二方面,在第二方面的某些实现方式中,如果最大连续帧计数等于当前在轨上注数据的最大帧计数加1,则最大连续帧计数用于指示在轨上注数据上注完毕;否则最大连续帧计数指示在轨上注数据待重传。
26、第三方面,提供了一种基于cfdp协议的卫星在轨上注数据传输方法,包括:
27、发送在轨上注初始化指令,指令包含在轨上注数据标识;
28、发送目标在轨上注数据标识所指示的数据;
29、接收与目标在轨上注数据标识对应的最大连续帧计数,该最大连续帧计数用于指示在轨上注数据上注完毕,或者用于指示在轨上注数据待重传;
30、在最大连续帧计数指示在轨上注数据待重传的情况下,所述方法还包括:
31、发送漏帧查询指令,漏帧查询指令包括在轨上注数据标识;
32、接收针对漏帧查询指令的指令回复帧,指令回复帧用于指示未成功接收的帧计数;
33、发送重传的在轨上注数据帧。
34、第四方面,提供了一种基于cfdp协议的卫星在轨上注数据传输装置,包括:硬件接口模块、数据路由模块,硬件接口模块用于将外部接口协议数据转换为统一格式数据并输入给数据路由模块;数据路由模块用于执行如上述第一方面中的任意一种实现方式中所述的基于cfdp协议的卫星在轨上注数据传输方法。
35、结合第四方面,在第四方面的某些实现方式中,硬件接口模块内部包括时序处理子模块和协议处理子模块;时序处理子模块用于与外部硬件芯片通信;协议处理子模块用于实现在外部接口协议和内部协议之间的数据转换。
36、结合第四方面,在第四方面的某些实现方式中,协议处理子模块发送给数据路由模块的数据帧包括sdram分区号、数据帧长度、帧类型标识、帧计数和vcdu数据单元。
37、结合第四方面,在第四方面的某些实现方式中,协议处理子模块用于对vcdu数据单元内容进行crc校验,如果crc校验错误则丢弃数据帧;如果crc校验正确,则向数据路由模块输入数据帧。
38、结合第四方面,在第四方面的某些实现方式中,数据路由模块包含输入合路子模块、输出分路子模块、指令解析子模块和sdram接口控制子模块;其中,
39、输入合路子模块通过帧计数完成sdram中的地址索引并将数据帧写入sdram的分区中;输入合路子模块包含n个sdram写入数据缓存、m个在轨上注数据上注通道和1个非易失存储器回放数据接收缓存,输入合路子模块的在轨上注数据上注通道包含1个输入接口缓存和1个上注数据帧状态缓存,输入接口缓存对应前端的硬件接口模块,上注数据帧状态缓存以当前通道接收的帧计数作为索引地址,存储对应帧计数的数据帧是否收到的状态,非易失存储器回放数据接收缓存在外部连接非易失存储系统时被使用,作为回放数据写入sdram对应分区发送缓存的通道;
40、输出分路子模块负责sdram中数据帧的读取操作;输出分路子模块包含n个sdram读取数据缓存、m个在轨上注数据分发通道和1个非易失存储器写数据缓存;
41、指令解析子模块负责解析来自输入合路子模块的指令帧,通过配置参数和控制信号,完成sdram分区打开、sdram分区关闭、通道回放模式定义、通道分发参数传递、漏帧查询、起始帧计数配置,实现通过指令控制基于cfdp协议的在轨上注数据的上注、存储以及分发操作;并且,负责定时将内部sdram分区状态向对应上注通道进行广播;作为发送端的指令解析子模块根据遥测广播来确定指令是否被正确指令,并根据地面或者星上指令组安排发送下一操作的相关指令和数据帧;
42、sdram接口控制子模块负责sdram接口时序控制和数据交互。
43、第五方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信装置,该装置包括:
44、接收单元,用于接收目标在轨上注数据帧,目标在轨上注数据帧包括目标帧计数和vcdu数据单元;
45、存储单元,用于根据目标帧计数,将目标在轨上注数据帧中vcdu数据单元的数据写入目标sdram分区的对应位置;
46、存储单元还用于,在目标sdram分区的上注数据帧状态缓存中对应目标帧计数的位置写入目标接收状态标识,目标接收状态标识用于指示目标在轨上注数据帧是否成功接收;
47、控制单元,用于判断是否对目标sdram分区的最大连续帧计数进行更新,如果目标sdram分区的最大连续帧计数指示目标帧计数减1的在轨上注数据帧被成功接收,则将目标sdram分区的最大连续帧计数加1,否则不更新最大连续帧计数。
48、结合第五方面,在第五方面的某些实现方式中,目标接收状态标识取值为1时用于指示目标在轨上注数据帧成功接收,目标接收状态标识取值为0时用于指示目标在轨上注数据帧未成功接收;所述控制单元具体用于:
49、在目标sdram分区的上注数据帧状态缓存中从帧计数0的位置连续读取各个帧位置的接收状态标识,其持续加1直到读取到第一个接收状态为0的位置停止,将第一个接收状态为0的帧记数确定为最大连续帧计数。
50、结合第五方面,在第五方面的某些实现方式中,所述目标在轨上注数据帧还包括:sdram分区号;所述存储单元具体用于:
51、读取目标sdram分区号来确定目标sdram分区接收缓存的起始地址;
52、通过目标帧计数乘以sdram数据基本存储单元长度来获得目标sdram分区接收缓存的内部偏移地址;
53、叠加目标sdram分区接收缓存的起始地址和内部偏移地址,确定目标在轨上注数据帧在目标sdram分区中写入的地址。
54、第六方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信装置,该装置包括:
55、接收模块,用于接收目标在轨上注初始化指令,目标在轨上注初始化指令包括目标在轨上注数据标识;
56、接收模块还用于通过如上述第一方面中的任意一种实现方式中所述的基于cfdp协议的卫星在轨上注数据传输方法,接收目标在轨上注数据标识所指示的数据,并在目标sdram分区中写入;
57、发送模块,用于发送与目标在轨上注数据标识对应的最大连续帧计数,该最大连续帧计数为目标sdram分区的最大连续帧计数,该最大连续帧计数用于指示在轨上注数据上注完毕,或者用于指示在轨上注数据待重传。
58、结合第六方面,在第五方面的某些实现方式中,在最大连续帧计数指示在轨上注数据待重传的情况下,
59、接收模块还用于接收漏帧查询指令,漏帧查询指令包括目标在轨上注数据标识;
60、发送模块还用于发送针对漏帧查询指令的指令回复帧,指令回复帧用于指示未成功接收的帧计数;
61、接收模块还用于接收重传的在轨上注数据帧,更新最大连续帧计数并重新广播目标sdram分区的最大连续帧计数。
62、结合第六方面,在第五方面的某些实现方式中,如果最大连续帧计数等于当前在轨上注数据的最大帧计数加1,则最大连续帧计数用于指示在轨上注数据上注完毕;否则最大连续帧计数指示在轨上注数据待重传。
63、第七方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信装置,该装置包括:
64、发送模块,用于发送在轨上注初始化指令,指令包含在轨上注数据标识;
65、发送模块还用于发送目标在轨上注数据标识所指示的数据;
66、接收模块,用于接收与目标在轨上注数据标识对应的最大连续帧计数,该最大连续帧计数用于指示在轨上注数据上注完毕,或者用于指示在轨上注数据待重传;
67、发送模块还用于在最大连续帧计数指示在轨上注数据待重传的情况下,发送漏帧查询指令,漏帧查询指令包括在轨上注数据标识;
68、接收模块还用于接收针对漏帧查询指令的指令回复帧,指令回复帧用于指示未成功接收的帧计数;
69、发送模块还用于发送重传的在轨上注数据帧。
70、第八方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信装置,该装置,该装置用于执行如上述第一方面至第三方面中的任意一种实现方式中所述的基于cfdp协议的卫星在轨上注数据传输方法。
71、第九方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信系统,包括地面设备、若干个卫星设备,所述卫星设备用于执行如上述第二方面至第三方面中的任意一种实现方式中所述的基于cfdp协议的卫星在轨上注数据传输方法。
72、第十方面,提供了一种基于cfdp协议的卫星在轨上注数据传输通信系统,包括地面设备、若干个卫星设备,所述卫星设备包括如上述第四方面中的任意一种实现方式中所述的卫星在轨上注数据传输装置。
73、综上所述,本发明设计一种vcdu格式与cfdp协议结合实现错帧重传机制的工程化实现、cfdp协议在硬件上应用方式以及错帧重传机制的实现方式。本发明还设计一种基于cfdp协议的卫星在轨上注数据传输装置中在sdram存储器分区的接收缓存中通过vcdu帧计数计算实现在轨上注数据非顺序写入在轨上注数据方式和方法。本发明还设计多个基于cfdp协议的卫星在轨上注数据传输装置组建星内星间网络后,每个装置在数据接收、数据转发、以及数据发送等不同工作模式下,装置内各个模块在指令操作下的运行方式。本发明还设计一种基于cfdp协议的卫星在轨上注数据传输装置中不同模式下进行在轨上注数据分发的数据帧格式定义。本发明还设计一种基于cfdp协议的卫星在轨上注数据传输装置中硬件接口模块对在轨上注数据帧的校验方法以及和后端数据路由模块之间的统一协议格式。
74、与现有技术相比,本技术提供的方案至少包括以下有益技术效果:
75、(1)、本发明设计一种基于cfdp协议的卫星在轨上注数据传输装置,其为基于错误检测数据帧重传机制的在轨上注数据高效传输提供了工程化解决方案,保证每次只传输错误或者丢失的数据,而不再像以往设计断点后全部重传,解决链路资源同时大幅度提高传输效率。
76、(2)、本发明具备支持在不同类型航天设备环境下通用的高兼容性接口架构,外部接口装置的即插即用,且本发明可以通过指令完成在轨上注数据的上注和分发通道数据流绑定和解绑,存储和分发方式设置等,覆盖当前从单星到多星组网的绝大部分在轨上注数据传输需求,支持跨型号通用,提高产品的可靠性。
77、(3)、本发明具备高集成化的可配置架构,集合在轨上注数据上注、存储和分发所有功能,可作为发送端、接收端和中转端装备在在轨上注数据传输链路中的任何节点应用,其良好的工程可拓展性为后续系统层面布置更复杂的数据传输方案提供了技术基础。
78、(4)、本发明为用户开设参与设计在轨上注数据并行传输模式的指令窗口,内部sdram存储器的多分区并行支持多通道数据实时并行存储回放,进一步提升数据传输的灵活性,满足当前和未来一段时间卫星智能化网络化拓展中的在轨上注数据传输需求。