APP下载

基于分层插件的引信装定器模型

2014-01-13霍鹏飞

探测与控制学报 2014年1期
关键词:插件接收机分层

赖 明,霍鹏飞,刘 创

(机电动态控制重点实验室,陕西 西安 710065)

0 引言

弹道修正引信是信息化程度较高的新型智能引信,其研究、测试、实验及使用都有别于传统的“傻瓜”引信,尤其在数据需求方面,呈现数字化、复杂化的趋势。在其引信装定器开发及维护过程中,面临着两个问题:1)弹道修正引信在发展的不同阶段,其功能有时(甚至经常)会发生变化,引信装定器的对应功能也需进行升级或扩展,如增加新的功能模块、数据接口等外围设备,这种升级或扩展很可能是大幅度的,甚至要重新设计电路和定制系统、重新编写程序等,扩展性不够灵活,因此需花费很大工作量;2)引信装定器的开发和维护需要若干开发者协同完成,但不同开发者使用的开发工具、编程语言很难统一,导致后期的模块衔接问题出现。对于上述两个问题目前系统采用分层结构模型解决,它利用层次化方法将一个完整的系统划分成彼此相邻的多个层或模块,各层(模块)之间通过抽象接口连接,各层完成特定的功能。这种方法优点是使得各层之间的调用关系清晰,高内聚低耦合,使系统有较好配置性;缺点是这种结构模型侧重于面向应用层,更适用于商业消费类嵌入式系统,对底层硬件接口及驱动问题的考虑不完善,不适合直接应用到修正引信装定器这种功能复杂且未来功能具有不确定性的特殊平台上来。本文针对以上方法的不足,提出了基于分层插件的引信装定器模型。

1 传统分层架构及插件技术

1.1 分层系统架构

嵌入式技术是近年来风靡全球的热点技术,已经应用在各类电子产品中,而分层系统架构是现今嵌入式平台的主流系统架构设计方法。分层架构方法是一种层次化的设计方法,将嵌入式系统分为软件和硬件部分来实现,并按各功能模块的调用次序进一步将硬件部分分为硬件层和硬件抽象层,软件部分分为操作系统层和应用层,各层之间单向调用和单向依赖,只有相邻的上层可以调用下层(有时也允许跨层访问);操作系统的主要部件与硬件无关,可支持更多的硬件环境,易于进行操作系统移植;硬件抽象层完成硬件的具体操作及接口抽象,向上提供面向应用开发的编程接口,即面向应用层的开发支持,同时提供面向系统开发的编程接口,即系统驱动的开发支持[1-2]。图1 为传统分层系统架构示意图。

图1 分层系统架构Fig.1 Hierarchic system framework

分层系统架构一般分4 层:硬件层、硬件抽象层、操作系统层和应用层。硬件层是组成嵌入式系统的载体、具体的硬件平台,处于系统的最底层;其次是硬件抽象层,是一个与硬件密切相关的代码层,主要作用是实现全部硬件的操作,并把这些操作抽象成统一的接口,以BSP(板级支持包)的形式供上层操作系统的内核使用;操作系统层位于中间,它实现了操作系统的全部功能,主要包括内核、内存和文件管理、设备管理等等,此外系统资源及平台级功能的定制也在这层完成;应用层位于最顶层,是应用程序的集成层,通过操作系统层提供的API(应用程序开发接口)接口集开发实现具体的软件应用。

1.2 插件技术

插件模型是近年发展起来的一种软件体系结构,在软件开发中有着越来越多的应用。插件式体系结构是一种非常灵活的组件式结构,它把一个软件程序的功能分割在几个相互独立的插件中,各个功能插件独立于系统,独立开发,并且可以动态地插入、删除和替换到系统中[3-4]。其本质在于不修改软件主体的情况下,对软件功能进行扩展与加强,通过制作相应插件解决一些操作上的不便或增加新功能,实现“即插即用”的软件开发。图2为插件模型示意图。

图2 软件插件模型Fig.2 Software plug-in model

插件模型一般包括两部分:平台(或称主程序)和插件(或称扩展模块)。平台是一个程序的核心和基础,实现系统的基本功能,按功能的不同又可把平台分为两部分:软件内核和插件管理。软件内核完成整个系统的通用功能部分,是软件程序相对固化的部分;插件管理功能用于集成和管理插件,为插件与平台的连接和通信提供标准接口支持。插件是平台功能扩展或升级的载体[5-6]。插件通过扩展接口调用平台功能,平台通过插件接口调用插件功能,扩展接口完全由平台实现,插件接口完全由插件实现,单向通信。

插件体系结构具有突出的优点:1)提高软件的复用性;2)增强功能模块的封装性和独立性;3)不同功能组件的无缝衔接;4)很好地扩展性;5)面向不同应用层面的灵活性和可移植性[7-8]。

2 分层插件系统模型

将软件工程的插件化思想引入到传统嵌入式分层系统,对同一层相对独立的组件进行横向划分,不同层间建立相关组件的纵向联系,形成一种分层插件系统模型。图3为分层插件系统模型示意图。传统分层系统结构更像一种“串联”式的交互结构,操作系统只能通过硬件抽象层提供的BSP 包对硬件进行控制,应用层的开发和维护也只能通过操作系统提供的API函数集进行,不同功能模块的硬件抽象接口全部集合在了一个BSP中,不同的软件模块的代码也是静态地封装在一起的,这样当硬件发生了变化或需增减相应功能时,则需重新修改编译整个硬件抽象层的BSP 包或在代码层面对程序进行更新,牵一发而动全身。而分层插件系统模型则像“并联”式的交互结构,各层以“平台”的形式存在,层的内容按功能进行划分,对上层提供的接口相互独立,即多条数据和指令的“通道”并行工作,独立开发和维护,对一项功能的增加删除不会影响到另一项功能。

图3 分层插件系统模型Fig.3 Hierarchic plug-in system model

分层插件系统模型的插件有别于软件工程中的插件概念,是一个更为抽象的软硬件封装形式(如图4)。一个插件包括了硬件、驱动程序、API函数和软件程序模块。硬件位于系统的硬件层,是插件的基石,通过标准接口与硬件层平台衔接,以插拔形式完成插件的增加或删减;其上是驱动程序,是一个实现硬件具体操作和提供抽象接口供操作系统使用的安装包,位于硬件抽象层,可在操作系统中随时安装和卸载;再往上是API函数,由操作系统层提供,此层的插件化需要操作系统的支持,应采用构件式的可定制操作系统;顶部是软件程序模块,它不再是主程序代码中的子代码,而是以封装好的软件插件形式供应用层平台使用,和前章所描述的软件插件是一致的。

硬件层、硬件抽象层、操作系统层和应用层的通用部分以平台形式固化存在,而按功能细分的插件构成了各层的主要内容。在分层插件系统中,一项功能插件的增加变得和搭积木一样简单,只需将4个部分分别连接到所属层的标准接口上就可立即使用,旧的插件进行修改更新只在自身内部进行,不会影响到平台和其他插件,不同开发人员实现的插件按标准接口无缝衔接,插件与插件间高内聚低耦合,并“即插即用”,符合信息交联系统的使用习惯需要,拥有良好的扩展性和可维护性。

图4 插件模型Fig.4 Plug-in component

3 应用实例

一维射程修正引信装定器为修正引信提供星历数据、气象数据、射击任务数据等,并计划逐步添加对引信的测试、检验等扩展功能。系统目前通过GPS接收机产生星历数据,手动导入气象文件获取气象,手动输入射击任务信息,而今后很可能改用北斗接收机获取星历,添加无线气象接收模块收取战场气象广播,智能产生射击任务数据。因此计划采用分层插件系统模型改造装定器系统平台,迎合目前和未来的扩展升级需求,方便开发维护。现已完成了部分模块的插件化改造工作,其中GPS接收机的插件化是典型的分层插件模型应用。图5为装定器在分层结构下的示意图,图6为装定器插件化后的示意图。

首先将硬件平台上的外设接口全部改为标准接口,除处理核芯最小系统外的其他硬件均通过标准接口与处理核芯相连,GPS 接收机添加了转换接口,以使得和标准接口一致。接收机的寄存器读写和资源配置等具体的硬件操作封装为一个驱动包,插上接收机后在操作系统中进行安装。操作系统选择具有良好图形交互界面的WinCE6.0 嵌入式操作系统,由于其是可定制的构件式操作系统,因此可以按照接收机和其他硬件模块需要的API进行系统裁剪,仅保留需要的系统部分,整个操作系统的定制和建立,可在1h内完成。最后开发GPS接收机子程序插件,并按照软件工程插件化的方法将主程序平台化,分别实现扩展接口和插件接口,使用时,直接在主程序中导入GPS 接收机插件即可使用。接收机的程序和驱动开发独立完成,使用时即时安装即时使用。

图5 分层结构的装定器Fig.5 Fuse setter based on hierarchic framework

图6 插件化后的装定器Fig.6 Fuse setter based on hierarchic plug-in component

原来的GPS接收机通过专用接口和系统硬件电路板相连,接收机的驱动和其他硬件模块的驱动在一块形成BSP,接收机相关的程序代码也作为整个程序代码的一部分和其他程序代码在一块,若更换其他型号的接收机(如北斗)或更改程序功能,则需使用新的配套接口,重新画板,设计新的硬件电路图,重写BSP,并修改装定器的软件程序代码,重新编译生成新软件。将接收机插件化后,其功能模块的开发维护和升级扩展都变得清晰容易很多,由于各层都使用标准接口和平台相连,因此变动修改只在插件内部进行,不需变动整个平台。

4 结论

本文提出了适用于弹道修正引信装定器的分层插件系统模型。该模型在传统分层系统结构的基础上引入插件化思想,将通用功能的部分固化,其他功能部分以插件形式实现,形成以插件为核心内容的系统结构模型。应用实例表明这种系统模型在系统开发、系统升级扩展、及各模块的衔接问题上都较传统分层系统有较大改善,更适合于具有复杂功能需求的修正引信装定器系统平台。

目前国外已经实现了加榴炮装定器标准化,一门火炮的装定器可以装定炮射导弹、弹道修正引信、多选择引信、近炸引信和电子时间引信。但是并非所有火炮都配炮射导弹和弹道修正引信,使用本文提出的模型,有利于实现国内加榴炮装定器的标准化以及为低配置火炮配置低成本装定器的目标。

[1]李尚柏,钟睿.基于ARM 的嵌入式WindowsCE 系统高级开发技术[M].北京:清华大学出版社,2011.

[2]范圣一.ARM 原理与嵌入式系统实战[M].北京:机械工业出版社,2007.

[3]陈翥.插件体系结构软件的原理和实现[J].科技传播,2010(18):225-226.

[4]孙昌爱,金茂忠,刘超.软件体系结构研究综述[J].软件学报,2002,13(7):1228-1229.

[5]于卫,杨万海,蔡希尧.软件体系结构的描述方法研究[J].计算机研究与发展.2000(10):24-27.

[6]戴宗坤,罗万伯.信息系统安全[M].北京:电子工业出版社,2002.

[7]Ian Sommerville.Software engineering[M].北京:机械工业出版社,2006.

[8]刘瑶.插件技术初步研究(for Delphi)[J].扬州教育学院学报,2003,21(3):35-37.

猜你喜欢

插件接收机分层
GNSS接收机FLASHADC中比较器的设计
高中分层走班教学模式探究
有趣的分层现象
自编插件完善App Inventor与乐高机器人通信
基于OSGi的军用指挥软件插件机制研究
一种宽带低功耗四合一接收机设计
一种面向ADS-B的RNSS/RDSS双模接收机设计
雨林的分层
基于jQUerY的自定义插件开发
数字接收机故障维修与维护