论文部分内容阅读
摘 要: 介绍软件无线电(Software Defined Radio)的概念,分析DSP和FPGA在软件无线电中的优势,提出实现软件无线电平台的两种不同方案,着重研究DSP+FPGA组合技术在软件无线电中的应用和实现。FPGA和DSP混合设计方案使实现软件无线电更加灵活。
关键词: 软件无线电平台;DSP;SDR;FPGA
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2011)0820134-02
0 引言
软件无线电(SDR)的基本思想是使用软件来完成过去使用专用硬件才能完成的工作,其结构特点是让数字到模拟、模拟到数字的转换部分尽可能的靠近射频端,从而使信号尽早的数字化,用数字化器件来完成原先模拟器件才能完成的工作,这一思想是在数字通信发明之后电子领域的又一非常重要的技术革新。
在发展初期,人们提出软件无线电的思想实践使用DSP芯片、专用的可编程的逻辑器件来组合完成,但是随着现场可编程门阵列(FPGA)技术的快速发展,一代代更为强大的FPGA芯片的不断涌现,比如赛灵思公司(Xilinx)的Virtex系列,阿特拉公司(Altera)的Stratix系列,已经有超过百万的可编程逻辑门数,而且FPGA中直接嵌入DSP也成为FPGA的主流趋势,于是直接采用嵌入式DSP的FPGA芯片成为一种新的实践方案。目前,这种设计已经在很多系统中成功实现。
1 软件无线电的基本结构
软件无线电平台的特点在于他是开放的平台,只要为系统配置不同的软件,设置不同的参数,系统平台就可以完成特定的通信功能,而在硬件上通常不需要任何改变。假如我们可以为软件无线电平台配置多频段的天线,那么我们可以方便地在不同频段之间切换,快速的更新系统的工作状态,从而达到与现在市场上依据众多不同标准制造的设备兼容的目的。
系统的主要设计思想是:数字到模拟、模拟到数字的转换部分靠近射频端,依靠软件来实现无线电平台的众多功能。用户通过软件的更新,可以实现选择工作频段,修改调制方式,更新通信协议,灵活地将通用的通信平台配置为适用于自己的专用通信平台。然而,在过去为了实现上述过程,用户通常需要购买新的昂贵的硬件设备,还要经过复杂的调试才可以完成。软件无线电平台的构建,可以使用户以较低的成本获得开放灵活的通信系统平台,图一为软件无线电平台的基本结构图。
为了实现软件无线电平台的多频段工作模式,同时使数字模拟与模拟数字变换部分接近射频端,系统平台需要采用宽频带天线,假如无法满足,多频段天线也是很好的选择,天线是整个系统最终的部分,也是实现软件无线电的关键技术难题所在。
除此之外,软件无线电平台对数字信号处理的要求非常高,其指标主要包括运算能力,运算速率,内存容量,I/O速率,要实现这样的系统平台,对系统的各个组成部分都有很高的要求,在软件无线电思想刚刚出现时,各方面的技术还不成熟,无法构建真正意义上的软件无线电平台,于是出现了很多折衷的设计方案。目前,随着电子器件工艺的提高,宽带天线,高速A/D,高性能的DSP与FPGA都已经逐步成为现实,实现通用软件无线电平台的条件也日趋成熟。
2 DSP+FPGA设计方案
无线电台中通过信息量是非常巨大的,为了了实现信号的正常提取,通常要经过多个滤波器,多次变频运算才可以完成。为了满足上述的要求,一般情况下我们只能求助于模拟器件组合实现上述功能,然而在数字领域,为了达到近似的效果,超高速地数字信号处理模块就成为必须突破的技术难题,好在现在已经有了DSP与FPGA,由他们组合协调完成上述工作并不难。
我们试着来分析一个常见的无线电平台系统。通常来说,一个标准的滤波器需要将阶数做到近100阶,即近似对每个采样数据进行100多次以上的运算,对于100Msps的采样速率来说,系统的工作速率至少要达到10000MIPS。然而标准的DSP芯片的也就工作在几百MIPS,这巨大的差距说明,用依靠DSP完成上变频或者下变频是很不现实的,然而FPGA的工作主频更高,灵活性更大,可以依靠FPGA来设计各种高性能的滤波器和简单的数据运算,而其他过程中运算非常集中的部分,如编码、解码、加密、通信协议,依靠DSP芯片来完成。如此,各司其职,相互搭配,才能满足软件无线电平台的性能要求。
在实践中可以发现,DSP+FPGA已经成为了追求数字信号处理高性能的常用方案,经常被用到各种通信系统中。目前构建软件无线的平台的方案主要有两种:其一是使用FPGA与DSP芯片组合工作的方式,建立一定的外部协议使两者协调工作;其二是基于使用嵌入式DSP的FPGA的方案,直接调用FPGA内设的DSP完成运算工作,集成度更高,也更容易调试。
2.1 DSP+FPGA方案
从上图中我们可以看出,FPGA由于拥有丰富的I/O接口,在系统中扮演着控制数模转化器,DSP芯片的角色,作为协助者连接到DSP和其他高性能处理器上,这样的搭配利用较低的成本获得了很高的系统性能。在信号的处理的底层,通常数据量非常的大,然而运算缺相对比较简单,这样的工作一般分配给工作速率快而计算能力相对较弱的FPGA完成,如此设计可以在运行速度与灵活性之间取得平衡。相对的,信号处理的高层的算法都趋于复杂,然而数据量却相对减少很多,这时考虑使用运算速率快,计算能力强的DSP来完成,此外,由于DSP芯片的编程拥有多样的寻址方式,在进行复杂的运算时,对于用户编程会更加方便、灵活。
DSP与FPGA组合设计方案的核心控制与运算部分由DSP芯片与现场可编程门阵列(FPGA)组成,其中,DSP负责对信号数据的高层运算,而FPGA负责芯片的控制与简单运算。FPGA可以通过HDL语言来非常方便的编程配置,DSP芯片也通常使用C语言与汇编混编的方式编程配置,通过编程配置无线电平台正是软件无线电的精髓所在。如此设计,整个系统平台并不会被硬件的功能所局限,通过对软件的重新下载,对参数的重新修改,用户便可以对系统进行功能修改,或者对整个系统进行升级。
2.2 采用FPGA中嵌入DSP核的方案
FPGA中嵌入DSP核的方案与2.1中的所叙述方案的基本原理是相同的,但也有其独特之处,其主要优势体现在FPGA中内嵌入DSP,而不是分离式的DSP处理器。
目前,最新出现的FPGA已经将DSP核嵌入到FPGA中来,VLSI技术的发展使芯片的面积越来越小,功耗越来越小,但功能却越来越强大。嵌入式DSP的设计使其与FPGA融为一体,可以共享FPGA中的资源,方便开发者对整个系统的把握与设计。
此外,FPGA中的DSP核还可以通过软核的形式存在,即DSP核并不是在芯片中固定好的一片硬件区域,而是通过调用的方式可以在FPGA上面设置多个DSP来提高系统的信息处理能力,这样可以使单个DSP核服务一特定的频段,通过在I/O处选择不同的DSP输出获得不同的频段信号结果,实现单系统多功能。同时,FPGA还可以驱动多个数模模块和模数模块,与芯片内部的多个DSP核连接,如此实现了高度的集成化,方便调试的同时也使系统的灵活性进一步提高。
3 人机交互功能
以FPGA为核心实现软件无线电平台,会有很多优势,其中之一就是FPGA灵活的架构可以让开发者很容易的实现人机交互功能。在软件无线电平台系统运行过程中,数据量是非常巨大的,然而硬件不可能保证运算过程中百分之百不会出错误,这样的话信号丢失的现象是不可避免的。但是,利用FPGA内部的存储空间,可以将信号数据先保存再运算,倘若运算中发现错误只需要从存储器中重新读出就可以,从而减少信号丢失现象,保证系统的可靠运行。
人机交互的设计方法如下:原始的信号首先经过数字化,由FPGA进过简单运算后送入DSP,与此同时,将信号的备份传送到FPGA内部存储器,在系统高速运行过程中由DSP给FPGA反馈信号,假如发现信号丢失,FPGA立刻从存储器中读出备份数据送入DSP。需要注意的是,由于数模转化端地速率通常很快,数据量非常大,为此必须建立一套机制对存储空间中的数据进行刷新与清除。此外,开发者可以增加一个控制端与PC机进行连接,将数据实时传送到PC进行监视,也可以建立一定的协议,利用电脑来控制整个系统。
4 软件无线电平台的设计与实现
在DSP与FPGA合作的方案中,AD采用TI公司的ADS5547,这款AD的分辨率很高达14bit,采样率峰值可以达到220MHz,DA同样采用TI公司的产品,DAC5672,分辨率同样为14bit,完全可以满足信号重建的要求。至于DSP芯片,我们选择了TMS320C6416芯片,这款芯片的性能同样强大,其运算速率可以达到4800MIPS,可以满足高层的数据运算需要。FPGA部分,我们选用了比较成熟的阿特拉公司(Altera)的Cyclone III系列产品,其工作频率在使用片上锁相环后可以高达200MHz,片上资源非常丰富。
在设计中,DSP负责完成调制、解调、编码、解码、通信协议,在采用汇编与C语言混合编程的情况,DSP可以进一步提高运算效率;FPGA部分主要完成数模模块,模数模块的控制,下变频,滤波器,还有与DSP的协同控制。
此外,FPGA上存储区的设计也至关重要,通常我们使用FIFO来完成FPGA与DSP之间的数据传递过程。FPGA在控制AD将信号量化为数据以后,首先存入FIFO中,然后向DSP信号发出中断请求,DSP在收到请求并且空闲时便会响应中断请求,将数据从FIFO中取出进行复杂的运算。FIFO的出现也可以缓和FPGA与DSP之间速度不匹配的矛盾,设置较大的FIFO更有利于系统的稳定,在DSP比较繁忙时,FPGA采集来的数据也许无法马上被处理,这时可以暂存在FIFO中,从而不至于造成重要信号数据的丢失。
由图3可以看出,FPGA控制A/D芯片进行采样将输入的AM模拟信号量化为数字信号,在量化的同时对数字数据开始进行处理,为了仿真方便,暂时去掉了FIFO部分,同时将DSP的数字处理功能暂时利用FPGA完成,经过一系列的数字滤波器与运算,最终完成了解调AM波信号。对于无线电的中的其他更为复杂的应用,只需要更改FPGA中的程序以及DSP信号的算法,就可以完成。例如:BPSK调制,QAM调制,Wifi信号的解调。我们拥有的一套完成的软件无线电平台,只需为其配置不同的软件,便可以获得我们所需要的不同功能,实现了某种程度上的“硬件软件化”。
5 结束语
目前,DSP与FPGA的组合方案是实现软件无线电平台的比较好的选择,我们可以通过整合FPGA与DSP两者的优点,通过优势互补,获得单一芯片无法实现的较强的系统性能。这样的设计利用了FPGA丰富的I/O资源与较快的运行速率以及DSP较强的数据运算能力,同时,两者都是通过编程的方式进行配置,提高了系统的灵活性,正符合软件无线电硬件平台系统的要求。
本文由北京邮电大学大学生研究创新基金(Research Innovation Fund for College Student of Beijing University of Posts and Telecommunicat
Ions)资助。
参考文献:
[1]刘凌、胡永生,数字信号处理的FPGA实现,北京:清华大学出版社,2003.
[2]赵明忠、顾斌、王钧铭等,DSP应用技术,西安:西安电子科技大学出版社,2004.
[3]徐以涛、沈良、王金龙,FPGA技术在软件无线电中的应用[J].电信科学,2001(11):17-20.
[4]张岷涛,一款用DSP+FPGA实现的数字相关器[J].现代电子技术,2006(9):32-35.
关键词: 软件无线电平台;DSP;SDR;FPGA
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2011)0820134-02
0 引言
软件无线电(SDR)的基本思想是使用软件来完成过去使用专用硬件才能完成的工作,其结构特点是让数字到模拟、模拟到数字的转换部分尽可能的靠近射频端,从而使信号尽早的数字化,用数字化器件来完成原先模拟器件才能完成的工作,这一思想是在数字通信发明之后电子领域的又一非常重要的技术革新。
在发展初期,人们提出软件无线电的思想实践使用DSP芯片、专用的可编程的逻辑器件来组合完成,但是随着现场可编程门阵列(FPGA)技术的快速发展,一代代更为强大的FPGA芯片的不断涌现,比如赛灵思公司(Xilinx)的Virtex系列,阿特拉公司(Altera)的Stratix系列,已经有超过百万的可编程逻辑门数,而且FPGA中直接嵌入DSP也成为FPGA的主流趋势,于是直接采用嵌入式DSP的FPGA芯片成为一种新的实践方案。目前,这种设计已经在很多系统中成功实现。
1 软件无线电的基本结构
软件无线电平台的特点在于他是开放的平台,只要为系统配置不同的软件,设置不同的参数,系统平台就可以完成特定的通信功能,而在硬件上通常不需要任何改变。假如我们可以为软件无线电平台配置多频段的天线,那么我们可以方便地在不同频段之间切换,快速的更新系统的工作状态,从而达到与现在市场上依据众多不同标准制造的设备兼容的目的。
系统的主要设计思想是:数字到模拟、模拟到数字的转换部分靠近射频端,依靠软件来实现无线电平台的众多功能。用户通过软件的更新,可以实现选择工作频段,修改调制方式,更新通信协议,灵活地将通用的通信平台配置为适用于自己的专用通信平台。然而,在过去为了实现上述过程,用户通常需要购买新的昂贵的硬件设备,还要经过复杂的调试才可以完成。软件无线电平台的构建,可以使用户以较低的成本获得开放灵活的通信系统平台,图一为软件无线电平台的基本结构图。
为了实现软件无线电平台的多频段工作模式,同时使数字模拟与模拟数字变换部分接近射频端,系统平台需要采用宽频带天线,假如无法满足,多频段天线也是很好的选择,天线是整个系统最终的部分,也是实现软件无线电的关键技术难题所在。
除此之外,软件无线电平台对数字信号处理的要求非常高,其指标主要包括运算能力,运算速率,内存容量,I/O速率,要实现这样的系统平台,对系统的各个组成部分都有很高的要求,在软件无线电思想刚刚出现时,各方面的技术还不成熟,无法构建真正意义上的软件无线电平台,于是出现了很多折衷的设计方案。目前,随着电子器件工艺的提高,宽带天线,高速A/D,高性能的DSP与FPGA都已经逐步成为现实,实现通用软件无线电平台的条件也日趋成熟。
2 DSP+FPGA设计方案
无线电台中通过信息量是非常巨大的,为了了实现信号的正常提取,通常要经过多个滤波器,多次变频运算才可以完成。为了满足上述的要求,一般情况下我们只能求助于模拟器件组合实现上述功能,然而在数字领域,为了达到近似的效果,超高速地数字信号处理模块就成为必须突破的技术难题,好在现在已经有了DSP与FPGA,由他们组合协调完成上述工作并不难。
我们试着来分析一个常见的无线电平台系统。通常来说,一个标准的滤波器需要将阶数做到近100阶,即近似对每个采样数据进行100多次以上的运算,对于100Msps的采样速率来说,系统的工作速率至少要达到10000MIPS。然而标准的DSP芯片的也就工作在几百MIPS,这巨大的差距说明,用依靠DSP完成上变频或者下变频是很不现实的,然而FPGA的工作主频更高,灵活性更大,可以依靠FPGA来设计各种高性能的滤波器和简单的数据运算,而其他过程中运算非常集中的部分,如编码、解码、加密、通信协议,依靠DSP芯片来完成。如此,各司其职,相互搭配,才能满足软件无线电平台的性能要求。
在实践中可以发现,DSP+FPGA已经成为了追求数字信号处理高性能的常用方案,经常被用到各种通信系统中。目前构建软件无线的平台的方案主要有两种:其一是使用FPGA与DSP芯片组合工作的方式,建立一定的外部协议使两者协调工作;其二是基于使用嵌入式DSP的FPGA的方案,直接调用FPGA内设的DSP完成运算工作,集成度更高,也更容易调试。
2.1 DSP+FPGA方案
从上图中我们可以看出,FPGA由于拥有丰富的I/O接口,在系统中扮演着控制数模转化器,DSP芯片的角色,作为协助者连接到DSP和其他高性能处理器上,这样的搭配利用较低的成本获得了很高的系统性能。在信号的处理的底层,通常数据量非常的大,然而运算缺相对比较简单,这样的工作一般分配给工作速率快而计算能力相对较弱的FPGA完成,如此设计可以在运行速度与灵活性之间取得平衡。相对的,信号处理的高层的算法都趋于复杂,然而数据量却相对减少很多,这时考虑使用运算速率快,计算能力强的DSP来完成,此外,由于DSP芯片的编程拥有多样的寻址方式,在进行复杂的运算时,对于用户编程会更加方便、灵活。
DSP与FPGA组合设计方案的核心控制与运算部分由DSP芯片与现场可编程门阵列(FPGA)组成,其中,DSP负责对信号数据的高层运算,而FPGA负责芯片的控制与简单运算。FPGA可以通过HDL语言来非常方便的编程配置,DSP芯片也通常使用C语言与汇编混编的方式编程配置,通过编程配置无线电平台正是软件无线电的精髓所在。如此设计,整个系统平台并不会被硬件的功能所局限,通过对软件的重新下载,对参数的重新修改,用户便可以对系统进行功能修改,或者对整个系统进行升级。
2.2 采用FPGA中嵌入DSP核的方案
FPGA中嵌入DSP核的方案与2.1中的所叙述方案的基本原理是相同的,但也有其独特之处,其主要优势体现在FPGA中内嵌入DSP,而不是分离式的DSP处理器。
目前,最新出现的FPGA已经将DSP核嵌入到FPGA中来,VLSI技术的发展使芯片的面积越来越小,功耗越来越小,但功能却越来越强大。嵌入式DSP的设计使其与FPGA融为一体,可以共享FPGA中的资源,方便开发者对整个系统的把握与设计。
此外,FPGA中的DSP核还可以通过软核的形式存在,即DSP核并不是在芯片中固定好的一片硬件区域,而是通过调用的方式可以在FPGA上面设置多个DSP来提高系统的信息处理能力,这样可以使单个DSP核服务一特定的频段,通过在I/O处选择不同的DSP输出获得不同的频段信号结果,实现单系统多功能。同时,FPGA还可以驱动多个数模模块和模数模块,与芯片内部的多个DSP核连接,如此实现了高度的集成化,方便调试的同时也使系统的灵活性进一步提高。
3 人机交互功能
以FPGA为核心实现软件无线电平台,会有很多优势,其中之一就是FPGA灵活的架构可以让开发者很容易的实现人机交互功能。在软件无线电平台系统运行过程中,数据量是非常巨大的,然而硬件不可能保证运算过程中百分之百不会出错误,这样的话信号丢失的现象是不可避免的。但是,利用FPGA内部的存储空间,可以将信号数据先保存再运算,倘若运算中发现错误只需要从存储器中重新读出就可以,从而减少信号丢失现象,保证系统的可靠运行。
人机交互的设计方法如下:原始的信号首先经过数字化,由FPGA进过简单运算后送入DSP,与此同时,将信号的备份传送到FPGA内部存储器,在系统高速运行过程中由DSP给FPGA反馈信号,假如发现信号丢失,FPGA立刻从存储器中读出备份数据送入DSP。需要注意的是,由于数模转化端地速率通常很快,数据量非常大,为此必须建立一套机制对存储空间中的数据进行刷新与清除。此外,开发者可以增加一个控制端与PC机进行连接,将数据实时传送到PC进行监视,也可以建立一定的协议,利用电脑来控制整个系统。
4 软件无线电平台的设计与实现
在DSP与FPGA合作的方案中,AD采用TI公司的ADS5547,这款AD的分辨率很高达14bit,采样率峰值可以达到220MHz,DA同样采用TI公司的产品,DAC5672,分辨率同样为14bit,完全可以满足信号重建的要求。至于DSP芯片,我们选择了TMS320C6416芯片,这款芯片的性能同样强大,其运算速率可以达到4800MIPS,可以满足高层的数据运算需要。FPGA部分,我们选用了比较成熟的阿特拉公司(Altera)的Cyclone III系列产品,其工作频率在使用片上锁相环后可以高达200MHz,片上资源非常丰富。
在设计中,DSP负责完成调制、解调、编码、解码、通信协议,在采用汇编与C语言混合编程的情况,DSP可以进一步提高运算效率;FPGA部分主要完成数模模块,模数模块的控制,下变频,滤波器,还有与DSP的协同控制。
此外,FPGA上存储区的设计也至关重要,通常我们使用FIFO来完成FPGA与DSP之间的数据传递过程。FPGA在控制AD将信号量化为数据以后,首先存入FIFO中,然后向DSP信号发出中断请求,DSP在收到请求并且空闲时便会响应中断请求,将数据从FIFO中取出进行复杂的运算。FIFO的出现也可以缓和FPGA与DSP之间速度不匹配的矛盾,设置较大的FIFO更有利于系统的稳定,在DSP比较繁忙时,FPGA采集来的数据也许无法马上被处理,这时可以暂存在FIFO中,从而不至于造成重要信号数据的丢失。
由图3可以看出,FPGA控制A/D芯片进行采样将输入的AM模拟信号量化为数字信号,在量化的同时对数字数据开始进行处理,为了仿真方便,暂时去掉了FIFO部分,同时将DSP的数字处理功能暂时利用FPGA完成,经过一系列的数字滤波器与运算,最终完成了解调AM波信号。对于无线电的中的其他更为复杂的应用,只需要更改FPGA中的程序以及DSP信号的算法,就可以完成。例如:BPSK调制,QAM调制,Wifi信号的解调。我们拥有的一套完成的软件无线电平台,只需为其配置不同的软件,便可以获得我们所需要的不同功能,实现了某种程度上的“硬件软件化”。
5 结束语
目前,DSP与FPGA的组合方案是实现软件无线电平台的比较好的选择,我们可以通过整合FPGA与DSP两者的优点,通过优势互补,获得单一芯片无法实现的较强的系统性能。这样的设计利用了FPGA丰富的I/O资源与较快的运行速率以及DSP较强的数据运算能力,同时,两者都是通过编程的方式进行配置,提高了系统的灵活性,正符合软件无线电硬件平台系统的要求。
本文由北京邮电大学大学生研究创新基金(Research Innovation Fund for College Student of Beijing University of Posts and Telecommunicat
Ions)资助。
参考文献:
[1]刘凌、胡永生,数字信号处理的FPGA实现,北京:清华大学出版社,2003.
[2]赵明忠、顾斌、王钧铭等,DSP应用技术,西安:西安电子科技大学出版社,2004.
[3]徐以涛、沈良、王金龙,FPGA技术在软件无线电中的应用[J].电信科学,2001(11):17-20.
[4]张岷涛,一款用DSP+FPGA实现的数字相关器[J].现代电子技术,2006(9):32-35.