随着国内外航天技术的快速发展,航天电子系统的复杂度不断增大,对数据总线、网络的传输速率和实时性提出了更高的要求。传统的133B、TTCAN等航天总线,虽然具有较好的时间确定性,但是传输速率低;而SpaceWire、以太网、FC等网络技术,虽然传输速率高,但是实时性较差。SpaceWire-D是一种实时、可靠的航天网络技术,但是现有文献没有针对高速SpaceWire-D调度表生成的有效方法。
在此背景下,北京控制工程研究所和中国空间科学技术研究所的刘波团队根据高速SpaceWire-D网络的特点将贪婪算法与SMT方法相结合,使得生成的调度表具有良好的分布均匀性且生成速度较快,弥补了现有方法的不足。
网络模型
SpaceWire-D的底层基础是SpaceWire网络。一个SpaceWire网络系统通常由路由器、终端节点和链路构成。高速SpaceWire网络将标准SpaceWire的传输介质变为光纤,并对路由器和节点的设计做了改进,使网络速率明显高于传统SpaceWire的200 Mbit/s。本文采用高速SpaceWire网络,最大数据传输率为1Gbit/s,并包含3个路由器和16个终端节点,如图1所示。
在图2中,C帧的传输时间为6,大于小周期长度5,于是被拆分成C1、C2和C3。长帧的拆分使调度表的设计既具有较大的灵活性,同时也增加了难度,当终端节点数量较多时很难由手工完成。
针对高速SpaceWire-D提出了一种调度表生成方法。该方法基于SMT求解器并结合贪婪算法。贪婪算法是本文方法的主体,用于将帧的分片在各个小周期进行调整,使各分片在调度表上尽量均匀分布。SMT求解器是本文方法的重要工具,在算法中设定了关于调度表的调度周期约束、顺序约束和链路约束,并作为SMT求解器的输入参数,然后调用求解器对输入参数的可满足性进行判定,如果可满足则返回的模型即为所求的调度表。此外,本文还提出了设置分片长度、确定时间槽大小以及划分冲突域的策略,使整个方法可以完整实现。在试验部分,使用本文方法生成了一组帧的调度表,结果验证了该方法的有效性,适用于航天高速SpaceWire-D网络。本文方法目前应用范围有限,后续需要针对更多应用案例进行验证,并且为应对大规模的调度表生成问题,在未来的工作中还将改进分片策略,以进一步缩短算法的收敛时间。
引用格式:
姜宏,杨孟飞,刘波,等.SpaceWire-D的调度表生成方法[J]. 中国空间科学技术,2019, 39(1): 11-18.
JIANG H, YANG M F, LIU B, et al. A method of SpaceWire-D schedule generation[J]. Chinese Space Science and Technology, 2019, 39(1): 11-18 (in Chinese).
作者简介:
姜宏,工程师,研究方向为航天器高速数据总线技术。
刘波,研究员,研究方向为航天计算机容错技术。
各位读者可复制http://zgkj.cast.cn/CN/10.16708/j.cnki.1000-758X.2018.0065到浏览器中打开。也可以点击屏幕左下方“阅读原文”,免费获取全文。