蜂窩網(wǎng)絡(luò)運營商正努力通過使用最新空中接口、采用最新傳輸頻率、提高帶寬以及增加天線數(shù)量和蜂窩基站數(shù)量的方式提高網(wǎng)絡(luò)容量,為此他們需要大量削減設(shè)備成本。此外,運營商們還要提高設(shè)備效率和網(wǎng)絡(luò)集成度,以便減少運營成本。為了提供可滿足這些不同需求的設(shè)備,無線基礎(chǔ)設(shè)施設(shè)備制造商正在尋找具備更高集成度、性能和靈活性且功耗與成本更低的解決方案。另外,設(shè)備制造商在實現(xiàn)以上目標(biāo)的同時還要縮短產(chǎn)品上市時間。
減少設(shè)備總體成本的關(guān)鍵是集成,但減少運營成本則需要采用高級數(shù)字算法來改善功率放大器效率。其中最常用的一種算法就是數(shù)字預(yù)失真(DPD)。在設(shè)備配置變得越發(fā)復(fù)雜的同時提高設(shè)備效率,這本身就是一種挑戰(zhàn)。無線電傳輸帶寬憑借先進的長期演進(LTE-A)技術(shù)正在接近100MHz,而且隨著廠商試圖在一個非連續(xù)頻譜中采用多個空中接口,這一數(shù)字甚至?xí)?。同時有源天線陣列(AAA) 和支持MIMO的遠端射頻單元(RRU)也不斷對算法的計算帶寬提出更高要求。本文我們將研究如何利用Zynq-7000 All Programmable SoC(AP SoC)來提高當(dāng)前及未來DPD系統(tǒng)的性能,同時為設(shè)備廠商提供具有完全可編程功能的低成本、低功耗解決方案,幫助他們以最快的速度向市場推出產(chǎn)品。
實現(xiàn)蜂窩無線電
AP SoC采用包含串行收發(fā)器(SERDES)和DSP模塊的高性能可編程邏輯(PL)架構(gòu)和一個與其緊密集成的硬化處理子系統(tǒng)(PS)。該處理子系統(tǒng)又包含一個雙核ARM Cortex A9、浮點單元(FPU)和NEON媒體加速器,并配有實現(xiàn)完整無線電操作和控制所必需的UART、SPI、I2C、以太網(wǎng)和存儲控制器等多種外設(shè)。與外部通用處理器或DSP處理器不同,由于PL與PS之間有大量的連接,因此其間的接口需要極高的帶寬,這是單個解決方案所無法實現(xiàn)的。憑借這些軟/硬件組合,AP SoC器件能夠在單個芯片上實現(xiàn)RRU所需的全部功能,如圖1所示。
圖1. 典型無線電基礎(chǔ)架構(gòu),所有數(shù)字功能都被集中到單個器件中
PL中豐富的DSP資源可用于實現(xiàn)數(shù)字上變頻(DUC)、數(shù)字下變頻(DDC)、 峰值因數(shù)降低(CFR)和DPD等數(shù)字信號處理功能。此外,SERDES能夠支持9.8Gbps CPRI和12.5Gbps JESD204B接口,分別用于連接基帶轉(zhuǎn)換器和數(shù)字轉(zhuǎn)換器。PS支持對稱多處理(SMP)和非對稱多處理(AMP)。在本案例中,假設(shè)采用AMP模式,其中的一個 ARM A9處理器用于實現(xiàn)下傳消息、調(diào)度、校準(zhǔn)和警報等板級控制功能,用以運行裸金屬架構(gòu),更可能的是Linux等操作系統(tǒng)。而另一個處理器則用于實現(xiàn)部分所需的DPD算法,因為并非算法的所有部分都支持純硬件解決方案。
DPD可通過擴大線性范圍來提高功率放大器效率。加強對放大器的驅(qū)動以改善輸出功率,從而提高效率,同時靜態(tài)功耗保持相對不變。為了擴大線性范圍,DPD利用放大器的模擬反饋路徑以及大量信號處理操作來計算系數(shù)(該系數(shù)為放大器非線性的倒數(shù));然后利用這些系數(shù)對所發(fā)送的功率放大器驅(qū)動信號進行預(yù)修正,最終達到擴大放大器線性范圍的目的。
DPD算法可分解為如下多個功能塊,如圖2所示。
圖2. 數(shù)字預(yù)失真被分解為多個功能區(qū)
DPD是一個閉環(huán)系統(tǒng),可捕捉之前發(fā)送的信號,以確定放大器根據(jù)發(fā)送信號所表現(xiàn)出的行為。DPD的首個任務(wù)是在校準(zhǔn)模塊(alignment block)中將放大器的輸出與之前的發(fā)送信號進行校準(zhǔn)。在開始任何后續(xù)算法操作之前,需要利用存儲器來校準(zhǔn)數(shù)據(jù)。一旦數(shù)據(jù)校準(zhǔn)后,就可用自相關(guān)矩陣計算(AMC)和系數(shù)計算(CC)算法來創(chuàng)建代表PA非線性倒數(shù)近似值的系數(shù);獲得系數(shù)后,數(shù)據(jù)路徑預(yù)失真器會利用這些數(shù)據(jù)對發(fā)送到PA的信號進行預(yù)修正。
加速DPD系數(shù)估算
這些功能可以通過多種不同方式來實現(xiàn)。有的功能適合用軟件,有的則適合用硬件,還有的則既可用軟件也可用硬件來實現(xiàn),但最終還是由性能來決定采用何種實現(xiàn)方式。 有了AP SoC器件,設(shè)計人員就可自主決定采用硬件還是軟件來實現(xiàn)功能。對于DPD算法而言,包含高速濾波功能的數(shù)據(jù)路徑預(yù)失真器由于需要極高的采樣率,一般應(yīng)在PL中實現(xiàn),而用于生成DPD系數(shù)的校準(zhǔn)引擎與估算引擎則可以在PS 中的ARM A9上運行。
為了確定到底用軟件還是硬件來實現(xiàn)功能,必須首先對軟件進行特性分析,確定其耗時情況。圖3顯示了圖2中DPD算法用于實現(xiàn)三個可識別功能的軟件特性。根據(jù)分析結(jié)果顯示,賽靈思DPD算法中 97%的時間都用于AMC處理,因此首先對該功能進行加速意義最大。
圖3. DPD處理中軟件任務(wù)的特性分析
ARM A9可用于執(zhí)行一些附加功能,這樣也有助于提高這類應(yīng)用的性能。例如,作為PS的一部分,每個ARM A9都有一個浮點單元和一個NEON媒體加速器。NEON單元是一種128位單指令多數(shù)據(jù)(SIMD)矢量協(xié)處理器,可同時執(zhí)行兩個32x32b乘法運算,非常適合以乘法累加(MAC)運算為主的AMC功能的要求。充分利用NEON模塊,就能發(fā)揮軟件的內(nèi)在優(yōu)勢,從而無需用匯編語言進行低層次編程。
因此,相對采用Microblaze或外部DSP等軟處理器而言,使用PS中的附加功能可以顯著提高性能。
為了進一步提高DPD性能,最好將這些功能移植到采用PL的硬件內(nèi)。然而軟件由C或C++編寫,要將C或C++轉(zhuǎn)換為能夠在采用VHDL或Verilog語言的PL中運行的硬件內(nèi),需要花費一些時間。
隨著高層次綜合(HLS)工具(例如C-to-RTL)的推出,這個問題現(xiàn)在已經(jīng)得到解決。這些工具讓有C/C++編程經(jīng)驗的程序員能夠以FPGA的形式進行硬件轉(zhuǎn)換。Vivado HLS工具使設(shè)計人員和系統(tǒng)架構(gòu)師可以輕松將C/C++代碼映射到可編程邏輯,以實現(xiàn)代碼重用、盡可能移植以及簡單的設(shè)計空間探索機制,從而最大限度地提高生產(chǎn)力。
圖4. Vivado高層次綜合(HLS)設(shè)計流程
圖4 顯示了C/C++的典型 Vivado HLS高層次綜合設(shè)計流程。該工具的輸出為RTL,能夠輕松地與現(xiàn)有硬件設(shè)計集成,例如數(shù)據(jù)路徑預(yù)失真器或上游處理部分,當(dāng)然還包括數(shù)據(jù)轉(zhuǎn)換器接口。
利用這種工具可以將算法快速移植到硬件,在這里算法必須通過AXI接口與PS連接,如圖5所示。
圖5. 將基于可編程邏輯的AMC硬件加速器算法與處理系統(tǒng)集成
在PL中以高時鐘速率運行AMC算法能夠顯著提高性能(如圖6所示),與在軟件中實現(xiàn)相同的功能相比,可以實現(xiàn)70倍的性能提升,且只占用不到3%的AP SoC 器件邏輯資源。
圖6.采用純軟件和軟硬件相結(jié)合加速方案的性能提升對比
對原始C/C++參考代碼進行基本的優(yōu)化后,新代碼在ARM A9處理器上的運行更加高效,將純軟件實現(xiàn)方案的性能提升至原始代碼的至少2至3倍。此時,啟用NEON媒體協(xié)處理器,可以獲得額外的性能優(yōu)勢。圖6的最終結(jié)果是通過在可編程邏輯中運行AMC 算法(參見圖5)獲得的,其與最初的軟件法相比,僅AMC功能就實現(xiàn)了高達70倍的總體性能提升。
最終是由無線電性能定義所需DPD在硬件與軟件之間的分區(qū)。追求更高級別的頻譜修正可以實現(xiàn)更高的效率,這可能會成為影響性能的一個因素。由于提高了用于表達放大器非線性的精確度,因而實現(xiàn)更高的修正水平需要更強大的處理能力。其他影響性能的因素是更大的傳輸帶寬或在多個天線之間共享估算引擎。這種方式僅需一個處理器外加可選的硬件加速器即可為多個數(shù)據(jù)路徑預(yù)失真器計算系數(shù),從而實現(xiàn)面積(和成本)方面的節(jié)省。
在某些情況下,在ARM A9 + NEON單元上運行軟件所獲得的性能就足夠了,例如窄帶傳輸帶寬配置,或在設(shè)計中只有1或 2個天線路徑需要進行數(shù)據(jù)處理的情況,這既可以減少無線電配置的面積也可降低成本。
為了將性能進一步提升至圖6以上的水平,可為AMC功能的實現(xiàn)添加額外并行機制,但這需要以增加邏輯實現(xiàn)為代價才能縮短更新時間。此外,對軟件進行更深入的分析可能會表明算法中其他可從硬件加速受益的部分。無論要求是什么,現(xiàn)在的工具和芯片都能幫助設(shè)計人員在追求更高效率的過程中輕而易舉地在性能、面積以及功耗之間進行利弊取舍,而且不必受特定分立器件或編程風(fēng)格的制約。
總結(jié)
無線電基礎(chǔ)設(shè)施要求低成本、低功耗和高可靠性,而集成則是實現(xiàn)這些目標(biāo)的關(guān)鍵,但直到現(xiàn)在也無法在不降低靈活性或減慢上市進程的前提下做到。此外,寬帶無線電和對更高效率的追求正在促使處理要求不斷提升。憑借雙核處理器子系統(tǒng)、高性能和低功耗可編程邏輯優(yōu)勢,Zynq-7000 All Programmable SoC已成為能充分滿足當(dāng)前和未來無線電需求的解決方案。
無論是遠程無線電設(shè)備還是有源天線陣列,設(shè)計人員都能以更高的生產(chǎn)力創(chuàng)建產(chǎn)品,同時實現(xiàn)比現(xiàn)有解決方案(如ASSP或ASIC)更高的靈活性和性能。軟件與硬件之間的界限已不再清晰,這為需要更多高級算法以實現(xiàn)產(chǎn)品差異化的設(shè)計人員開啟了無限可能性。
作者:David Hawke,賽靈思公司無線產(chǎn)品市場營銷總監(jiān)
?
?
評論
查看更多