软件定义卫星技术发展与展望
摘要
Abstract
软件定义卫星是以天基超算平台和星载操作环境为基础的新一代开放架构的卫星系统,支持有效载荷动态重组、应用软件动态重配、卫星功能动态重构。文中从需求分析、国内外研究现状、软件定义卫星的概念内涵、体系架构和关键技术、发展设想等方面进行了分析和论述。通过软件定义卫星技术的研究,有助于缩短卫星研制周期、降低卫星研发成本,为在轨维护与服务创造更好的条件;有助于加快卫星产品的升级换代,对新的重大航天任务需求进行更为快速的响应。
随着通信、网络、计算机、软件等技术的迅猛发展,软件在各行各业发挥的作用越来越大,软件定义正在成为一种新的必然发展趋势。航天领域也不例外,发展软件定义卫星技术,将逐步提高卫星产品的软件密集度,不但可以逐步增强卫星功能、提升性能,而且可以极大地缩短研发周期、降低研发成本。
软件定义卫星是一种以天基超算为基础的开放架构的智能卫星系统,拥有丰富的星上应用软件,能够按需重构完成不同功能/任务,可以被众多用户共享使用,为众多用户提供服务,其重要性主要体现在以下三个方面:
1、为发展智能卫星创造良好的条件。
智能卫星具有环境自感知能力,能够自主决策、自主运行,其数据处理流程更加灵活,信息处理算法更加强大,能够完成更为复杂的空间任务。采用可软件定义的开放系统架构,将极大地提高卫星系统对有效载荷的适配能力、对算法软件的兼容能力,无论是硬件部件,还是软件组件,都可以真正做到即插即用。软件定义卫星可以有效支持各类数据/信息的高速交换、高效存储、智能处理和灵活应用,可在此基础上逐步提升卫星的智能化水平。
2、实现卫星功能和性能的持续演进。
在空间任务日益多变、空间环境日趋恶劣(空间碎片日益增多、电磁环境日益复杂等)的情况下,对发射入轨之后的卫星不断进行升级和维护的需求也日渐迫切。软件定义卫星采用开放式架构,可以通过在轨发布APP、动态加载各种软件组件,把各种强大的新算法不断地集成到卫星系统中,不但可以通过实时动态重构为卫星系统增加新的功能,还可以通过改进算法提升卫星的性能,或者对出现的故障进行修复。由此可见,软件定义卫星是一种可在轨持续演进的卫星,除了能够完成既定的任务,还可以通过上注软件完成一些新出现的空间任务。
3、 可以加快核高基成果在航天工程中的应用速度。
软件定义卫星解除了卫星系统软硬件之间的紧耦合关系,使得符合标准的软件组件和硬件部件可以互换,这就为逐步提高整星产品的自主可控程度创造了更好的条件。例如,上层任务软件不做变更即可迁移到国产化处理器和操作系统上,底层硬件部组件也可以逐步替换为完全自主可控的产品。
国际方面,1999年由美国加州理工大学和斯坦福大学提出并制定了立方星(Cubesat)标准以来,国际上微纳卫星技术迎来日新月异的发展势头。2003年第一颗立方星发射升空,短短十年,相关技术发展很快。据美国智库SpaceWorks统计,2017-2023年,1-50kg卫星的发射需求达2400颗。微纳卫星以体积小、功耗低、开发周期短、可编队组网,以及用更低的成本完成很多复杂空间任务的优势,已被广泛试验应用于对地观测、通信、导航、空间科学探测、空间天气、深空探测和新技术试验等领域,成为空间系统的重要组成部分。然而大部分微纳卫星制造商未摆脱传统卫星的研制方式,仅通过简化卫星功能、降低卫星质量等手段降低卫星成本,继续进行着重复发明轮子的工作,重复开发微纳卫星软硬件,然而其灵活性、智能性、可复用性等方面却仍然欠缺。
美国国防部早在20世纪90年代就提出了模块化开放体系架构(MOSA)的概念。MOSA的核心思想是:首先通过软硬件解耦将系统分解为一系列标准化的软硬件模块,然后再通过对这些软硬件模块进行不断的升级和重组,逐步提升整个系统的效能。采用MOSA架构的设备,不但便于引入新技术、升级改造,而且由于可选择的供应商多,也便于控制和降低成本。美军基于MOSA和软件定义的思想,对其电台和雷达进行了升级和改造,都取得了良好的效果。软件定义无线电技术、软件定义雷达技术的成功,显示了MOSA和软件定义的巨大威力。
国外对软件定义卫星技术的研究,还主要集中在如何把软件定义无线电技术应用于通信卫星方面,例如欧洲“量子”卫星。国内也发展了类似的试验卫星,例如清华大学和北京信威通信技术股份有限公司联合研制的“灵巧通信卫星”。除此之外,中国电子科技集团的杨小牛院士也一直在推动基于软件无线电技术的“软件星”的研究工作,杨院士希望发展一种能够将通信、侦查、干扰融为一体多功能卫星,现已取得了一定的技术进展。
从2014年开始,中科院软件所牵头组织上海微小卫星工程中心、中科院西光所、光电院、航天科技集团771所等单位开展了软件定义卫星技术的研究工作,包括体系架构、试验平台、技术规范等,并取得了一定的成果(“天智一号”软件定义卫星计划于2018年下半年发射)。其中,中科院软件所承担并完成了卫星开放系统架构(SOSA-Satellite Open Systems Architecture)设计、“天智一号”试验卫星总体方案论证等工作,并在天基超算平台、星载操作环境(称之为Sputnix)、软件定义有效载荷、星载APP等方面均取得了一定的技术进展。
为了更好地发展软件定义卫星技术,中科院软件所等30余家单位于2017年9月发起并成立了软件定义卫星技术联盟。该联盟目前发展迅速,会员单位已经发展到了60余家。
软件定义卫星的核心是天基超算平台和星载操作环境。天基超算平台具有强大的计算能力和丰富的接口形式,可动态集成传感器、执行器、通信器等各类有效载荷;星载操作环境具备强大的容错能力,并对上屏蔽底层硬件细节,为应用程序提供一致的执行环境,支持各类软件组件、硬件部件的即插即用和动态配置。
天基超算平台和星载操作环境对外提供计算服务、存储服务和信息交换服务,支持硬件载荷的动态重组、软件应用的动态重配,从而可以通过灵活增加、减少、改变系统的软硬件组成动态构建出能够满足各种任务需求的卫星系统,进而完成复杂多变的空间任务。
由于采用了开放系统架构,因此符合标准的软件组件和硬件部件可以在不同卫星平台之间平滑迁移、无缝接入和灵活重用,可以灵活方便地扩充整个卫星系统的能力,并最大程度地保证卫星内部和卫星之间的互操作性。就像个人电脑的通用性一样,在保证经济可承受性的前提下,通过充分利用现有外设,即可方便地扩充系统能力。为了完成不同的空间任务,往往需要对卫星系统的资源进行动态组织、调度和重构,并且需要进行大量的在轨智能信息处理和实时数据处理,因此,软件定义卫星的软件密集度也将与日俱增。
综上所述,软件定义卫星是以天基操作平台和星载操作环境为核心的开放式系统,可配备多种有效载荷、可加载丰富的应用软件,能够实现动态功能重构,能够完成不同的空间任务。其概念内涵如图1 所示。
图1 软件定义卫星的概念内涵
软件定义卫星具有如下典型特征:
1、 需求可定义:软件定义卫星可根据需要重构整个系统,可灵活响应多种不同的空间任务需求,能够满足通信、导航、遥感、科学探测等多种应用场景,提供多种功能,完成多种任务。
2、硬件可重组:软件定义卫星采用开放系统架构,具有丰富的接口形式,支持各类有效载荷的即插即用,可以根据任务需求进行有效载荷、计算资源、交换资源、存储资源的重组。
3、软件可重配:软件定义卫星具有一致的程序执行环境,具有丰富的应用软件,可以根据任务需求动态配置和执行不同的APP,完成不同的任务。
4、功能可重构:通过接入不同的硬件部件、加载不同的软件组件,即可快速重构出不同的功能。
软件定义卫星的体系架构包括四个组成部分:应用服务器(Application Server)、载荷服务器(Instruments Server)、数据交换引擎(Data Exchange Engine)和存储服务器(Storage Server)。如图2 所示。
图2 软件定义卫星的体系架构
1) 应用服务器(Application Server): 支持符合标准的软件组件的即插即用和按需执行。
2) 载荷服务器(Instruments Server):支持符合标准的硬件部件的热插拔和按需配置。
3) 数据交换引擎(Data Exchange Engine): 可根据需要完成有效载荷、存储设备、应用程序之间的高速信息交换与分发。
4) 存储服务器(Storage Server): 实现对卫星平台数据、有效载荷数据的永久性可靠存储和临时性高速存储。
从其体系架构和概念内涵可以看出,软件定义卫星不但和地面主流计算环境保持了最大程度地兼容,而且内部模块划分科学合理、功能界面清晰,可以最大程度地保证标准部件的互换性。
软件定义卫星的关键技术包括天基超算平台、星载操作环境、软件定义有效载荷、应用程序组件等。其中,星载操作环境是软件定义卫星的核心。
星载操作环境包括“有效载荷接入和计算加速环境”、“基于软件容错技术的高性能分布式计算环境”、“与地面主流计算环境兼容的应用程序执行环境”。其中有效载荷接入和计算加速环境以FPGA为主,用于提供有效载荷接入所需要的各种接口,并承担计算密集型载荷数据预处理算法的计算加速、实时性要求高的控制密集型算法的实时性保障,而IO密集型的数据交换任务主要由数据交换引擎承担;与地面主流计算环境兼容的应用程序执行环境用于支撑星载APP的动态加载、执行和调度;基于软件容错技术的高性能分布式计算环境是整个星载操作环境的核心,其作用相当于操作系统,用于管理CPU计算阵列、Flash存储阵列、FPGA计算和交换阵列、DSP计算阵列、GPU计算阵列等硬件资源池。除了资源调度之外,其主要功能是检测硬件故障、隔离硬件故障、修复硬件故障,对上提供连续有效的可靠计算服务、存储服务和交换服务。
天基超算平台采用以太网标准的开放式互联架构,可以集成各类异构计算节点和存储节点;计算节点的拓扑结构灵活可变,可根据功能需求进行定义和重构,为应用程序组件的灵活部署提供良好的支持。
软件定义有效载荷也是软件定义卫星的关键技术之一,其指导思想是接口标准化、硬件最小化、软件最大化,尽可能以软件形式实现载荷的功能,并将这部分软件从载荷内部迁移到天基超算平台之上。通过提高相关算法的通用性、提高相关软件(含可以配置到FPGA中的IP核资源)的复用度,可以不断缩短有效载荷的研制周期、降低有效载荷的研制成本。通过公开底层硬件细节,鼓励第三方参与有效载荷软件的研发,将逐步推动有效载荷向开放式、模块化、可重配、自适应的方向发展。
应用程序组件数量众多、功能丰富,既可以实现计算资源、存储资源、交换资源的调度与管理,也可以完成有效载荷接入和载荷数据的预处理、智能信息处理,还可以参与卫星状态信息分析和有效载荷数据的综合处理等。
为了做到应用程序组件的即插即用,必须制定统一的规范,约束各种应用程序组件的设计、开发、测试、验证、认证等工作,建立航天应用商店,对应用程序组件的入库、变更、发布、使用进行规范化管理。
软件定义卫星技术联盟计划在“十三五”期间初步建立起较为完善的软件定义卫星标准体系,研制天基超算平台和星载操作环境(Sputnix),开展在轨演示验证,并在商业航天领域进行推广。
具体工作考虑如下:一是建立软件定义卫星的标准规范体系,涵盖天基超算平台、星载操作环境、星载APP开发规范、有效载荷接入规范、有效载荷数据规范等多个方面;二是建立软件定义卫星技术在轨试验平台,验证软件定义卫星关键技术,包括有效载荷动态重组、应用软件动态重配、卫星功能按需重构等,全面评估软件定义卫星对通信、导航、遥感、科学探测等空间任务的支持能力;三是持续研发和改进星载操作环境,彻底实现软硬件解耦,真正做到硬件部件和软件组件的即插即用;四是建立航天应用商店,通过举办航天应用创新设计大赛,鼓励高校和科研院所的科研人员、研究生、大学生积极投入到航天软件的开发中来,形成数量众多、功能丰富的航天应用软件库,以支持实现灵活的空间应用。
软件定义卫星包括天基超算平台、星载操作环境、软件化有效载荷、应用软件等多个方面,涉及多个学科、多个专业。为了有效地推动软件定义卫星技术发展,我们郑重建议:成立总体技术组,由国家部委和军方单位牵头,以中国科学院、卫星总体单位、有效载荷承研单位、相关高校等为成员单位,开展软件定义卫星的总体技术论证工作和相关标准规范的制定工作。发布专项课题,鼓励和吸纳相关行业领域的技术专家和商业航天公司投入到软件定义卫星技术的研发中来,更好地推动该项技术的可持续发展。