軟件無線電的功率:一種針對功率設(shè)計SDR的整體方法
傳統(tǒng)上,降低軟件無線電(SDR)硬件的功耗一直是我們工作的重點,但是,顯而易見軟件也有重要影響,因此,需要一種降低SDR功耗的整體設(shè)計方法。一種能發(fā)揮SDR功能的測試床能幫我們解決這個問題。
由于像美國聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)(JTRS)這樣的計劃,軟件定義的無線電(SDR)早已被證實。然而,有許多問題嚴重地制約著SDR的廣泛部署,其中相當(dāng)重要的問題就是功率。
功率是在設(shè)計每一個SDR子系統(tǒng)時的主要考慮因素,特別是因為它們要消耗比硬件無線電更多的功率。例如,為了獲得預(yù)期的無線電通信距離(依賴于鏈路的狀況,典型值為5-10千米數(shù)量級),射頻(RF)前端必須具備足夠的發(fā)射功率。同樣,對于靠電池工作的無線電設(shè)備,RF前端、調(diào)制解調(diào)器和加密處理子系統(tǒng)的功耗都直接影響無線電設(shè)備的壽命。此外,對由調(diào)制解調(diào)器產(chǎn)生的熱量進行散熱的能力直接影響到無線電設(shè)備的壽命,并且甚至可能影響到能在機箱中同時處理的通道數(shù),且有更多的影響。
因此,降低一個SDR的功率有許多好處,這些好處可能甚至包括通過購買更少的備用電池而降低運營費用。在此,為了獲得其中的一些好處,我們談?wù)摰闹攸c將放在降低SDR調(diào)制解調(diào)器功耗的整體方法上。
為了降低調(diào)制解調(diào)器中的功耗,大多數(shù)人首先注意的就是在處理過程中的硬件,其中,通常包含現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)和通用目的處理器(GPP)。區(qū)分任何硬件器件的兩個功耗源——靜態(tài)功耗和動態(tài)功耗——是至關(guān)重要的。靜態(tài)功耗是一個已加電但不活躍的器件所消耗的固有功率,由晶體管的電流泄漏所控制。另一方面,動態(tài)功耗是由活躍使用的器件所消耗的功率,該功率受到若干變量的影響,包括電源電壓、對外部存儲器的訪問次數(shù)、數(shù)據(jù)帶寬,等等。檢測兩種類型的功耗是至關(guān)重要的,特別是在無線電設(shè)備具有一個通常接收比發(fā)射更長的占空周期的情形下。在GPP和甚至DSP的情形下,像頻率調(diào)節(jié)、電壓調(diào)節(jié)和電源關(guān)閉模式這樣的電源管理功能已經(jīng)變得日益普遍。然而,關(guān)于FPGA又是什么情況呢?
圖1:用于降低SDR功耗的一種真正的整體方法要采用來自每一個象限的多種技術(shù)。
有許多方法可以用來降低FPGA中的靜態(tài)或動態(tài)功耗,其中許多方法不是可以同時應(yīng)用的。一些降低靜態(tài)功耗的方法包括三極柵氧化層電源門控。
利用三極柵氧化層,硅供應(yīng)商在晶體管上覆蓋一層氧化層以減少泄漏;覆蓋層越厚,泄漏就越小。性能保持平衡。在內(nèi)核中需要性能的地方,常見的就是采用薄的氧化層;而對于驅(qū)動較高電壓的I/O,要采用厚的氧化層。在不需要最大性能的地方,如配置SRAM,附加的中間氧化層可以極大地降低泄漏。利用這種技術(shù)的FPGA的例子包括賽靈思的Virtex-4和Virtex-5系列。
圖2:帶有功率測量值的基于模型設(shè)計流程可以簡化對波形劃分的決策。
當(dāng)FPGA模塊未被使用時,電源門控涉及晶體管的使用以降低待機泄漏。這種技術(shù)的一個例子可以在低功耗睡眠模式中看到。例如,如果在一個FPGA中的所有模塊都被電源門控,該器件就消耗非常小的靜態(tài)功耗。在這種情形下,平衡的是FPGA的配置的損耗,以便該器件在喚醒過程期間被完全地重配置,這個過程可能要花幾毫秒。另一方面,除了那些具有配置的模塊(比如配置存儲器)之外,如果所有的模塊都被電源門控,那么,F(xiàn)PGA的狀態(tài)就被保持住了。盡管喚醒時間被極大地縮短了,但是,所節(jié)省的功率遠遠不如當(dāng)所有模塊都被電源門控時那樣顯著。賽靈思的Spartan-3A系列的FPGA支持兩種類型的電源門控。
動態(tài)功耗是功率等式的另外一部分。降低動態(tài)功耗的方法包括處理器集成、專用IP模塊和時鐘門控。
對于具有嵌入式GPP和DSP引擎的平臺FPGA來說,處理器集成是非常有用的。通過采用嵌入式GPP,而不是離散的GPP,就不必驅(qū)動數(shù)據(jù)從FPGA跨越外部I/O線到GPP(跨越外部I/O線通常消耗大量的功率),從而節(jié)省功率。Virtex-4FX器件就是平臺FPGA的一個例子。
讓專用IP模塊來執(zhí)行某些常見的函數(shù)可以極大地降低動態(tài)功耗而對靈活性卻沒有重大影響。一個例子就是讓FPGA中的專用引擎執(zhí)行乘法——累加函數(shù)。與采用邏輯電路實現(xiàn)的方案相比,這種專用IP模塊能夠以高得多的性能執(zhí)行那個函數(shù)并省電85%以上。Virtex-5器件具有包括DSP引擎、EthernetMAC和PCIExpress端點在內(nèi)的許多專用模塊,使得其可以以較低的功耗提供先進的功能。
時鐘門控技術(shù)采用電路來關(guān)閉不用的FPGA模塊的時鐘,因而把那些模塊的功耗降低到泄漏電流的數(shù)量。如Virtex-4和Virtex-5這樣的FPGA就是支持這種性能的最好范例。
因為降低靜態(tài)和動態(tài)功耗都是至關(guān)重要的,從硬件對兩者的影響來看,最強有力的方法就是進一步降低電源電壓。最佳的例子之一就是進一步降低內(nèi)核電壓。處理器件隨著它們向下一代工藝節(jié)點轉(zhuǎn)移(也就是從90nm向65nm轉(zhuǎn)移)而趨向受益于較低的電壓。例如,65nmVirtex-5FPGA的內(nèi)核電壓是1.0V,比工作于1.2V的90nmVirtex-4FPGA低17%,比工作于1.5V的130nmVirtex-IIFPGA低33%。這就是采用大多數(shù)當(dāng)前器件的好處之一。較低的內(nèi)核電壓對靜態(tài)和動態(tài)功耗兩者都有重大影響,因為泄漏與電壓呈指數(shù)關(guān)系,而動態(tài)功耗與電壓呈二次方的關(guān)系。因此,Virtex-5器件比Virtex-4FPGA的靜態(tài)和動態(tài)功耗平均低30%以上。
上面我們討論了降低SDR中功耗的若干硬件方法,這些方法都重要,但是,感覺像缺少了一些內(nèi)容。畢竟,這不是被稱為軟件定義的無線電嗎?盡管設(shè)計工程師愿意對硬件提供商談關(guān)于降低它們的器件功耗的問題,但是,現(xiàn)實是許多所謂的“硬件公司”擁有的軟件工程師比硬件工程師要多。確實,這似乎預(yù)示著降低功耗不僅僅是硬件的事情。
用一種更為整體的方法來降低功耗
是的!的確存在真正最優(yōu)化SDR功耗的方法,設(shè)計工程師需要一種把硬件和編程技術(shù)兩者結(jié)合起來的更為整體的方法。一種無效執(zhí)行的波形可能對SDR的功耗造成巨大的負面影響,不論硬件設(shè)計有多么好!設(shè)計工程師可以采用許多技術(shù)在FPGA中更有效地實現(xiàn)一個波形,這些技術(shù)包括并行處理算法、低頻操作、功率底層規(guī)劃和局部配置。
利用并行處理算法,F(xiàn)PGA所提供的并行處理能力容許實現(xiàn)比像DSP或GPP這樣的串行處理器可能達到的性能要高得多的信號處理性能,這個已經(jīng)得到了很好的證實。因為并行處理可采用比串行處理器低得多的時鐘頻率執(zhí)行任務(wù),當(dāng)采用并行處理算法的時候,F(xiàn)PGA實際上比處理器能效更高。
利用低頻工作,許多軍用波形能從運行在較低的頻率以降低功耗上獲得好處。常見的是FPGA中的波形以低于200MHz的頻率運行,遠遠低于最大頻率。
上述的一些技術(shù)如時鐘門控利用對設(shè)計進行一些細致的底層規(guī)劃可能更為有效。例如,為了真正地利用時鐘門控的優(yōu)勢,設(shè)計工程師想利用相同的時鐘得到一個設(shè)計的幾個部分,而該時鐘可以在相同的區(qū)域——或許在器件的四分之一象限——被門控。目前市面上可利用的工具如賽靈思的PlanAhead設(shè)計和分析工具利用圖形用戶界面(GUI)使底層規(guī)劃變得更加容易。
局部重配置(PR)容許設(shè)計工程師在FPGA之內(nèi)定時復(fù)用各種資源。如果沒有PR,設(shè)計工程師可能不得不重載整個FPGA以支持一個新的波形模式,因此,臨時失去通信鏈路,或讓所有模式在大的FPGA之中被同時載入,即使一次僅僅使用一個模式。PR容許支持多模式波形,不必同時把所有的模式載入FPGA之中,因此,能夠以較小的FPGA和較低的功耗實現(xiàn)相同的功能。有效地利用PR也從底層規(guī)劃獲益。類似于低內(nèi)核電壓,PR能影響靜態(tài)和動態(tài)功率這兩者,但是,上述技術(shù)則僅僅影響動態(tài)功率。
圖1描述了這些用于降低功耗的各種方法。用于降低SDR功耗的一種真正的整體方法要采用來自每一個象限的多種技術(shù)。
假設(shè)有許多用于降低SDR功耗的方法,其中許多方法可以組合,似乎沒有什么機會能確定理想的功率最優(yōu)化波形實現(xiàn)方案。增加的混淆之處在于:許多波形成分如前向糾錯(FCC)常常能在FPGA或DSP當(dāng)中的任一個上有效地實現(xiàn)。通常不清楚的是:如何在硬件和軟件之間進行最佳的劃分以實現(xiàn)能效最大化?盡管沒有靈丹妙藥,即沒有任何一種工具能評定所有不同的選項及轉(zhuǎn)換以決定性地鑒別最優(yōu)化的解決方案,但是,一定存在一種比純粹猜測更好的方法,這種猜測用的是已出版的數(shù)據(jù)表數(shù)字和基于電子數(shù)據(jù)表的功率估算器。
圖3:功率監(jiān)測GUI顯示調(diào)制解調(diào)器FPGA和DSP的功率消耗,消除對波形實現(xiàn)功率消耗的猜測
消除猜測:SDR功率最優(yōu)化測試床
一種更為優(yōu)良的方法就是訪問一個用于功率最優(yōu)化設(shè)計的能作為測試床的SDR。有了這樣一種測試床,就容許設(shè)計工程師或系統(tǒng)架構(gòu)師根據(jù)經(jīng)驗進行測試,并為功率優(yōu)化設(shè)計而權(quán)衡與特定硬件及軟件設(shè)計相關(guān)的折衷。設(shè)計工程師可能不僅僅要比較上述討論的一些優(yōu)缺點,而且可能要相對輕松地在FPGA和DSP/GPP之間反復(fù)開發(fā)和劃分一個波形,與此同時,在每一個調(diào)制解調(diào)器處理器件上采集功率測量值。
盡管不必要,但是,利用基于模型設(shè)計的各種概念,通過一種視覺方式進行建模,也可以經(jīng)由波形的重新劃分而提供各種好處。這樣一種設(shè)計流程的例子見圖2。在這個例子中,可以采用MathWorks公司的Simulink進行建模。設(shè)計工程師可以選擇在一個可用的FPGA和DSP之間對波形進行劃分并直接在硬件上實現(xiàn),實現(xiàn)過程要利用賽靈思用于DSP的SystemGenerator和用于FPGA的ISEFoundation設(shè)計工具套件,以及MathWorks公司的Real-TimeWorkshop和TI公司用于DSP的CodeComposerStudio。
設(shè)計工程師也可以采用在基于模型的設(shè)計環(huán)境之內(nèi)的一種PowerMonitoringGUI,以實時顯示為FPGA和DSP獨立地記錄的功率測量值。這樣的GUI的一個例子見圖3。這種記錄能力容許設(shè)計工程師對波形隨時間變化的能量效率做出有根據(jù)的決策,不僅僅是及時抓拍波形。這是必需的,因為許多波形本質(zhì)上是“突發(fā)”的。如果波形實現(xiàn)造成調(diào)制解調(diào)器超過功率預(yù)算的情況變得顯而易見,設(shè)計工程師可以回到模型并針對更佳的效率對波形重新劃分。盡管這個流程現(xiàn)在并非輕而易舉,但是,這種努力是值得的,因為它消除了對調(diào)制解調(diào)器的功耗進行估計時的猜測。
通過賽靈思、TI和Lyrtech的協(xié)作,這樣一種具有功率監(jiān)測的SDR測試床現(xiàn)已開始供貨。該小形狀因子的SDR開發(fā)平臺把Virtex-4FPGA與DM6446DSP/GPP結(jié)合起來,從而讓設(shè)計工程師能夠進行低功耗設(shè)計。
為降低功耗而設(shè)計
盡管傳統(tǒng)上一直把重點放在降低SDR硬件的功耗上,但是,顯而易見軟件也對功耗具有重大影響。正因如此,需要一種整體方法來降低SDR的功耗。而且,能夠?qū)嶋H發(fā)揮SDR作用的測試床有助于消除對這個問題的猜測。盡管這種方法可能要預(yù)先進行更多的規(guī)劃和開發(fā),但是,好處就是強迫并使SDR提供商能夠在提供現(xiàn)場持續(xù)時間更長、更可靠且在需要較少備用電池的無線電設(shè)備過程中建立競爭優(yōu)勢。
評論