航天测控雷达标准化开放式信息处理软件架构研究
2024-01-06黄璐金胜张谦谦王玥
黄璐 金胜 张谦谦 王玥
(北京跟踪与通信技术研究所,北京,100094)
引言
作为航天测控系统中无线电外测的重要组成部分,航天测控雷达主要从运载火箭和航天器的外部进行跟踪测量,以确定其飞行状态(轨道、姿态等),为运载火箭和航天器的安全飞行、指挥显示、引导捕获目标提供实时可靠的依据,为飞行试验的性能考核、精度评定、改进设计和定型等提供精确的轨道参数[1]。
近年来,随着我国航天事业高速发展,航天发射任务呈高密度发展态势,对测控设备尤其是测控雷达的操控使用性能、维护升级便利性以及适应多样化试验任务的能力提出了越来越高的要求。但无论是传统的模拟定制雷达,还是当前主流的数字化雷达,其后端信息处理架构均以面向特定功能为核心,注重硬件平台的构建,软件架构及功能的实现主要依托于硬件性能。这种架构难以通过较小代价达到系统功能按需扩展和性能便利升级,无法实现对实际任务需求的快速响应[2]。
随着宽频带高性能射频前端、数字波形产生、数字化接收机以及高性能实时计算等技术的飞速发展,雷达系统技术进入了一个新的发展时期。例如数字技术高速发展,使得雷达系统的主要组成部分具有了可通过软件化模式定义、开发和配置的能力;标准化和模块化组件技术逐渐成熟,使得雷达各个系统的通用性得到了很大的提升;系统化集成技术逐渐成熟,大量商用货架产品和第三方开发技术能够融入系统中,使得雷达系统越来越具备开放性的条件。雷达系统支撑技术的发展使得雷达的自由度、计算能力以及软件编程能力得到大幅度提高、灵活性增强,在功能和性能上具有很大的发展潜力。
本文基于标准化、模块化、数字化的雷达后端信息处理平台,参照“软件化雷达”的技术概念[3-4],按照通用的开放式体系结构设计思想,采用面向应用的开发方式,研究提出支持系统可重配置、形态灵活重构、功能便利升级的雷达标准化开放式信息处理软件架构,实现雷达的整体研发模式从以硬件为核心向以软件为核心转变,满足雷达信息处理新技术应用和多样化试验任务快速响应需求。
1 设计原则
针对航天测控多样化高可靠任务需求,航天测控雷达信息处理软件架构的设计原则涵盖以下几方面。
a)软件功能模块化:雷达应用软件按照功能定义进行模块划分,各模块接口定义明确且相互独立,并具有较高的可配置能力。通常航天测控雷达应用软件按照功能可划分为搜索、跟踪、测量、成像等通用软件模块。
b)软件平台分层设计:将软件平台系统功能和模块分成不同的功能层次,只有最上层的模块和功能可以被系统外的使用者访问,只有相邻的层次之间才能够有接口调用。通过分层设计、系统的开发和设计可以逐步的分层次进行,从底层的简单的功能逐步建立高层的复杂和抽象的功能。同时系统架构将更有灵活性和扩展性,由于相邻层次之间通过清晰的接口交互,所以特定的层次可以被替换和增强,甚至可以增加新的层次。最重要的是,上层雷达应用软件将独立于底层硬件、操作系统和数据通信层,具备互操作性和可移植性。
c)数据易访问:引入通信中间件技术,雷达应用软件各模块间通信采用公开定义的标准化接口或数据描述语言,数据传送符合标准化的发布/订阅模式。
d)网络中心性:所有本地配置和可控项均以网络为中心开展业务,通过包含实时和非实时参数的外部接口可以访问所有的关键数据产品。
e)软件开发工具:软件开发工具基于开源工具编写,采用通用组件接口类型。
f)可扩展性:同时支持多种主流操作系统、处理器体系结构和系统架构,新增或改进硬件功能无需修改源代码。
g)测试性:所有软件模块或组件需支持开发环境的测试。
h)故障诊断和校准:所有模块/组件按照统一的系统测量方法产生校准数据,具有测量和报告实时状态和故障情况的能力,并能为现场和离线诊断提供快速故障分析和性能历史数据。
2 软件架构及组成
基于以上设计原则和雷达功能分析,按照“软件化雷达”的设计思想[3-5],后端信息处理软件采用标准化、层次化的软件体系架构,各层软件接口均参照公开标准进行设计,实现软件与硬件深度解耦,并能够兼容商用硬件平台和模块[6],支持新技术的快速插入和系统升级。
2.1 总体架构
软件架构包括底层软件、集成框架、开发环境和应用软件,如图1 所示。其中,底层软件、集成框架、开发环境等构成基础软件平台,是雷达运行调度中心,为应用提供统一的接口和环境,支持处理能力可扩展,计算资源可重构;应用软件为可以完成搜索、跟踪、系统控制、系统监测维护与健康管理等功能的软件模块,要求可重构、可移植。
图1 后端信息处理软件架构及组成
2.2 底层软件
底层软件包括硬件驱动、BSP(板级支持包,Board Support Rackage)、操作系统、数据库等。硬件驱动、BSP 等通常由硬件供应商提供,为操作系统及中间件提供支撑。操作系统主要提供本地系统引导、内存管理、进程管理、任务实时调度等功能,为上层软件提供多线程支持[7],屏蔽底层处理器信息,采用POSIX 标准为上层组件提供API接口。通常操作系统和数据库采用商用货架产品。
2.3 集成框架
集成框架是整个软件架构中的核心功能框架,用于实现系统中软硬件资源的管理、集成、监控和重构[8],包括运行管理平台和中间件2 个部分。主要功能包括对硬件资源的管理和状态监控;对应用任务、应用程序和组件等软件资源的部署/监控/调度;面向动态需求实现软硬件资源的重构。
2.3.1 运行管理平台
运行管理平台提供资源管理、应用集成、状态监控、迁移与重构等功能。资源管理主要对软硬件资源形成资源库并进行虚拟化管理;应用集成主要提供应用任务建模、装配、部署和运行控制等功能;状态监控主要对软硬件的运行和使用状态进行监控;迁移与重构主要提供组件、应用及任务等多级别的重构功能,并在硬件出现故障时具备在线迁移能力。
2.3.2 中间件
中间件主要包括通信中间件和计算中间件。通信中间件为雷达不同子系统、不同平台上的组件提供数据、控制、监测信息的通信,支持雷达组件通信的软硬件解耦、服务接口解耦、服务架构解耦和雷达应用按需扩展。计算中间件屏蔽了硬件平台的异构计算架构,封装了一系列标准的基础运算函数接口,为雷达应用的信息处理算法提供统一的基础函数功能调用。
2.4 开发环境
开发环境是雷达应用软件开发、集成和管理的集成软件环境,它集成了应用开发过程中所需要的一系列功能模块。开发环境提供组件开发、可视化开发、代码框架和配置文件自动生成、编译调试、组件管理等功能,为组件开发、管理、调试和部署等提供软件开发平台。
2.5 应用软件
应用软件基于基础软硬件平台,以软件形式加载系统各项功能,主要包括主控、搜索、跟踪、测量、成像、显控等,采用组件化、模块化的开发方式,具备跨平台重用和移植能力,满足处理平台、操作系统兼容性要求,能在开发环境中进行装配和测试。
3 集成框架
作为软件架构中的核心组成部分,集成框架为应用软件设计者提供对底层软件和硬件的高层次抽象,主要提供系统资源管理、调度集成、应用运行管理、系统状态监控和动态重构等功能。
3.1 组件与组件库
由于航天测控雷达的信息处理是分布式的处理过程,所以开放式软件架构一般要求业务软件的开发以组件的方式进行。以这种方式开发的应用具有很强的灵活性,同一应用中的不同组件可以部署在同一或不同板子上运行,共同协作完成信息处理业务功能。
软件组件是可实现某种特定功能的独立单元,但需要运行在特定的开发环境中,只能通过组件的接口来访问它。在进行了必要的安装和配置过程之后,可以按接口规定的方式来使用组件,或与其他组件之间实现互操作。为了能与其他组件一起工作,需要得到其接口的细节[9]。
组件应具有以下3 大要素:
a)接口:组件提供服务的声明,用户通过接口获取组件功能;
b)实现:组件如何工作的定义,组件运行代码;
c)描述:组件应用环境和约束条件的说明。
组件一般应具备以下属性:
a)重用性:组件是可重用的,这是组件最基本的性质。只有可以被重用的组件才有其存在的价值,同时只有容易被重用的组件才有其应用的需求,重用性包含了可重用和易重用2 层含义;
b)独立性:组件是自包含的、独立于具体应用,并且能够独立分布和独立运行;
c)封装性:组件具有二进制封装的特性,组件对外界隐藏设计和实现的细节,仅通过接口与外界交换信息;
d)组装性:组件是可组装的,组件通过组装可以形成更大的实体,组装是实施复用的手段。
航天测控雷达的业务主要有搜索捕获、跟踪监视、成像识别、特征获取等,这些业务在雷达信息处理平台上的应用都可以按照具体功能分为波形处理、数据产品生成、控制产品生成、雷达管理、用户接口等功能组件。如以波形处理为例,搜索捕获和跟踪监视的波形处理组件在对输入/输出数据进行信号处理时的侧重点就不一样,前者更侧重于探测目标的有无,后者侧重于目标的定位。因此为实现任务快速部署、雷达业务快速切换的需求,有必要对每个业务的各个组件进行预开发。
业务组件的划分,按照功能独立、关系松耦合原则,将雷达业务划分成可实现独立功能且互相之间关系松耦合的模块。其次,应当明确定义各个模块的功能及其输入输出接口要求。最后,遵循开放性原则,采用广泛使用的统一工业标准作为各模块间的数据接口标准,提高组件互联、互通、互操作能力。
基于应用集成开发环境提供通用的组件模板,雷达应用开发人员完成所有雷达应用组件开发后,可在应用集成开发环境中构建自己的组件库,从而在后续实现雷达不同的系统功能时能通过对不同功能组件的组合和集成,方便地实现复用,快速完成新系统的开发和验证。根据航天测控雷达系统不同的功能划分,可形成如图2 所示的雷达应用组件库。
图2 组件库示例
3.2 功能组成
集成框架功能模块图如图3 所示。由图3 可见,集成框架包括基础模块和核心模块2 个部分。
图3 集成框架功能模块图
3.2.1 基础模块
基础模块是为实现组件化管理框架功能而开发的底层公共模块,包括域配置文件解析器、连接管理模块、部署管理模块和资源管理模块[10]。
a)域配置文件解析器:提供各种域配置文件中单元和属性的对象化存储与访问功能,并提供相应的编程接口。
b)连接管理模块:提供组件间端口连接建立、断开和管理功能,即通过解析设备配置文件或软件装配配置文件中的连接描述单元,确定组件间的连接关系,在验证合法后根据该连接关系建立组件间的端口连接,并对其进行管理。
c)部署管理模块:提供对设备组件、服务组件和应用组件的部署管理,负责组件间依赖关系分析,并根据部署策略将组件部署到相应的设备上。
d)资源管理模块:提供对域内各种逻辑设备中存储资源、计算资源、带宽资源等的统一管理,为使用者提供分析、获取和回收资源的接口。
3.2.2 核心模块
核心模块实现集成框架中框架控制、基本设备和框架服务接口的功能,主要功能包括设备管理、应用管理和服务管理。
a)设备管理:设备管理模块根据节点和设备配置文件信息部署、启动系统内的各种逻辑设备组件,并且通过逻辑设备组件对底层硬件设备进行管理和控制。
b)应用管理:应用管理模块完成应用的安装、部署、装配、配置等功能。
c)服务管理:负责启动和管理域内各种服务,包括事件服务、日志服务、分布式文件系统服务等。
4 开发环境
开发环境是用于雷达信息处理业务软件的开发、集成和管理的软件,支持所选处理器和操作系统下的应用软件开发。通过集成应用开发中所需的一系列工具套件,以方便快捷的方式提供给应用开发者和平台管理者使用,实现工程管理、建模仿真、代码编辑与编译生成、系统模块可视化配置与开发、在线调试、开发库管理等功能,为雷达应用提供了基本的运行和开发环境。
开发环境的开发和选用,需综合考虑应用软件部署的硬件平台、操作系统、应用运行支撑环境及应用自身特性等多方面因素。雷达信息处理业务软件所部署的硬件平台可能涉及通用处理器、CPU+GPU 架构以及DSP 处理器等多种硬件,应用软件将会在通用或实时操作系统上运行,应用运行支撑环境涉及通信中间件、计算中间件、集成框架等,它们都对开发环境提出了相应需求。
为实现对雷达应用开发的支撑,开发环境需支持或实现以下开发功能:①提供对通用处理器、CPU+GPU 架构以及DSP 处理器等硬件平台的支持,集成这些平台相关的软件开发工具,以实现雷达应用在这些平台的开发部署;②提供对操作系统的支持;③在开放式雷达体系结构中,强调对雷达业务各子功能的组件拆分与设计,以实现相应组件在多个雷达间复用,并支持雷达业务的快速按需定制与开发,因此开发环境将提供相应插件,以支持组件软件组件的开发与集成;④通信中间件、计算中间件等中间件软件为雷达业务软件开发和运行提供了必不可少的支撑,因此开发环境需对其进行集成,并满足基于上述软件的雷达应用开发的需要。
此外,雷达业务软件的开发需包含2 个阶段:代码开发和测试。因此一个完善的开发环境,不仅提供工程管理、代码编辑与编译以及调试等基本功能,还需提供建模仿真、系统配置、开发库管理等高级功能。
为支持雷达领域应用的开发,开发环境采用层次化的技术架构,分为3 层:基础环境层、插件扩展层和功能支持层,技术架构如图4 所示。为支撑开发环境的实现,其配套的硬件设备层包括Intel 开发机、DSP 开发板、FPGA 开发板以及CPU+GPU 开发板等。
图4 开发环境技术架构
基础环境层包含了通用平台应用集成开发环境、嵌入式平台应用集成开发环境,提供雷达业务的工程管理、代码编辑、编译等基本开发功能。插件扩展层在基础环境层上进行插件扩展,包括通信中间件接口插件、计算中间件接口插件、组件化开发支持插件和数据分析服务支持插件,用以支持多种特定应用功能的开发。功能支持层是在前两层基础上,面向雷达应用开发人员统一呈现的通用功能,包括工程管理、建模仿真、代码生成、编辑编译、仿真调试、系统配置、开发库管理、交叉开发和图形化远程调试等。
5 结束语
本文研究提出的航天测控雷达标准化开放式信息处理软件架构,在功能模块与硬件平台之间构建出多层抽象和架构,使得功能模块可以基于通用化的抽象平台建立起来,从而解除功能模块对硬件平台的直接依赖。实现了软件系统的结构通用化、接口标准化、功能组件化和组织模块化,可使雷达系统能够基于软件化开发模式,灵活地进行系统功能的定义、资源的调配、性能的提升和工作模式的扩展,灵活响应不同应用需求。后续将重点研究标准化开放式的软件标准与技术规范,规范雷达软件的系统设计和需求分析,支持航天测控雷达可根据不同任务需求以软件化开发模式灵活的实现系统拓展、更新和升级。