基于软件通信体系结构的控制台软件设计

2015-10-22 16:49郝嘉禄施峻武习勇王萌
现代电子技术 2015年19期
关键词:软件无线电

郝嘉禄 施峻武 习勇 王萌

摘 要: 针对实验室自主开发的基于软件通信体系结构的软件无线电平台,结合实际应用需求,设计并实现了控制台软件,以友好的图形化界面方式提供了对软件无线电目标平台的监控、操作、配置和管理等功能。测试表明,该控制台软件操作简单、显示直观、便于管理且易于与其他软件集成,极大地简化了用户对软件无线电平台的开发与管理,同时对软件无线电技术的推广应用也具有重要意义。

关键词: 软件无线电; 软件通信体系结构; 核心框架; CORBA; 控制台

中图分类号: TN911?34; TP399 文献标识码: A 文章编号: 1004?373X(2015)19?0050?04

Abstract: For the software defined radio (SDR) platform based on software communication architecture (SCA) developed by the laboratory independently, the console software was designed and implemented in combination with the actual application requirements, which provides the functions of monitoring, operation, configuration and management to SDR target platform with friendly GUI. The test results show that the console software is simple to operate, visualized to display, easy to manage, and liable to integrate with other software, and can simplify the users′ development and management of the SDR platform greatly. It has great significance to generalize and apply SDR technology.

Keywords: software defined radio; software communication architecture; core framework; CORBA; console

0 引 言

软件无线电是指软件定义的、能实现多种通信功能的无线电通信系统[1]。其核心思想是构造一个具有开放性、标准化、模块化的通用硬件平台,将通信的各种功能如工作频段、调制解调类型、数据格式、加密模式、通信协议等用软件完成,加载不同的软件以实现不同的通信模式和功能[2]。

软件无线电体系结构是软件无线电系统的核心部分,是指导软件无线电系统开发的一套独立于具体实现的方法集合。美国国防部联合战术无线电系统(Joint Tactical Radio System,JTRS)发布的软件通信体系结构[3](Software Communication Architecture,SCA)是提出最早、最成熟、全球支持力度最大、应用最广泛的软件无线电体系结构,并成为事实上的软件无线电技术标准。

国内外基于SCA规范开发的软件无线电平台已经逐步投入使用。然而,SCA规范涉及到中间件、操作系统、XML、UML等诸多软件工程概念,对通信工程师而言,理解SCA规范具有相当大的难度。为了简化波形和平台的开发及管理,与SCA相关的辅助配套软件,如集成开发环境、波形数据库、控制台软件等就显得尤为重要。就软件无线电平台的监控管理而言,国外SCARI++软件套件[4]中的Radio Manager,OSSIE[5]的WaveDash等提供了可视化的图形用户界面用于平台的管理,但国内具备此类功能的系统软件的设计开发仍处于起步阶段。

本文针对实验室自主开发的基于SCA规范的软件无线电平台设计了控制台软件,以友好的界面方式提供了监控、操作、配置和管理软件无线电目标平台的功能。

1 SCA简介

SCA是一种开放的通用体系结构,它定义了一个标准的、开放的、可互操作的软件平台,通过该软件平台可以实现底层硬件与波形软件相互隔离。

SCA平台模型图如图1所示,主要由操作系统、传输机制和服务、核心框架接口、应用环境描述和应用资源组成。SCA规范中详细定义了核心框架(Core Framework,CF)的各种接口和相互关系,并使用通用对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)中间件作为分布式环境的消息传输机制,而应用环境描述定义了各种应用资源(如波形组件)对系统资源的利用情况。

CF由基本应用接口、基本设备接口、框架控制接口和框架服务接口组成。其中,框架控制接口定义了对域内的设备、服务、应用工厂、应用进行管理的域管理接口、设备管理接口、应用工厂接口和应用接口等,主要包括DomainManager,DeviceManager,ApplicationFactory,Application等,可用于实现对整个域内组件的统一管理[6]。

CORBA[7]是一种通用对象请求代理体系结构,它把各种对象的操作和属性封装在不同的接口中,通过对象请求代理调用接口中的操作完成指定功能。CF中各种接口都是按照CORBA形式实现的。SCA域内组件间的通信以及整个域的控制、配置与管理都是通过CORBA完成的。同时CORBA也可以为SCA提供事件服务、日志服务等,极大地方便了核心框架的实现与波形应用的开发。endprint

控制台软件正是基于SCA这种标准、开放、可互操作的平台体系结构来实现,即通过CORBA连接调用CF接口完成对目标平台的控制管理。

2 控制台软件的设计

软件无线电系统虽然功能齐全、可扩展性强,但对于波形开发人员和一般用户而言,存在体系结构复杂、使用难度大、操作过于繁琐、信息显示不直观等问题,且传统的无线电控制台只是针对单一波形设计,因此有必要针对软件无线电平台设计一个支持波形重构、操作简单、便于监控和管理的图形化软件平台。

2.1 设计需求

控制台软件主要定位于实现软件无线电平台的可视化监控和图形化管理,为用户提供直观、便捷、高效的平台和波形管理模式,其应用场景如图2所示。

软件无线电系统管理人员能够使用控制台软件从波形数据库中下载已授权的波形软件,并安装到目标平台上,进而完成波形的部署启动、波形参数的配置与查询等功能。同时,控制台软件可以监控整个平台软硬件的工作状态,实时更新显示并提供故障报警功能。

为了保证控制台软件的功能实现,软件的设计需求包括:

(1) 提供与目标平台、波形数据库交互的接口;

(2) 实现与目标平台、波形数据库的数据通信功能;

(3) 与平台管理人员实时交互;

(4) 便于与集成开发环境、波形数据库等其他平台成果集成。

2.2 设计思路

根据以上需求分析,控制台软件基于Eclipse[8]平台实现,Eclipse提供的插件机制便于与其他系统软件集成。按照功能划分,控制台软件的设计分为以下三层:接口层、功能服务层和人机交互层,如图3所示。

接口层:负责与软件无线电平台内其他模块建立连接,主要包括HTTP接口、FTP接口和CORBA接口。其中,HTTP接口负责与波形数据库的连接;FTP接口负责与目标平台文件系统的连接;CORBA接口负责与目标平台域管理器的连接。这些连接都是在以太网物理接口的基础上基于TCP/IP协议实现的。

功能服务层:是控制台软件的核心,主要负责完成具体的功能实现,如波形的下载、上传,对目标平台DomainManager接口函数的调用,对目标平台产生事件的接收处理等,实现对目标平台的监控与管理等功能。

人机交互层:负责实时的、直观的显示平台运行状况,并为用户提供简单便捷的界面操作用于对平台的查询、配置。

2.3 详细设计

在接口层中,CORBA连接是通过ORB(Object Reference Broker,对象请求代理)完成的。客户端的ORB利用IIOP(Internet Inter?ORB Protocol,互联网对象请求代理互通协议)与服务端的ORB进行通信,传递客户端的调用请求。这样对于控制台而言,只要像调用本地方法一样调用目标平台对象操作,而不需关心底层实现细节。FTP与HTTP连接都是基于服务器和客户端模型设计,FTP和HTTP服务器分别运行在目标平台和波形数据库主机上,客户端由控制台软件实现。

人机交互层中针对平台管理、波形管理、波形下载和波形上传分别设计了不同的界面。本层解析用户的操作行为,调用功能服务层的相应函数,完成对目标平台的配置。同时,接收来自功能服务层反馈的消息,实时更新显示界面。

功能服务层是完成控制台软件功能的核心,重点从以下三个方面进行详细设计。

2.3.1 域管理服务

在SCA软件平台结构中,DomainManager是目标平台的核心,用来进行整个域的控制和配置。控制台软件对平台的管理正是通过DomainManager接口实现的。控制台域管理服务通过静态IOR(Interoperable Object Reference,可互操作的对象引用)方式可以获取DomainManager对象引用,进而调用其接口完成平台的管理。

为了域管理服务调用的方便,将DomainManager提供的配置查询方法封装为一个PropertySet接口,其参数为Properties,DomainManager根据Properties的ID判断要进行的操作,Properties的value中存放平台参数。其中,ID值主要类型及其对应功能如表1所示。

控制台域管理服务构造Properties项,然后以该项为参数调用DomainManager的PropertySet即可完成对目标平台的操作。下面以波形实例的创建为例来说明域管理服务的设计实现,其顺序图[9]如图4所示。

操作人员选择要创建的波形及波形所在通道后,人机交互层会调用控制台域管理服务的create_app函数。在create_app函数中构造配置项,配置项ID为字符串“CREATE_WAVE”,value值为用户选择的通道及波形名称,然后以此配置项为参数调用DomainManager的PropertySet接口,通过匹配字符串ID可知要进行波形实例创建操作,取出value值,然后调用波形名称对应应用工厂的create函数,即可在指定通道上完成波形实例的创建。

2.3.2 事件服务

CORBA体系结构中为了解决对象间的通信问题定义了事件服务的概念。CORBA事件服务提供了一种松散的、异步的通信机制,建立了一个通用的分布式事件模型。

控制台软件的一个重要功能是监控目标平台,实时显示平台状态。而控制台界面的更新需要得到平台状态改变消息事件的驱动。考虑到目标平台创建了事件通道,因此可以在控制台构造一个事件消费者,通过接收平台推送的事件消息驱动显示界面的实时更新。

事件通道模型如图5所示,目标平台状态改变后会通过事件生产者向事件通道发送相应类型事件消息,控制台软件接收事件消息通过功能服务层解析判断后推送给人机交互层完成界面更新。endprint

事件消费者收到该事件后,通过sourceId,situation,sourceCategory得到出现故障的设备,再分析其故障类型、错误类型后在监控界面将报警消息显示出来,并且可以通过响铃等方式及时通知平台管理人员。

2.3.3 HTTP服务和FTP服务

由图3可知,控制台软件可以从波形数据库中下载波形软件并将其安装到目标平台。由于波形数据库是基于Web服务构建的,因此在控制台软件中实现一个HTTP客户端。另外考虑到目标平台支持FTP服务,所以波形软件的上传通过FTP完成。Apache Jakarta Common子项目的工具包提供了对两种协议的支持[10],只需直接调用工具包提供的相应函数即可完成以上两项功能。

3 软件的运行

在Eclipse环境下启动控制台波形管理界面,连接目标平台后软件运行如图6所示,整个界面分为6个功能区。

界面各功能区介绍如下:

#1区为通道列表区,显示目标系统中配置的无线通道列表。

#2区为通道信息快视区,显示#1区域中所选通道的详细信息,包括通道名称、频率范围和正在运行的波形。

#3区为通道占用设备区,显示#1区域中所选通道所占用的板卡以及板卡上的设备占用情况。

#4区为通道波形管理区,显示#1区域中所选通道上的可加载波形,并提供对波形的加载、卸载以及配置操作。

#5区为已安装波形及实例显示区,显示目标系统中已经安装的波形以及正在运行的波形实例。

#6区为波形应用管理工具栏。

4 结 语

本文在分析软件通信体系结构的基础上,结合已有软件平台设计了控制台软件,并在硬件平台上进行了测试,实现了对软件无线电平台的监控管理功能,极大地简化了用户对平台的操作配置。下一步工作计划是建立一个完整的软件无线电支撑应用系统,从软件无线电波形、平台的开发到管理监控都能通过简单的图形化界面操作实现,促进软件无线电技术的推广应用。

参考文献

[1] MITOLA J. Software radios?survey, critical evaluation and future directions [J]. IEEE Aerospace and Electronic Systems Magazine, 1993, 8(4): 25?36.

[2] 杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2001.

[3] Joint Tactical Radio System Joint Program Executive Office. Software communications architecture specification, SCA 4.0 [R]. [S.l.]: Joint Tactical Radio System Joint Program Executive Office, 2012.

[4] SCARI Project. Canadian open source SDR [R/OL]. (2002?04?10). http://www.crc.ca/en/html/scari/home/home.

[5] Wavedash. SCA?based open source software defined radio [EB/OL]. (2011?02?13). http://www.ossie.wireless.vt.edu.

[6] 陈雪莲.基于软件通信体系结构的波形应用接口设计与实现[D].长沙:国防科学技术大学,2004.

[7] 朱其亮,郑斌.CORBA原理及应用[M].北京:北京邮电大学出版社,2001.

[8] 王津涛,孟庆昌.Eclipse SWT/JFace开发实战精解[M].北京:人民邮电出版社,2007.

[9] [美]兰博.UML参考手册[M].北京:机械工业出版社,2005.

[10] 杜佳荣,马建红,腾振宇.Java网络编程技术与实践[M].北京:清华大学出版社,2008.endprint

猜你喜欢
软件无线电
军用软件无线电通信技术发展分析
“软件无线电技术”技术教学方法的探索与实践
WR—G33DDC型无线电监测接收机原理及故障处理
基于Gnuradio与Hackrf的无线通信收发系统实现
基于FPGA的软件无线电上下变频技术的设计研究
DSP技术在软件无线电中的应用探讨
基于软件无线电的GPP通信波形软件设计方法
基于软件无线电收发机前端设计方法的分析与研究
浅析无线智能认知技术
面向对象思想在无线电系统设计中的应用