载荷功能可重构架构研究及应用

2020-10-16 08:47刘海峰卢云生
航天电子对抗 2020年4期
关键词:蓝图构件载荷

刘海峰,丁 磊,卢云生

(中国电子科技集团公司第三十六研究所,浙江嘉兴314001)

0 引言

随着航天载荷的研制向综合化开放式体系架构方向发展,基于软件定义功能的思想,采用标准总线互连、软件构件化设计方法,构建可重构可扩展的综合系统,逐渐成为航天载荷系统开发的主流趋势。另一方面,航天应用任务数量的不断增加,应用能力需求的不断提高,航天载荷的规模和复杂度持续增长,安全可靠性保证的压力日益沉重。因此有必要研究在新的技术体制下,扩展载荷功能软件的自适应能力,满足系统安全可靠性要求,降低硬件故障影响,提升系统综合能力的技术途径。

在某载荷演示验证系统的研制中,结合新一代航天载荷系统的技术发展要求,参考软件通信体系架构(SCA)规范,利用可重构软件无线电技术,对载荷应用平台的软件可重构技术进行了研究及应用,并通过软件的重构增强了载荷系统的灵活性和扩展能力。

1 功能重构的基础环境

系统功能重构就是在一个通用硬件环境下,根据不同任务功能的需求和资源占用情况,使用对应的配置方式,将功能软件映射和部署到硬件平台上不同的硬件节点,重新建立节点间的逻辑关系,从而构成新的系统拓扑结构,进而实现各种系统能力。

重构使系统摆脱了以往那种功能与硬件设备的紧耦合,实现了软件构件与硬件平台的动态绑定,使系统功能更多地表现为软件与硬件之间的一种动态映射关系。功能重构一方面提高了硬件平台的复用性,适应了功能软件化的技术发展趋势,同时,通过软件部署时对硬件故障节点的规避,重构也可以作为提高系统可靠性的有效手段。

实现功能重构需要满足的环境包括硬件平台和软件架构,本系统硬件上集成了抗辐照CPU/FPGA、高速信号处理单元、大容量存储单元、高速数据交换网络、光纤数据通道等技术,搭建了易扩展、高可靠的硬件环境;软件上采用分层体系结构设计,基于软件中间件和构件化开发技术,针对CPU/DSP 适配了嵌入式实时操作系统,与硬件配合为系统的功能应用提供了一个通用化、构件化、可重构、可升级、可扩展的开放式软硬件平台。功能重构示意图如图1 所示。

图1 功能重构示意图

1.1 载荷硬件体系架构

系统硬件包括射频前端控制器、天线转换开关、数字预处理设备、综合处理设备和综合管控设备、大容量存储器等单机设备,采用基于总线的分布式拓扑结构以实现信息共享,加强了系统可扩展能力,各节点处理器(CPU、DSP、FPGA、MCU)通过高速数据传输与控制交换网络集成为一个通用、开放的环境,提供了支持软件定义载荷功能的可重构硬件基础,保证了功能重构时软件构件迁移的资源需求。载荷硬件架构示意图如图2所示。

整个可重构硬件架构包括了以下元素:

1)数据传输与控制交换网络

数据传输与控制交换网络又可以分为“数据交换网络”和“控制交换网络”两部分。

图2 功能可重构硬件架构示意图

数据交换网络由RapidIO 建立的高速交换网络组成,实现不同节点之间的高速数据串行交换;数据交换网络上主要以承载高速业务数据流和软件代码数据包为主。

控制交换网络通过1553B 总线实现,连接系统内需要发送或接收指令信息的处理节点。

2)处理器及运行环境

系统采用的处理器件类型主要包括CPU、FPGA(RAM 型及反熔丝型)、DSP、PowerPC 和MCU,这些处理器分布在数字预处理设备、综合处理设备、综合管控设备等单机处理板上。

按照不同的定位和设计,各CPU、FPGA、DSP、PowerPC 和MCU 在各自的外围器件支持下,接入系统数据交换网络或控制交换网络,实现数字处理、设备控制、功能模式管理、核心框架、数据综合等能力。

3)存储区

系统提供了2 类大容量存储区,用以支持系统对数据存储的需求。一是在综合管控设备CPU&交换模块上,配置了NAND FLASH 用于存储重构代码/数据,通过内部数据总线对NAND FLASH 进行读写。二是在大容量存储设备采用FLASH 阵列方式,提供了TB 级储存容量,用于应用功能输出的工作数据。大容量存储设备使用RapidIO 总线接口,以数据流的形式提供高速的持续记录访问能力。

图3 功能可重构软件架构图

1.2 开放式软件体系架构

软件通信体系架构(SCA)[1]是美军联合战术无线电系统(JTRS)[2]计划中提出的开发和验证软件体系架构,是美军JTRS 计划中最关键的一步。SCA 建立了独立于设备的结构框架,在规范中定义了软件无线电系统的硬件、软件结构、安全结构以及公共服务和配置考虑,目的是要保证软件和硬件的可移植性和可配置性,并确保根据SCA 开发的产品之间的互通。在JTRS 提出SCA 之后,软件无线电论坛(SDR)也接受SCA 规范,并把SCA 发展为商业应用的标准。

作为军用软件无线电系统开发的一部分,SCA 围绕一种开放式体系结构来构建框架,旨在摆脱传统的面向用途的设计思想,通过高度模块化的通用信号处理平台,把各种功能装备提供的业务从基于硬件特性的方式中解放出来,通过装载不同的软件来动态配置系统的功能,实现系统硬件平台的通用化、模块化和软件的可移植性,从而适应新一代无线通信系统的需要,推动软件无线通信技术的发展。

SCA 从逻辑上划分,包括硬件结构、软件结构和规则集3 个基本部件;从层次上划分,SCA 体系架构包含系统硬件平台、资源管理层、操作系统、核心框架、中间件以及应用层波形组件。SCA 通过创建一种开放式的、便于系统重构的、扩展的以及模块化的一个顶层设计规范,采用强制性地定义一系列接口、运作规则及其系统需求的方法,来促进系统的可移植性、互操作性和组件的可交换性,实现软件重用和框架结构可扩展的目标。

为了满足通用硬件平台下软件功能可重构可扩展的需求,本系统参照SCA 体系架构开展自顶而下的综合一体化设计,在开放式硬件体系架构提供的运行环境基础上,软件采用层次化结构和软件构件化技术,建立统一的接口规范及开发与集成标准,构建了具备动态重构能力,支持通用性、可互操作性等技术要求的软件体系架构[3]。

系统软件体系架构示意图如图3 所示。

系统软件体系架构包括了以下层次:

1)应用层

应用层是指波形应用组件层,实现系统的各类业务功能如电磁环境普查功能、导航增强功能、通信广播功能,并支持功能模式的扩展。所有应用功能模式按照构件化的方式实现,部署和运行在系统各DSP、FPGA、CPU 处理节点。每个波形应用组件完成业务功能中相对完整的独立需求,在系统运行时,可被动态地加载到对应的硬件处理模块中,并支持动态配置功能。

2)综合管理层

综合管理层向应用层提供支撑功能运行的服务,负责载荷系统的任务调度、资源管理、设备配置、设备故障处理等公共业务。

3)基础框架层

基础框架层是开放应用层接口和服务的核心,基础框架软件基于开放式软件接口和描述,为波形应用组件的自动装配、智能化管理定义了统一的接口,包括基本应用接口、框架控制接口、框架服务接口和配置文件。通过这些接口和配置文件可实现对整个系统中各种波形应用的安装、卸载、操作、配置和管理等,从而保持了波形应用组件实现的独立性,提高波形应用组件的可移植性。

4)链路层

链路层主要作用是用来屏蔽硬件平台的差异性和操作系统与网络协议的异构性,通过硬件抽象适配层[4]或者直接与实现底层硬件控制的驱动层软件接口,向业务软件提供通信服务,实现业务软件与系统硬件之间的松耦合设计。

5)驱动层

驱动层是系统的基础运行环境,包括驻留在综合管控设备、综合处理设备、数字预处理设备等硬件处理平台上的操作系统、板级支持包以及驱动程序。为了增加应用的可移植性,系统选择了支持POSIX 接口的ReWorks 操作系统,并完成了对S698、TI6678 等处理器的适配。

软件系统按照应用层、综合管理层、基础框架层、链路层和驱动层的层次化结构开展软件设计工作,帮助业务软件摆脱了对底层硬件环境的依赖,使得载荷能够适应硬件技术的快速发展的同时,继承并沿用历史软件资产,这种软件与硬件位置的无关性特征,也保障了业务软件在硬件节点间的平滑迁移。

2 载荷功能重构设计

系统围绕开放式软硬件平台开展功能重构设计,建立重构规则约束系统重构行为,将功能软件构件化,同时开展系统软件蓝图、硬件蓝图和功能部署蓝图的规划,按照蓝图部署策略,将软件逻辑资源映射和部署到硬件平台,从而实现系统的功能重构。

2.1 规划重构规则

系统设计阶段就需要开始对功能重构的策划,预定义系统功能模式下的配置状态,建立系统功能重构规则。功能重构规则的作用就是指导系统重构时,如何将软件部署到实际目标系统,是进行系统重新配置的主要依据。重构规则需要在综合考虑冗余、空闲资源、运行模式、任务优先级、降级配置等限制因素后,对功能重构转换条件、行为、约束进行规范和定义,内容包括重构时资源的选择原则、优先级策略等。

2.2 划分软件构件

构件化开发技术是实现功能重构的基础,构件是组成任务功能软件的基本逻辑单元。结合系统业务特征制定业务构件开发和装配规范,对任务功能软件进行构件划分、构件接口定义、构件化封装装配[5]以后,利用软件构件的可组装性特点,将构件匹配、部署到硬件平台,建立新的软件构件-硬件节点映射关系,形成不同业务功能的系统拓扑结构,达到业务功能重构的目的。

构件化开发环境示意图如图4 所示。

2.3 定义重构蓝图

系统运用蓝图来抽象软硬件资源模型,反映系统的软硬件资源配置关系[6],所谓“蓝图文件”就是一种使用XML 语言的体系描述文件,详细反映系统硬件拓扑、软件构成以及资源映射等信息。参照SCA 规范的要求,蓝图的物理实体包括了软件包描述文件SPD、软件组件描述文件SCD、软件装配描述文件SAD、设备配置描述文件DCD、设备管理器配置描述文件DMD、设备包描述文件DPD、配置文件的描述文件PRD 等,并针对系统载荷功能和硬件环境对规范进行了扩展。

系统蓝图可以划分为硬件蓝图、软件蓝图和功能部署蓝图:

1)硬件蓝图

图4 构件化开发环境示意图

硬件蓝图描述了系统的硬件拓扑结构,以及所有硬件资源的状态信息,包括硬件模块的名称、处理能力、存储容量、网络带宽、网络地址分配等。硬件蓝图在进行系统资源配置时确定,它根据具体的系统硬件规模进行裁减。

系统中包括了端口、链路、处理单元、处理板等几种物理元素,对这些基础实体类型进行抽象建模,建立硬件蓝图中对应的模型元素。

2)软件蓝图

系统通过软件蓝图描述任务功能模式运行所需的各个软件构件的信息,包括软件构件的名称、所属的功能模式、软件运行平台信息,软件运行时对硬件模块的处理需求(如处理器能力、内存容量、网络带宽)等。

软件蓝图的基本模型元素是软件构件,针对系统需要实现的功能模式,以及该模式下的软件构件类别、构件需求数量、构件间数据连接等信息建立软件蓝图。

3)功能部署蓝图

功能部署蓝图定义软件到硬件的投射关系,描述出每种功能模式下各构件所占用的资源信息,包括各软件构件驻留的硬件资源类型和数量,以及驻留在数字预处理设备、综合处理设备、综合管控设备的软件构件,这些软件构件之间的逻辑连接关系(包括了逻辑连接所需要的处理资源、带宽资源、实时性需求等)。

3 功能重构流程

功能重构由系统的综合调度软件负责实施,综合调度软件首先需要获取功能部署蓝图。获取蓝图有2种方式,一是载荷在系统设计阶段规划了与功能对应的蓝图文件,文件预存在系统数据库中,载荷在接收到地面控制中心发送的功能模式切换指令后,依据指令参数从数据库中调阅对应的功能部署蓝图;二是载荷出现硬件故障时,系统核心框架查询当前硬件蓝图,获取在用设备的健康状态和资源使用情况,调用故障处置预案,执行故障动态规划,重新规划业务功能部署蓝图,将功能模式需要的构件重新映射、部署到正常工作的硬件节点上。

第二种动态规划方案需要系统状态检测能力的支撑,由系统的健康管理机制处置,其中基础框架层借助嵌入式操作系统的支持,在部署了操作系统的节点上,对节点设备周边硬件状态进行健康检测,如通信总线、处理器的电压温度、存储区等;综合管理层则负责没有部署操作系统的节点的健康检测,如射频前端、天线转换器的工作状态等。

综合调度软件在获取功能部署蓝图以后,向核心框架的域管理器发送蓝图数据。域管理器启动部署调用,根据蓝图描述信息,从应用构件库中获取蓝图中包含的应用构件,由核心框架的设备管理器对构件构件加载和执行,完成功能应用相关构件的部署。构件在加载和执行后,设备管理器建立构件之间端口的连接,然后将构件注册到命名服务,最后设备管理器会将部署结果和当前状态返回给域管理器,完成功能部署过程。

功能重构部署和运行的过程如图5 所示。

图5 功能重构部署和运行过程图

4 结束语

为适应航天载荷的综合化体系架构需求,提高载荷系统的故障应对能力,本文以统一开放式硬件平台为基础,以SCA 软件体系架构为方法,以构件化开发技术为支撑,以可视化蓝图设计为主线,实现了一种航天载荷功能重构的软硬件解决方案,为提高航天载荷任务的综合能力和安全可靠性提供了一种可行和通用的设计思路。■

猜你喜欢
蓝图构件载荷
蓝图
钢筋混凝土构件裂缝控制
交通运输部海事局“新一代卫星AIS验证载荷”成功发射
高速列车构架载荷解耦降维标定方法及试验验证
压缩载荷下钢质Ⅰ型夹层梁极限承载能力分析
飞行载荷外部气动力的二次规划等效映射方法
基于构件的软件工程技术与理论方法探讨
基于构件的软件开发实践
基于复合连接器的插拔式构件组装方法研究
未来手机Morph蓝图揭秘