APP下载

基于VxWorks的星载控制计算机动态可重构研究

2013-08-14

电子设计工程 2013年6期
关键词:天基重构载荷

石 炜 , 邓 伟

(1.通信信息控制和安全技术重点实验室 浙江 嘉兴 314033;2.中国电子科技集团公司第三十六研究所 浙江 嘉兴 314033)

软件无线电[1]这个概念已经提出快二十年,不仅仅在通讯领域也在雷达、电子战、导航、广播电视、测控等相关领域得到长足发展。软件无线电的基本思想是以开放性、可扩展、结构精简的硬件为通用平台,把尽可能多的无线电功能用重构、可升级的构件化软件实现,随着天线智能化、前端宽开化、中频宽带化、硬件通用化、功能软件化和软件构件化的发展,已经能够满足未来天基信息系统卫星功能可重构设计的需求。

未来天基信息系统卫星载荷主要包括智能宽带天线、通用平台、星载控制计算机几部分,其中星载控制计算机根据地面控制设备的需求主要完成对系统中通用平台等资源的控制、管理、确定各种功能的参数配置、重构和对通用平台的输出数据的综合处理,是整个天基信息系统卫星载荷中的重要组成部分。为了满足未来天基信息系统的“软件无线电”概念设计,达到系统的可重构要求,对星载控制计算机的设计也提出了可重构要求。

1 星载控制计算机设计

1.1 VxWorks软件平台

星载控制计算机通常采用高可靠、高实时的嵌入式操作系统,而VxWorks是一个功能强大的高实时嵌入式操作系统,为星载控制计算机的设计实现提供了一个完美的软件平台。VxWorks的动态加载器为用户设计高可靠、可重构的星载控制计算机软件提供了有力的技术手段。

1.2 星载控制计算机软件组成

为满足高可靠、可重构的星载控制计算机的设计需求,星载控制计算机的设计采用分层式模块化设计,如图1所示。

底层硬件、VxWorks操作系统:为星载控制计算机的软件运行提供一个高可靠、高性能、低功耗、小体积、强实时的软硬件支持平台。

扩展模块动态加载管理:负责星载控制计算机上层应用软件模块和与星载控制计算机相连的其他星载载荷的可重构模块的加载、卸载、管理工作。其设计基于VxWorks的动态加载组件,但消除了VxWorks动态加载组件允许可重名加载、允许加载含有未定义符号的模块、不考虑依赖关系的模块卸载这3方面不足。

图1 星载控制计算机软件架构Fig.1 On-board computer’s software architecture

上层应用软件:上层应用软件负责提供星载计算机受地面控制的能力、各类功能的实现和调度以及参数可配置、功能结果数据和状态数据的上报等。为满足高灵活、可重构的设计采用优化模块化设计方法注重各模块颗粒度选择,在减少模块之间的依赖层次的同时,最大化公用模块的提取,增加各模块的可移植性。

2 扩展模块动态加载管理的设计

扩展模块动态加载管理设计是星载控制计算机实现可重构设计,完成功能定制、动态升级、故障恢复的技术手段。

2.1 VxWorks动态加载机制

扩展模块动态加载管理的设计是基于VxWorks动态加载组件,VxWorks支持多种模块格式文件主要为ELF[3]。VxWorks动态加载组件已经提供了一个基本的动态加载、卸载能力但是其存在允许可重名加载、允许加载含有未定义符号的模块、不考虑依赖关系的模块卸载、不具备模块重载能力等不足。因此需要对其加载机制进行改进,设计一种扩展模块动态加载管理系统来完善动态加载机制,实现星载计算机的可重构设计。

2.2 动态加载管理设计

动态加载管理采用分层式设计[2]由用户接口层、管理层、执行层3个层次组成如图2所示。

图2 动态加载管理Fig.2 Dynamic loading management

2.3 用户接口层

用户接口层为用户提供了包括信息查询、模块操作(加载、卸载、重载、替换)、模块的设置(自动加载属性的设置)、用户帮助之类的管理指令。其指令集合如表1所示。

表1 用户接口层主要指令集合Tab.1 Main instructions of user interface

2.4 管理层

在管理层中主要负责模块信息、模块依赖信息、自动加载属性的保存和维护,模块加载等功能的策略执行以及信息查询能力。

2.4.1 模块信息、模块依赖关系管理

模块信息主要由加载参数、MODULE_ID、依赖关系链表、被依赖关系链表组成如图3所示。

图3 模块信息管理和依赖关系Fig.3 Module information management and Depended RelationShip

加载参数:包括模块名、模块文件、加载方式、模块载荷ID等信息。

MODULE_ID:加载完成后的模块信息内容,其主要结构定义如下:

模块的依赖关系[4]:模块之间的依赖关系分别通过依赖关系链表、被依赖关系链表来管理。完整的获知各模块的依赖信息,主要有2种方法:1)操作人员通过输入提供。2)在动态加载的符号解析阶段,自动提取出依赖信息。

2.4.2 各功能操作策略

为解决VxWorks动态加载组件的不足,对各功能操作策略进行了改进。

1)模块加载

模块加载如图4所示,首先判断是否在系统中已经有与此模块名称重名的模块,如果没有重名的模块则创建模块信息,调用执行层中的模块加载函数完成模块的加载。

图4 模块动态加载流程Fig.4 Module dynamic loading flow

2)模块卸载

模块卸载[5]如图5所示。

图5 模块卸载流程Fig.5 Module dynamic unloading flow

3)模块重载

模块重载如图6所示,它与模块的加载存在着不同,首先要求被重载的模块已加载到内存当中,在模块重载的时候,需要指定模块加载到的此模块之前加载的内存位置,不需要创建模块信息和修改模块依赖表和模块被依赖表等信息。

图6 模块重载流程Fig.6 Module dynamic reloading flow

4)模块替换

模块的替换如图7所示,它可以用于功能模块的动态升级、故障修改、功能扩展等情况。

图7 模块替换流程Fig.7 Module replacing flow

5)模块自动加载

模块自动加载用于系统在重新启动复位后或系统新功能定制完成后,依据自动加载配置文件信息逐个加载功能模块,完成系统的初始化和功能的定制。

2.5 执行层

执行层主要负责动态加载的底层操作实现,比如:加载、卸载和重载,如图8所示。本设计中主要从VxWorks的加载组件中进行信息的获取和操作,由于星载控制计算机是整个卫星载荷加载重构的管理者,在加载、卸载和重载中也加入了对卫星中其他载荷的加载、卸载、重载控制。

图8 模块操作执行流程Fig.8 Module executing flow

3 结 论

该设计达到了未来天基信息系统中卫星载荷星载控制计算机的功能重构、动态升级、故障恢复、资源管理的要求,使未来天基信息系统卫星载荷能够通过软件的方式上载各功能模块、新算法、新软件实现卫星载荷的工作达到不同时域、不同空域、不同功能需求的目的。

[1]杨小牛,楼才义,徐建良.软件无线电技术与应用[M].北京:北京理工大学出版社,2010.

[2]于康.基于动态加载机制的星载计算机可靠性增强技术研究[D].长沙:国防科学技术大学,2009.

[3]何先波,唐宁九,吕方,等.ELF文件格式及应用[J].计算机应用研究,2001(11):150-156.HE Xian-bo,TANG Ning-jiu,LV Fang,et al.The format and applicationsofELF file[J].The Reseach ofComputer Application,2001(11):150-156.

[4]杨伟,罗蕾.嵌入式系统中的模块动态加载技术[J].单片机与嵌入式系统应用,2005,5(11):8-10.YANG Wei,LUO Lei.Module dynamic loading technology of embedded systems[J].Microcontrollers&Embedded Systems,2005,5(11):8-10.

[5]王鹏,张友根,李永刚.一种改进的VxWorks模块卸载方法研究[J].装备指挥技术学院学报,2010,21(5):83-87.WANG Peng,ZHANG You-gen,LI Yong-gang.Research on the improved modules unloading method of VxWorks[J].JournaloftheAcademyofEquipmentCommand&Technology,2010,21(5):83-87.

[6]于康,宁洪,邓胜兰,等.基于VxWorks的模块自动加载机制[J].计算机工程,2010,36(18):264-266.YU Kang,NING Hong,DENG Sheng-lan,etal.Module automatically loading mechanism based on VxWorks[J].Computer Engineering,2010,36(18):264-266.

猜你喜欢

天基重构载荷
交通运输部海事局“新一代卫星AIS验证载荷”成功发射
天基物联网关键技术及应用前景
长城叙事的重构
基于Gooding算法的天基光学目标跟踪定轨
美国天基空间监视系统概述与分析
北方大陆 重构未来
北京的重构与再造
滚转机动载荷减缓风洞试验
论中止行为及其对中止犯的重构
一种基于白噪声响应的随机载荷谱识别方法