一种高可靠低开销的跨周期数据处理方法技术

技术编号:29095954 阅读:14 留言:0更新日期:2021-06-30 10:05
本发明专利技术提供一种高可靠低开销的数据处理方法,发送端按照设定的采样周期对指令Cmd和数据进行采集,并打包形成数据包,发送给接收端;接收端按照设定的控制周期,接收数据包存入缓存Buffer;当一个控制周期接收后,计算当前控制周期接收到数据包的个数N;从缓存Buffer中提取本控制周期内第i个数据包,作为当前数据包,得到所有有效指令;本发明专利技术针对在数据发送端对指令打包后进行多次发送,在数据接收端对接收到的多个数据包进行一致性判断后确认指令是否有效的情况,通过缓存当前控制周期中的所有数据包以及上一控制周期的最后一个数据包和连续包计数器,解决了对包含相同指令的多个数据包进行跨周期接收和处理的问题,确保了接收指令的高可靠性。确保了接收指令的高可靠性。确保了接收指令的高可靠性。

【技术实现步骤摘要】
一种高可靠低开销的跨周期数据处理方法


[0001]本专利技术涉及一种高可靠低开销的跨周期数据处理方法,属于航天器上的数据接收处理


技术介绍

[0002]空间站作为长期有人值守的大型在轨航天器,具有可靠性、安全性要求高的特点。由于指令从航天员到GNC控制器之间传输的链条很长(如图2所示),为了提高系统的可靠性,在数据发送端(核心舱编解码指令单元)对指令打包后进行多次发送,在数据接收端(实验舱GNC控制器)对接收到的多个数据包进行一致性判断,以确保指令的高可靠性。由于数据发送端与数据接收端为异步系统,且采样周期小于控制周期,因此连续发送的多个数据包在接收端有可能在两个控制周期内完成接收。
[0003]针对上述情况,需要设计一种机制,确保对包含相同指令的多个数据包进行跨周期接收和处理。通常做法是将上一控制周期接收的所有数据缓存,与当前控制周期接收的数据一起处理,这种方法需要缓存的数据多,内存开销大,算法复杂,空间站上的控制器难以实现。

技术实现思路

[0004]本专利技术要解决的技术问题为:克服现有技术不足,提供一种高可靠低开销的数据处理方法,针对在数据发送端对指令打包后进行多次发送,在数据接收端对接收到的多个数据包进行一致性判断后确认指令是否有效的情况,通过缓存当前控制周期中的所有数据包以及上一控制周期的最后一个数据包和连续包计数器,解决了对包含相同指令的多个数据包进行跨周期接收和处理的问题,确保了接收指令的高可靠性。
[0005]本专利技术的技术解决方案是:一种高可靠低开销的数据处理方法,步骤如下:
[0006]S1、发送端,按照设定的采样周期对指令Cmd和数据进行采集,并打包形成数据包,发送给接收端;
[0007]S2、接收端按照设定的控制周期,接收数据包存入缓存Buffer;当一个控制周期接收后,进行步骤S3
[0008]S3、计算当前控制周期接收到数据包的个数N,设置连续包计数器PkCnt;(若当前控制周期为第一个控制周期,则连续包计数器PkCnt设置为1,否则连续包计数器PkCnt设置为上一控制周期保存的连续包计数器PkCnt的值(A值))
[0009]S4、从缓存Buffer中提取本控制周期内第i个数据包,作为当前数据包,提取当前数据包中的指令Cmd;i为1

N的整数;i从1开始取;
[0010]将当前数据包中的指令Cmd与上一数据包中的指令Cmd对比,若当前数据包中的指令Cmd与上一数据包中的指令Cmd相同,则将连续包计数器PkCnt的值加1,否则将连续包计数器PkCnt的值置为1;
[0011]S5、判断连续包计数器PkCnt的值是否大于等于设定的阈值PkCntLimt,如果当前
的连续包计数器PkCnt的值大于等于设定的阈值PkCntLimt,则保存当前数据包中的指令cmd,作为有效指令;并且将连续包计数器PkCnt清零,判断i的值是否小于N,若是,将步骤S4中的i值加1后赋给i,返回步骤S4;否则,进行步骤S6;
[0012]S6、保存当前的连续包计数器PkCnt的值,记为A值;(当前的连续包计数器PkCnt的值,用于下一控制周期的第一个数据包与本控制周期的最后一个数据包比较时,若下一控制周期的第一个数据包中的指令Cmd与本控制周期的最后一个数据包中的指令Cmd相同,则在此连续包计数器PkCnt的值(A值)基础上加1)
[0013]S7,重复步骤S2

步骤S6,遍历完所有控制周期后,得到所有有效指令。
[0014]优选的,一个有效指令,可能在两个控制周期中的数据包中传输。
[0015]优选的,在接收端需要判断连续多个数据包中指令Cmd的一致性。
[0016]优选的,缓存Buffer仅需缓存本控制周期中的所有数据包以及上一控制周期的最后一个数据包。
[0017]优选的,设定当前控制周期内第一个数据包的上一数据包,为上一控制周期内最后一个数据包。
[0018]优选的,对于第一个控制周期的第一个数据包,由于没有上一数据包进行比较,设连续包计数器PkCnt的值为1。
[0019]本专利技术与现有技术相比的优点在于:
[0020](1)本专利技术无需缓存上一控制周期接收到的所有数据,减少了数据存储量。
[0021](2)本专利技术通过保存上一控制周期的最后一个数据包和连续包计数器,解决了对包含相同指令的多个数据包进行跨周期接收和处理的问题,确保了接收指令的高可靠性。
[0022](3)本专利技术能够使得数据处理占用的内存少。
[0023](4)本专利技术能够使得算法简单,易于实现。
附图说明
[0024]图1为本专利技术的一种高可靠低开销的数据处理方法的流程图。
[0025]图2为指令从航天员到实验舱的GNC控制器的传输过程图。
具体实施方式
[0026]下面结合附图和具体实施例对本专利技术进行详细说明。
[0027]本专利技术提供一种高可靠低开销的数据处理方法,发送端按照设定的采样周期对指令Cmd和数据进行采集,并打包形成数据包,发送给接收端;接收端按照设定的控制周期,接收数据包存入缓存Buffer;当一个控制周期接收后,计算当前控制周期接收到数据包的个数N,设置连续包计数器PkCnt;从缓存Buffer中提取本控制周期内第i个数据包,作为当前数据包,提取当前数据包中的指令Cmd;i为1

N的整数;i从1开始取;将当前数据包中的指令Cmd与上一数据包中的指令Cmd对比,若当前数据包中的指令Cmd与上一数据包中的指令Cmd相同,则将连续包计数器PkCnt的值加1,否则将连续包计数器PkCnt的值置为1;判断连续包计数器PkCnt的值是否大于等于设定的阈值PkCntLimt,如果当前的连续包计数器PkCnt的值大于等于设定的阈值PkCntLimt,则保存当前数据包中的指令cmd,作为有效指令,并且将连续包计数器PkCnt清零;遍历完所有控制周期后,得到所有有效指令;本专利技术针
对在数据发送端对指令打包后进行多次发送,在数据接收端对接收到的多个数据包进行一致性判断后确认指令是否有效的情况,通过缓存当前控制周期中的所有数据包以及上一控制周期的最后一个数据包和连续包计数器,解决了对包含相同指令的多个数据包进行跨周期接收和处理的问题,确保了接收指令的高可靠性。
[0028]本专利技术针对的是:航天器上的指令至关重要,一旦指令发生错误,可能导致航天器发生故障甚至危及航天员的生命安全。在空间站上,航天员驻留在空间站核心舱中,通过遥操作手柄和核心舱编解码指令单元发送指令,实现实验舱与核心舱的手动交会对接,指令的传输过程如图2所示。由于指令从航天员到控制器之间的传输链条很长,为了提高系统的可靠性,在数据发送端(核心舱编解码指令单元)将每一条指令打包后按照12ms的采样周期连续发送8次,在数据接收端(实验舱GNC控制器)按照200ms的控制周期对接收到的多个数据包进行一致性判断,如果连续6个数据包中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高可靠低开销的数据处理方法,其特征在于步骤如下:S1、发送端,按照设定的采样周期对指令Cmd和数据进行采集,并打包形成数据包,发送给接收端;S2、接收端按照设定的控制周期,接收数据包存入缓存Buffer;当一个控制周期接收后,进行步骤S3;S3、计算当前控制周期接收到数据包的个数N,设置连续包计数器PkCnt;S4、从缓存Buffer中提取本控制周期内第i个数据包,作为当前数据包,提取当前数据包中的指令Cmd;i为1

N的整数;i从1开始取;将当前数据包中的指令Cmd与上一数据包中的指令Cmd对比,若当前数据包中的指令Cmd与上一数据包中的指令Cmd相同,则将连续包计数器PkCnt的值加1,否则将连续包计数器PkCnt的值置为1;S5、判断连续包计数器PkCnt的值是否大于等于设定的阈值PkCntLimt,如果当前的连续包计数器PkCnt的值大于等于设定的阈值PkCntLimt,则保存当前数据包中的指令cmd,作为有效指令;并且将连续包计数器PkCnt清零,判断i的值是否小于N,若是,将步骤S4中的i值加1后赋给i,返回步骤S4;否则,进行步骤S6;S6、保存当前的连续包计数器PkCnt的值,记为A值;S7、重复步骤S2
...

【专利技术属性】
技术研发人员:杨俊春李经松张锦江胡军党纪红尚葳蕤于海心王晶张丹瑶罗谷清董晓刚李晓锋
申请(专利权)人:北京控制工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1