计算机是信息化、智能化武器系统的灵魂。在相当长的一段时间里,武器装备及其计算机基本上自成系统。自从出现微型计算机后,二者才越来越紧密地融合在一起,出现了嵌入式计算机(Embedded Computer)。嵌入式计算机是嵌入到对象体系(即宿主系统)中的专用计算机。嵌入式计算机在功能和物理结构上都嵌入在系统中,不独立于系统运行,是系统的组成部分。一个应用系统按需要可嵌入一台或多台计算机。军事专家断言,武器装备已经进入了“嵌入式”时代。
嵌入式计算机的来龙去脉
电子计算机的传统分类方法,是按照体系结构、运算速度、系统规模和适用领域分为大型、中型、小型和微型。这种计算机分类方法沿袭了约40多年。近些年来,随着半导体、微电子和计算机等技术的快速发展及广泛应用,现代计算机面向应用出现了两大分支:实现智能化控制的嵌入式计算机系统,以及进行高速、海量数值计算的通用计算机系统,并据此将计算机分为嵌入式计算机和通用计算机两大类。二者的技术发展方向不同:前者注重与对象系统密切相关的嵌入性能、控制能力及可靠性;而后者注重运算速度的提升和存储容量的扩大。
由此,武器装备系统中也相应出现了“嵌入式”和“通用”的计算机分类方法。军用嵌入式计算机是指以芯片、模板、插件或控制器等形式“镶嵌”在武器或武器系统内部,智能地完成系统功能的专用计算机,分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。它主要用于武器控制、指挥控制、通信系统、作战仿真、保障系统中,可执行一种或多种特定任务,具有体积小、重量轻、功耗低、适应恶劣环境、实时性强、可靠性高等特点。
可以说,是微型机时代的应用造就了嵌入式计算机。一方面,现代作战需要计算机“嵌入”到武器装备中,使武器系统更加智能化;另一方面,技术的发展使得计算机有可能“嵌入”到武器装备中。作战需求和技术可能的互动,是军用嵌入式计算机系统得到快速发展的推动力。
嵌入式计算机的特点
基本特点
作为一种嵌入到对象体系中的专用计算机系统,“嵌入”、“专用”和“计算机”是嵌入式计算机的3个基本要素;并由此衍生出以下3个基本特点:为了“嵌入”,必须满足嵌入对象的要求,如物理环境(小型)、作战环境(可靠)、使用成本(价廉)等;由于“专用”,可以“裁剪”软、硬件,使之满足对象要求的最小配置;嵌入式计算机必须是能满足对象系统控制要求的计算机系统。
结构特点
(1)与宿主相匹配。嵌入式计算机作为武器系统等宿主的组成部分,其体积、重量、形状等诸多参数必须满足宿主的不同要求;其功能要与宿主的水平相适应,过高或过低都是不理想的。
(2)实时性强。嵌入式计算机直接从传感器获取信息,进行实时或近实时处理,以满足“从传感器到射手”的时间要求。因此对信息处理、管理和分发的实时性要求很高。
(3)可靠性。嵌入式计算机大量用于空间、空中、海上等恶劣环境中,要经受高辐射、超低温、盐雾、振动等考验,在星载计算机中要自主工作多年。因此对可靠性的要求极高。
(4)模块化设计。采用商用现货、相互使用和重复使用的硬件和软件模块,可大大降低成本,提高系统性能。新的嵌入式计算机大多采用整体式模块设计方式。
应用特点
嵌入式计算机针对特定对象的应用特点,要求计算机开发人员了解对象系统的控制要求,介入体系结构、软件技术、工程应用方面的研究。嵌入式计算机在军事领域的应用中,形成了两种并存的、相互补充的应用模式:①电子技术工程师以自己的应用习惯开发单片机,特点是软、硬件的底层性和随意性,以及与对象系统的密切相关性,但缺少计算机工程设计方法。②计算机专业人士介入,带有明显的计算机工程应用特点,软、硬件平台基于嵌入式系统,结合网络、通信等非嵌入式底层应用。
嵌入式计算机的构成
嵌入式计算机通常由“嵌入式”微处理器、相关的硬件设备(如内部总线、接口以及外部总线)以及“嵌入式”软件系统三个主要部分组成。
微处理器是嵌入式计算机的核心,主要产品如IBM公司的PowerPC、英特尔公司的“奔腾”和Sun公司的SPARC等系列产品。随着绝缘体硅(SOI)、铜布线等新工艺、新技术的出现,微处理器的功能大大增强。嵌入式微处理器通常采用指令和数据分开存储的准Harvard存储器结构,以及指令集设计(SISC)指令组织结构。
内部总线用于插件之间的信息传递。由于VME内部总线能灵活地将不同厂商的异种板级产品集成于同一系统中,因此一直处于军用系统内部总线的领先地位。PC/104和ComPACtPCI内部总线是后起之秀,美军的全球定位系统和士兵便携式系统维护工具都用到了PC/104总线。
外部总线用于主机与外设之间的数据通信。嵌入式计算机主要采用1553B总线。光纤通道肯定是未来军用嵌入式计算机的主流技术,但可移植性差、带宽冗余过多,短期内不会取代1553B总线。
嵌入式计算机软件包括系统软件和应用软件,往往被固化。操作系统主要有VRTX、PSOS、Vx Works、Lynxos、QNX和Linux等。其中,Linux具有内核小、功能强大、运行稳定、易于定制、硬件支持广泛、采用开放源代码,可为以太网、光纤网和卫星网等多种联网方式提供支持等优点,自1998年推出以来一直受到军方的高度关注。
美军军用嵌入式计算机的发展
从20世纪60年代开始,美军率先为武器系统设计各种类型的嵌入式计算机。到80年代,其先进的武器系统(如雷达、卫星、导弹、制导炸弹等)基本装备了嵌入式计算机。如AN/UYK-43嵌入式战术计算机,主要用于“宙斯盾”系统、先进作战指导系统(ACDS)等舰载战术系统,以及“三叉戟”潜艇、多用途两栖攻击舰等平台。此外,武器测试设备、训练模拟系统、后勤信息化系统也开始采用嵌入式计算机。80年代后,美军各军种纷纷提出军用嵌入式计算机计划,如陆军“空地一体化指挥控制计算机”、海军“E-2C飞机预警系统计算机”以及空军“HAWK-32计算机技术计划”等等。经过几十年的发展,美军巩固了在这一领域的优势地位,拉大了与其他国家在技术上的差距。近几年,由于嵌入式计算机的发展已基本成熟,各军种已不再制定专项计划,但新型武器的研制以及现有武器的改造都会涉及到嵌入式计算机的开发与升级。美军嵌入式计算机的发展中,有很多值得参考的经验:
规范指令系统结构
研制嵌入式计算机之初,美军各军种往往分别研制适合自身需求的计算机,造成各军种间计算机的硬件和软件“烟囱”式发展,品种型号繁多、兼容性差、没有统一的标准。60年代末,美军为军用嵌入式计算机确定了指令系统结构标准,描述了计算机结构、规定了接口标准,大大减少了硬件和软件和种类,降低了使用多种计算机语言而引起的软件研制、移植等诸多问题。
倡导、普及Ada语言
Ada语言是美国国防部于1979年提出的一种结构化程序设计语言。此前各军种使用不同的编程语言(如空军使用JOVLAL语言、陆军使用NEBULA语言、海军使用CM2语言),使得软件的可移植性、兼容性大大降低。美国防部和总审计局于80年代指定Ada语言作为开发嵌入式计算机软件的唯一编程语言,厂商若不用Ada编译程序就不能参加军用计算机合同的竞标。90年代中期,美国调整了采办政策,不再强制使用Ada语言,C++、Java等语言逐渐用于嵌入式计算机领域。虽然Ada语言不再是国防部唯一指定的嵌入式计算机编程语言,但由于它并行处理功能强、便于使用,经过20多年的发展已成为通用的编程语言,美军和北约多有使用,如“阿特拉斯V”火箭软件管理系统和“联合防区外武器”的核心制导电子单元的软件编程都使用了Ada语言。
采用商用技术和开放结构
过去,美国军用计算机一直由专门厂商按军用规格研制,对环境要求特别苛刻,价格一般是商用计算机的2倍以上。90年代后,随着计算机技术的快速发展,商用计算机经过温度、湿度、振动和冲击等加固后,一般都能够满足军方需求。因此,1994年,美国防部部长佩里提出了采用商用技术和产品的倡议。这样,在引进先进技术的同时,可以降低产品价格、缩短研制周期。现在美军新研制的嵌入式计算机已广泛使用了现成的商用产品,并采用开放式的体系结构,在芯片、总线和操作系统选择上遵循开放系统标准,以提高计算机的互联、互通、互操作性,使之易于升级。军用嵌入式计算机的未来:
一是高性能、小体积、轻型化。随着美军的转型,其武器装备必然会更趋轻型化、微型化,更易于部署。因此,嵌入式计算机所能利用的空间将非常有限,必须要减小体积、减轻重量,同时不断提高性能。为此,超高速微处理机的电路板设计、高可靠/高组装密度通用模块的设计与组装、人工智能、并行处理等关键技术正在开发。系统级芯片可以在单片上实现全电子系统的集成,是未来嵌入式计算机的基础。
二是网络化。未来战争是网络化的战争,嵌入式计算机将作为网络中的节点来发挥作用。分布式的嵌入式计算机通过通信手段联网后,在战场侦察、环境监控、人员与装备定位、战场监控、医疗保障、信息访问及部队防护等诸多方面,都比目前计算机的功能更强大。
三是智能化。如美军积极推广的军队通用访问卡,就是使用嵌入式计算机芯片的智能识别卡,能够对访问军用计算机网络和系统的人员进行识别和授权。
四是软件功能强大。“嵌入式”计算机的软件功能将越来越强大,更多的功能将通过软件而不是硬件来实现。