新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的CORBA通信系统设计方案

基于FPGA的CORBA通信系统设计方案

作者:时间:2012-04-10来源:网络收藏

0 引言

本文引用地址:http://www.amcfsurvey.com/article/190529.htm

自1992年Jeo Mitola中提出了软件无线电(Software Defined Radio,SDR)的概念以来,有许多公司和团体致力于SDR的研究和开发,并取得了一定成果。但由于没有统一的标准,各研发单位采用各自不同的解决方案和实现架构,从而导致了不同制造商的SDR波形组件相互不兼容,难以实现互连、互通、互操作,不能进行有效的协同工作,而且也不容易实现重配置。为了解决这些问题,美军JTRS(Joint Tactical Radio System)JPEO(Joint Program Executive Office)制定了软件通信体系架构(Soltware CommLmication Arehitecture,SCA)规范,用以实现不同波形组件间的可移植性,以降低开发费用、缩短开发时间。SCA基于POSIX、(Common Obiect Request Broker Architecture)和面向对象等技术,提高了SDR的互操作性以及波形组件的可移植性和可重用性,并获得了GPP(General Purpose Processor)的良好支持,使基于SCA的SDR在GPP上能够很好地实现。

随着对无线通信带宽、速率等提出的更高要求,GPP受工作方式、处理能力的限制,难以满足这些要求,这就需要(Field Program-mable Gate Array)的加入来实现波形组件的并行处理和高速运算等功能。虽然SCA为GPP上的波形组件提供了很好的可移植性和可重用性,但目前还没有一个标准能够为上的波形组件提供这种支持。为了实现上波形组件的可移植性和可重用性,一些方案是在GPP上实现FPGA上波形组件的代理,其中比较典型的是JTRS JPEO提出的MHAL(Modem Hardware Abstraction Layer),同时,也有部分公司或团体提出了直接在FPGA上实现的方案。本文将在分析MHAL和现存的方案优缺点的基础上,提出一种在FPGA上实现CORBA的改进,并对该方案进行了测试验证。

1 技术介绍

1.1 CORBA简介

CORBA中间件标准是SCA必需的中间件层,它为SDR系统提供所需的通信架构。CORBA位于应用程序和操作系统之间,屏蔽了不同平台、操作系统、网络协议等的差别,为开发者提供了一致的调用模式。通过CORBA,应用组件可以获得良好的可移植性、可重用性和互操作性。

ORB(Object ReqLtest Broker)是CORBA的核心,其任务是帮助客户调用对象上的方法,包括:定位对象、激活对象、把客户的请求传递给对象。ORB能够屏蔽与底层平台有关的细节,保证了信息在分布式环境中不同平台上的应用组件间透明地传输。为了使由不同开发者开发的实现之间能相互通信,CORBA规范定义了GIOP(General Inter-ORB Protocol)协议标准,能够在任何具有连接的传输层上实现。

1.2 SCA简介

SCA是美军在JTRS中制定的软件通信架构标准,是JTRS的主干。SCA通过面向对象方法划分软件/硬件结构,建立了开放的系统标准,提供了与具体实现无关的软件无线电开发框架,保证了软、硬件的可移植、可重构及设备的互操作性。SCA规范包含软件体系结构定义、硬件体系结构定义、安全体系结构定义和应用程序接口(API)四部分。

通过SCA所定义的分布式构件规范,可将应用与操作环境分离,同时使应用功能模块化,并为管理和使用软件构件定义了通用接口,通用业务和API以支持软/硬件模块移植。

2 现有实现方案分析

GPP处理器受其处理能力的限制,无法满足当前通信业务需求,使通信设备越来越多地依靠DSP(Digital Signal Processor)、FPGA等专用处理器来完成高速的数据处理任务,这就使SDR系统的设计和实现必须面对由GPP,DSP和FPGA共同组成的多处理器平台。虽然通过使用COR BA中间件技术可以很容易地实现分布式波形应用,但由于CORBA标准是针对GPP的,在DSP,FPGA等处理器上没有相应的标准可用。这导致SCA /SDR的研究焦点分别集中在应用程序接口(API)和商用中间件上,使SCA/SDR的设计和实现出现了两种主要模式:使用使用硬件抽象层(如MHAL)和使用分布式中间件技术(如CORBA)。

2.1 使用MHAL方式实现的SCA/SDR系统

MHAL是JTRS JPEO提出的一种基于硬件抽象层的解决方案。其实现方法是通过在核心框架与FPGA之间加入代理,并明确规范代理与FPGA之间的数据格式来实现FPGA在SCA中的应用的。图1是以MHAL方式实现的分布式SCA/SDR系统布局结构示意图。这种方式下,GPP需要为FPGA上的每个波形组件实现一个代理,以实现分布式波形组件间的通信。通过使用代理,系统可以将FPGA上的波形组件当作GPP上的波形组件一样处理,这样就可以实现对FPGA上波形组件的灵活、高效的管理和使用。

在FPGA上实现的MHAL波形组件并通过接收带参数的操作来调用波形组件所实现的功能,虽然这样的实现方式对于FPGA开发人员而言,可以减小编写波形组代码的难度,但对于GPP开发人员来说,却要在GPP上为每个FPGA上的波形组件实现一个组件代理,大大增加了开发的负担。而且这这种实现方式也必然会相应地增加GPP的运行负担以及内存资源占用,同时,在进行GPP上的波形组件与FPGA上的波形组件问通信时,必须要经过组件代理的处理,实现GIOP报文与MHAL报文格式的转换,这也就必然会给整个通信过程引入一定的延迟的增加、吞吐量的降低和低层次的重用。

而且,在以MHAL方式实现的SCA/SDR系统中,开发者需要在GPP上设计实现适配器来完成GIOP报文和MHAL报文的转换,以便使用CORBA机制的波形组件和使用MHAL机制的波形组件间的通信。但对于适配器的实现,目前还没有统一的标准,而且,MHAL也不是一个针对通用市场的可用标准,它受到ITARS(International Traffic in Arins Regulations)限制,其实现细节并不公开,且MHAL报文结构的细节并不足以完成波形组件的实际需要,从而必然会导致不同的MHAL实现方式,且彼此间相互不兼容,这也必然会破坏MHAL波形组件的可移植性和可重用性。

2.2 使用CORBA方式实现的SCA/SDR系统

由于GPP上的波形组件是使用CORBA实现的,所以只要将CORBA扩展到DSP和FPGA上,就能够很容易地实现布署在各种类型处理器上的波形组件间的通信。图2是以CORBA方式实现的分布式SCA/SDR系统布局结构示意图。在以CORBA方式实现的SCA/SDR系统中,GPP保持原有状态即可,而DSP和FPGA上的ORB负责完成CORBA报文的处理。这使系统中所有波形组件使用CORBA中间件进行通信,而不需要在GPP上实现代理,不仅减轻了GPP的运行负担以及内存资源占用,而且系统中波形组件间的通信不再需要通过代理的转换,从而也就降低了通信时延,提高了通信效率。

同时,CORBA为不同类型的处理器提供统一的通信架构,使任何组件都能够以简单的函数调用方式获得分布于系统中的其他组件的服务。软件客户端和硬件服务程序之间由此变得连接无缝、快速并且使用较少的系统资源。与MHAL实现方式相比,该架构提供了波形组件的移动性和位置透明性,使得在同一处理器与在远程处理器中调用对象相比没有什么差别,使设计人员可以很容易地将波形组件从一个处理器中转移到另一个处理器中。这意味着,设计人员一开始可以在他们的工作站上构建SDR,然后很容易地将部件一块块转移到GPP、DSP和FPGA上,来优化系统总性能。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭