基于SOPC技术的软件无线电系统研究

2010-05-18 07:28杨正宇
网络安全与数据管理 2010年1期
关键词:信号处理内核嵌入式

杨正宇,李 兵

(西华大学 数学与计算机学院,四川 成都 610039)

自从MITRE公司的Jeo MITOLA于1992年5月在美国电信系统会议上首次明确提出了软件无线电的概念[1]以来,经过十多年的发展,无论在理论研究方面还是实践应用方面,软件无线电都取得了长足的进展。软件无线电[2]的中心思想就是构造一个具有开放性、标准化、模块化的通用硬件平台,通过软件的重构或升级来实现灵活多变的通信体制和通信功能,并尽可能地使宽带A/D和D/A转换器靠近射频天线,以研制出具有高度灵活性和开放性的新一代无线通信系统。

在软件无线电的早期实现方案中多是用DSP和ASIC来完成。然而这种方案有2个突出的缺点:一是系统的速度很难满足高速动态实时数字信号处理的要求;二是系统的体积大、功耗高。这2个突出缺点制约了软件无线电的推广和应用。随着可编程逻辑器件密度、规模和速度的快速增长,各个可编程逻辑器件厂商开始提出自己的SOPC片上可编程系统的软件和硬件一体化解决方案,为实现高速数字信号处理提供了可能。本文运用基于FPGA的SOPC技术构建了软件无线电平台,极大地提高了数字信号处理的能力和速度,减少了系统的功耗和体积。

1 软件无线电的结构

软件无线电的核心思想是将A/D、D/A尽可能地靠近天线,减少模拟处理的环节。在接收端:由天线接收的无线电信号经过必要的低噪声放大后,就直接对其进行数字化(ADC),数字化后的信号经过DSP完成数字下变频、数字滤波、数字解调等信号处理任务;在发射端:需要发射的基带信号通过DSP完成数字调制、数字上变频和数字滤波等信号处理任务后,经DAC转变为模拟信号,然后通过功率放大器放大到足够功率,最后由天线发射出去。理想的软件无线电结构如图1所示。

实际上,上述的软件无线电结构是很难实现的。首先,根据奈奎斯特采样定理,A/D的采样速率至少是其工作带宽的 2倍。例如:对于工作在 2 MHz~2 000 MHz的JTRS电台,其采样频率至少要达到4 GHz。目前A/D器件的采样频率很难达到这个要求,而且,如果A/D采样后的大量数据流直接交由DSP处理,将给DSP带来巨大的运算压力。以A/D采样速率仅为100 MHz的A/D器件为例,DSP每处理1个采样信号,大约需要100次运算,则总的运算速率为100×100 M=104MIPS。这样高的运算速率,目前的DSP芯片还难以达到。

图1 理想的软件无线电结构

针对上述问题,目前最常用的一种解决方案为:基于带通采样的宽带中频软件无线电结构。它的主要思想是:把射频信号通过混频搬移到中频再带通采样,使得A/D采样率、输入带宽满足系统要求,同时在DSP前加数字下变频器。

中频带通采样软件无线电结构采用多次混频体制,即超外差体制,把工作频段上的某一感兴趣的宽带射频信号经过放大、混频和滤波变换到统一的中频FIF上,最后由A/D转换器对中频信号进行采样数字化。它的最大好处就是降低了对A/D采样速率的要求,使软件无线电可实现性更强,但是也使得射频前端复杂化。

限于目前DSP的处理瓶颈,A/D采样后的大量数据一般先交由数字下变频器进行一些前期的处理再传递给DSP进行处理。数字下变频器一方面从包含所有信道的宽带信号中分离出某一用户窄带信道,另一方面对分离出的某一用户通道信号抽取、滤波和降低数据速率。数字下变频器可采用专用的ASIC芯片,如TI公司生产的GC5016芯片等,也可采用FPGA编程来实现。与专用的数字下变频器件相比,FPGA具有更大的灵活性,不会过分依赖于硬件,只需对软件进行修改就可以对系统进行升级和维护。

图2 一种典型的基于带通采样的宽带中频软件无线电结构

图2所示为一种典型的带通采样的宽带中频软件无线电结构。该设计方案中DSP主要完成基带信号处理(如定时同步、信道估计、FFT变换、解交织、编译码等)。通用微处理器GPP(General Purpose Processor)一般使用实时操作系统RTOS(Real Time Operation System)来进行任务调度和存储器管理。

2 软件无线电的解决方案

本文主要实现图2中的高速数字信号处理部分,数字信号处理模块是软件无线电的核心部分。在图2中的是高速数字信号处理部分的一种常用方案,通常是采用分离部件搭建的系统存在体积大、功耗高、成本高、各个单元之间的数据传输速率受限等缺点。SOPC方案可解决以上问题,并且还具有极高的灵活性和可扩展性。

SOPC技术是美国Altrea公司于2000年最早提出的。SOPC是一种特殊的嵌入式系统:首先,它是系统芯片(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁剪、可升级、可扩充,并具备软硬件在系统可编程的功能。它结合了SOC和FPGA的优点,具有以下基本特征:至少包含1个以上的嵌入式处理器IP核;具有小容量片内高速RAM资源;丰富的IP核资源可供灵活选择;有足够的片上可编程逻辑资源;处理器调试接口和FPGA编程接口共用或并存;可包含部分可编程模拟电路;单芯片、低功耗[3]。

目前主要的嵌入式处理器IP核有软核和硬核2种,本文采用Altera公司的Nios II软核处理器。Nios II核是用户可随意配置和构建的32位总线指令集和数据通道的嵌入式微处理器IP核,采用Avalon总线结构通信接口。Nios II有3种性能的处理器内核可供选择:快速的内核(Nios II/f)提供高性能;经济的内核(Nios II/e)满足低成本;标准的内核(Nios II/s)则用于性能和尺寸的平衡。此外,Nios II核含有许多可配置的接口模块核,包括:可配置高速缓存(包括片内 ESB、外部 SRAM或SDRAM)模块、可配置 RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等。在下载进FPGA前,用户可根据设计要求,利用Quartus II和SOPC Builder,对 Nios II及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。Nios II核在同一FPGA中被植入的数量没有限制,只要FPGA的资源允许[4]。

采用SOPC技术对图2中的高速数字信号处理部分进行改进,设计的SOPC方案如下:将原来由ASIC、DSP和GPP完成的工作全部交由1片FPGA构成的SOPC系统来完成。本文介绍了一种基于SOPC技术的软件无线电系统解决方案,如图3所示。

图3 一种基于SOPC技术的软件无线电系统解决方案

该系统的功能实现如下:由Nios II处理器1完成原来由ASIC完成的数字上、下变频处理,可通过调用直接数字合成器DDS(Direct Digital Synthesizer)IP模块来实现;Nios II处理器2主要完成调制/解调工作;Nios II处理器 4主要完成编码/解码工作;Nios II处理器 3用来替代原系统中的GPP完成系统参数的动态配置、人机交互界面、电台管理和控制以及系统中Flash配置内容的在线更新工作。其中,Nios II处理器 1、2、4都采用Nios II/f高速型32位内核;Nios II处理器3采用Nios II/s标准内核。此外,利用PCI IP核在FPGA中增加了32 bit的PCI Slave总线接口,省去传统方案中所需的 1块专用PCI接口芯片;加入了以太网IP核,配合外部以太网PHY接口芯片为系统扩展了以太网接口,以便支持设备通过网络远程对系统进行配置和管理;增加了SDRAM控制器,为系统外扩了SDRAM存储器,进一步增强了系统的数据处理能力。

3 系统的软硬件实现

下面就高速数字信号处理部分的硬件选型以及SOPC技术的开发流程、开发工具和编程技术作简要介绍。

3.1 高速ADC和DAC设计

软件无线电要求ADC、DAC尽可能地靠近天线,这需要ADC具有很高的采样率、采样精度和动态范围等特征。本系统的ADC采用BB公司的ADS5520,它具有12位的分辨率,125 MS/s的采样速率;在100 M信号输入情况下,信噪比(SNR)高达 69.7 dBFS,无寄生动态范围(SFDR)高达 82 dBC;芯片既支持 3.3 V的单电压供电,也支持2.3 V的差分输入电压;具有串行编程接口,可对内部寄存器进行编程,使器件工作在不同的状态。

DAC采用BB公司的DAC904芯片,14位的分辨率,165 MS/s的转换速率;可以3.3 V或5 V单电压供电。信号输出端使用截止频率为120 MHz的低通滤波器,以及双端到单端变换电路。

3.2 FPGA的设计

本平台的FPGA器件选用Altera公司的Stratix II FPGA。在Stratix II FPGA中,Altera引入了全新的逻辑单元体系结构——自适应逻辑模块(ALM),以及经过改进的片内TriMatrix存储器和数字信号处理(DSP)模块,进一步提高了性能[5]。根据现有的实验室条件本系统选用ALTERA公司的Stratix II EP2S60F1020C3型号的FPGA,它的主要特性如表1所示。

考虑到在Stratix II系列器件上,Nios II/f内核仅占用1 800个逻辑单元却可以达到超过200 DMIPS的性能,可以计算出前面设计的4个Nios II处理器再加上一些外围接口模块和用户逻辑,总共占用的LE资源不会超过40 000。这款FPGA完全满足系统的需求,剩余的资源可以留为以后系统升级所用。

表1 Stratix II EP2S60F1020C3的主要特性

3.3 SOPC的软硬件开发技术

SOPC设计包括以Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。SOPC系统设计的基本软件工具包括:(1)Quartus II,用于完成 Nios II系统的分析综合、硬件优化、适配、配置文件编程下载以及硬件系统测试等;(2)SOPC Builder,它是Nios II软核处理器的开发包,用于实现Nios II系统配置、生成以及与Nios II系统相关的监控和软件调试平台的生成;(3)ModelSim,用于对SOPC Builder生成的Nios II的HDL描述语言程序进行系统功能仿真;(4)Matlab/DSP Builder,用于生成 Nios II系统的硬件加速器,进而为Nios II系统定制新的指令;(5)Nios II IDE,用于完成基于Nios II系统的软件开发和调试,并可借助其自带的Flash编程器完成对Flash以及EPCS的编程操作。此外,Nios II IDE还包括1个指令集成模拟器、MicroC/OS-II实时操作系统、文件系统以及小型TCP/IP协议栈[6]。

SOPC的开发流程通常包括2个方面:基于Quartus II、SOPC Builder的硬件设计和基于 Nios II IDE的软件设计[7]。三者之间的关系如图4所示。

图4 SOPC的开发框图

特别值得一提的是,通过Matlab和DSP Builder或直接使用VHDL等硬件描述语言设计,用户可以为Nios嵌入式处理器设计各类加速器,并以指令的形式加入Nios的指令系统,从而成为Nios系统的一个接口设备,与整个片内嵌入式系统融为一体。用户可以根据设计项目按具体要求构建自己的DSP处理器系统,而不必拘于具体的DSP处理器型号。

使用SOPC解决方案带来了整个系统开发平台的统一,和其他解决方案相比,具有体积小、功耗低、成本低的优点。此外,开发环境的集成统一、IP核的使用等缩短了系统的开发周期。基于FPGA的SOPC技术具有很高的灵活性和开放性,这充分体现了软件无线电的优势,是实现软件无线电系统的理想方案。

[1]MITOLA J.软件无线电体系结构——应用于无线系统工程中的面向对象的方法[M].赵荣黎,等译.北京:机械工业出版社,2002.

[2]杨小牛.从软件无线电到认知无线电,走向终极无线电——无限通信发展展望[J].中国电子科学研究院学报,2008,3(1):1-7.

[3]潘松,黄继业,曾毓.SOPC技术实用教程[M].北京:清华大学出版社,2005.

[4]Altera Corporation.Brief of Nios II[Z].www.Altera.com.cn.2006.

[5]Altera Corporation.Stratix II Device Handbook[Z].www.Altera.com.cn.2005.

[6]周立功.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006:16-17.

[7]姚廷燕,赵维刚,常青,等.SOPC技术在软件无线电平台中的应用[J].遥测遥控,2005,26(4):56-60.

猜你喜欢
信号处理内核嵌入式
多内核操作系统综述①
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
强化『高新』内核 打造农业『硅谷』
TS系列红外传感器在嵌入式控制系统中的应用
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会