新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于SCA的软件无线电在FPGA上设计与实现

基于SCA的软件无线电在FPGA上设计与实现

作者:时间:2011-12-22来源:网络收藏

而且,在以MHAL方式实现的/SDR系统中,开发者需要在GPP上设计实现适配器来完成GIOP报文和MHAL报文的转换,以便使用CORBA
机制的波形组件和使用MHAL机制的波形组件间的通信。但对于适配器的实现,目前还没有统一的标准,而且,MHAL也不是一个针对通用市场的可用标准,它受到ITARS(International Traffic in Arins Regulations)限制,其实现细节并不公开,且MHAL报文结构的细节并不足以完成波形组件的实际需要,从而必然会导致不同的MHAL实现方式,且彼此间相互不兼容,这也必然会破坏MHAL波形组件的可移植性和可重用性。
2.2 使用CORBA方式实现的/SDR系统
由于GPP上的波形组件是使用CORBA实现的,所以只要将CORBA扩展到DSP和上,就能够很容易地实现布署在各种类型处理器上的波形组件间的通信。图2是以CORBA方式实现的分布式/SDR系统布局结构示意图。在以CORBA方式实现的SCA/SDR系统中,GPP保持原有状态即可,而DSP和上的ORB负责完成CORBA报文的处理。这使系统中所有波形组件使用CORBA中间件进行通信,而不需要在GPP上实现代理,不仅减轻了GPP的运行负担以及内存资源占用,而且系统中波形组件间的通信不再需要通过代理的转换,从而也就降低了通信时延,提高了通信效率。

本文引用地址:http://www.eepw.com.cn/article/190887.htm

b.jpg


同时,CORBA为不同类型的处理器提供统一的通信架构,使任何组件都能够以简单的函数调用方式获得分布于系统中的其他组件的服务。软件客户端和硬件服务程序之间由此变得连接无缝、快速并且使用较少的系统资源。与MHAL实现方式相比,该架构提供了波形组件的移动性和位置透明性,使得在同一处理器与在远程处理器中调用对象相比没有什么差别,使设计人员可以很容易地将波形组件从一个处理器中转移到另一个处理器中。这意味着,设计人员一开始可以在他们的工作站上构建SDR,然后很容易地将部件一块块转移到GPP、DSP和上,来优化系统总性能。
虽然使用CORBA方式实现的SCA/SDR既保持SCA的兼容性,又减小了传输负载,而且,开发者也无需开发通用GPP上的定制代理。但由于FPGA的设计实现方式与GPP完全不同,其编程主要集中于底层硬件,往往同特定的可编程资源紧密联系在一起,而且FPGA不能提供等效的操作系统中虚拟地址等机制,从而使FPGA上CORBA功能的实现比较困难。目前为止,在FPGA上实现ORB的主要的方案有以下两种:
(1)Prismtech公司开发了一款集成电路ORB(ICO)产品,该产品提供了一个使用VHDL语言编写的ORB模块,能够运行于Xilinx,Altera等公司的多款FPGA上。整个产品包括ORB引擎、IDL-to-VHDL代码产生器和SCA应用组件等几个部分。ORB引擎负责GIOP报文的解析和封装,对于到达的GIOP请求报文,ORB引擎对报文中的对象键值、操作名称、参数等信息进行解析,然后将数据传递给特定的FPGA逻辑模块进行处理;如果处理结果需要向外部发送,则ORB引擎根据预先获得的一些信息,将结果封装为GIOP请求报文或应答报文,并通过网络进行传输。
尽管ICO实现了FPGA程序与分布式系统的直接ORB通信,但由于其ORB引擎的实现代码是由IDL-to-VHDL代码生成器根据特定的应用生成的,这就使其ORB引擎的实现逻辑与特定的FPGA应用程序密切相关,从而也就导致了ORB的引擎不具备通用性。一旦FPGA的应用程序做了修改,原有的ORB引擎往往无法对新应用程序的GIOP报文进行正确的解析和封装,此时必须再次使用IDL-to-VHDL代码生成器重新生成新的逻辑。目前有很多FPGA在硬件上已经具备了部分重配置功能,而且有一部分分布式应用,也需要实现FPGA的动态部分重配置,这就需要在动态改变FPGA部分逻辑功能的同时,依然保持ORB引擎和其他FPGA模块的正常工作,但ICO与FPGA应用程序的紧密相关性使这一功能无法实现。



关键词: FPGA SCA 软件无线电

评论


相关推荐

技术专区

关闭