软件无线电的功率:一种针对功率设计SDR的整体方法
扫描二维码
随时随地手机看文章
传统上,降低软件无线电(SDR)硬件的功耗一直是我们工作的重点,但是,显而易见软件也有重要影响,因此,需要一种降低SDR功耗的整体设计方法。一种能发挥SDR功能的测试床能帮我们解决这个问题。
由于像美国联合战术无线电系统(JTRS)这样的计划,软件定义的无线电(SDR)早已被证实。然而,有许多问题严重地制约着SDR的广泛部署,其中相当重要的问题就是功率。
功率是在设计每一个SDR子系统时的主要考虑因素,特别是因为它们要消耗比硬件无线电更多的功率。例如,为了获得预期的无线电通信距离(依赖于链路的状况,典型值为5-10千米数量级),射频(RF)前端必须具备足够的发射功率。同样,对于靠电池工作的无线电设备,RF前端、调制解调器和加密处理子系统的功耗都直接影响无线电设备的寿命。此外,对由调制解调器产生的热量进行散热的能力直接影响到无线电设备的寿命,并且甚至可能影响到能在机箱中同时处理的通道数,且有更多的影响。
因此,降低一个SDR的功率有许多好处,这些好处可能甚至包括通过购买更少的备用电池而降低运营费用。在此,为了获得其中的一些好处,我们谈论的重点将放在降低SDR调制解调器功耗的整体方法上。
降低功耗的硬件方法
为了降低调制解调器中的功耗,大多数人首先注意的就是在处理过程中的硬件,其中,通常包含现场可编程门阵列(FPGA)、数字信号处理器(DSP)和通用目的处理器(GPP)。区分任何硬件器件的两个功耗源——静态功耗和动态功耗——是至关重要的。静态功耗是一个已加电但不活跃的器件所消耗的固有功率,由晶体管的电流泄漏所控制。另一方面,动态功耗是由活跃使用的器件所消耗的功率,该功率受到若干变量的影响,包括电源电压、对外部存储器的访问次数、数据带宽,等等。检测两种类型的功耗是至关重要的,特别是在无线电设备具有一个通常接收比发射更长的占空周期的情形下。在GPP和甚至DSP的情形下,像频率调节、电压调节和电源关闭模式这样的电源管理功能已经变得日益普遍。然而,关于FPGA又是什么情况呢?
图1:用于降低SDR功耗的一种真正的整体方法要采用来自每一个象限的多种技术。
有许多方法可以用来降低FPGA中的静态或动态功耗,其中许多方法不是可以同时应用的。一些降低静态功耗的方法包括三极栅氧化层电源门控。
利用三极栅氧化层,硅供应商在晶体管上覆盖一层氧化层以减少泄漏;覆盖层越厚,泄漏就越小。性能保持平衡。在内核中需要性能的地方,常见的就是采用薄的氧化层;而对于驱动较高电压的I/O,要采用厚的氧化层。在不需要最大性能的地方,如配置SRAM,附加的中间氧化层可以极大地降低泄漏。利用这种技术的FPGA的例子包括赛灵思的Virtex-4 和 Virtex-5系列。
图2:带有功率测量值的基于模型设计流程可以简化对波形划分的决策
当FPGA模块未被使用时,电源门控涉及晶体管的使用以降低待机泄漏。这种技术的一个例子可以在低功耗睡眠模式中看到。例如,如果在一个FPGA中的所有模块都被电源门控,该器件就消耗非常小的静态功耗。在这种情形下,平衡的是FPGA的配置的损耗,以便该器件在唤醒过程期间被完全地重配置,这个过程可能要花几毫秒。另一方面,除了那些具有配置的模块(比如配置存储器)之外,如果所有的模块都被电源门控,那么,FPGA的状态就被保持住了。尽管唤醒时间被极大地缩短了,但是,所节省的功率远远不如当所有模块都被电源门控时那样显著。赛灵思的Spartan-3A系列的FPGA支持两种类型的电源门控。
动态功耗是功率等式的另外一部分。降低动态功耗的方法包括处理器集成、专用IP模块和时钟门控。
对于具有嵌入式GPP和DSP引擎的平台FPGA来说,处理器集成是非常有用的。通过采用嵌入式GPP,而不是离散的GPP,就不必驱动数据从FPGA跨越外部I/O线到GPP(跨越外部I/O线通常消耗大量的功率),从而节省功率。Virtex-4 FX器件就是平台FPGA的一个例子。
让专用IP模块来执行某些常见的函数可以极大地降低动态功耗而对灵活性却没有重大影响。一个例子就是让FPGA中的专用引擎执行乘法——累加函数。与采用逻辑电路实现的方案相比,这种专用IP模块能够以高得多的性能执行那个函数并省电85%以上。Virtex-5器件具有包括DSP引擎、Ethernet MAC和PCI Express端点在内的许多专用模块,使得其可以以较低的功耗提供先进的功能。
时钟门控技术采用电路来关闭不用的FPGA模块的时钟,因而把那些模块的功耗降低到泄漏电流的数量。如Virtex-4和Virtex-5这样的FPGA就是支持这种性能的最好范例。
因为降低静态和动态功耗都是至关重要的,从硬件对两者的影响来看,最强有力的方法就是进一步降低电源电压。最佳的例子之一就是进一步降低内核电压。处理器件随着它们向下一代工艺节点转移(也就是从90nm向65nm转移)而趋向受益于较低的电压。例如,65 nm Virtex-5 FPGA的内核电压是1.0V,比工作于1.2V的90 nm Virtex-4 FPGA低17%,比工作于1.5V的130 nm Virtex-II FPGA低33%。这就是采用大多数当前器件的好处之一。较低的内核电压对静态和动态功耗两者都有重大影响,因为泄漏与电压呈指数关系,而动态功耗与电压呈二次方的关系。因此,Virtex-5器件比Virtex-4 FPGA的静态和动态功耗平均低30%以上。
上面我们讨论了降低SDR中功耗的若干硬件方法,这些方法都重要,但是,感觉像缺少了一些内容。毕竟,这不是被称为软件定义的无线电吗?尽管设计工程师愿意对硬件提供商谈关于降低它们的器件功耗的问题,但是,现实是许多所谓的“硬件公司”拥有的软件工程师比硬件工程师要多。确实,这似乎预示着降低功耗不仅仅是硬件的事情。
用一种更为整体的方法来降低功耗
是的!的确存在真正最优化SDR功耗的方法,设计工程师需要一种把硬件和编程技术两者结合起来的更为整体的方法。一种无效执行的波形可能对SDR的功耗造成巨大的负面影响,不论硬件设计有多么好!设计工程师可以采用许多技术在FPGA中更有效地实现一个波形,这些技术包括并行处理算法、低频操作、功率底层规划和局部配置。
利用并行处理算法,FPGA所提供的并行处理能力容许实现比像DSP或GPP这样的串行处理器可能达到的性能要高得多的信号处理性能,这个已经得到了很好的证实。因为并行处理可采用比串行处理器低得多的时钟频率执行任务,当采用并行处理算法的时候,FPGA实际上比处理器能效更高。
利用低频工作,许多军用波形能从运行在较低的频率以降低功耗上获得好处。常见的是FPGA中的波形以低于200MHz的频率运行,远远低于最大频率。
上述的一些技术如时钟门控利用对设计进行一些细致的底层规划可能更为有效。例如,为了真正地利用时钟门控的优势,设计工程师想利用相同的时钟得到一个设计的几个部分,而该时钟可以在相同的区域——或许在器件的四分之一象限——被门控。目前市面上可利用的工具如赛灵思的PlanAhead设计和分析工具利用图形用户界面(GUI)使底层规划变得更加容易。
局部重配置(PR)容许设计工程师在FPGA之内定时复用各种资源。如果没有PR,设计工程师可能不得不重载整个FPGA以支持一个新的波形模式,因此,临时失去通信链路,或让所有模式在大的FPGA之中被同时载入,即使一次仅仅使用一个模式。PR容许支持多模式波形,不必同时把所有的模式载入FPGA之中,因此,能够以较小的FPGA和较低的功耗实现相同的功能。有效地利用PR也从底层规划获益。类似于低内核电压,PR能影响静态和动态功率这两者,但是,上述技术则仅仅影响动态功率。
图1描述了这些用于降低功耗的各种方法。用于降低SDR功耗的一种真正的整体方法要采用来自每一个象限的多种技术。
假设有许多用于降低SDR功耗的方法,其中许多方法可以组合,似乎没有什么机会能确定理想的功率最优化波形实现方案。增加的混淆之处在于:许多波形成分如前向纠错(FCC)常常能在FPGA或DSP当中的任一个上有效地实现。通常不清楚的是:如何在硬件和软件之间进行最佳的划分以实现能效最大化?尽管没有灵丹妙药,即没有任何一种工具能评定所有不同的选项及转换以决定性地鉴别最优化的解决方案,但是,一定存在一种比纯粹猜测更好的方法,这种猜测用的是已出版的数据表数字和基于电子数据表的功率估算器。
图3:功率监测GUI显示调制解调器FPGA和DSP的功率消耗, 消除对波形实现功率消耗的猜测。
消除猜测:SDR功率最优化测试床
一种更为优良的方法就是访问一个用于功率最优化设计的能作为测试床的SDR。有了这样一种测试床,就容许设计工程师或系统架构师根据经验进行测试,并为功率优化设计而权衡与特定硬件及软件设计相关的折衷。设计工程师可能不仅仅要比较上述讨论的一些优缺点,而且可能要相对轻松地在FPGA和DSP/GPP之间反复开发和划分一个波形,与此同时,在每一个调制解调器处理器件上采集功率测量值。
尽管不必要,但是,利用基于模型设计的各种概念,通过一种视觉方式进行建模,也可以经由波形的重新划分而提供各种好处。这样一种设计流程的例子见图2。在这个例子中,可以采用MathWorks公司的Simulink 进行建模。设计工程师可以选择在一个可用的FPGA和DSP之间对波形进行划分并直接在硬件上实现,实现过程要利用赛灵思用于DSP的System Generator和用于FPGA的ISE Foundation设计工具套件,以及MathWorks公司的Real-Time Workshop和TI公司用于DSP的Code Composer Studio。
设计工程师也可以采用在基于模型的设计环境之内的一种Power Monitoring GUI,以实时显示为FPGA和DSP独立地记录的功率测量值。这样的GUI的一个例子见图3。这种记录能力容许设计工程师对波形随时间变化的能量效率做出有根据的决策,不仅仅是及时抓拍波形。这是必需的,因为许多波形本质上是“突发”的。如果波形实现造成调制解调器超过功率预算的情况变得显而易见,设计工程师可以回到模型并针对更佳的效率对波形重新划分。尽管这个流程现在并非轻而易举,但是,这种努力是值得的,因为它消除了对调制解调器的功耗进行估计时的猜测。
通过赛灵思、TI和Lyrtech的协作,这样一种具有功率监测的SDR测试床现已开始供货。该小形状因子的SDR开发平台把Virtex-4 FPGA 与DM6446 DSP/GPP结合起来,从而让设计工程师能够进行低功耗设计。
为降低功耗而设计
尽管传统上一直把重点放在降低SDR硬件的功耗上,但是,显而易见软件也对功耗具有重大影响。正因如此,需要一种整体方法来降低SDR的功耗。而且,能够实际发挥SDR作用的测试床有助于消除对这个问题的猜测。尽管这种方法可能要预先进行更多的规划和开发,但是,好处就是强迫并使SDR提供商能够在提供现场持续时间更长、更可靠且在需要较少备用电池的无线电设备过程中建立竞争优势。