首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于SCA的软件无线电在FPGA上设计与实现
来源:本站整理  作者:佚名  2011-12-26 11:17:43




    (2)OIS公司在一项专利中提出了一种新的基于FPGA的CORBA实现方法。该方法是将ICO的ORB引擎的分为4个功能模块,包括ORB接收模块、ORB发送模块、接收操作适配器和发送操作适配器。其中ORB接收模块和ORB发送模块仅负责解析和封装GIOP的报文头信息,而接收操作适配器和发送操作适配器负责解析和封装与每个应用模块相关的操作名称和参数。这样,每个应用模块都有自己专属的处理操作名称和参数的处理单元,从而保证了FPGA上应用模块的灵活性和通用性,也可以满足部分重配置的需求。
    然而,由于在OIS公司的专利中所提出的解决方案中,必须为每个应用模块都实现一个接收操作适配器和一个发送操作适配器,由此导致应用模块的实现十分复杂,必然会给应用模块的开发人员带来一定的负担;同时,FPGA内部各应用模块之间的信息传递必须经过发送操作适配器和接收发送操作适配器的处理,这对于FPGA内部乃至FPGA之间高速数据传输的要求显然是不恰当的;而且,当一块FPGA中运行的应用模块数量较多时,也必然要有大量的计算资源和存储资源被处理操作名称和参数的逻辑所占用,无法实现硬件资源的有效利用,甚至造成资源的浪费,这也是实际应用中无法接受的。

3 改进的设计方案
    以上分析表明现存的种实现方案都不够理想,有必要设计一种新都实现机制来改善当前的设计。
    根据实际应用中通信系统的需求,结合上述分析的几种实现方案的优缺点,在兼顾系统的资源利用率、应用组件的易开发性、通用性、灵活性等各方面的性能,在现有设计方案对基础上,对FPGA上的ORB实现方案进行了改进,改进后的设计方案实现结构如图3所示。

f.jpg


    在实际应用中,实现各种波形的应用模块一般需要支持初始化、参数配置、参数查询、建立连接、断开连接、启动、停止、数据传递等操作功能,所以在改进后的方案中,根据应用模块的实际需要抽象出一组与上述操作相对应的操作名称:initialize,configcIre,query,connectPort,disconnectPort,start,stop,pushPACket等,可称之为公有操作。公有操作名称的识别和处理由ORB主适配器完成。另外,对那些只是个别应用模块所实现的操作,可称之为私有操作,其识别和处理则由应用模块的ORB辅助适配器完成。各模块发所实现的功能
如下:
    ORB主适配器(ORB Mian Adapter)实现的功能包括两个方面:一是解析接收到的GIOP报文信息,从接收到到报文信息中抽取出GIOP报文头和数据域,丢弃填充域。在该过程中,ORB主适配器需要基于GIOP报文头信息所提供的协议版本和数据大小端标志完成报文格式的识别和数据的大小端转换。需要注意的是GIOP报文中的ObjecKey和Operation Name段均是变长的信息,为了便于后续处理,需要在ORB主适配器的处理过程中将它们转换为固定的编码,其中ObjectKey转换为用于标识应用模块的地址编码,而Operation Name则转换为与之对应的控制信息;二是封装需要发送到GIOP报文信息,负责从应用模块的数据总线和控制总线接收数据与控制信息,然后加上GIOP报文头,将控制信息转换为相应的操作名称,填充对齐数据等完成GIOP报文信息封装,之后通过FIFO等类似的接口将数据传送出去。
    交叉开关(Crossbar Switch)实现的功能是根据接收到的地址编码完成控制信息和数据的转发。
    ORB辅助适配器(ORB Assistant Adapter)实现的功能与ORB主适配器类似,也包括两个方面:一是接收来自交叉开关的控制信息,若调用调用的是应用模块的私有操作,则将此操作名称转换为相应的操作编码后发送给给交叉开关,否则,直接将控制信息转发给应用模块;二是接收来自应用模块的控制信息,当应用模块调用私有操作时,则将操作编码转换为相应的私有操作名称后发送给给交叉开关,否则,直接将控制信息转发给交叉开关。
    应用模块(Application Module)根据控制信息完成对数据的处理,给出处理结果。
    图4为CORBA请求报文的接收处理流程。

c.jpg


    在根据改进后设计方案所实现的系统中,GPP上的应用将保持原有状态,不会引人任何额外的处理负担和处理延迟。FPGA上由ORB主适配器统一完成各个应用模块的公有操作,在减小FPGA硬件资源的浪费的同时也减轻了应用模块开发的负担。应用模块预留有私有操作处理接口,可对其实现的私有操作进行扩展,从而也保证了应用模块的灵活性和动态部分重配置功能的实现;而且,FPGA上各应用模块间的数据传递不需要额外的处理,也满足了高速处理的要求。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:16,523.44000 毫秒