您现在的位置是:主页 > 电路技术 > 嵌入式系统 >


即插即用机制的软件无线电系统嵌入式中间件技术研究

2020-06-12 23:45嵌入式系统 人已围观

简介软件无线电通信架构是下一代无线通信系统的发展趋势,随之带来的是应用向着组件化、标准化的模式发展,实现即应用即服务的插即用服务化能力,有效解决复杂系统的应用集成能力...

  软件无线电通信架构是下一代无线通信系统的发展趋势,随之带来的是应用向着组件化、标准化的模式发展,实现即应用即服务的插即用服务化能力,有效解决复杂系统的应用集成能力。软件无线电系统的在计算资源异构性、总线架构多样性、资源受限性、信息传输实时性高等特点下,通过中间件适配多种底层传输协议和异构环境。本文系统性的分析了JTNC SCA架构中的中间件技术应用与发展情况,并给出了多种主流嵌入式中间件技术特点及的应用场景,扩展分析了基于FPGA的硬件ORB实现思路,最后在车载应用场景中给出了中间件部署的实现方案,用于提升复杂软件无线电系统中应用与服务组件的即插即用能力。
  
  数字化技术的发展推动了无线通信体制从模拟通信时代向着数字通信时代的转型,大大提升了通信设备的灵活性,从而实现了可编程、可软件定义的能力。 在通信网络层面,伴随着计算机技术与产业的发展,尤其是嵌入式与分布式计算技术的进步,也不断推动着无线通信网络向着分布式通信网络架构进行演进,通信系统逐步呈现复杂性、分布式异构性等特征。整个产业发展对设备的研发周期、成本、鲁棒性、开放性等能力提出了更高的要求。
  
  为了更好的服务于上述技术架构的发展和需求的变化,这就要求平台性能够实现标准的开放式架构,各类应用达到组件化,模块化、服务化的能力,才能不同技术的快速部署、快速验证,继而实现即插即用的能力。为了实现这一能力需要分布式异构平台中,通过中间件进行相关组件的连接,实现标准化的集成能力。中间件技术主要是解决异构资源之间的通信问题,可以有效屏蔽应用对操作系统、硬件、编程语言之间的差异性,为应用提供一个统一的透明操作环境。在异构式软件无线电终端和系统的技术研发和布局中。有别于计算机网络中间件技术的应用,作为一个嵌入式软件无线电平台通信平台,主要有以下特点,计算资源异构性、总线架构多样性、资源受限性、信息传输实时性高等特点,因此对中间件的选取提出了更高的要求。
  
  本文首先重点分析美军的软件无线电软件通信架构SCA中的中间件技术路线总结,其次针对主流嵌入式中间件体制和应用场景特点进行了对比分析,主要涵盖RPC、CORBA、DDS、硬件CORBAORB技术在不同平台的应用特点,最够给出了一种在复杂异构场景中的中间件平台部署关系,并进行了总结,用于指导软件无线电平台中间件的选型与开发。
  

  1 JTNC中间件机制分析

  
  1.1中间件应用机制介绍
  
  在JTNC项目中所规范的中间件本质是为了解决应用层组价共享、重用、可移植性以及信息安全的问题。图1给出了:SCA层级架构SCA2.2.2中所规范的层级架构,CORBA中间件之上支撑起了系统组件(System Component)和应用组件(Application Compo- nent),之下核心框架提供了框架控制组件和框架服务组件层,操作系统层提供了POSIX接口的服务。
  图1 SCA层级架构
  图1 SCA层级架构
  
  在SCA 2.2.2标准中强制规范了CORBA作为系统的中间件选型,但是SCA 4.1规范中去掉了该项要求,这一转变的原因是随着软件无线电系统的日趋复杂对中间件的性能和应用场景提出了更高的要求,CORBA中间件是面向对象的,在系统中的主要应用是系统管理和资源调度,如在高吞吐量数据传输领域不适合,可采用面向数据应用的中间件,对CORBA中间件的应用场景进行拓展,在应用场景较为简单资源受限的条件下可采用RPC等轻量级中间件机制,形成混合中间件应用机制。基于以上分析,SCA4.1标准的中间件可以依据不同的应用场景进行灵活选取。
  
  1.2抽象模型分析
  
  通过SCA 1.0版本到SCA 2.2.2版本,再到2018年美军作为强制性规范列装的SCA 4.1版本,软件无线电通信架构标准一共经历了7 代标准的演进。中间件也经历了从强制的CORBA规范,到开放式选取的,以及底层传输机制的标准制定,都是为了更好提升实现从PIM到PSM的开发模式转变。
  
  如图2所示,展示了抽象层级传输机制的作用,部分借鉴了OSI 通信层级的标准架构,从下层到上层是一个逐步抽象的过程。中间件层,可以实现应用层与操作系统POSIX的接口隔离。应用层所搭载的应用从连接关系上可以建立起“虚拟通道”,不同应用被封装起来,形成标准编程接口。下层网络通道是对网络器件及底层通信协议的封装,封装了通信、地址、端口的概念,与底层网络彻底隔离。虚拟通道的创建只根据应用需求有关。利用中间件机制可以有效实现标准的开发和模块集成。
  图2 抽象层级传输机制
  图2 抽象层级传输机制
  

  2嵌入式中间件机制分析

  
  中间件的应用可能会部署在一个或者若干的分布式通信模型中,这些通信模型属于不同的抽象层次。基于通信模式进行分类, 中间件可以分为过程调用型中间件、面向对象型中间件、消息队列型中间件、发布-订阅式中间件、交易型中间件、数据库中间件、共享空间中间件、Web中间件等类型。
  图3 RPC中间件调用过程
  图3 RPC中间件调用过程
  
  2.1远程过程调用技术
  
  远程过程调用技术类似于经常使用的过程调用(Procedure Call)在分布式环境中,远程过程调用允许本地计算机上的程序调用远程计算机上的进程。远程过程电泳匀速发送一个请求(客户进程)到远地进程,即被调用者,被调用者或服务器进程执行这个过程,并返回一个结果(响应)消息。该方法最主要的特点是程序不需要知道调用的过程是本地还是远地。远程过程调用和传统的过程调用不同就在于调用者(Call或Client)和被调用的进程(Server) 是在不同的机器上的不同进程。远程过程调用的灵活性体现在可以跨不同操作系统平台,而其缺点也是十分明显的主要是采用了同步通信方式,适合小型的简单应用。对于一些大型的软件无线电系统,需要支持多模式、多信道场景应用时,不建议使用远程过程调用机制的中间件。图3给出了RPC中间件调用过程。
  
  SCA 4.1删除了对中间件选择的强制性条款,提升可框架的适应能力。因此对于一些简单的资源受限的应用场景中,如计算资源、内存资源等受限的平台中,可以采用RPC作为中间件软件。
  
  2.2分布式对象调用技术
  
  计算机编程语言,从面向过程向着面向对象、面向服务发展, 计算机通信网络从集中式向着分布式架构发展,这些发展趋势也直接影响着嵌入式系统的开发与集成模式。分布式对象技术的是面向对象技术和分布式技术的结合,该技术提供了一种通信机制,透明地在异构的分布式计算环境中传递对象请求,而这些对象可以位于本地或远程计算平台。主流的分布式对象技术有三种:
  
  (1)对象管理组织(Object Management Group,OMG)制定的CORBA(Common Object Request Broker Architecture,通用对象请求代理架构)技术;(2)Microsoft公司提出的DCOM(Distributed Component Object Mode,分布式组件对象模型)技术;(3)Sun公司提出的RMI(Remote Method Invocation,远程方法调用)技术。
  
  CORBA提供跨平台的分布式处理能力。CORBA提供一套抽象集,并且确定了一系列服务程序,为可移植的、面向对象的分布式计算应用程序提供不依赖于平台的编程接口和模型。CORBA体系结构如图4所示。
  图4 CORBA中间件架构
  图4 CORBA中间件架构
  
  CORBA规范包括的内容:
  
  ●IDL(Interface Definition Language):它定义了对象在CORBA环境中的界面。
  
  ●ORB(Object Request Broker):它使分布式客户对象与服务对象之间可进行无缝隙的相互作用。
  
  ●对象服务:它有利于常用的C/S相互作用,诸如命名服务、事务服务、日志服务等。
  
  一个基本的CORBA应用程序应包括客户端、服务端、客户端桩、服务端框架; ORB及其可移植对象适配器(POA);在特定的要求下,可加入所要求的对象服务。
  
  在SCA 2.2.2框架中是强制采用CORBA中间件,在SCA 4.1虽然去掉该条要求,但是作为核心框架作为控制、调度功能可依然采用更适合嵌入式系统的轻量级minimum CORBA作为软件无线电平台中间件, 但是作为开源CORBA产品,且功能及性能有限,因此需要进行有针对性的优化。
  图5 SCA中的CORBA中间件
  图5 SCA中的CORBA中间件
  
  2.3面向数据的中间件
  
  为了实现由面向对象向面向数据的转型,服务于实时控制系统,工业自动化系统等分布式应用,需要匿名、异步的信息传输场景,OMG组织在美国国防部信息技术标准注册中心委托下,针对该类系统中的数据交换特点,与2007年发布了面向分布式实时系统的数据分发服务标准(DDS)。
  
  DDS基于发布-订阅(P/S)模式来实现各种系统的数据交换, 其通信模型以数据为中心。主要有以下特点:
  
  (1)空间:分布式系统独立于网络,并且支持自动发现。如果用户升级网络,应用无须改变。时间:发布者可以完成异步发布数据,不用测试订阅者是否在线;(2)冗余:DDS使冗余设计的实现更加容易。多个发布者可以发布相同的信息,或者可以设置为独家发布。而对于信息接收侧,可以多个订阅者订阅相同的主题;(3) 平台和语言:DDS可以允许在windows、 linux、Mac OS, QNX, vxworks等不同操作系统及C、 C++、Java、C#等不同编程语言的异构平台上运行;(4)实现:DDS规范集中包含互操作协议机制, RTPS,分布式系统中可以使用不同DDS实现, 并且可以实现互操作。
  图6 DDS架构模型(CoreDX)
  图6 DDS架构模型(CoreDX)
  
  DDS可以用于设计和实施并服务于系统的系统(SoS,System of System),作为一个集成和开发高效的实时分发系统的标准应景应用许多军事系统中,如美国海军水面作战中心(NSWC)高性能分布式计算系统、美国海军Aegis开发式架构武器系统、通用原子地面控制站、美国空军通用链路综合处理系统(CLIP)、DDG- 1000驱逐舰(应用于全舰计算环境)、AWACS系统等。DDS标准在许多工程应用中得到了体现,其中最具代表性的由RTI-DDS、Vortex DDS、CoreDx是商用DDS系统的代表产品。
  
  2.4商用硬件CORBA ORB技术
  
  在软件无线电技术应用中,SCA 2.2.2软件架构依赖CORBA 中间件用于支持透明传输通信在波形应用对象之间基于minimum CORBA版本。然而数字信号处理功能中如调制解调功能实现物理层的收发能力是一个典型的异构资源受限的应用场景,这样的处理单元经常使用DSPs、FPGA和ASICs,而这些计算资源通常是不能使用CORBA中间件的。
  
  为了支持无缝的通信在分布式CORBA应用,在这些器件中需要实现的ORB协议,满足SCA的规范要求。其中这两种技术的提供厂商主要有PrismTech和OIS。硬件ORB的使用能够满足分布式异构计算单元的应用,在传输延迟、实时性等方面的性能要远高于软件ORB应用。
  图7 PrismTech 集成电路ORB(ICO)
  图7 PrismTech 集成电路ORB(ICO)
  
  (1)集成电路ORB:PrismTech公司是实时嵌入式系统中间件提供商,其经营领域有国防、航空航天、电信、软件无线电等领域。该公司提供的(Integrated Circuit ORB,ICO),通过实现VHDL 级别的GIOP能力,为不同的软件对象提供CORBA中间件的互操作能力。ICO能够解码GIOP请求并且恢复消息头和转换消息数据,这种地址解码逻辑使用硬件总线接口。
  
  PrismTech在基于ICO的应用中提出了“GIOP Everywhere”的口号,大大提升了SCA框架中ORB的适用能力。
  
  (2)ORBexpress FPGA:Objective Interface Systems(OIS) 公司是CORBA中间件提供商,该产品被广泛应用于电信、国防、软件无线电、航空航天、控制、消费类电子等领域。该公司的ORBexpress3.0产品已经被成功应用于F-35闪电联合战斗机项目。
  图8 OSI ORBexpress FPGA
  图8 OSI ORBexpress FPGA
  
  ORBexpress FPGA是一个硬件CORBA ORB产品。ORBexpress IDL编译器可以支持所有的CORBAIDL数据类型。该产品生成的硬件接口可以方便的被FPGA开发人员所使用,并支持动态可重配置能力,在FPGA中占用的LUT和门单元是轻量级的。此外,硬件应用模块可以断开连接从ORB模块中,不会影响到其他硬件模块。CORBA应用可以平滑的移植到GPP、DSP和FPGA计算单元上。
  
  2.5 典型实时中间件对比
  
  在实时分布系统中,DDS、CORBA、RPC是三种主流的数据分发中间件。由于他们的数据分发模型、通信机制、编程模型的差异,所适用的领域也不同。
  
  (1)RPC模型中,客户端和服务端只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的操作,而不必限制于特定的服务端。因此,RPC所提供的为客户端/服务端分布式极端提供了有力支持。同时,远程过程调用RPC所提供的是基于过程服务访问,客户端/服务端进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位服务端,在客户端发出请求的同事,要求服务端必须是活动;
  
  (2)CORBA中间件适用于具有同步性、异构性、确定性、客户/服务结构的应用需求。CORBA使用面向组件的编程模型,组件结构必须进行明确定义;DDS中间件适合于具有实时性、异步性、异构性、动态性和松耦合的应用需求。发布-订阅者模式下,两者不可直接通信,非常适用于多对多的通信方式,消除了客户端-服务器架构中可能的死机和单点崩溃等情况。
  
  表1中间件对比分析
  表1中间件对比分析

  3服务化即插即用架构分析

  
  通过以上分析的SCA应用中间件技术的布局及主流嵌入式中间件机制分析,可以得出分布式中间件技术在软件无线电体系架构中处于十分重要的作用和地位,实现了为应用组件化、服务化的模式提供了基础,提升了装备内部,装备与系统的互联互通互操作能力,有效实现了应用之间的信息分发与共享能力。
  
  实现服务化即插即用架构,需要屏蔽底层计算单元( GPP、FPGA、DSP)、总线(ETH、SRIO、1553B等)、等架构的差异化,才能较好的实现即插即用能力。基于以上分析,提出的架构如图9所示:
  图9 OSI 即插即用软件无线电系统架构
  图9 OSI 即插即用软件无线电系统架构
  

  4总结

  
  本文面向即插即用服务能力的软件无线电系统核心中间件技术,首先深入分析JTNC组织SCA 2.2.2版本和SCA4.1版本对中间件的规范要求,从强制性规范CORBA到开放中间件的选取,反应了软件无线电装备应用场景不断拓展的趋势。
  
  其次,针对嵌入式中间件机制进行了分析,针对远程过程调用技术、分布式对象调用技术、面向数据的中间件进行了对比了应用和技术的对比,并针对硬件全ORB技术的技术特点进,该技术拓展了软件无线电平台在异构场景的应用范围。
  
  最后给出了面向即插即用服务能力的架构,实现全应用虚拟化、服务化的能力软件无线电平台架构,该架构可以指导软件无线电平台的构建与研发。软件无线电技术的发展趋势是各类型的应用实现即插即用的能力,才能从根本上提高研发与装备的效率,达到优化开发流程,实现应用货架化目的。

Tags:

标签云