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