基于数据分发服务的航天器软件通信框架设计
2021-04-28叶晓枫杨志刚杨培尧张亚航陈琦
航天器工程 2021年2期
关键词:进程
叶晓枫 杨志刚 杨培尧 张亚航 陈琦
(北京空间飞行器总体设计部,北京 100094)
当前航天器软件的进程间通信过程主要依靠基于星内路由的航天器软件通信框架实现。该框架中最核心的部分是“路由进程”,该进程负责所有其他进程数据的转发。该框架具体的通信方式是:发送进程将数据发送至路由进程,路由进程再将数据转发至接收进程。路由进程接管了所有的底层网络协议,因此解决了早期应用程序开发严重依赖底层协议的问题。例如,某卫星平台利用基于星内路由的框架进行进程间通信,在星内软件建立了链路层和网络层,通信过程通过点到点的“软总线”方式(路由方式)完成,即所有的数据包汇聚至路由进程,路由进程根据数据包的应用过程标识(APID)查找路由表,将其转发至相应的接收进程。该通信方式使得应用程序与底层协议隔离,简化了软件开发过程。
在这种基于星内路由的星务软件分层体系结构中,遥测链路、遥控链路和1553B总线链路等链路层协议都由网络层路由接管,并以软件构件的形式存在[1]。所有类型的数据包均需要先发送至路由进程,路由进程再根据数据包的类型选择相应的链路层协议,将数据包转发至相应的接收进程,形成一种“沙漏式”的通信架构。这种通信方式的优势在于应用程序的开发者不需要关注与数据的接收方使用何种底层协议通信,只需调用一个统一的发送数据的函数即可实现数据的发送。……
登录APP查看全文
