基于SCA的战术数据链波形设计和实现*
2013-08-10李莉李鹰
李 莉 李 鹰
(武汉船舶通信研究所 武汉 430079)
1 引言
战术数据链作为信息化战争的重要装备,担负着战场态势信息、作战命令信息和超视距目标指示信息等战术数据的传输任务[1]。
未来战争中,为了充分发挥数据链的作用,在数据链波形体制和空中接口标准不同时有效地实现三军的互通、互连及互操作,必须采用软件无线电的设计思想。基于美军联合战术无线电系统(JTRS)的核心思想就是采用软件无线电技术实现通信系统,软件通信体系架构(SCA)规范是在实施JTRS计划的过程中发展和成熟起来的一个标准[2~3]。因此可以根据SCA规范对数据链波形进行全新设计,以使数据链具有灵活的应变能力,从而提高通信业务的质量,简化系统硬件的组成,并且通过软件重用等技术减少新波形的开发周期。
SCA是一个还处于验证与发展阶段的规范,需要在实践运用中不断地改进和完善。目前SCA规范中还存在着一些定义矛盾和不完整的地方,这些都给波形的设计和实现带来了很大困难。本文在充分考虑波形跨平台的可移植性和可复用性的基础上,结合对现役某数据链波形的设计、开发的实践经验,给出了基于SCA的数据链波形设计和开发时应遵循的一些原则和方法。
2 基于SCA的数据链系统架构
数据链设计的基本核心是:在遵循我军软件无线电体系结构标准的基础上,依据SCA规范实现数据链的软件开发,并在解决关键技术的基础上完成样机的研制,以期提供一个基于软件无线电设计思想的数据链波形开发典型实例。针对现役某数据链波形的特点以及SCA规范的要求,给出数据链系统架构的层次结构如图1所示。
我们将整个系统架构定义为六层,从底向上分别是:硬件层、设备驱动层,实时操作系统层、中间件服务层、核心框架控制接口层、波形开发及应用层[4]。硬件层和设备驱动层构成硬件架构,设备驱动层到波形开发应用层构成软件架构,其中设备驱动层同时包含在软件架构和硬件架构中。软件架构和硬件架构的融合构成系统架构。
图1 数据链系统架构的层次结构图
硬件体系结构的设计采用面向对象技术的设计思想,充分体现实现系统的开放性、模块化。根据现役某数据链设备目前使用的硬件资源以及SCA规范要求的兼容性与可操作性,我们提出硬件架构由机箱类和硬件模块类组成。机箱类的属性有模块插槽数、组成要素、背板类型、平台环境、功率和冷却要求等。机箱类有独特的物理、接口、平台电源和外部环境属性,由于这些属性是最底层的,故不同模块的机箱类不能被共享。硬件模块类有两种截然不同的硬件模块类型,一种包含软件集中处理单元,如数字信号处理器模块和通用处理器模块;另一种是不可编程的功能模块,如射频单元。
硬件平台由射频收发模块、波形处理模块、主控制模块等构成,所有模块都采用CPCI总线方式,以提高系统硬件的兼容性和可扩展性。数据链的协议处理由主控制模块承担,数据链的信号处理由以FPGA、DSP为核心的波形处理模块完成。主控制模块由32位 MCU(ARM9内核)微控制器、SDRAM、FLASH、以太网控制器、UART、实时钟(RTC)等部件组成;波形处理模块由Xilinx公司的Virtex-6系列FPGA、TI公司的四个C66X内核的TMS320C6670、SDRAM、FLASH、AD/DA等部件组成。
软件架构是依据硬件平台的资源以及SCA规范的要求而提出的。定义软件结构的目的就是为了提供一种标准的、开放的、可互操作的软件平台,实现波形应用的可移植性和可重用性[7]。软件架构的操作环境(Operating Environment,OE)和应用(Applications)构成通用软件平台[5],使数据链波形能够从一个战术平台移植到另一个战术平台。OE包括核心框架(Core Frame work,CF)、CORBA(Common Object Request Broker Architecture)中间件、嵌入式实时操作系统以及网络接口层和板级支持包等。应用包含多个组件,这些组件由CF的控制接口管理。应用组件之间或组件与系统提供的服务和设备(系统组件)之间的通信是通过SCA定义的Port接口。组件间通信由CORBA提供的逻辑“软件总线”来完成,根据用户需求定制不同的数据链波形,不同的数据链波形可在平台上动态地加载、卸载。
图2 开发者环境视图
软件架构设计首先要评估和分析各类实时操作系统,特别是提出操作系统的移植方法;其次提出CORBA中间的选型要求,并根据其特点提出它的移植方法;第三建立开发者环境,并以此为核心将嵌入式实时操作系统、CORBA中间件和核心框架整合在一起构成开发者环境[12],它的实现具体见图2所示。
3 战术数据链波形设计
在战术数据链波形的开发设计中,由于SCA框架的存在,虽然开发过程和常规的算法波形开发类似,但是数据流的生成和调用都有一定的特殊性。除了硬件平台的设计,软件分为波形设计、SCA框架设计和上位机波形管理器设计,其中采用开发工具 MATLAB、ISE、CCS、Spectra CX等用于波形设计。
开发一个新的数据链波形应用程序,首先要定义波形应用程序的功能。实现一套完整功能的软件模块称为组件,波形组件承载了不同的波形功能,相互之间是独立、可重用、可扩展的。
战术数据链作为一种特定的战术传输手段,以实现各作战平台之间进行快速、高效的战术链接,其传输的内容是实时性很强的战术数据。如果不在规定的时间内完成传输,许多战术数据就失去了意义。因此,波形组件设计时要遵循以下几个原则:
1)实时传输原则
能否满足实时传输要求是数据链波形设计中需要考虑的一个重要因素。要求(1)数据链的网络组件一般不采用复杂的路由算法;(2)物理层一般不采用交织组件,严禁在采用交织组件时设置深度属性。
2)格式化信息原则
为了达到战术平台间的信息共享,波形组件设计时要遵循“格式化信息原则”,要求采用严格的面向比特定义的格式化信息。格式化信息有相对固定的长度,便于各作战平台按统一的要求解析、处理。具体体现在(1)物理层采用编码组件时,编码后的长度与消息标准的单位数据包要相对应;(2)采用TDMA协议时,单位发送时隙长度与生成的发送波形长度(该长度包括必要的传输延迟保护)相匹配[8]。
3)组件粒度合理划分原则
为了达到良好的可继承性和可复用性,要求对组件粒度进行合理划分。如果组件粒度划分过大,设计出的波形API就没有好的可继承性和可复用性,且不利于系统的升级和维护;如果组件粒度划分过小,在现有的通信体制、技术条件和硬件水平下,有些功能是不可能实现的。标准的API对于波形应用程序的灵活使用和数据链系统的升级换代都很重要。
4 数据链波形开发
4.1 波形功能分析
基于SCA的数据链波形软件是战术数据链系统的核心软件,它通过模型化设计,定义好各种波形算法的输入输出接口,用户可以通过CORBA中间件去访问这些接口,从而达到数据交互的功能,而且通过CORBA中间件的形式,解决了数据链波形和外部的异构问题。
一般的,一个数据链波形由物理、MAC、安全、IO、网络等组件来实现其完整的功能。不同的波形由不同的组件构成,并且不同的波形对应的组件数量也不相同。
我们开发的数据链波形的主要功能包括:支持实时战术数据传输业务、具备无线自组网功能、支持加密体制。因为篇幅有限,这里不描述安全模块的设计。我们将数据链波形分为输入输出模块、物理层模块两个功能模块,其中输入输出模块负责传输音频信号,物理层模块负责数字音频信号的编码、映射、调制、解调、解映射、解码等功能。
SCA规范规定每个波形必须包含一个装配控制器组件(Assembly Controller)[6],所有对波形中其它组件的配置操作都由这个装配控制器来完成,控制终端要对波形配置时只需访问装配控制器。所以数据链波形中共包含三个组件,即物理层组件、音频组件和装配控制器组件。
4.2 组件设计与建模
明确了波形的功能之后,进行波形组件设计,这是一个与具体实现相关的过程,包括组件的划分、组件的配置和组件间的Port端口连接等。在SCA规范中,所有接口的描述以及接口关系的描述都是通过统一建模语言UML语言来完成的,其中类图和序列图是最常用的UML图。SCA规范中所有关于接口的属性和行为的描述都通过类图来描述,这些接口的行为又是通过序列图来描述。物理层组件的UML描述如图3所示。
图3 波形物理层组件的UML类图
图3中数据链波形建立了七个类,其中CodeandDecode类用于完成编译码算法;MapandDemap类用于完成映射和解映射功能;ModulandDemodul类用于完成调制和解调功能;ModulSetup和CodeModelSetup用于完成编解码参数和调制解调参数的配置功能;ProviderPort和UserPort两个类来完成建立连接、释放连接以及数据传输的功能。物理层应用程序接口通过自身的control操作来控制各个类的使用。
4.3 组件的实现与应用
完成波形建模后编译UML模型生成相应的IDL(Interface Description Language)文件,IDL文件对各接口进行标准化定义。我们利用CORBA中间件将UML建立的模型转化为IDL语言描述的波形组件,生成接口存根对象Sub和接口框架对象Skeleton,实现IDL语言到C++语言的映射[10]。这些波形组件IDL文件给出了数据链波形清晰的定义,由于IDL语言是独立于实现语言的,因此它使得SC波形组件具有灵活的可移植性。
完成波形组件实现后,为了能通过核心框架(CF)对数据链波形进行动态加载、卸载、启用和配置,还必须为每个波形组件编写相应的域描述文件[9],这些域描述文件包括SAD(软件装配描述文件)、SPD(软件包描述文件)、SCD(软件组件描述文件)等[11]。
每个波形组件及组件IDL描述文件共同代表了独立的功能模块,完成相应的一系列算法过程。当开发新的波形应用时,我们只需要重新编写波形应用的SAD文件,即可直接重用这些组件,或稍加修改即可使用,这对于波形应用的开发来说,具有重要的意义。
4.4 波形组件测试
完成上述数据链波形的开发工作后,需对波形组件进行测试。我们进行了波形组件的SCA兼容性测试、组件单元测试、应用测试和部署测试。当一个组件被测试时,它的端口、属性、执行环境和依赖关系都会被测试。对基于SCA的波形组件进行测试能大大减少开发的风险,加速开发流程并提高波形软件质量和平台质量。
5 结语
SCA是21世纪我三军无线通信装备的发展方向,是实现我三军互通、互连及互操作,各个战斗平台之间高效、可靠地协同通信的有效手段。本文根据对现役某数据链波形的开发研究,重点对数据链波形的系统架构、波形开发流程进行了深入研究,给出了基于SCA的数据链波形开发时应遵循的原则和注意的事项。本文所做的工作对我国新一代战术数据链的研制具有一定的指导意义。
[1]张友爱.战术数据链技术的发展趋势[J].舰船科学技术,2008,30:1-7.
[2]Modular Software-programmable Radio Consortium.Software Communication Architecture Specification(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[3]Modular Software-Programmable Radio Consortium.Application Program Interface Supplement to the Software Communications Architecture Specification APPENDIX D Physical Real-Time Building Block Service Definition.(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[4]Modular Software-Programmable Radio Consortium.Application Program Interface Supplement to the Software Communications Architecture Specification APPENDIX H I/O Building Block Service Definition.(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[5]Software Communications Architecture Specification :JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)Space and Naval Warfare Systems Center 2006:7-40.
[6]Software Communications Architecture Extensions :JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)Space and Naval Warfare Systems Center 2006:4-11.
[7]Software Communications Architecture Specification Appendix B:SCA Application Environment Profile;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)2006:4-15.
[8]罗壮一,周金荣.战术数据链中的波形设计[J].舰船科学技术,2008,30:66-70.
[9]Software Communications Architecture Specification Appendix D:Domain Profile;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)2006:4-15.
[10]Communications Research Centre(CRC),SCA Architect User Guide V.1.0,3701Carling Avenue,P.O.BOX 11490,Station H,Ottawa,Ontario K2H8S2March,2007.
[11]Software Communications Architecture Specification Appendix C:Core Framework IDL;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System (JTRS)2006.
[12]Joint Program Executive Office Joint Tactical Radio System,SCA Service and Multi Channel Deployment Extensions JTRS Interface Control Working Group(ICWG),2006:6-23.