軟件無(wú)線電設(shè)計(jì)之路
軟件定義的無(wú)線電架構(gòu)長(zhǎng)期以來(lái)一直被認(rèn)為是基站發(fā)展的靈丹妙藥,由于這種無(wú)線電架構(gòu)能夠很快適應(yīng)新的協(xié)議,曾一度被作為基礎(chǔ)設(shè)施設(shè)計(jì)中支持多項(xiàng)無(wú)線協(xié)議的主要解決方案。直到最近,對(duì)于多數(shù)通信系統(tǒng)設(shè)計(jì),軟件定義的無(wú)線電架構(gòu)還僅僅是未來(lái)計(jì)劃項(xiàng)目。但是現(xiàn)在已經(jīng)有所不同,隨著3G無(wú)線應(yīng)用的到來(lái),人們對(duì)在基礎(chǔ)設(shè)施設(shè)計(jì)中采用軟件無(wú)線電架構(gòu)重新產(chǎn)生了濃厚興趣。
本文引用地址:http://2s4d.com/article/2799.htm過(guò)去,無(wú)線應(yīng)用的無(wú)線電設(shè)計(jì)是通過(guò)結(jié)合使用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)和現(xiàn)場(chǎng)可編程門陣列(FPGA)等器件來(lái)完成的,在這些設(shè)計(jì)中,ASIC 和FPGA需要處理高級(jí)編碼方案,如Reed Solomon, Viterbi以及瑞克接受機(jī)(rake receiver functionality)等, 而DSP則用來(lái)處理語(yǔ)音編碼及其它語(yǔ)音處理任務(wù)。
在軟件定義的無(wú)線電的發(fā)展過(guò)程中,DSP 、ASIC和FPGA之間功能的劃分并非一成不變。ASIC開(kāi)始具備越來(lái)越多的可編程能力,DSP和FPGA也具備傳統(tǒng)ASIC的功能,這些產(chǎn)品之間的界限在逐步模糊,區(qū)分DSP 、ASIC和FPGA之間的功能差別更加困難。
設(shè)計(jì)人員現(xiàn)在需要耗費(fèi)大量精力去評(píng)估傳統(tǒng)ASIC實(shí)現(xiàn)的功能是否更適合于FPGA或DSP完成,或傳統(tǒng)DSP實(shí)現(xiàn)的功能是否更適合于FPGA或ASIC等等。其實(shí)問(wèn)題關(guān)鍵在于要找到合適的選擇標(biāo)準(zhǔn),然后再綜合衡量每一種處理方案。
在選擇任何標(biāo)準(zhǔn)之前,重要的是給軟件定義無(wú)線電下一個(gè)準(zhǔn)確的定義。對(duì)于到底什么構(gòu)成軟件無(wú)線電架構(gòu),說(shuō)法不一。本文我們采用的是軟件定義無(wú)線電論壇(Software Defined Radio Forum)的方式,即把軟件定義無(wú)線電確定為:“對(duì)多種多樣的調(diào)制技術(shù)、寬窄帶工作、通信安全功能(如跳頻)和現(xiàn)在及未來(lái)涉及的標(biāo)準(zhǔn),在很寬的頻率范圍內(nèi)對(duì)波形的要求等提供軟件控制的無(wú)線電”。
總體說(shuō)來(lái),選擇DSP、ASIC和FPGA,有五個(gè)關(guān)鍵標(biāo)準(zhǔn):
可編程性:對(duì)于所有接口,能重新配置器件使之實(shí)現(xiàn)想要的功能;
集成度:能夠?qū)追N功能集成到單一器件,以降低數(shù)字無(wú)線電系統(tǒng)的體積和硬件復(fù)雜程度;
研發(fā)周期:研發(fā)、實(shí)現(xiàn)和測(cè)試某一采用特定器件的數(shù)字無(wú)線電功能所需要的時(shí)間;
性能:器件在限定的時(shí)間內(nèi)完成某項(xiàng)功能的能力;
功耗:器件完成需要的功能所消耗的功率。
上述每一項(xiàng)標(biāo)準(zhǔn),對(duì)于設(shè)計(jì)師決定選擇DSP 、ASIC還是FPGA都有直接影響。
在軟件定義無(wú)線電設(shè)計(jì)中,DSP和FPGA可很容易重新配置實(shí)現(xiàn)多種功能,而目前常用的ASIC盡管成本低,性能也很好,但可編程性受到限制。問(wèn)題的關(guān)鍵在于,在如此種類繁多的無(wú)線ASIC中,是否有一款適合于特定數(shù)字無(wú)線電產(chǎn)品。對(duì)于一個(gè)純軟件定義的無(wú)線電架構(gòu)答案明顯是否定的,但實(shí)際上只有少數(shù)數(shù)字無(wú)線電設(shè)計(jì)需要如此程度的靈活性。因此,開(kāi)發(fā)任何軟件定義無(wú)線電產(chǎn)品的關(guān)鍵一步是確定系統(tǒng)各項(xiàng)功能所需要的可編程要求,評(píng)估結(jié)果可用來(lái)確認(rèn)現(xiàn)有產(chǎn)品是否合格適于該項(xiàng)功能。
考慮一個(gè)同時(shí)支持寬帶CDMA(W-CDMA)和GSM的基站收發(fā)器架構(gòu),通過(guò)此例可展示如何確定處理功能。W-CDMA采用擴(kuò)展頻譜通信技術(shù),數(shù)十個(gè)用戶使用同一個(gè)RF信道。W-CDMA信號(hào)每個(gè)信道占有5MHz帶寬,上行鏈路1920~1980MHz,下行鏈路2110~2170MHz。另一方面,GSM采用窄帶TDMA技術(shù),一般每個(gè)RF信道帶寬為200kHz,只支持8個(gè)用戶,上行鏈路890~915MHz,下行鏈路935~960MHz。
在軟件定義的無(wú)線電架構(gòu)中,為了支持如此繁多的標(biāo)準(zhǔn),中頻處理器中的數(shù)字上、下變頻器件必須具備可編程信道選擇、濾波器建立和采樣率調(diào)節(jié)等功能。Intersil、Graychip、Analog Devices等公司的新型多標(biāo)準(zhǔn)數(shù)字收發(fā)器都具備這些可編程性。例如,Graychip的數(shù)字下變頻器GC4016可重新設(shè)置為4信道、窄帶寬,每個(gè)信道最大可用基帶帶寬為2.25 MHz;或設(shè)置為單一信道,最大可用基帶帶寬為9 MHz。此外,GC4016每個(gè)信道還支持一個(gè)用戶可編程基帶濾波器和一個(gè)用戶可編程重新采樣器,使器件在特定的架構(gòu)中適合于中頻處理。
但如果器件有升級(jí)要求,比如要支持將來(lái)不確定的4G無(wú)線架構(gòu),ASIC在數(shù)字無(wú)線電設(shè)計(jì)中的應(yīng)用就有所不同。已經(jīng)有傳言,由于正交頻分復(fù)用技術(shù)在多通路環(huán)境下良好可靠的性能,以及兼容局部多點(diǎn)分布服務(wù)(Local Multi-points Distribution Service, LMDS)和多信道多點(diǎn)分布服務(wù)(Multi-channel Multi-points Distribution Service, MMDS)等寬帶標(biāo)準(zhǔn),在4G系統(tǒng)架構(gòu)中該技術(shù)將得到應(yīng)用。然而,由于4G標(biāo)準(zhǔn)尚不確定,如果考慮未來(lái)升級(jí),在該架構(gòu)中使用任何ASIC信號(hào)處理器件都極冒風(fēng)險(xiǎn),必須使用DSP或FPGA進(jìn)行中頻處理。
數(shù)字信號(hào)處理距離中頻輸入越遠(yuǎn),該架構(gòu)的處理算法越專一,使單一ASIC不能滿足所需的可編程標(biāo)準(zhǔn)。在3G/GSM無(wú)線電設(shè)計(jì)中,W-CDMA采用包括turbo 和卷積編碼的誤差校正得到所需的誤碼率性能,GSM則采用卷積編碼和法爾編碼的組合進(jìn)行糾錯(cuò)。因此,對(duì)于某種特定的糾錯(cuò)算法,采用商用ASIC不可取,FPGA和DSP更為合適。
在集成度方面,ASIC也暴露了其在軟件定義無(wú)線電架構(gòu)應(yīng)用中的缺點(diǎn)。隨著ASIC、FPGA和DSP相關(guān)技術(shù)改進(jìn),可集成在單個(gè)器件里的功能急速增加,但對(duì)于ASIC,隨著集成度增加,伴隨的是靈活性降低。例如,用于設(shè)計(jì)數(shù)字收發(fā)器的ASIC芯片也許完全適合許多接口標(biāo)準(zhǔn),如GSM、IS136、CDMA2000以及UMTS W-CDMA。如果一個(gè)CDMA處理器和一個(gè)ASIC組合在一起,就不再適合GSM或IS136;增加一個(gè)支持QPSK、8-PSK和16-QAM的調(diào)制器(解調(diào)器),芯片即成為完成CDMA2000高數(shù)據(jù)傳輸?shù)挠行Ы鉀Q方案,但不再適合其它標(biāo)準(zhǔn)。
在該集成度上,需要多種ASIC器件支持眾多的接口標(biāo)準(zhǔn),這通常很不現(xiàn)實(shí)。相比之下,許多數(shù)字無(wú)線電功能可容易集成到DSP或FPGA器件,同時(shí)設(shè)計(jì)靈活性也沒(méi)有多少損失。在上述例證中,多數(shù)CDMA2000功能可在Xilinx XCV1000E中實(shí)現(xiàn),如表1所示。相對(duì)于ASIC,此級(jí)別的集成度使產(chǎn)品具有較小的形狀因數(shù)和更多實(shí)用性能。
在軟件定義無(wú)線電產(chǎn)品設(shè)計(jì)中,ASIC較低的靈活性確實(shí)有一個(gè)優(yōu)勢(shì):對(duì)應(yīng)于市場(chǎng)現(xiàn)有ASIC的算法開(kāi)發(fā)已經(jīng)完成,產(chǎn)品可很快上市。以ASIC為基礎(chǔ)的設(shè)計(jì)關(guān)鍵在于硬件,軟件設(shè)計(jì)局限于實(shí)現(xiàn)器件可編程性的程序庫(kù)。以DSP或FPGA為基礎(chǔ)的設(shè)計(jì)需要較長(zhǎng)的設(shè)計(jì)周期,相對(duì)于硬件,軟件設(shè)計(jì)需要更多的資源?,F(xiàn)有用于DSP和FPGA的優(yōu)化通用算法程序庫(kù)通??梢约铀僭O(shè)計(jì),但這些算法必須要集成在一起以得到理想的數(shù)字無(wú)線電功能,從而需要完整的軟件開(kāi)發(fā)周期。
應(yīng)該注意,為DSP和FPGA設(shè)計(jì)軟件有明顯不同。編輯DSP軟件算法所需的時(shí)間通常以秒計(jì),而一個(gè)類似的算法在FPGA上綜合、布線需要數(shù)小時(shí)。以Xilinx為例,布線速率通常是每小時(shí)40萬(wàn)門,對(duì)于一個(gè)較大的設(shè)計(jì),編輯200萬(wàn)門的XCV2000E需要半天的時(shí)間。這樣,FPGA設(shè)計(jì)的調(diào)試成本更高。因此在算法實(shí)現(xiàn)到器件之前,FPGA設(shè)計(jì)通常需要更多的分析,包括建立研發(fā)仿真和測(cè)試模型。
確定一個(gè)信號(hào)處理器件是否適合于軟件定義無(wú)線電架構(gòu),必須要估測(cè)該器件在特定的時(shí)間內(nèi)可不可以完成需要的性能。評(píng)估所用的一種基本標(biāo)準(zhǔn)測(cè)量是1024點(diǎn)陣快速傅立葉變換所需的處理時(shí)間,如表2所示。
在表2中,Catalina 公司的可編程ASIC性能明顯勝過(guò)DSP和FPGA,對(duì)于任何特定的性能,ASIC表現(xiàn)最好。但比較DSP和FPGA的性能卻非常困難,對(duì)于不同問(wèn)題,這些器件架構(gòu)各有千秋。DSP可以很高的速率運(yùn)行,但只能有少數(shù)幾個(gè)操作同時(shí)進(jìn)行。相反,F(xiàn)PGA速率較慢,但可同時(shí)運(yùn)行的操作數(shù)量幾乎沒(méi)有限制。為了更高地描述這種差異,以簡(jiǎn)單的16接頭FIR濾波器為例,如圖2所示。該濾波器每個(gè)采樣需要16個(gè)乘加運(yùn)算操作,TI公司的TMS320C6203 DSP時(shí)鐘頻率在300MHz,在一個(gè)優(yōu)化設(shè)計(jì)中能有每秒4~5億個(gè)乘加運(yùn)算操作,因此一個(gè)C6203器件能夠以約31M 采樣/秒的最大輸入速率完成FIR濾波。
然而FPGA所有16個(gè)乘加運(yùn)算是并行產(chǎn)生,對(duì)于一個(gè)Xilinx Virtex部件,一個(gè)16位乘加運(yùn)算需要約160個(gè)可配置邏輯塊(Configurable-logic-block,CLB)片, 具備16個(gè)同時(shí)乘加運(yùn)算操作需要約2560個(gè)CLB,XCV300E能使FIR濾波器工作在輸入采樣率大于100M Samples/s,輕松滿足要求。
ASIC器件能提供杰出的功耗性能,但多數(shù)可編程器件的功耗需求隨器件的使用和時(shí)鐘速率迅速增加,在總體設(shè)計(jì)功耗評(píng)估時(shí)必須考慮。例如,一個(gè)以Altera 20K600可編程邏輯器件(PLD)構(gòu)成的4信道下變頻器,輸入數(shù)據(jù)時(shí)鐘工作在25 M Samples/s時(shí),功耗為2W,雖有些高,但對(duì)于特定應(yīng)用還可接受;但輸入率增加到65M Samples/s,功耗驟增為5W,對(duì)于許多數(shù)字無(wú)線電產(chǎn)品已很難適用。相比之下,Analog Devices的AD6624 四信道下變頻器在工作于同樣的速率時(shí),功耗僅為700mW。
在低速率,F(xiàn)PGA功耗優(yōu)于高端DSP。再看一個(gè)例子,Dish Network用于數(shù)字視頻廣播的誤差校正系統(tǒng)中,最大27.674Mbps的復(fù)用數(shù)據(jù)采用Reed-Solomon誤差校正編碼,該方案對(duì)每188個(gè)數(shù)據(jù)字節(jié)產(chǎn)生16個(gè)奇偶字節(jié),最大復(fù)合數(shù)據(jù)速率達(dá)30Mbps。
TMS320C6203能夠在5000周下解碼Reed-Solomon,要得到所需的吞吐量,在300MHz時(shí)CPU至少消耗其最大功耗的50%,即1.53W。對(duì)比之下,現(xiàn)有采用Xilinx XCV100E 的Reed-Solomon解碼器才有不到200mW的功耗。這已是一相當(dāng)大的改進(jìn),可和商用Reed-Solomon ASIC取得的性能旗鼓相當(dāng)。
表3對(duì)前面的內(nèi)容做一總結(jié),各種器件按每一類別做了分級(jí),1表示最差,5為最好??紤]到上面的分析,在區(qū)分使用ASIC、FPGA和DSP進(jìn)行設(shè)計(jì)時(shí),有幾條原則,現(xiàn)總結(jié)如下:
·如果能提供可接受的可編程性和集成度,對(duì)于特定的功能來(lái)說(shuō),ASIC是最好的解決方案。
·對(duì)于并行或線性高速信號(hào)處理,F(xiàn)PGA是最好的可編程解決方案。
·如果設(shè)計(jì)中有復(fù)雜的分析或決定,DSP是最好的可編程解決方案。
從發(fā)展趨勢(shì)看,DSP、FPGA和ASIC將繼續(xù)支持片上多功能性,這些產(chǎn)品之間的界限更加模糊,對(duì)于軟件定義無(wú)線電設(shè)計(jì),區(qū)分它們更加困難?!觯渼P)
評(píng)論