软件无线电设计之路
软件定义的无线电架构长期以来一直被认为是基站发展的灵丹妙药,由于这种无线电架构能够很快适应新的协议,曾一度被作为基础设施设计中支持多项无线协议的主要解决方案。直到最近,对于多数通信系统设计,软件定义的无线电架构还仅仅是未来计划项目。但是现在已经有所不同,随着3G无线应用的到来,人们对在基础设施设计中采用软件无线电架构重新产生了浓厚兴趣。
过去,无线应用的无线电设计是通过结合使用专用集成电路(ASIC)、数字信号处理器(DSP)和现场可编程门阵列(FPGA)等器件来完成的,在这些设计中,ASIC
和FPGA需要处理高级编码方案,如Reed
Solomon, Viterbi以及瑞克接受机(rake
receiver functionality)等, 而DSP则用来处理语音编码及其它语音处理任务。
在软件定义的无线电的发展过程中,DSP
、ASIC和FPGA之间功能的划分并非一成不变。ASIC开始具备越来越多的可编程能力,DSP和FPGA也具备传统ASIC的功能,这些产品之间的界限在逐步模糊,区分DSP
、ASIC和FPGA之间的功能差别更加困难。
设计人员现在需要耗费大量精力去评估传统ASIC实现的功能是否更适合于FPGA或DSP完成,或传统DSP实现的功能是否更适合于FPGA或ASIC等等。其实问题关键在于要找到合适的选择标准,然后再综合衡量每一种处理方案。
在选择任何标准之前,重要的是给软件定义无线电下一个准确的定义。对于到底什么构成软件无线电架构,说法不一。本文我们采用的是软件定义无线电论坛(Software
Defined Radio Forum)的方式,即把软件定义无线电确定为:“对多种多样的调制技术、宽窄带工作、通信安全功能(如跳频)和现在及未来涉及的标准,在很宽的频率范围内对波形的要求等提供软件控制的无线电”。
总体说来,选择DSP、ASIC和FPGA,有五个关键标准:
可编程性:对于所有接口,能重新配置器件使之实现想要的功能;
集成度:能够将几种功能集成到单一器件,以降低数字无线电系统的体积和硬件复杂程度;
研发周期:研发、实现和测试某一采用特定器件的数字无线电功能所需要的时间;
性能:器件在限定的时间内完成某项功能的能力;
功耗:器件完成需要的功能所消耗的功率。
上述每一项标准,对于设计师决定选择DSP
、ASIC还是FPGA都有直接影响。
在软件定义无线电设计中,DSP和FPGA可很容易重新配置实现多种功能,而目前常用的ASIC尽管成本低,性能也很好,但可编程性受到限制。问题的关键在于,在如此种类繁多的无线ASIC中,是否有一款适合于特定数字无线电产品。对于一个纯软件定义的无线电架构答案明显是否定的,但实际上只有少数数字无线电设计需要如此程度的灵活性。因此,开发任何软件定义无线电产品的关键一步是确定系统各项功能所需要的可编程要求,评估结果可用来确认现有产品是否合格适于该项功能。
考虑一个同时支持宽带CDMA(W-CDMA)和GSM的基站收发器架构,通过此例可展示如何确定处理功能。W-CDMA采用扩展频谱通信技术,数十个用户使用同一个RF信道。W-CDMA信号每个信道占有5MHz带宽,上行链路1920~1980MHz,下行链路2110~2170MHz。另一方面,GSM采用窄带TDMA技术,一般每个RF信道带宽为200kHz,只支持8个用户,上行链路890~915MHz,下行链路935~960MHz。
在软件定义的无线电架构中,为了支持如此繁多的标准,中频处理器中的数字上、下变频器件必须具备可编程信道选择、滤波器建立和采样率调节等功能。Intersil、Graychip、Analog
Devices等公司的新型多标准数字收发器都具备这些可编程性。例如,Graychip的数字下变频器GC4016可重新设置为4信道、窄带宽,每个信道最大可用基带带宽为2.25
MHz;或设置为单一信道,最大可用基带带宽为9
MHz。此外,GC4016每个信道还支持一个用户可编程基带滤波器和一个用户可编程重新采样器,使器件在特定的架构中适合于中频处理。
但如果器件有升级要求,比如要支持将来不确定的4G无线架构,ASIC在数字无线电设计中的应用就有所不同。已经有传言,由于正交频分复用技术在多通路环境下良好可靠的性能,以及兼容局部多点分布服务(Local
Multi-points Distribution Service,
LMDS)和多信道多点分布服务(Multi-channel
Multi-points Distribution Service,
MMDS)等宽带标准,在4G系统架构中该技术将得到应用。然而,由于4G标准尚不确定,如果考虑未来升级,在该架构中使用任何ASIC信号处理器件都极冒风险,必须使用DSP或FPGA进行中频处理。
数字信号处理距离中频输入越远,该架构的处理算法越专一,使单一ASIC不能满足所需的可编程标准。在3G/GSM无线电设计中,W-CDMA采用包括turbo
和卷积编码的误差校正得到所需的误码率性能,GSM则采用卷积编码和法尔编码的组合进行纠错。因此,对于某种特定的纠错算法,采用商用ASIC不可取,FPGA和DSP更为合适。
在集成度方面,ASIC也暴露了其在软件定义无线电架构应用中的缺点。随着ASIC、FPGA和DSP相关技术改进,可集成在单个器件里的功能急速增加,但对于ASIC,随着集成度增加,伴随的是灵活性降低。例如,用于设计数字收发器的ASIC芯片也许完全适合许多接口标准,如GSM、IS136、CDMA2000以及UMTS
W-CDMA。如果一个CDMA处理器和一个ASIC组合在一起,就不再适合GSM或IS136;增加一个支持QPSK、8-PSK和16-QAM的调制器(解调器),芯片即成为完成CDMA2000高数据传输的有效解决方案,但不再适合其它标准。
在该集成度上,需要多种ASIC器件支持众多的接口标准,这通常很不现实。相比之下,许多数字无线电功能可容易集成到DSP或FPGA器件,同时设计灵活性也没有多少损失。在上述例证中,多数CDMA2000功能可在Xilinx
XCV1000E中实现,如表1所示。相对于ASIC,此级别的集成度使产品具有较小的形状因数和更多实用性能。
在软件定义无线电产品设计中,ASIC较低的灵活性确实有一个优势:对应于市场现有ASIC的算法开发已经完成,产品可很快上市。以ASIC为基础的设计关键在于硬件,软件设计局限于实现器件可编程性的程序库。以DSP或FPGA为基础的设计需要较长的设计周期,相对于硬件,软件设计需要更多的资源。现有用于DSP和FPGA的优化通用算法程序库通常可以加速设计,但这些算法必须要集成在一起以得到理想的数字无线电功能,从而需要完整的软件开发周期。
应该注意,为DSP和FPGA设计软件有明显不同。编辑DSP软件算法所需的时间通常以秒计,而一个类似的算法在FPGA上综合、布线需要数小时。以Xilinx为例,布线速率通常是每小时40万门,对于一个较大的设计,编辑200万门的XCV2000E需要半天的时间。这样,FPGA设计的调试成本更高。因此在算法实现到器件之前,FPGA设计通常需要更多的分析,包括建立研发仿真和测试模型。
确定一个信号处理器件是否适合于软件定义无线电架构,必须要估测该器件在特定的时间内可不可以完成需要的性能。评估所用的一种基本标准测量是1024点阵快速傅立叶变换所需的处理时间,如表2所示。
在表2中,Catalina
公司的可编程ASIC性能明显胜过DSP和FPGA,对于任何特定的性能,ASIC表现最好。但比较DSP和FPGA的性能却非常困难,对于不同问题,这些器件架构各有千秋。DSP可以很高的速率运行,但只能有少数几个操作同时进行。相反,FPGA速率较慢,但可同时运行的操作数量几乎没有限制。为了更高地描述这种差异,以简单的16接头FIR滤波器为例,如图2所示。该滤波器每个采样需要16个乘加运算操作,TI公司的TMS320C6203
DSP时钟频率在300MHz,在一个优化设计中能有每秒4~5亿个乘加运算操作,因此一个C6203器件能够以约31M
采样/秒的最大输入速率完成FIR滤波。
然而FPGA所有16个乘加运算是并行产生,对于一个Xilinx
Virtex部件,一个16位乘加运算需要约160个可配置逻辑块(Configurable-logic-block,CLB)片,
具备16个同时乘加运算操作需要约2560个CLB,XCV300E能使FIR滤波器工作在输入采样率大于100M
Samples/s,轻松满足要求。
ASIC器件能提供杰出的功耗性能,但多数可编程器件的功耗需求随器件的使用和时钟速率迅速增加,在总体设计功耗评估时必须考虑。例如,一个以Altera
20K600可编程逻辑器件(PLD)构成的4信道下变频器,输入数据时钟工作在25
M
Samples/s时,功耗为2W,虽有些高,但对于特定应用还可接受;但输入率增加到65M
Samples/s,功耗骤增为5W,对于许多数字无线电产品已很难适用。相比之下,Analog
Devices的AD6624
四信道下变频器在工作于同样的速率时,功耗仅为700mW。
在低速率,FPGA功耗优于高端DSP。再看一个例子,Dish
Network用于数字视频广播的误差校正系统中,最大27.674Mbps的复用数据采用Reed-Solomon误差校正编码,该方案对每188个数据字节产生16个奇偶字节,最大复合数据速率达30Mbps。
TMS320C6203能够在5000周下解码Reed-Solomon,要得到所需的吞吐量,在300MHz时CPU至少消耗其最大功耗的50%,即1.53W。对比之下,现有采用Xilinx
XCV100E
的Reed-Solomon解码器才有不到200mW的功耗。这已是一相当大的改进,可和商用Reed-Solomon
ASIC取得的性能旗鼓相当。
表3对前面的内容做一总结,各种器件按每一类别做了分级,1表示最差,5为最好。考虑到上面的分析,在区分使用ASIC、FPGA和DSP进行设计时,有几条原则,现总结如下:
·如果能提供可接受的可编程性和集成度,对于特定的功能来说,ASIC是最好的解决方案。
·对于并行或线性高速信号处理,FPGA是最好的可编程解决方案。
·如果设计中有复杂的分析或决定,DSP是最好的可编程解决方案。
从发展趋势看,DSP、FPGA和ASIC将继续支持片上多功能性,这些产品之间的界限更加模糊,对于软件定义无线电设计,区分它们更加困难。■(麦凯)