軟體無線電(Software Defined Radio;SDR)架構一直被認為是基地台開發的重要關鍵,而隨著其適應新通訊協定的能力不斷增強,軟體無線電架構已被一些設計人員視為在單個基礎架構設計中支援多種無線通訊協定的重要解決方案。
直到最近,軟體無線電仍然只是大多數通訊系統設計人員的規劃藍圖而已,但這種局面正迅速得到改觀。隨著3G無線業務的日趨接近,設計人員又對在基礎架構設計中實現軟體無線電架構產生了濃厚的興趣。
實現軟體無線電
傳統的無線基礎架構設計可採用ASIC、DSP和FPGA元件的組合加以實現。在這些設計中,ASIC和FPGA通常負責處理高級編碼機制,如Reed Solomon編碼、Viterbi編碼及Rake接收機,而DSP則負責語音編碼及其他語音處理任務。
在由傳統的無線架構設計轉向軟體無線電設計的過程中,DSP、FPGA和ASIC之間的功能劃分也在產生變化。ASIC逐漸提供更多的可程式功能,而DSP和FPGA則開始具備ASIC的傳統處理功能,三者之間的界限正變得日益模糊。因此,當設計人員設計軟體無線電時,他們發現已很難劃分ASIC、DSP和FPGA三者之間的功能界限。
現在設計人員必須耗費相當多的精力來權衡下面一些問題:傳統上由ASIC實現的功能能否由FPGA或DSP更好地加以實現?或者傳統上由DSP實現的功能是否由FPGA或ASIC實現更為合適?因此問題的核心是如何制訂出正確的選擇準則並對每種處理方案進行有效的評估。
準則選取
在選擇任何準則之前,有必要給軟體無線電精確的定義。在底板各處,開發人員可為軟體無線電架構的構成下許多不同的定義,但本文將採用軟體無線電論壇的方法,將軟體無線電定義為「在較大頻率範圍內,能對目前已有的以及將來會出現的諸多調變技術、寬頻及窄頻作業、通訊安全功能(如跳頻)和信號波形等的標準要求進行軟體控制的無線電」。
《表一 在FPGA中實現CDMA 2000 HDR》 |
|
CDMA 2000規範
採用單一無線介面標準設計的CDMA 2000高速數據速率(Hard Data Rate;HDR)規範中已經實現了數位無線系統(表一),該設計在考慮成本的基礎上,使用了任意可程式元件對系統進行評估,如(圖一)。而在軟體無線電中,無線電的每個主要功能元件(包括射頻收發器)都具備在無線環境中進行重配置以支援多種無線介面標準的特性。
五大設計準則
軟體無線電的可重配置特性改變了設計人員需要考慮的準則。由於強大的處理能力在當前的2G無線環境中佔據主導地位,可程式功能也逐漸成為軟體無線電設計應用的焦點。
總之,當選擇ASIC、FPGA或DSP時,設計人員應當考慮可程式性、整合度、開發周期、性能,以及功率等五項重要的選擇準則,上述準則中的任何一條都會對設計人員選擇DSP、ASIC或FPGA產生直接的影響。
可程式性
可程式性係指對於所有的無線介面標準,元件均能重新配置以執行所期望的功能。DSP和FPGA可輕易地進行重配置,以實現軟體無線電設計的各種功能。現有的通訊ASIC雖然可用較低的成本提供更好的性能,但提供的可程式能力非常有限。亦即一但使用ASIC來開發產品,此產品的功能都被硬體限制了,設計者根本無法更改。問題的關鍵是,在諸多的無線ASIC中是否有一種適合於特定要求的數位無線產品。
在純軟體無線電架構中,顯然沒有一種ASIC具有這樣的功能。但實際上只有很少數的數位無線設計需要這樣高的靈活性。因此軟體無線電產品開發的關鍵步驟就是確定系統每項功能所需的可程式特性,並確定現有的ASIC是否可以提供這項功能。
確定元件的處理功能可透過既支援W-CDMA也支援GSM的基地台收發器架構來說明。由於W-CDMA採用了展頻通訊技術,因此許多用戶可共享一個射頻(RF)通道。在上行鏈路1,920至1,980MHz之間和下行鏈路2,110至2,170MHz之間,W-CDMA信號在每個通道中佔據5MHz的頻寬。另一方面,在GSM系統的每個射頻通道中,窄頻TDMA技術一般只支援8個用戶。在上行鏈路890至915MHz之間和下行鏈路935至960MHz之間,窄頻TDMA的每個通道佔據200kHz頻寬。
《表三 ASIC、FPGA、DSP的比較〈註:COTS全文是Commercial Off-the-Shelf的意思。在此表示有在市場上銷售的ASIC,有別於客製的ASIC。〉》 |
|
4G架構下的變化
但如果要求這些元件在將來支援升級到尚未定義的4G無線架構,ASIC在數位無線電設計中的適用性也將隨之產生變化。例如:在無線領域中,關於是否應在4G系統架構中採用正交頻分多工存取(OFDM)技術還存在諸多分歧,很多設計人員認為OFDM在多徑環境下具有較強的體質,並與多種寬頻標準相容,如區域多點分佈式服務(LMDS)和多通道多點分佈式服務(MMDS)。然而,由於4G標準尚未定義,而且在中頻架構中,使用任何ASIC信號處理元件,都將在未來的升級時產生無法預料的風險,因此中頻處理必須使用FPGA或DSP元件。
一般而言,數位信號處理工作是從數位中頻開始,在此架構中的處理演算法也變得越來越複雜,這就限制了單顆ASIC元件滿足所有可程式要求的能力。在3G/GSM無線應用中,W-CDMA(3G)採用了由快速編碼(turbo coding)和迴旋編碼(convolutional coding)組合而成的糾錯(error correction)機制,藉此滿足所需的誤碼率(BER)性能要求。另一方面,GSM(2G)採用迴旋編碼和「火焰(fire)編碼」的組合作為其糾錯機制,因此定位於特殊糾錯演算法的商用ASIC元件將不再適用於GSM平台,而使用FPGA或DSP來實現則是一種更好的選擇。
整合度
整合度係指在單個元件上整合多項功能,由此縮小數位無線子系統的尺寸並降低硬體的複雜度。ASIC元件在軟體無線電架構設計中的另一劣勢即是整合度較低。隨著ASIC、DSP和FPGA開發技術的不斷進步,在單個元件中整合的功能也急劇增加。但對於ASIC,靈活性將隨整合度的增加而降低。例如,當數位收發器的ASIC晶片完全適用於多種無線介面標準,包括GSM、IS-136、CDMA2000和UMTS W-CDMA,如果在ASIC中添加了CDMA碼片率處理器(chip rate processor),那麼該ASIC就不再適用於GSM和IS-136;如果在ASIC中添加一個支援QPSK、8PSK和16QAM調變方案的調變器或解調器,就能使其成為實現CDMA高速數據速率(HDR)規範的有效解決方案,但不再適用於其他任何標準。因此,需要多個ASIC元件支援多個無線介面標準,但這通常是不切實際的。與ASIC元件相比,多種數位無線功能可輕鬆地整合到DSP或FPGA元件中,並且不會降低元件的靈活性。
在上例中,CDMA2000 HDR ASIC提供的大多數功能均能在Xilinx公司的XCV1000E上實現,如表一所示。FPGA提供的高整合度使這些產品與基於ASIC的元件相比,具有更小的尺寸以及更高的靈活性。
開發周期
開發、實現及測試特定元件的數位無線功能所需花費的時間即為開發周期。ASIC元件並不是一無是處,例如:它具有處理速度最快、不需要過多的軟體支援、用電省等優點。而且ASIC元件的不夠靈活在軟體無線電產品的開發中也具有其優勢,因為現有的ASIC演算法已經開發的相當完善,這有助於縮短產品的上市時間。
硬體設計是ASIC開發進度的關鍵所在,而軟體則只需開發出能擷取元件編程性能的程式庫即可。DSP或FPGA的設計開發周期則要複雜很多,因為其軟體開發所需要的資源通常比硬體開發多很多。在市場上銷售且經過最佳化的通用演算法程式庫是可以加速DSP和FPGA的軟體開發,但這些演算法必須整合在一起以實現所期望的數位無線功能,因此需要完整和冗長的軟體開發周期。
DSP與FPGA軟體開發
設計人員還必須注意到DSP和FPGA 2種軟體的開發方法仍然存有差異。在DSP上編譯演算法的時間通常以秒計算,而在FPGA上合成(synthesis)處理並對類似演算法進行佈線(route)的時間則需要數小時。例如Xilinx公司的典型FPGA佈線速率為每小時400,000個閘電路,因此帶有2百萬個閘電路的XCV2000E的編譯可能需要半天的時間才能完成。
這使得FPGA的設計除錯成為一項昂貴的過程,因此FPGA的設計周期通常需要在對元件演算法進行佈線之前,進行更多的先期分析(up-front analysis),包括多路模擬和模型測試。
性能
性能的評估主要從元件在要求的時間內完成指定功能的能力中判斷,包含數據傳輸速度。在軟體無線電架構中,任何信號處理元件的鑑定必須包括衡量該元件是否能在指定的時間內完成所需的功能。在這類評估中,一種最基本的基準點測量就是1,024點快速傅利葉變換(FFT)處理時間的測量,參見(表二)。
在表二中,可程式ASIC明顯地勝過DSP或FPGA。通常ASIC可為任何指定的功能提供最佳性能。對DSP和FPGA的性能進行比較是很困難的,因為這些元件的架構分別被用在處理不同類型的問題。DSP在非常高的速率下工作,但在一個時間內只能完成有限的作業。相反的,FPGA的工作速率通常比DSP慢,但它可以同時完成的作業量幾乎沒有限制。
為了說明上述的差異,可使用如(圖二)所示的具有16個抽頭(tap)的簡單FIR濾波器做測試。該濾波器要求在每次取樣中完成16次乘積和累加(multiply-and- accumulate;MAC)作業。德州儀器公司的TMS320C6203 DSP具有300MHz的時脈頻率,在合理的最佳化設計中,每秒可完成大約4億至5億次MAC作業。這意味著C6203系列元件的FIR濾波具有最大為每秒31萬次取樣的輸入速率。
但在FPGA中,所有16次MAC作業均可平行執行。對於Xilinx的Virtex元件,16位元MAC作業大約需要160個可重置邏輯塊(configurable-logic-block;CLB),因此,16個MAC平行作業的設計將需要大約2,560個可重置邏輯塊。XCV300E可輕鬆地實現上述配置,並使FIR濾波器的輸入取樣速率達到每秒1億次取樣(100MSps)以上。
附加功率
功率為元件完成指定功能的功率利用率。 ASIC元件的設計通常透過最佳化以提供卓越的功率(用電)性能。但大多數可程式元件的功率大小將隨元件利用率和時脈頻率的增加而急劇成長,因此在衡量整體設計的功率分配時,必須考慮這一因素。
例如:利用Altera公司的20K600可程式邏輯元件(PLD)完成的4通道下行轉換器只需消耗不到2W的功率,即可實現每秒2,500萬次取樣的輸入數據率。這樣的功率雖然比較高,但對於特定的應用還是可以接受的。如果將輸入數據率提高至每秒6,500萬次取樣,那麼消耗的功率將達到5W,這就超出了許多數位無線產品所能承受的功率限制。與Altera 20K600相比,在相同的輸入數據率條件下,Analog Devices公司的AD66244通道下行轉換器ASIC消耗的功率只有700mW。
在較低的速率條件下,FPGA的功率利用率通常優於高階的DSP。為對此加以說明,可舉Dish Network公司在數位視頻廣播中採用的糾錯機制為例:在該系統中速率高達27.647Mbps的多工數據(multiplexed data)採用Reed-Solomon糾錯機制進行編碼,該機制為每188個數據位元組(data bytes)直接產生16個奇偶校驗位元組,並產生最大為30Mbps的合成數據率(composite data rate)。
在小於5,000個時脈周期中,TMS320C6203可解開由204個位元組構成的Reed-Solomon代碼字(codeword)。為達到所需的數據傳輸率(throughput),在300MHz頻率下,CPU必須實現近50%的利用率,而消耗的功率約為1.53W。
與此相反,在Xilinx XCV100E上實現的Reed-Solomon解碼器,其消耗的功率僅為200mW。這是一個巨大的改進,可以與商用Reed-Solomon ASIC,例如Advanced Hardware Architectures公司的AHA4011C具備的性能相媲美。
元件選擇
(表三)總結了上述結果。表中每類元件按1至5的指標,主觀地設定功率極限,1代表該類較差的選擇,而5則表示最佳選擇。
有了上述分析,也就不難得到採用ASIC、FPGA和DSP元件設計軟體無線電的區分原則,這些原則歸納如下:
- 1.ASIC如果能提供可接受的編程和整合性能,對軟體無線電產品而言,它將是最佳的解決方案。
- 2.FPGA可為高度平行(parallel)或涉及線性處理的高速信號處理功能,提供最佳的可程式解決方案。
- 3.DSP可為涉及複雜分析或決策分析的功能,提供最佳可程式解決方案。
隨著技術的進步,DSP、ASIC和FPGA將在晶片上支援更多的功能,這進一步模糊了三者之間的界限。而對於軟體無線電設計人員而言,這意味著他們在今後的設計工作中將面臨更難的選擇。
結語
DSP、ASIC和FPGA的選擇原則也適用於資訊家電、消費性電子產品、網路通訊設備、數據收集(data collection)系統、工業應用系統........等嵌入式系統或晶片組。
可程式系統單晶片(Programmable SoC;PSoC)的功能是ASIC加DSP加FPGA;而系統單晶片的功能則比較接近ASIC或ASIC加DSP。不過,因為它們的價格目前仍然很高,所以許多廠商仍然選用ASIC或DSP的方案來處理高速運算的作業,例如:屬於數據收集系統的條碼機目前仍然採用微控制器(microcontroller)和DSP或處理數位信號的ASIC。FPGA雖然可以提供較多的閘數,但是對大多數應用廠商而言,這並不重要,反而是閘數比較少,能做複雜分析或決策分析的DSP比較能滿足他們的需求。可程式邏輯元件PLD或FPGA最近在基頻、系統級晶片設計模擬和測試驗證上大有斬獲,因為它的可程式化、靈活化的優點將促使其應用更加擴大。
目前業界許多廠商均認為,在短期內,ASIC仍將主宰高階晶片設計,儘管雄心勃勃的可程式邏輯元件PLD或FPGA正在步步緊逼,但是尚難以取代ASIC佔有的高階產品市場。不過,隨著FPGA的發展,FPGA將為市場帶來強勁的衝擊。然而,ASIC並不會很快退出市場。
用戶自訂產品將繼續在多方面滿足用戶的需求,並不斷為那些尋求專用解決方案的用戶提供高效益的策略支援。未來的可程式系統單晶片或許會取代ASIC在高階晶片的市場,並將DSP和FPGA整合在內。不過,低階產品永遠都會存在的,所以用4吋、8吋晶圓製造的低階ASIC仍然會存在,而能滿足特殊應用的FPGA、DSP也會繼續存在。
〈參考資料:軟體無線論壇://http:www.sdrforum.org〉