软件定义正在成为一种新的发展趋势。在航天领域,发展软件定义卫星技术将逐步提高卫星产品的软件密集度,不但可以逐步使卫星增强功能、提升性能,而且可以极大地缩短研发周期,降低研发成本。软件定义卫星技术的重要性主要体现在三个方面:
为发展智能卫星创造良好条件。智能卫星具有环境自感知能力,能够自主决策、自主运行,其数据处理流程更加灵活,信息处理算法更加强大,能够完成更为复杂的空间任务。采用可软件定义的开放系统架构,将极大地提高卫星系统对有效载荷的适配能力和对算法软件的兼容能力,无论是硬件部件还是软件组件,都可以真正做到即插即用。软件定义卫星可以有效支持各类数据/信息的高速交换、高效存储、智能处理和灵活应用,可在此基础上逐步提升卫星的智能化水平。
实现卫星功能和性能的持续演进。在空间任务日益多变、空间环境日趋恶劣(空间碎片增多、电磁环境变复杂)的情况下,对发射入轨之后的卫星不断进行升级和维护的需求也日渐迫切。软件定义卫星采用开放式架构,可以通过在轨发布APP、动态加载各种软件组件,把各种强大的新算法不断地集成到卫星系统中,不但可以通过实时动态重构为卫星系统增加新的功能,还可以通过改进算法提升卫星的性能,或者对出现的故障进行修复[1]。
加快“核高基”成果在航天工程中的应用速度。软件定义卫星解除了卫星系统软硬件之间的紧耦合关系,使得符合标准的软件组件和硬件部件可以互换,这就为逐步提高整星产品的自主可控程度创造了更好的条件。
国内外研究现状
美国国防部早在1990年就提出了模块化开放体系架构(MOSA)的概念。MOSA的核心思想是通过软硬件解耦将系统分解为一系列标准化的软硬件模块,再通过对这些软硬件模块进行不断的升级和重组,逐步提升整个系统的效能[2]。采用MOSA架构的设备,不但便于引入新技术和升级改造,而且由于可选择的供应商多,也便于控制和降低成本。美军基于MOSA和软件定义的思想,对其电台和雷达进行了升级和改造,都取得了良好的效果。软件定义无线电技术、软件定义雷达技术的成功,展现了MOSA和软件定义的威力。国外对软件定义卫星技术的研究,主要集中在如何把软件定义无线电技术应用于通信卫星方面,例如欧洲“量子”卫星。
国内也进行了类似的试验卫星,例如清华大学和北京信威通信技术股份有限公司联合研制的“灵巧通信卫星”。中国电子科技集团的杨小牛院士也一直在推动基于软件无线电技术的“软件星”的研究工作,希望发展一种能够将通信、侦查、干扰融为一体的多功能卫星,现已取得了一定的技术进展[3]。
从2014年开始,中科院软件所牵头组织上海微小卫星工程中心、中科院西安光学精密机械研究所、中科院光电研究院、中国航天科技集团771所等单位开展了软件定义卫星技术的研究工作,包括体系架构、试验平台、技术规范等,其中“天智一号”软件定义卫星计划于2018年下半年发射。中科院软件所在这个项目中承担并完成了卫星开放系统架构(SOSA-Satellite Open Systems Architecture)设计、“天智一号”试验卫星总体方案论证等工作,并在天基超算平台、星载操作环境(Sputnix)、软件定义有效载荷、星载APP等方面取得了一定的技术进展。
为了更好地发展软件定义卫星技术,中科院软件所等30余家单位还于2017年9月发起并成立了软件定义卫星技术联盟。
软件定义卫星技术内涵
软件定义卫星的核心是天基超算平台和星载操作环境。天基超算平台具有强大的计算能力和丰富的接口形式,可动态集成传感器、执行器、通信器等各类有效载荷;星载操作环境具备强大的容错能力,对上屏蔽底层硬件细节,为应用程序提供一致的执行环境,支持各类软件组件、硬件部件的即插即用和动态配置。它们对外提供计算服务、存储服务和信息交换服务,支持硬件载荷的动态重组、软件应用的动态重配,可以通过灵活增加、减少、改变系统的软硬件组成,动态构建出能够满足各种任务需求的卫星系统,进而完成复杂多变的空间任务。
由于采用了开放系统架构,因此符合标准的软件组件和硬件部件可以在不同卫星平台之间平滑迁移、无缝接入和灵活重用,可以灵活方便地扩充整个卫星系统的能力,并最大程度地保证卫星内部和卫星之间的互操作性。就像个人电脑的通用性一样,在保持经济可承受性的前提下,通过充分利用现有外设,即可方便地扩充系统能力。为了完成不同的空间任务,往往需要对卫星系统的资源进行动态组织、调度和重构,并且需要进行大量的在轨智能信息处理和实时数据处理,因此,软件定义卫星的软件密集度也将与日俱增。
软件定义卫星的概念内涵如图1所示。
图1 软件定义卫星的概念内涵
软件定义卫星的特征如下:
1. 需求可定义。软件定义卫星可根据需要重构整个系统,可灵活响应多种不同的空间任务需求,能够满足通信、导航、遥感、科学探测等多种应用场景,提供多种功能,完成多种任务。
2. 硬件可重组。软件定义卫星采用开放系统架构,具有丰富的接口形式,支持各类有效载荷的即插即用,可以根据任务需求进行有效载荷、计算资源、交换资源、存储资源的重组。
3. 软件可重配。软件定义卫星具有一致的程序执行环境,具有丰富的应用软件,可以根据任务需求动态配置和执行不同的APP,完成不同的任务。
4. 功能可重构。通过接入不同的硬件部件、加载不同的软件组件,可快速重构出不同的功能。
体系架构与关键技术
软件定义卫星的体系架构包括应用服务器(application server)、载荷服务器(instruments server)、数据交换引擎(data exchange engine)和存储服务器(storage server)等四个组成部分。见图2。
图2 软件定义卫星的体系架构
●应用服务器 支持符合标准的软件组件的即插即用和按需执行。
●载荷服务器 支持符合标准的硬件部件的热插拔和按需配置。
●数据交换引擎 可根据需要完成有效载荷、存储设备、应用程序之间的高速信息交换与分发。
●存储服务器 实现对卫星平台数据、有效载荷数据的永久性可靠存储和临时性高速存储。
从体系架构和概念内涵可以看出,软件定义卫星不但和地面主流计算环境保持了最大程度的兼容,而且内部模块划分科学合理、功能界面清晰,可以最大程度地保证标准部件的互换性。
星载操作环境包括有效载荷接入和计算加速环境、基于软件容错技术的高性能分布式计算环境、与地面主流计算环境兼容的应用程序执行环境。有效载荷接入和计算加速环境以现场可编程门阵列(FPGA)为主,用于提供有效载荷接入所需要的各种接口,并承担计算密集型载荷数据预处理算法的计算加速、实时性要求高的控制密集型算法的实时性保障,而IO密集型的数据交换任务主要由数据交换引擎承担;与地面主流计算环境兼容的应用程序执行环境用于支撑星载APP的动态加载、执行和调度;基于软件容错技术的高性能分布式计算环境是整个星载操作环境的核心,其作用相当于操作系统,用于管理CPU计算阵列、Flash存储阵列、FPGA计算和交换阵列、数字信号处理(DSP)计算阵列、GPU计算阵列等硬件资源池。除了资源调度之外,其主要功能是对硬件故障的检测、隔离和修复,对上提供连续有效的可靠计算服务、存储服务和交换服务。
天基超算平台采用以太网标准的开放式互联架构,可以集成各类异构计算节点和存储节点;计算节点的拓扑结构灵活可变,可根据功能需求进行定义和重构,为应用程序组件的灵活部署提供良好的支持[4]。
软件定义有效载荷的指导思想是接口标准化、硬件最小化、软件最大化,尽可能以软件形式实现载荷的功能,并将这部分软件从载荷内部迁移到天基超算平台之上。通过提高相关算法的通用性、提高相关软件(含可以配置到FPGA中的IP核资源)的复用度,可以不断缩短有效载荷的研制周期,降低有效载荷的研制成本。通过公开底层硬件细节,鼓励第三方参与有效载荷软件的研发,将逐步推动有效载荷向开放式、模块化、可重配、自适应的方向发展。
应用程序组件数量众多、功能丰富,既可以实现计算资源、存储资源、交换资源的调度与管理,也可以完成有效载荷接入和载荷数据的预处理、智能信息处理,还可以参与卫星状态信息分析和有效载荷数据的综合处理等。为了做到应用程序组件的即插即用,必须制定统一的规范,约束各种应用程序组件的设计、开发、测试、验证和认证等工作,建立航天应用商店,对应用程序组件的入库、变更、发布和使用进行规范化管理[5]。
今后的工作
软件定义卫星技术的后续发展工作包括:在“十三五”期间建立软件定义卫星的标准体系,研制天基超算平台和星载操作环境,开展在轨演示验证,并在商业航天领域进行推广。
1. 建立软件定义卫星的标准规范体系。涵盖天基超算平台、星载操作环境、星载APP开发规范、有效载荷接入规范、有效载荷数据规范等多个方面。
2. 建立软件定义卫星技术在轨试验平台,验证软件定义卫星关键技术,包括有效载荷动态重组、应用软件动态重配、卫星功能按需重构等,全面评估软件定义卫星对通信、导航、遥感、科学探测等空间任务的支持能力。
3. 持续研发和改进星载操作环境,彻底实现软硬件解耦,真正做到硬件部件和软件组件的即插即用。
4. 建立航天应用商店。通过举办航天应用创新设计大赛,鼓励高校和科研院所的科研人员、研究生、大学生积极投入到航天软件的开发中来,形成数量众多、功能丰富的航天应用软件库,以支持空间应用的灵活实现。
参考文献
[1] Bridges C P, Yeomans B, Iacopino C, et al. Smartphone qualification & linux-based tools for CubeSat computing payloads[C]//Aerospace Conference. 2013:1-10.
[2] Amice E C. CIMOSA: Open System Architecture for CIM[M].Springer Berlin Heidelberg, 1993.
[3] 杨小牛. “软件星”概念研究[J]. 电子对抗, 2002(1):1-5.
[4] 王春锋. 软件定义可重构卫星网络系统研究[J]. 中国电子科学研究院学报, 2015, 10(5):455-459.
[5] 林来兴. 小卫星技术的发展和应用前景[J]. 中国航天, 2006(11):43-47.
所有评论仅代表网友意见