基于SCA规范下FPGA的硬件抽象层设计
软件无线电(Software Radio)是指用软件定义的、能实现多种功能的无线电通讯系统,其核心思想是构造一个具有开放性、标准化、模块化的通用硬件平台,以将各种功能(如工作频段、调制解调类型、数据格式、加密模式、通信协议等)用软件来完成,从而通过加载不同的通信软件来实现不同的通信模式和功能。由于功能的定义和实现都由软件完成,所以可以通过配置不同的参数来支持不同电台系统的互连互通,这使得软件定义无线电具有很强的灵活性。
本文引用地址://m.amcfsurvey.com/article/191737.htm由于软件无线电的诸多优点,美军的联合战术无线电系统(JTRS)计划采用了软件无线电的设计思想,并定义了软件通信体系结构(SCA)规范。目的是实现电台硬件的模块化,软件的可移植、可重用和可互操作性。将SCA体系结构逐渐扩展到2 GHz以上使用时,如果还在SCA的硬件体系结构中仅仅使用通用处理器(GPP)和DSP等,将无法满足高速数字信号处理发展的需求,因此,能更好适应高速数字信号处理的可编程器件(FPGA)将不可避免的需要应用到SCA的硬件平台中。目前,FPGA并不支持CORBA中间件,故不能直接应用到SCA体系结构中。另外,由于FPGA芯片的外部输入/输出端口没有像通用处理器和DSP芯片那样从应用程序中抽象出来,当每次应用程序代码移植到新的平台时,这些接口都要改变,这一点不利于实现波形应用的可移植性。
SCA3.0规范中提出了硬件抽象层连接(HAL-C)的概念。硬件抽象层可对具体硬件的实现进行抽象,它介于硬件平台和运行于硬件平台上的软件之间。负责完成软件设计中与硬件相关的内容,并完成相关的接口功能,它可使软件的设计很好地独立于硬件,从而有效地提高软件设计的可移植性。使得在JTRS设备的开发过程中能实现应用软件的设计与通用硬件平台的开发相分离,尽可能减小硬件平台的具体结构对应用软件设计的影响。
1硬件抽象层的基本概念及结构
HAL-C通过对硬件单元的对外接口进行抽象,从而定义了一系列标准的通信应用编程接口(API),以实现与外部的通信功能。这样,当要求与外部通信时,仅需要通过对定义好的不同的API进行调用即可,这将极大地减小硬件平台结构对软件设计的影响,有效地降低对重要软件组件接口进行重新编写的可能性。
1.1基本概念
在硬件抽象层概念中,波形(Waveform)一般是指为了实现信息的无线传输而对信息所采取的一系列变换,一般包括无线通信双方为实现传输而采取的所有协议;处理元件(Processing Element,PE)是指一个能够执行信号处理功能的硬件组件,通常GPP、DSP、FPGA、ASIC或者其它的能够执行信号处理功能的硬件设备都可以看作是一个处理元件;硬件抽象层组件(HAI-CComponent,HC)是完成一定处理功能的一个功能模块,它属于波形应用的一个部分,通常HC是一个执行于目标设备上的、由波形开发人员编写的软件模块,HC需要运行于一个给定的PE上,且同一个PE可以运行多个HC。
1.2硬件抽象层基本结构
硬件抽象层连接时,可根据不同硬件模块的特点对硬件模块进行抽象,抽象后的硬件再对外接口。对于软件模块的设计者来说,只是提供收发数据的功能,那么,具体如何实现收发功能即不需要软件设计者考虑。其典型的HAL-C模型如图1所示。
![](http://m.amcfsurvey.com/editerupload/fetch/20131118/191737_1_0.jpg)
评论