版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2.1綜述
2.2硬件體系結構
2.3數(shù)字信號處理器2.1綜述所謂體系結構,是指一個全面、一致的功能、組件、設計原則的集合,依靠它可以組織、設計、構建一個系統(tǒng)。一個特定系統(tǒng)的體系結構對系統(tǒng)功能和組成進行了區(qū)分,并將這些系統(tǒng)功能分配給相應的組件和接口。當系統(tǒng)復雜性增加的時候,系統(tǒng)體系結構的作用越來越重要。一個強有力的體系結構可以簡化并加速系統(tǒng)的開發(fā),相反,一個差的體系結構會阻礙系統(tǒng)的開發(fā)。
軟件無線電體系結構是實現(xiàn)軟件無線電概念的具體設計結構,包括硬件、軟件和接口協(xié)議等部分。軟件無線電體系結構是軟件無線電技術的核心。軟件無線電體系結構的設計必須綜合考慮無線通信的技術現(xiàn)狀和長遠發(fā)展,具有融合各個通信標準的能力。從廣義上講,軟件無線電的專門技術和相關技術(也是軟件無線電的技術基礎)都屬于軟件無線電體系結構的研究范圍,如軟件設計技術、寬帶天線和多頻段射頻模塊技術、電磁兼容技術、材料技術、抗干擾和保密技術等。
軟件無線電的結構特點就是結構開放,這樣在硬件不變的情況下,通過改變軟件即可方便地改變設備的性能和功能,保持最先進的技術。處理模塊(無論是硬件模塊還是軟件模塊)可以更換和增減數(shù)量,在投入不大的情況下,可以使設備不斷得到升級。
一個實際的軟件無線電系統(tǒng)的基本構成如圖2-1所示。
由圖2-1可知,軟件無線電的基本結構可以分為:寬帶天線、射頻前端、變頻、高速ADC/DAC、數(shù)字信號處理,另外還有系統(tǒng)的控制部分。該結構大體上可分為硬件部分和軟件部分。圖2-1一個實際的軟件無線電系統(tǒng)的基本構成當系統(tǒng)處于接收狀態(tài)時,無線信號通過天線耦合到寬帶射頻收/發(fā)部分,通過下變頻并采樣后將數(shù)據(jù)傳輸?shù)綌?shù)字信號處理器中;當系統(tǒng)處于發(fā)射狀態(tài)時,由數(shù)字信號處理器將處理形成的高速數(shù)字信號輸出至高速DAC并轉(zhuǎn)換成模擬信號,通過天線發(fā)射出去。整個工作是通過軟硬件的協(xié)調(diào)共同完成的,其硬件部分越來越通用化,而軟件部分則越來越層次化、功能化。軟硬件之間有接口通信協(xié)議,該通信協(xié)議主要由通信幀格式的定義和通信過程的操作時序組成,能夠表達硬件平臺層的各種功能和設備驅(qū)動層的各種請求,并且具有一定的可擴展能力。
本書將從硬件和軟件兩個方面分別介紹軟件無線電的體系結構,硬件體系結構主要從軟件無線電系統(tǒng)的硬件結構和構成進行說明,軟件體系結構主要從軟件無線電的軟件構成進行說明,軟件無線電的標準——軟件通信結構(SCA)也作為軟件結構進行說明。本章介紹軟件無線電的硬件體系結構。2.2硬件體系結構關于軟件無線電硬件體系結構的劃分,通常有兩種方法:一是按照構成硬件平臺的物理介質(zhì)劃分;二是按照系統(tǒng)中各功能模塊的連接方式劃分,即各功能模塊如何互聯(lián),從而組成一個開放的、可擴展的、標準的,同時具有較高數(shù)據(jù)吞吐率的硬件平臺。上述兩種劃分方法不是截然分開的,因為任何硬件平臺的構成都同時包括了這兩方面的問題。
1.按照物理介質(zhì)劃分的硬件體系結構
按照物理介質(zhì)劃分的硬件體系結構主要分為三種:第一種是以通用處理器GPP為基礎的
體系結構,該結構直接采用PC機和工作站進行數(shù)字信號處理;第二種是以DSP為基礎進行數(shù)字
信號處理的體系結構;第三種是以FPGA為基礎進行數(shù)字信號處理的體系結構。
GPP:即通用處理器(General-PurposeProcessor),一般指的是服務器用和桌面計算用CPU芯片,諸如英特爾、奔騰或PowerPC等。
DSP:即數(shù)字信號處理器(DigitalSignalProcessor),是指專門為快速實現(xiàn)各種數(shù)字信號處理算法而設計的具有特殊結構的微處理器。
FPGA:即現(xiàn)場可編程門陣列(FieldProgrammableGateArray),它是在PAL、GAL、PLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。FPGA是作為專用集成電路(ASIC)領域中的一種半定制電路出現(xiàn)的,它既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
1)基于GPP的設計
這種設計完全采用PC機和工作站完成所有的信號處理工作,這樣的軟件無線電系統(tǒng)也稱為虛擬無線電(VirtualRadio)。對于這種無線電系統(tǒng),從實體上我們無法觀察到一個真正意義上的電臺,它完全從軟件的角度解決無線通信問題。這種結構以美國麻省理工學院(MIT)計算機科學實驗室開發(fā)的SpectrumWare系統(tǒng)為代表。該系統(tǒng)是一個以GPP作為核心處理單元,主要用于無線通信系統(tǒng)設計和驗證的實驗平臺。通用機與其他類型系統(tǒng)的最大區(qū)別是:它不是一個實時的同步系統(tǒng),不能像DSP那樣適合于嚴格定時采樣信號的實時處理,只能通過中斷來保持一定的同步。然而計算機體系結構的開放性、靈活性、可編程性和人機界面等方面的能力非常強,開發(fā)調(diào)試非常容易,最接近理想的軟件無線電,是未來的研究方向,具有深遠意義。但是,由于通用計算機等技術水平還達不到理想處理能力,因此目前其性能比較差,成本相當高,實用性不強。
2)基于DSP的設計
基于DSP的設計是目前可實現(xiàn)的一種設計。這種結構的通用性、靈活性比較好,開發(fā)調(diào)試比較容易,性能比較好,其主要代表是美軍的SPEAKeasy多頻段多模電臺(MBMMR,Multi-Band-MultiModeRadio)。該電臺采用TI公司的TMS320C40多芯片組Quad-C40MCM,能夠提供200MFLOPS和1100MIPS的處理能力以及300MB的I/O吞吐量。SPEAKeasy的思路是:立足于當前的硬件水平來構造實用的、能夠初步實現(xiàn)軟件無線電思想的無線通信系統(tǒng)。
3)基于FPGA的設計
隨著電子設計自動化的發(fā)展,可編程器件可以在線編程,動態(tài)改變器件的邏輯功能。這樣可以實現(xiàn)物理器件的時分復用,甚至自適應的硬件系統(tǒng)也可以實時地按要求實現(xiàn)軟件無線電結構的大部分模塊。
FPGA這種可重配置處理器非常適用于范圍廣泛的大計算量的任務。最新一代的FPGA在性能和容量上都有了顯著的提高,使它的應用范圍擴大到了具有數(shù)字濾波器等復雜的運算功能?;贔PGA的設計通用性、靈活性好,隨著可重構技術的發(fā)展,開發(fā)調(diào)試比較容易,目前已可以局部使用,成本很低,體積和功耗可以很小,性能比較好。在SPEAKeasy電臺中,對于一些復雜的、通用DSP不能完成的功能,可用專用處理器和FPGA來實現(xiàn)。
需要注意的是,這三種信號處理器件的特點使得在當前條件下純粹采用某種設計并不合適,通常采用基于多類型器件混合設計的方式。
2.按照系統(tǒng)中各功能模塊的連接方式劃分的硬件體系結構
在軟件無線電系統(tǒng)中,各功能模塊通過一定的連接方式進行互聯(lián)而組成了一個開放的、可擴展的、標準的、具有較高數(shù)據(jù)吞吐率的硬件平臺。按照系統(tǒng)中各功能模塊的連接方式,硬件體系結構可以分為流水式結構、總線式結構、交換式結構、基于計算機和網(wǎng)絡式結構。
1)流水式結構
流水式結構如圖2-2所示。這種結構包括天線、多頻段射頻(RF)轉(zhuǎn)換、寬帶ADC/DAC、DDC/DUC、數(shù)字信號處理等。圖2-2流水式結構示意圖另外,在該體系中各模塊之間的接口一般都是面向特定要求(傳輸)而設計的,各模塊之間不存在統(tǒng)一和開放的接口標準,這使得該結構的伸縮性和通用性較差,從而不利于技術的協(xié)同與進步,而且?guī)挶容^窄。因此,這種流水式結構不能滿足軟件無線電的內(nèi)在要求,僅適用于某些特定的通信體制。
2)總線式結構
流水式結構中各個模塊的直接耦合過于緊密,存在著牽一發(fā)而動全局的問題?;谶@種情況,人們提出了總線式結構??偩€式結構的軟件無線電結構中,各功能單元通過總線連接起來,并通過總線交換數(shù)據(jù)及控制命令,如圖2-3所示。這種結構非常簡單,模塊化程度高,系統(tǒng)靈活,具有很好的開放性、通用性和伸縮性,而且容易實現(xiàn),可以根據(jù)不同的要求由公共的功能模塊集合成不同系統(tǒng),功能擴展和系統(tǒng)升級方便。圖2-3總線式結構示意圖但是,多個功能模塊以時分復用的方式通過公共系統(tǒng)總線完成信號傳輸,這對系統(tǒng)總線的性能提出了很大的挑戰(zhàn),總線成為系統(tǒng)功能擴展的瓶頸,特別是在實時性要求高的通信系統(tǒng)中。因此,總線必須具有高速率,能提供復雜控制,便于功能擴展(可集成未來更高性能的處理器)的功能。另外,軟件無線電總線式結構還應該具有以下特點:
(1)支持多處理器系統(tǒng)。
由于軟件無線電是在高、中頻上對信號進行采樣,數(shù)據(jù)運算量非常大,因此要求很高的處理速度。如果采用DSP,則目前任何單片DSP都難以勝任,因此軟件無線電總線應能保證多DSP的并行處理,共享系統(tǒng)資源。
(2)具有寬帶高速的特性。
為保證大量數(shù)據(jù)的傳輸,軟件無線電總線具有極高的數(shù)據(jù)傳輸和I/O吞吐能力,總線傳輸速率超過50Mb/s,支持32~64位數(shù)據(jù)和地址總線。
(3)具有良好的機械和電磁特性。
總線能夠在惡劣的通信環(huán)境中正常工作,保證一定的通信性能。
(4)需采用較復雜的控制機制,如采用分級總線方式或多總線方式等。
軟件無線電要求通信系統(tǒng)具有較高的實時處理能力,只有采用先進的標準化總線結構,才能發(fā)揮其適應性廣,升級換代簡便的特點。鑒于目前實現(xiàn)起來較為容易,這種結構既是實現(xiàn)軟件無線電的一種折中方案,也是首選方案,常用來開發(fā)原型樣機。目前,已形成工業(yè)標準的系統(tǒng)總線包括ISA、EISA、VESA、PCI、STD、VME、PC/104、CompactPCI和SmallPCI等。在軟件無線電中,PCI和VME是較為常見的總線。其中,VME總線正是針對多處理器系統(tǒng)設計的,是一種支持多機并行處理的高性能總線,其帶寬、資源、功能、電磁兼容等都超過了一般的總線,是目前數(shù)字信號處理和工業(yè)控制等應用中受到眾多廠商廣泛支持的標準化總線,也是軟件無線電的常用總線。美國在SPEAKeasy-Ⅰ中選擇的就是VME總線。
3)交換式結構
交換式結構如圖2-4所示。該平臺采用適配器和交換網(wǎng)為各功能模塊提供統(tǒng)一的數(shù)據(jù)通信服務,各個功能模塊都是由相同的DSP單元組成的,模塊之間通過數(shù)據(jù)包交換來傳送數(shù)據(jù),即功能模塊通過適配器來進行拆包和打包(類似于ATM信元),并通過交換網(wǎng)絡來交換數(shù)據(jù)。這種體系遵循相同的通信接口和協(xié)議,它們之間的耦合性很弱。在實現(xiàn)某種具體的通信系統(tǒng)時,要考慮如何配置各個功能板的功能(可重構性),功能板之間可以通過建立一個虛電路來進行通信。圖2-4交換式結構示意圖利用交換式結構可以方便地實現(xiàn)數(shù)據(jù)的廣播(Broadcast)和多播(Mulitcast),大大拓展了硬件平臺的處理能力,極大地提高了平臺的靈活性和可擴展性。這種結構具有效率高、帶寬寬以及通用性好的特點,并且具有較好的吞吐量和實時性能,適用于多種無線通信系統(tǒng)。該體系結構的缺點是:時延長,硬件復雜,不太容易實現(xiàn)而且成本高。但是,由于其結合了總線式結構和流水式結構的優(yōu)點,符合軟件無線電的特點,因此它將是一種很有前途的硬件平臺。
另外,在此基礎上還有一種改進的結構——環(huán)形硬件體系平臺。該結構中各個功能模塊通過適配板組織成為一個環(huán)形結構。這種環(huán)形結構也可以看做是一種交換網(wǎng)絡,它既具有流水線的特點,同時又能夠?qū)崿F(xiàn)廣播和選播,是一種非常有前途的結構。
4)基于計算機和網(wǎng)絡式結構
基于計算機和網(wǎng)絡式結構如圖2-5所示。這種結構由可編程前端和并行計算機平臺組成。前者包括寬帶多波段天線、上下變頻器、ADC/DAC、外圍電路(如數(shù)據(jù)總線和控制器);后者主要由計算機群組成,它充分利用計算機的數(shù)據(jù)處理能力以完成信號處理,是該系統(tǒng)的關鍵部分。這些技術為軟件無線電平臺提供了充足的性能,同時具有很好的可擴展性和靈活性。在這種結構中,射頻信號下變頻成中頻信號,前端的ADC將中頻數(shù)字化,交給運算平臺得到信息;相反,信息通過平臺調(diào)制,經(jīng)DAC轉(zhuǎn)換為中頻信號,然后變頻到射頻發(fā)送。圖2-5基于計算機和網(wǎng)絡式結構這種體系結構的優(yōu)點如下:
(1)由于計算機技術和網(wǎng)絡技術很普遍且較為成熟,因此可以方便地提供接入平臺。只需要安裝適配器和相關軟件即可在現(xiàn)存的計算機群上實現(xiàn)該結構,這使得采用這一技術成為十分經(jīng)濟的選擇。
(2)由于該系統(tǒng)是基于網(wǎng)絡的,因此可以為最近出現(xiàn)的互聯(lián)網(wǎng)絡與移動通信結合的趨勢提供強有力的支持,使無線網(wǎng)絡可以很容易地與計算機網(wǎng)絡融合。
(3)這種結構的效率高,帶寬寬,可擴展性和通用性很好。
(4)該系統(tǒng)比DSP-FPGA方案軟件化程度高,更靈活,更接近理想軟件無線電。
目前基于通用計算機實現(xiàn)軟件無線電系統(tǒng)還比較困難,該技術尚不夠成熟,所實現(xiàn)的系統(tǒng)與完成的任務相比代價偏高,器件體積較大,不便于應用到個人手持終端中。
5)性能比較
以上幾種硬件體系結構各有優(yōu)缺點。表2-1從延時、帶寬、硬件復雜度、伸縮性和通用性等方面對它們各自的性能進行了比較。從表2-1中可以看出,流水式結構在效率、時延方面具有優(yōu)點,但伸縮性差,僅適用于某些特定的通信機制;總線式結構容易實現(xiàn),常用來開發(fā)原型樣機;交換式結構與基于計算機和網(wǎng)絡式結構使用網(wǎng)絡大大拓展了硬件平臺的處理能力,通用性、伸縮性、靈活性最好,適用于多種通信體制,但它們的主要缺點是時延長,硬件較復雜,成本高。
圖2-6所示為軟件無線電系統(tǒng)結構。
在最頂級的層次,一個軟件無線電系統(tǒng)包含四個部分,即天線、射頻前端、基帶數(shù)字信號處理器和控制器。這樣軟件無線電硬件平臺包括可配置硬件和可編程數(shù)字信號處理器。可編程硬件為天線、射頻前端,理想狀況下,射頻前端應該僅有ADC/DAC,但是由于實際器件性能的限制,還會包括DDC、DUC、DDS、濾波器等,這些我們在后面會有所介紹;控制器和基帶數(shù)字信號處理器由具可編程能力的數(shù)字信號處理器件構成,它們主要有GPP、DSP、FPGA。2.3數(shù)字信號處理器圖2-6軟件無線電系統(tǒng)結構有些文獻將ASIC(ApplicationSpecificIntergratedCircuits)也作為具有可編程能力的信號處理器件。ASIC即專用集成電路,是指應特定用戶要求和特定電子系統(tǒng)的需要而設計、制造的集成電路。在DSP功能較弱的時候,在大部分數(shù)字無線系統(tǒng)中均采用了ASIC。ASIC的特點是高性能、低功耗、低成本(產(chǎn)量較大時)。不幸的是,ASIC有兩個主要缺點,即開發(fā)成本高,可編程性差,這大大限制了ASIC在軟件無線電中的應用。雖然基于GPP的軟件無線電平臺最接近“通信世界的計算機”的概念,但就目前狀況來看,DSP和FPGA已成為軟件無線電實現(xiàn)的主流器件。現(xiàn)在DSP的處理速度已高達2000MIPS,性價比不斷上升,開發(fā)手段不斷改進。在當今數(shù)字化時代背景下,DSP已成為通信、計算機、消費類電子產(chǎn)品等領域的基礎器件,被譽為信息社會革命的旗手。同時DSP已成為集成電路中發(fā)展最快的電子產(chǎn)品,并成為電子產(chǎn)品更新?lián)Q代的決定因素。因此基于DSP技術的開發(fā)應用早已是軟件無線電的主流。
FPGA雖然早先主要應用于外圍的邏輯電路,但由于工藝技術的進步,提升了性能并降低了功耗和成本,因此FPGA正從外圍邏輯應用進入到信號處理系統(tǒng)核心,威脅著傳統(tǒng)DSP處理器的領地。隨著FPGA進入90nm和65nm工藝時代,高性能的數(shù)字信號處理應用被FPGA廠商認為是新的增長點,自2006年下半年開始,Xilinx和Altera這兩大FPGA巨頭不約而同在公開場合大量宣傳其器件在數(shù)字信號處理方面的應用,聲稱FPGA可以補充傳統(tǒng)DSP處理器的不足,甚至可以取代DSP處理器。現(xiàn)在的實際系統(tǒng)中僅采用單一處理器形式的結構較為少見,常見的做法是通過ASIC、FPGA、DSP、GPP的合適組合構成一個軟件無線電平臺。隨著微電子技術的發(fā)展,這四種器
件之間的界線開始模糊,比如ASIC逐漸提供更多的可編程功能,而DSP和FPGA則開始具備ASIC的傳統(tǒng)處理功能等,在實際使用中我們將面臨更多的選擇。
ASIC、FPGA、DSP、GPP的可編程性和處理能力對比如圖2-7所示。圖2-7ASIC、FPGA、DSP、GPP的可編程性和處理能力對比在本章中,我們將在了解軟件無線電對信號處理要求的基礎上,對GPP、DSP、FPGA三種器件的性能進行了解和對比,這將有助于實際的選擇和比較。由于ASIC缺乏可編程能力,因此本書不再對其進行說明。2.3.1信號處理器處理能力的度量
在介紹軟件無線電信號處理的特點之前,我們先介紹一下對信號處理器信號處理能力進行度量的指標,這個指標通常就是運算速度。信號處理器的運算速度可以用以下幾種性能指標來描述。
1.時鐘速率
時鐘速率越快,運算速度就越快。但是,在比較處理器的時鐘速率時,處理器的輸入時鐘可能與其指令速率一樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不一樣。而且,許多處理器具有時鐘倍頻器或鎖相環(huán),可以使用外部低頻時鐘產(chǎn)生片上所需的高頻時鐘信號。
2.指令執(zhí)行速度
指令執(zhí)行速度是指以一條指令所需的執(zhí)行時間或每秒鐘執(zhí)行的指令數(shù)目來度量,這兩者互為倒數(shù),單位分別為ns(納秒)和MIPS(百萬條指令每秒)。
但是,指令執(zhí)行速度并不能表明處理器的真正性能,不同的處理器在單個指令下完成的任務量不一樣,單純地比較指令的執(zhí)行時間并不能公正地區(qū)別性能的差異?,F(xiàn)在一些新的處理器采用超長指令字(VLIW)架構,在這種架構中,單個周期時間內(nèi)可以實現(xiàn)多條指令,而每個指令所實現(xiàn)的任務比傳統(tǒng)處理器少,因此相對VLIW和傳統(tǒng)處理器而言,比較MIPS的大小時會產(chǎn)生誤導作用。即使在傳統(tǒng)處理器之間比較MIPS的大小也具有一定的片面性。例如,某些處理器允許在單個指令中同時對幾位一起進行移位,而有些處理器的一個指令只能對單個數(shù)據(jù)位進行移位;有些處理器可以進行與正在執(zhí)行的ALU指令無關的數(shù)據(jù)并行處理(在執(zhí)行指令的同時加載操作數(shù)),而另外有些處理器只能支持與正在執(zhí)行的ALU指令有關的數(shù)據(jù)并行處理;有些新的處理器允許在單個指令內(nèi)定義兩個MAC。因此僅僅進行MIPS比較并不能準確得出處理器的性能。
3.操作執(zhí)行速度
操作執(zhí)行速度是指以每秒鐘進行的操作數(shù)目來度量。操作可以分為定點和浮點,其單位有MOPS(百萬次操作每秒)、MFLOPS(百萬次浮點操作每秒)和BOPS(十億次操作每秒)。
該指標與MIPS有一定的聯(lián)系。例如,某些處理器能同時進行浮點乘法操作和浮點加法操作,因而其產(chǎn)品標稱的MFLOPS為MIPS的兩倍。
4.乘加運算(MAC)執(zhí)行速度
乘加運算執(zhí)行速度是指以完成一次MAC運算的時間或每秒鐘執(zhí)行的乘加運算數(shù)目來度量,這兩者互為倒數(shù),單位分別為ns和MMACS(百萬次乘加每秒)。與MIP相比,MAC較為科學,但未能提供比較處理器性能差異的足夠信息,比如在絕大多數(shù)處理器中,MAC操作僅在單個指令周期內(nèi)實現(xiàn),但某些處理器在單個MAC周期內(nèi)會處理其他任務,而且這個也不能反映諸如循環(huán)操作等的性能,而這種操作在所有的應用中都會用到。
5.FFT運算執(zhí)行速度
FFT運算執(zhí)行速度是指以運行一個N點FFT程序所需的時間來度量。由于FFT運算涉及的運算在數(shù)字信號處理中很有代表性,因此FFT運算時間常作為衡量處理器芯片運算能力的一個指標。這種方法比上述方法更為科學。2.3.2信號處理能力的需求
在軟件無線電的通用硬件平臺中,選用處理器件的重要指標是信號處理能力?,F(xiàn)代軟件無線電系統(tǒng)的性能要求越來越高,對器件的要求也越來越高。例如,為了較好地進行濾波等處理,需要每采樣點100次操作,若系統(tǒng)帶寬為10MHz的系統(tǒng),則采樣頻率要大于25MHz,這就需要2500MIPS的運算能力。這種需求的增加速度是十分驚人的。比如,從1G到3G,實際處理能力的需求是每4年提高一個數(shù)量級,這超過了摩爾定理的速度,即集成電路的集成度每隔18個月要翻一番,也就是說每6~7年提高一個數(shù)量級。為了對軟件無線電系統(tǒng)的信號處理能力需求有個感性的認識,在這里以3G移動通信標準之一的UMTS/WCDMA為例進行說明。
隨著通信技術的不斷成熟以及用戶對通信質(zhì)量的要求越來越高,現(xiàn)有2G網(wǎng)絡已經(jīng)不可避免地向3G演變。在3G中,普遍采用了CDMA技術,UMTS/WCDMA是其中一個重要的標準,它采用了如下兩種復雜的技術用于提高移動通信系統(tǒng)的性能。
(1)在網(wǎng)絡層面采用軟切換(即先接入新的基站,而后切斷原基站;硬切換就是先切斷原基站,而后接入新的基站),使用戶在切換過程中總保持與兩個或兩個以上基站的聯(lián)系,這大大降低了掉話率。
(2)在空中接口層面采用Rake接收機。這種接收機有多個相關支路,每個相關支路對應一條可分離的接收信號的多徑分量進行接收,多個接收值進行加權取和。Rake接收機實質(zhì)上就是同時存在著多個接收機。這種接收機大大提高了在多徑環(huán)境下接收機的性能,一般基站采用的支路數(shù)為4條,手機所采用的支路數(shù)為3條。顯然,UMTS/WCDMA的系統(tǒng)復雜度大大提高了,這樣對信號處理能力的要求也就提高了。另外,UMTS基站是非同步的,在路徑搜索和切換過程中將需要更多的操作,因此,UMTS接收機需要更多的信號處理能力。若設計一個具有多個空中接口(比如UMTS、CDMA2000、GSM、TDMA)的軟件無線電系統(tǒng),則顯然應該把實現(xiàn)UMTS收發(fā)機作為最高的情況。在此情況下軟件無線電平臺所需要的處理能力可列于表2-2中,軟件無線電平臺必須滿足其要求。從表2-2中可以看到:
(1)系統(tǒng)所要求的總的處理能力是很高的,可達10000MMACS。
(2)發(fā)射機所需要的處理能力是接收機的1/3,這對于大部分通信系統(tǒng)都是適用的。
(3)按數(shù)據(jù)處理要求的速率不同,可以將處理的區(qū)域按樣點的來源類型分為中頻區(qū)、碼片區(qū)和碼元區(qū)。在中頻區(qū)主要完成上、下變頻,其要求處理能力最高;在碼片區(qū)主要完成以碼片(一個碼片中包含多個中頻樣點)為單位的數(shù)據(jù)處理任務,處理能力要求次之;在碼元區(qū)主要完成以碼元(一個碼元中包含
多個碼片)為單位的數(shù)據(jù)處理任務,處理能力要求最小。2.3.3對信號處理器的要求
表2-2只是處理能力的大致需求,但已經(jīng)說明在軟件無線電中信號處理算法運算量是很大的,且算法的實現(xiàn)都必須實時。另外,軟件無線電的信號處理算法具有如下特點。
(1)信號處理算法通常需要執(zhí)行大量的乘累加運算。例如在卷積、數(shù)字濾波、FFT、相關運算、矩陣運算等算法中都有大量的類似于∑A(k)B(n-k)的運算。
(2)信號處理算法常具有某些特定模式。比較典型的是數(shù)字濾波器中的連續(xù)推移位。
(3)信號處理算法的大部分處理時間花在執(zhí)行相對小循環(huán)的操作上。
(4)信號處理要求專門的接口,同時大量的數(shù)據(jù)交換需要有高速的數(shù)據(jù)吞吐能力。比如一個非常重要的接口就是與ADC/DAC的接口。
(5)軟件無線電中信號處理數(shù)值范圍較寬,采用的數(shù)據(jù)格式以浮點形式為佳。
信號處理的定點格式是將數(shù)字表示為-1.0~+1.0之間的小數(shù)形式進行工作;浮點格式是將數(shù)字表示為尾數(shù)加指數(shù)的形式(即尾數(shù)×2n)進行工作。定點格式需要考慮溢出問題,浮點格式則沒有這個缺點。這些特點決定了軟件無線電中信號處理器必須具備如下功能:大運算量的實時運算必須具有多個可并行執(zhí)行的功能單元,并對常用的數(shù)字信號處理操作提供直接的硬件加速支持;強的實時性決定了數(shù)字信號處理器不能有太多的動態(tài)特征,因此對高速緩存(Cache)機制、分支預測機制和終端響應機制的選擇或采用具有一定的限制。在運算上數(shù)字信號處理算法包含大量的簡單運算和短小循環(huán),數(shù)據(jù)運算高度重復,處理器應該設置片內(nèi)存儲器、單周期MAC功能單元和硬件“零開銷循環(huán)”控制機制,以對算法需求提供必要的支持。在算法處理過程中,需要進行頻繁的數(shù)據(jù)訪問,以滿足運算實時、快速的要求,數(shù)據(jù)地址的計算會隨著訪問的頻繁度而線性增長,這樣,數(shù)據(jù)地址計算的速度和數(shù)據(jù)訪問的速度要求較高,處理器應該有高的存儲器帶寬、專門的地址計算單元和專用的尋址模式,用來對高效的數(shù)據(jù)訪問提供必要的支持。
2.3.4GPP
1.GPP芯片簡介
GPP即通用處理器,一般指的是服務器用和桌面計算用CPU芯片。它具有很高的性能,而且有操作系統(tǒng)支持,適合完成寬范圍的處理工作,與任何一種編程語言都無關,應用極為靈活。
由于GPP是為通用計算機的廣泛應用而設計的,其運行的程序?qū)\算量和實時性需求并不十分嚴格,它追求各種應用程序執(zhí)行性能的平衡,以達到總體性能的提升,因此,對于能夠提高總體性能的各種技術或者機制,GPP都會在考慮高性能、低價格、低功耗的前提下有選擇地采納,而不會受到應用程序的限制。因此,GPP對于控制密集型應用可以提供高效的支持。
2.GPP芯片的種類和性能特點
GPP的生產(chǎn)廠商主要有美國的Intel和AMD公司。IBM、HP(COMPAQ)、SGI、SUN等公司都生產(chǎn)各具特點的服務器用高性能通用微處理器,這些微處理器都采用RISC指令系統(tǒng),通過超標量、亂序執(zhí)行、動態(tài)分支預測、推測執(zhí)行等機制,提高指令級并行性,以改善性能。這類芯片被廣泛用于各種工作站、服務器和高性能計算機中。下面分別對其性能進行介紹。
1)GPP結構
GPP采用馮·諾依曼結構,如圖2-8所示。在這種結構中,只有一個存儲器空間通過一組總線(一個地址總線和一個數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會發(fā)生4次存儲器訪問,用掉至少4個指令周期。在高速運算時,往往會在傳輸通道上出現(xiàn)瓶頸效應。
需要注意的是,現(xiàn)在典型的高性能GPP實際上已包含兩個片內(nèi)高速緩存:一個是數(shù)據(jù),另一個是指令。它們直接連接到處理器核,以加快運行時的訪問速度。從物理上說,這種片內(nèi)的雙存儲器和總線的結構幾乎與哈佛結構一樣。然而從邏輯上說,兩者還是有重要區(qū)別的。GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。圖2-8馮·諾依曼結構
2)MAC運算的實現(xiàn)
GPP不是設計來做密集乘法任務的,即使是一些現(xiàn)代的GPP,也要求多個指令周期來做一次乘法。
3)零開銷循環(huán)
GPP沒有零開銷循環(huán)機制,其循環(huán)是通過使用軟件來實現(xiàn)的。但是某些高性能的GPP使用轉(zhuǎn)移預報硬件,幾乎可達到與硬件支持的零開銷循環(huán)同樣的效果。
4)數(shù)據(jù)格式
GPP通常采用浮點數(shù)據(jù)格式。
5)數(shù)據(jù)寬度
數(shù)據(jù)寬度一般較長,精度較好,可達64位。
6)尋址方式
GPP僅具有常用尋址模式,數(shù)字信號處理所需要的特殊的尋址模式在GPP中是不常使用的,只能通過軟件來實現(xiàn)。
7)指令集
GPP的指令集具有簡潔的結構和通用性,對編譯技術可以提供很好的支持,但程序所占用的空間較大。早期的GPP通常采用CISC指令集結構,后期廣泛采用RISC指令集結構,這種指令集結構簡潔規(guī)整,單條指令通常在單個周期內(nèi)完成單個操作,這樣可降低體系結構的復雜性。但是沒有專為數(shù)字信號處理設置的特殊指令。
8)執(zhí)行時間的可預測性
在軟件無線電中,數(shù)字信號處理應用大多具有硬性實時要求,在每種情況下所有處理工作都必須在指定時間內(nèi)完成。這種實時限制要求程序設計者確定每個樣本究竟需要多少時間,或者在最壞情況下至少需用多少時間。由于GPP有操作系統(tǒng)支持,因此其缺點是確定代碼執(zhí)行時間非常困難。這是因為大量超高速數(shù)據(jù)和程序緩存使用動態(tài)分配程序,在不同的線程下操作系統(tǒng)內(nèi)核使用的CPU時間不同,操作系統(tǒng)不能保證軟件無線電系統(tǒng)所需要的執(zhí)行時間,對于高性能GPP來說,執(zhí)行時間的預測變得復雜和困難。
如果打算用低成本的GPP去完成實時信號處理的任務,則執(zhí)行時間的預測大概不會成為什么問題,因為低成本GPP具有相對直接的結構,比較容易預測執(zhí)行時間。然而,大多數(shù)實時信號處理應用所要求的處理能力是低成本GPP所不能提供的。
9)芯片資源
由于GPP具有通用性,因此片上資源直接針對信號處理的并不多,主要針對片內(nèi)存儲器的設置,這可以提高數(shù)據(jù)訪問的性能,但通常GPP的運行程序都很大,不太容易設置片內(nèi)存儲器。GPP減小處理器速度和存儲器訪問速度之間的差距的典型方法是在GPP內(nèi)部設置高速緩存(Cache)。但是現(xiàn)在為了信號處理應用,有些GPP也設置了大的片內(nèi)存儲器。
10)操作系統(tǒng)支持
計算機操作系統(tǒng)支持從文字界面向圖形界面、從單任務向多任務進展,其中,具體業(yè)務為從簡單的文字處理到MP3、Flash播放、音視頻編解碼、3D游戲等。通信、網(wǎng)絡功能需要支持不同層次的協(xié)議,多個業(yè)務還可能同時進行,同時也不斷提出了實時、高保真、高分辨率、低延遲的質(zhì)量要求,而這些需求似乎還沒有止境。
對GPP而言,具有操作系統(tǒng)支持是非常有利的因素。
11)功耗、成本
GPP的功耗和成本較高,且不利于集成。
12)處理能力
GPP處理能力較強,時鐘速率高,現(xiàn)在高性能的Pentium4處理器時鐘已達3.2GHz。除此而外,為了提高處理指令執(zhí)行的并行性,GPP采用了單指令多數(shù)據(jù)(SIMD,SingleInstructionMultipleData)體制、超長指令字VLIW結構和超標量體系結構。其中,SIMD處理器把輸入的長的數(shù)據(jù)分解為多個較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術能大幅度地提高在多媒體和信號處理中大量使用的一些矢量操作的計算速度,如坐標變換和旋轉(zhuǎn)。通用SIMD處理器增強的兩個例子是Pentium的MMX擴展和PowerPC族的AltiVec擴展,而VLIW結構和超標量結構都可以使GPP在單個時鐘周期內(nèi)執(zhí)行多條指令。現(xiàn)在GPP處理速度可達10000MIPS以上。從上面的簡要介紹中可以看到,雖然GPP不是針對信號處理而設計的,但是它的通用性非常好,一個GPP平臺和操作系統(tǒng)聯(lián)合后可以完成所有的處理任務,可以實現(xiàn)完全的控制和靈活性,無線接口將非常靈活。在這樣的系統(tǒng)中,新的無線標準可以實現(xiàn)在GPP上運行不同的軟件,非常符合“通信世界中的個人計算機”這樣的概念。在操作系統(tǒng)的支持下可以為軟件無線電系統(tǒng)開發(fā)提供很多便利條件,比如虛擬存儲器、多線程等。開發(fā)環(huán)境很容易使用,GPP系統(tǒng)可以采用常用的語言(如C/C++)進行編程,而且不需要對系統(tǒng)進行詳細的了解。另外,廠商現(xiàn)在也根據(jù)信號處理的需求對GPP進行了一些改進。雖然如此,但采用GPP實現(xiàn)軟件無線電的限制因素也較為明顯,最大的問題是采用確定代碼執(zhí)行時間非常困難。為此,通常采用實時操作系統(tǒng)來解決,但這需要特殊的編程工具和知識,這與采用標準的編程工具和跨平臺代碼是相矛盾的。另一個限制因素是處理能力,雖然處理器的速度可達到吉赫茲,但系統(tǒng)的總線速度和存儲器是受限的。
另外在應用層面,現(xiàn)在很多系統(tǒng)中并不需要很強的靈活性,需要對成本、功耗等因素進行綜合考慮,這樣使GPP英雄無用武之地。更好的方法是采用DSP和GPP,GPP用于監(jiān)測和控制接口,以及低速率的基帶處理,大的信號處理任務則通過DSP完成。這樣可降低PCI總線上數(shù)據(jù)的流量,而且可以對DSP在線編程。2.3.5DSP
1.DSP芯片簡介
DSP是一種專門用來實現(xiàn)信號處理算法的微處理器芯片,可以認為是GPP的特例。根據(jù)使用方法的不同,DSP可以分為專用DSP和通用DSP。專用DSP只能用來實現(xiàn)某種特定的數(shù)字信號處理功能,更適合特殊的運算,如數(shù)字濾波、卷積和FFT。Motorola公司的DSP56200、Zoran公司的ZR34881、Inmos公司的IMSA100等就屬于專用型DSP芯片。例如,數(shù)字濾波、FFT等使用方便,處理速度快,但是靈活性差。通用DSP芯片適合普通的DSP應用,類似GPP一樣有完整的指令系統(tǒng),通過軟件來實現(xiàn)各種功能。例如,TI公司的一系列DSP芯片就屬于通用DSP芯片。這里提到的DSP指通用DSP。
2.DSP芯片的種類和性能特點
從1978年第一片DSP芯片發(fā)布至今,DSP一直處于高速發(fā)展之中,其性價比越來越高,應用領域越來越廣。DSP和通用處理器有很大的區(qū)別,因為DSP的結構和指令是專門針對信號處理而設計和開發(fā)的?,F(xiàn)在開發(fā)DSP芯片的公司很多,主要有TI、ADI、Motorola等公司。目前最知名的是美國德州儀器公司(TI,TexasInstruments)的TMS320系列,其中有主要面向低功耗、手持設備、無線終端應用的TMS320C5000系列和面向高性能、多功能、復雜應用領域的TMS320C6000系列。美國ADI公司在DSP芯片市場上也占有一定的份額,相繼推出了一系列具有自己特點的DSP芯片,其定點DSP芯片有ADSP2101/2103/2105、ADSP2111/2115、ADSP2126/2162/2164、ADSP2127/2181、ADSP-BF532以及Blackfin系列,浮點DSP芯片有ADSP21000/21020、ADSP21060/21062,以及TigersharcTS101、Tigersharc、TS201S。Motorola公司推出的DSP芯片比較晚。1986年該公司推出了定點DSP處理器MC56001;1990年,又推出了與IEEE浮點格式兼容的浮點DSP芯片MC96002;此外還有DSP53611、16位的DSP56800、24位的DSP563XX和MSC8101等產(chǎn)品。下面我們從多個方面討論DSP的性能特點,以方便在實際工作中選用。
1)DSP的結構
傳統(tǒng)的GPP采用馮·諾依曼存儲結構,DSP一般采用哈佛結構。在哈佛結構中有兩個存儲空間:程序存儲空間和數(shù)據(jù)存儲空間。處理器內(nèi)核通過兩套總線與這些存儲空間相連,允許對存儲器同時進行兩個訪問,這種安排使處理器的帶寬加倍,適合高速運算。DSP的結構如圖2-9所示。圖2-9DSP的結構
2)MAC運算的實現(xiàn)
DSP具有專用的硬件乘法器,這是DSP的特征之一。硬件乘法器的功能是在單周期內(nèi)完成一次乘法運算。DSP內(nèi)還增加了累加器寄存器來處理多個乘積的和,而且該寄存器通常比其他寄存器寬,這樣可保證乘累加運算結果不至于發(fā)生溢出。這些操作都可以在一個機器周期內(nèi)完成。
在數(shù)字信號處理運算中乘累加運算量是很大的,因此硬件乘法器是DSP實現(xiàn)快速運算的重要保障。
3)零開銷循環(huán)
GPP每執(zhí)行一次循環(huán)都要用軟件判斷循環(huán)結束條件是否滿足,并更新循環(huán)計數(shù)器,還要進行條件轉(zhuǎn)移。這些例行操作要消耗幾個周期的時間,這種消耗對于短循環(huán)是相當可觀的。與GPP不同,DSP可以用硬件實現(xiàn)更新計數(shù)器等例行操作,不用額外消耗任何時間,所以是一種零開銷循環(huán)。由于數(shù)字信號處理程序百分之九十的執(zhí)行時間是在循環(huán)中度過的,因此零開銷循環(huán)對提高程序效率非常重要。
4)數(shù)據(jù)格式
DSP可以分為定點DSP芯片和浮點DSP芯片。
大多數(shù)DSP以定點格式進行工作,稱為定點DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。一般批量產(chǎn)品選用定點DSP。編程和算法設計人員通過分析或仿真來確定所需要的動態(tài)范圍和精度。以浮點格式工作的DSP稱為浮點DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的MC96002等。不同浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,如TMS320C3X,而有的DSP芯片則采用IEEE的標準浮點格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。浮點算法是一種較復雜的常規(guī)算法,利用浮點數(shù)據(jù)可以實現(xiàn)大的數(shù)據(jù)動態(tài)范圍(這個動態(tài)范圍可以用最大數(shù)和最小數(shù)的比值來表示)。浮點DSP在應用中,設計工程師不用關心其動態(tài)范圍和精度一類的問題。浮點DSP比定點DSP更容易編程,但是成本和功耗較高。
5)數(shù)據(jù)寬度
數(shù)據(jù)寬度或字長表示DSP芯片的運算精度,一般的定點DSP芯片的字長為16位,如TMS320系列,但有的公司的定點芯片為24位,如Motorola公司的MC56001等。浮點芯片的字長一般為32位,累加器為40位。通常精度越高,則尺寸越大,管腳越多,存儲器要求也越大,成本相應地也會增大。在滿足設計要求的條件下,要盡量選用小字長的DSP以減小成本。
請注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI(公司的ADSP-21XX系列的數(shù)據(jù)字為16位,而指令字為24位。
6)尋址模式
DSP具有特殊的尋址模式。DSP一般包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對應于流水FIR濾波算法,位翻轉(zhuǎn)尋址對應于FFT算法。
7)指令集
DSP具有特殊設計的指令。在DSP的指令系統(tǒng)中,有許多指令是多功能指令,即一條指令可以完成幾種不同的操作,或者說一條指令具有幾條指令的功能。例如,TMS320C2000中的MACD指令在一個指令周期內(nèi)可以完成乘法、累加和數(shù)據(jù)移動三項功能,這種特殊的指令無疑能大大提高程序的運行效率。
8)執(zhí)行時間的可預測性
由于DSP執(zhí)行程序的進程對程序員來說是透明的,因此很容易預測處理每項工作的執(zhí)行時間。這時候,DSP對高性能GPP的優(yōu)勢在于:即便是使用了高速緩存的DSP,哪些指令會放進去也是由程序員(而不是處理器)來決定的,因此很容易判斷指令是從高速緩存還是從存儲器中讀取。DSP一般不使用動態(tài)特性,如轉(zhuǎn)移預測和推理執(zhí)行等。因此,由一段給定的代碼來預測所要求的執(zhí)行時間是直截了當?shù)模@使得程序員得以確定芯片的性能限制。
9)芯片的硬件資源
不同的DSP芯片所提供的硬件資源是不相同的,如片內(nèi)RAM、ROM的數(shù)量,外部可擴展的程序和數(shù)據(jù)空間,總線接口,I/O接口等。即使是同一系列的DSP芯片(如TI公司的TMS320C54X系列),系列中不同DSP芯片也具有不同的內(nèi)部硬件資源,可以適應不同的需要。
10)操作系統(tǒng)
DSP有實時操作系統(tǒng)的支持。目前,DSP實時操作系統(tǒng)的品種較多,據(jù)統(tǒng)計,僅用于信息電器的DSP操作系統(tǒng)就有10種左右,其中較為流行的主要有CY-DRTOS、VxWorks、pSOS。與通用操作系統(tǒng)相比較,實時操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關依賴性、軟件固態(tài)化以及應用的專用性等方面具有較為突出的特點。
11)功耗和成本
電源電壓過去常采用5V,在某些DSP應用場合,功耗也是一個需要特別注意的問題。例如,便攜式的DSP設備、手持設備、野外應用的DSP設備等都對功耗有特殊的要求。目前,3.3V供電的低功耗高速DSP芯片已大量使用。
DSP的成本較低。
12)DSP芯片的處理能力
TMS320C6000系列為新一代高性價比DSP芯片,是高端DSP處理器的代表。C6000系列的DSP定點運算可以達到1200~8000MIPS,浮點運算可以達到600~1800MFLOPS的運算速度。其代表是定點系列的TMS320C62X和浮點系列的TMS320C67X。TMS320C64X為TI公司最新推出的高性能定點DSP處理器,時鐘速度提高到了1GHz,單片處理能力可達到8000MIPS。
為了提高DSP的處理能力,通常采用以下措施。
(1)廣泛采用流水線。
與哈佛總線結構相關,DSP廣泛采用流水線以減少指令執(zhí)行時間,從而增強了處理器的處理能力。要執(zhí)行一條DSP指令,需要通過取指、譯碼、取操作數(shù)、執(zhí)行等幾個階段,DSP的流水線結構是指它的這幾個階段在程序執(zhí)行過程中是重疊進行的,即在對本條指令取指的同時,前面的三條指令已依次完成譯碼、取操作數(shù)、執(zhí)行的操作。利用這種流水線機制可保證DSP的乘法、加法以及乘累加運算在單周期內(nèi)完成,這對提高DSP的運算速度具有重要意義,特別是當設計的算法需要連續(xù)的乘累加運算時。圖2-10所示為流水線示意圖。流水線級數(shù)就等于最后總的加速比,當然并不是說把流水線級數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關鍵在于每個時鐘周期處理器都應當能啟動一條指令的執(zhí)行。圖2-10流水線示意圖
(2)多處理單元結構。
DSP內(nèi)部一般都包括多個處理單元,如ALU、乘法器、輔助算術單元等。它們都可在單獨的一個指令周期內(nèi)執(zhí)行完計算和操作任務,而且往往同時完成。這種結構特別適合于濾波器的設計,如FIR和IIR。這種多處理單元結構還表現(xiàn)為將一些特殊的算法做成硬件,如典型的FFT的位翻轉(zhuǎn)尋址和流水FIR濾波算法的循環(huán)尋址等。大部分DSP具有零消耗循環(huán)控制的專門硬件,這使得處理器不用花時間測試循環(huán)計數(shù)器的值就能執(zhí)行一組指令的循環(huán),完成循環(huán)跳轉(zhuǎn)和循環(huán)計數(shù)器的衰減。
(3)各種并行處理機制。
DSP處理器的更高性能由于不能從傳統(tǒng)結構中得到解決,因此提出了各種提高性能的策略。其中,提高時鐘頻率似乎是有限的,最好的方法是提高并行性。提高操作并行性可以由兩個途徑實現(xiàn):提高每條指令執(zhí)行的操作的數(shù)量;提高每個指令周期中執(zhí)行的指令的數(shù)量。
GPP中所采用的SIMD、VLIW和超標量技術在DSP中都有采用。
由此可知,DSP在信號處理方面獨具優(yōu)勢,而且成本較低,功耗較低,開發(fā)也非常方便,在現(xiàn)階段,與GPP相比,DSP的綜合性能較強,因此使用范圍較廣,是軟件無線電系統(tǒng)的主流選擇之一。
3.多處理器并行技術
雖然現(xiàn)代單片DSP的處理能力已經(jīng)非常強大,但是面對軟件無線電的應用需求,還是有些力不從心,因此采用多DSP并行處理是必然的趨勢。
圖2-11給出了采用總線共享方式實現(xiàn)多DSP并行處理的組成框圖??偩€共享使多個DSP共同使用一條總線,存儲器的地址在各DSP內(nèi)部所占用的地段是相同的。當多個DSP申請總線使用權時,總線仲裁電路將根據(jù)分時享用或優(yōu)先等級原則把總線的使用權交給其中的某個DSP,并把此DSP作為此時的主處理器,而其他的DSP則必須處于等待狀態(tài),直到交出總線使用權。圖2-11采用總線共享方式實現(xiàn)多DSP并行處理的組成框圖當然還有其他的一些解決方式,某些DSP專門提供了特殊用途的硬件來解決各個處理器的內(nèi)部連接,比如AnalogDevices公司的ADSP-2106x提供了雙向地址總線和數(shù)據(jù)總線,與六條雙向總線相配合,很容易把六個處理器通過共同的外部總線連接成一個系統(tǒng)。
4.DSP開發(fā)工具
在具體設計基于DSP的軟件無線電系統(tǒng)的時候,首先需要選擇DSP芯片。只有選定了DSP芯片,才能進一步設計其外圍電路及系統(tǒng)的其他電路。總的來說,DSP芯片的選擇應根據(jù)實際應用系統(tǒng)的需要而確定,并考慮上述DSP芯片的具體性能,除此以外還要考慮其他一些影響DSP使用的因素,主要有價格、封裝形式、質(zhì)量標準、供貨情況、生命周期等。另外特別需要考慮DSP芯片的開發(fā)工具,在DSP系統(tǒng)的開發(fā)過程中,如果沒有開發(fā)工具的支持,那么要想開發(fā)一個復雜的DSP系統(tǒng)幾乎是不可能的。如果有功能強大的開發(fā)工具的支持,如C語言支持,則開發(fā)的時間就會大大縮短。一個復雜的DSP系統(tǒng)必須有功能強大的開發(fā)工具支持。開發(fā)工具包括軟件和硬件兩部分。軟件開發(fā)工具主要包括:C編譯器、匯編器、鏈接器、程序庫、軟件仿真器等。在確定DSP算法后,編寫的程序代碼通過軟件仿真器進行仿真運行,從而確定必要的性能指標。硬件開發(fā)工具包括在線硬件仿真器和系統(tǒng)開發(fā)板。在線硬件仿真器通常是JTAG周邊掃描接口板,可以對設計的硬件進行在線調(diào)試。在硬件系統(tǒng)完成之前,在不同功能的開發(fā)板上實時運行設計的DSP軟件可以提高開發(fā)效率,甚至在有的數(shù)量小的產(chǎn)品中,直接將開發(fā)板當作最終產(chǎn)品。
1)DSP處理器開發(fā)工具簡介
隨著DSP處理器的功能不斷強化和系統(tǒng)開發(fā)周期不斷縮短,設計和調(diào)試DSP系統(tǒng)越來越依賴于DSP開發(fā)系統(tǒng)和開發(fā)工具。圖2-12為DSP處理器開發(fā)流程圖。圖2-12DSP處理器開發(fā)流程圖雖然廠家不同,但提供的開發(fā)調(diào)試工具大致類同,一般有下列幾種。
(1)C語言編譯器(CCompiler)。
一般廠家為了方便開發(fā)DSP系統(tǒng),減小編寫匯編程序的難度,都提供了高級語言設計方法,一般是C語言。開發(fā)系統(tǒng)針對DSP庫函數(shù)、頭文件及編寫的C程序,自動生成對應的匯編語言,這一步稱為C編譯。C編譯器通常符合ANSIC標準,可以對編寫的程序進行不同等級的優(yōu)化,以產(chǎn)生高效的匯編代碼;C編譯器還具有對存儲器的配置、分配及部分鏈接功能,并具有靈活的匯編語言接口等多種功能。
C編程方法易學易用,但編譯出的匯編程序比手工匯編程序長得多,因而其效率一般只有20%~40%。為了克服C編譯器效率低的缺點,在提供標準C庫函數(shù)的同時,開發(fā)系統(tǒng)也提供了許多針對DSP運算的高效庫函數(shù),例如FFT、FIR、IIR、相關、矩陣運算等,它們都是手工匯編的,帶有高級語言調(diào)用/返回接口。
一般為了得到高效編程,在系統(tǒng)軟件開發(fā)中,關鍵的DSP運算程序都是自行用匯編語言手工編寫的,按照規(guī)定的接口約定,由C程序進行調(diào)用,這樣可極大地提高編程效率。
(2)匯編器(Assembler)。
匯編器用來將匯編語言原文件轉(zhuǎn)變?yōu)榛诠媚繕宋募袷降臋C器語言目標文件。
(3)鏈接器(Linker)。
鏈接器用來將主程序、庫函數(shù)和子程序等,由匯編器產(chǎn)生的目標文件鏈接在一起,產(chǎn)生一個可執(zhí)行的模塊,形成DSP目標代碼。
(4)軟件模擬器(Simulator)。
軟件模擬器是脫離硬件的純軟件仿真工具。將程序代碼加載后,在一個窗口工作環(huán)境中,可以模擬DSP的運行程序,同時對程序進行單步執(zhí)行并設置斷點,對寄存器/存儲器進行觀察、修改,統(tǒng)計某段程序的執(zhí)行時間等。通常在程序編寫完以后,都會在軟件仿真器上進行調(diào)試,以初步確定程序的可運行性。軟件仿真器的主要缺點是對外部接口的仿真不夠完善。
(5)硬件仿真器(Emulator)。
硬件仿真器用JTAG接口電纜把DSP硬件目標系統(tǒng)和裝有仿真軟件/仿真卡的PC接口板連接起來,用PC平臺對實際硬件目標系統(tǒng)進行調(diào)試,能仿真程序在實際硬件環(huán)境下的功能。
為了方便調(diào)試,廠家會提供一個包含DSP、存儲器、常用接口電路的通用電路板和相應軟件的軟/硬件系統(tǒng),通常有兩種形式:一種是電路板卡的形式,插入計算機中;另一種是通過計算機的串口或并口連接到計算機。這些都是通過計算機的控制端口來控制DSP的運行的,并且有簡單的DSK(DSPStarterKit)入門套件和較為復雜的EVM(EValuationModule)評估模塊等。這些都有助于初學者熟悉和使用DSP處理器,也可以作為程序的初步運行對象,以方便調(diào)試。隨著DSP應用范圍的擴大、處理能力的加強以及DSP更新速度的加快,DSP處理系統(tǒng)越來越復雜,對設計者來說難度也越來越大,為此有的廠家已制定了一些標準,依據(jù)標準來設計生產(chǎn)電路板級DSP處理模塊,同時為這種標準模塊提供豐富的軟件開發(fā)系統(tǒng)和算法庫。
其中典型的如TMS320C4X和SDSP2106X,它們可以通過通信口和全局總線插座將若干模塊安裝在母板上,方便地組成多處理器系統(tǒng)。這種模塊化設計降低了硬件設計難度,減少了硬件設計時間,有利于更高效地開發(fā)DSP系統(tǒng)。
2)DSP開發(fā)系統(tǒng)
目前各DSP芯片生產(chǎn)廠家已經(jīng)把以上列出的各開發(fā)工具集成在一起,構成了集成開發(fā)環(huán)境。集成開發(fā)環(huán)境可以提供環(huán)境配置、源程序編輯、編譯連接、程序調(diào)試、跟蹤分析等各個環(huán)節(jié),以加速軟件開發(fā)進程,提高工作效率。集成開發(fā)環(huán)境把編譯、匯編、鏈接等工具集成在一起,用一條命令即可完成全部的匯編工作。另外,它把軟/硬件開發(fā)工具集成在其中,使程序的編寫、匯編、程序的軟/硬件仿真和調(diào)試等開發(fā)工作在統(tǒng)一的環(huán)境中進行,給開發(fā)工作帶來了極大的方便。下面列出兩個主要公司出品的集成開發(fā)環(huán)境。
(1)TI的CCS集成開發(fā)環(huán)境。
在編譯器市場中,最為著名的是TI公司的CCS(CodeComposerStudio),它包含有編譯器和集成開發(fā)環(huán)境IDE,是TI開發(fā)的一個完整的DSP集成開發(fā)環(huán)境。CCS是為TI高端產(chǎn)品C6000和高性能C5000設計的新的軟件工具,它將代碼生成工具和調(diào)試工具集成在一起,并提供了基于可視化鏈接和剖析的編譯功能。CCS能在一個控制窗口內(nèi)使用所有的工具,無需像其他開發(fā)系統(tǒng)那樣在幾個不同的應用程序之間切換,因而使客戶能夠開發(fā)出更可靠的應用系統(tǒng),縮短產(chǎn)品的上市時間。由于TI的DSP使用非常廣泛,因此CCS也就成為了使用最為廣泛的DSP開發(fā)軟件之一。在一個開放式插件(plug_in)結構下,CCS內(nèi)部集成了以下軟件工具:集成開發(fā)環(huán)境CodeComposer(包括編輯、調(diào)試、項目管理、代碼性能測試和實時調(diào)查),代碼生成工具(包括C編譯器、匯編優(yōu)化器、匯編器和鏈接器),軟件模擬器(Simulator),實時基礎軟件(DSP/BIOS),主機與目標機之間的實時數(shù)據(jù)交換軟件(RTDX),實時分析(real_timeanalysis)和數(shù)據(jù)可視化(datavisualization)軟件。
(2)ADI的CROSSCORE集成開發(fā)環(huán)境。
由ADI公司推出的CROSSCORE系列DSP開發(fā)工具是當前最先進的集成式開發(fā)系統(tǒng)之一。該系統(tǒng)包括VisualDSP++軟件開發(fā)環(huán)境、EZ-KitLite評估板,以及基于USB與PCI的高性能仿真器。該系統(tǒng)支持ADI公司的在業(yè)界領先的處理器,像Blackfin和TigerSHARC系列處理器,可使用C語言或匯編語言進行開發(fā)。其中,VisualDSP++是一種集成軟件開發(fā)環(huán)境,包括匯編程序、C/C++編譯程序、連接程序、調(diào)試程序、歸檔程序、用于創(chuàng)建可引導圖像的加載工具、VDK(VisualDSP++內(nèi)核)、高級繪圖工具和統(tǒng)計剖析。EZ-KitLite評估系統(tǒng)通過增加JTAG在線仿真來支持擴展。仿真程序適用于串行端口、PCI和USB主機平臺。2.3.6FPGA
1.FPGA芯片簡介
FPGA的結構如圖2-13所示。圖2-13FPGA的結構
FPGA是具有可編程互聯(lián)門的陣列,其邏輯功能可以進行重定義。FPGA最初是作為專用集成電路(ASIC)領域中的一種半定制電路出現(xiàn)的,它既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點??梢院敛豢鋸埖刂v,F(xiàn)PGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的組合電路,都可以用FPGA來實現(xiàn)。設計人員可以通過傳統(tǒng)的原理圖輸入法或是硬件描述語言,自由地設計一個數(shù)字系統(tǒng)。通過軟件仿真,我們可以事先驗證設計的正確性。在PCB完成以后,還可以利用FPGA的在線修改能力,隨時修改設計而不必改動硬件電路。
FPGA一般采用SRAM工藝,也有一些專用器件采用Flash工藝或反熔絲工藝等,其集成度很高,器件密度為數(shù)萬門到數(shù)千萬門不等。FPGA通常包含三類可編程資源:可編程邏輯功能塊、可編程I/O塊和可編程布線資源??删幊踢壿嫻δ軌K是實現(xiàn)用戶功能的基本單元,它們通常排列成一個陣列,散布于整個芯片;可編程I/O塊完成芯片上邏輯與外部封裝腳的接口,常圍繞著陣列排列于芯片四周;可編程布線資源包括各種長度的連線線段和一些可編程連接開關,它們將各個可編程邏輯塊或I/O塊連接起來,構成特定功能的電路。布線資源通常分為兩類:時鐘布線資源和信號布線資源。時鐘布線資源用于饋入高速時鐘信號,信號布線資源用于連接邏輯塊的輸入/輸出信號。這些布線資源具有一定的層次結構,短線用于連接相鄰的邏輯塊,中等長線用于連接間隔較遠的邏輯塊,長線用于在整個芯片上發(fā)送數(shù)據(jù)。不同廠家生產(chǎn)的FPGA在可編程邏輯塊的規(guī)模、內(nèi)部互聯(lián)線的結構和采用的可編程元件上存在較大的差異。但其基本結構都基于查找表(LUT)加寄存器結構,這也是FPGA有別于其他類型可編程器件的標志。
FPGA可以分為兩大類:
(1)PLD可編程邏輯器件;
(2)FPGA現(xiàn)場可編程門陣列。這兩者的差別在于FPGA的邏輯塊通常遠遠小于PLD,這樣FPGA就具有較好的資源利用率。FPGA邏輯塊中通常包含n輸入的查找表(LUT)以及用于存儲數(shù)據(jù)的觸發(fā)器。輸入邏輯塊的數(shù)據(jù)送入LUT或觸發(fā)器的輸入口,LUT的輸出與邏輯塊的輸出口或觸發(fā)器的輸入口連接,采用多路開關(Mux)選擇不同的輸入組合。
LUT通常用靜態(tài)RAM實現(xiàn),其地址線接入輸入信號,數(shù)據(jù)由數(shù)據(jù)輸出線輸出。這樣,依靠正確設置存儲的內(nèi)容,LUT就可以實現(xiàn)n輸入的布爾代數(shù),如圖2-14所示。每個邏輯塊中的觸發(fā)器用于存儲數(shù)據(jù)。LUT和觸發(fā)器依靠可編程布線資源進行互聯(lián)可以實現(xiàn)任意組合函數(shù),也可以實現(xiàn)任意時序函數(shù)。圖2-14FPGA中查找表的功能示意圖采用SRAM工藝的FPGA芯片在掉電后信息就會丟失,一定需要外加專用配置芯片,在上電的時候,由這個配置芯片將數(shù)據(jù)加載到FPGA中,然后FPGA就可以正常工作了。由于配置時間很短,因此不會影響系統(tǒng)的正常工作。但也有少數(shù)FPGA采用反熔絲或Flash工藝,對于這種FPGA,不需要外加專用配置芯片。
FPGA的可重配置能力很強,其配置一般在系統(tǒng)上電時完成。在工作期間,F(xiàn)PGA的配置是不發(fā)生變化的,所以在系統(tǒng)斷電之前,F(xiàn)PGA的工作狀態(tài)是不變的。這是因為FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的,工作時需要對片內(nèi)的RAM進行編程,加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài),掉電后FPGA恢復成白片,內(nèi)部邏輯關系消失。FPGA的編程無需專用的FPGA編程器,只需用通用的EPROM、PROM編程器即可。當需要修改FPGA的功能時,只需換一片EPROM即可。同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能?,F(xiàn)在的某些FPGA(比如XilinxXC6200、AtmelAT40K)已經(jīng)允許動態(tài)重配,即在工作狀態(tài)下對芯片功能進行重配置。在軟件無線電的應用中,F(xiàn)PGA的主要優(yōu)勢在于:FPGA可以進行并行化,比如在實現(xiàn)乘加運算(MAC)時FPGA可以采用流水線陣列乘法或分布式算法實現(xiàn)并行MAC運算,效率很高,這在很多信號處理算法(比如濾波器)的實現(xiàn)上是很有利的。
2.FPGA芯片的種類和性能
目前FPGA的主要生產(chǎn)廠商是Altera、Xilinx。FPGA的品種也很多。
Altera的主要產(chǎn)品有MAX3000/7000、FLEX10K、APEX20K、ACEX1K、Stratix、Cyclone等。
Xilinx是FPGA的發(fā)明者,產(chǎn)品種類為XC9500、Coolrunner、Spartan、Virtex等。
由于FPGA的結構完全不同于前面介紹的GPP和DSP,幾乎沒有什么可對比性,因此在這里主要說明其處理能力和頗具特點的地方。
在FPGA中,通常采用描述規(guī)模的方式來描述功能的大小,即其中擁有邏輯單元或邏輯門的數(shù)目。另外,所能支持的時鐘速率也是指標之一。
1)處理能力
FPGA可以工作于順序方式或并行方式。在并行工作下,其性能遠遠優(yōu)于DSP,對DSP處理器需要大量運算指令完成的工作,F(xiàn)PGA僅需要一個指令周期就能夠完成。隨著微電子技術的發(fā)展,F(xiàn)PGA的集成度非常高,性能越來越好,片上資源也較為豐富,特別是有大量的乘法器,使得處理速度非???。以Xilinx的XC2V8000芯片為例,其上有168個乘法器,當時鐘速率為250MHz時,如果使用全部乘法器,則其運算速度可以達到驚人的42000MMACS,比DSP快得多;如果時鐘速率僅為最大速率的一半,且假定資源的利用也僅有一半,則整個運算速度下降到10500MMACS,與DSP相比也具有一定的優(yōu)勢。
需要注意的是,F(xiàn)PGA并不適合復雜的算法,它主要針對復雜性不高的計算密集型算法。
2)硬件可重構性
FPGA具有很強的硬件可重構性,這是GPP、DSP所沒有的功能。通過下載不同的配置文件,可獲得不同的硬件結構和硬件功能,因此基于FPGA的系統(tǒng)具有良好的系統(tǒng)結構可重配置特性。配置文件的加載有多種方式。
(1)將多個文件預先存儲在系統(tǒng)的ROM中,系統(tǒng)根據(jù)實際需要自動選擇下載配置文件。缺點是配置文件數(shù)目有限。
(2)將配置文件全部預存在大的存儲器中,由外圍系統(tǒng)選擇下載配置。
(3)通過遠程下載,如無線或互聯(lián)網(wǎng)絡。
3)成本
FPGA的成本較高。
3.FPGA芯片的開發(fā)工具
FPGA的開發(fā)流程如圖2-15所示。其前期準備工作和DSP是相同的,隨后采用專用開發(fā)工具輔助設計人員完成系統(tǒng)的開發(fā)。其電路設計采用的方式可以很多,包括原理圖輸入、硬件描述語言輸入,如VHDL、Verilog等。即使結構非常復雜,設計者也不必擔心FPGA的內(nèi)部結構,開發(fā)工具可自動將設計者的電路映射、配置、布線到FPGA中。圖2-15FPGA的開發(fā)流程大部分現(xiàn)有的FPGA系統(tǒng)的開發(fā)工具原本用于加快ASIC原型的設計,重點在于節(jié)約開發(fā)時間,而不是提高資源的有效利用。當設計一個全新的無線系統(tǒng)時,多花一些器件成本但是減少開發(fā)時間在經(jīng)濟上是合算的。但是在將產(chǎn)品FPGA化的時候,卻需要盡可能充分利用FPGA的資源,在這種情況下可能還需要用到手工布線。
FPGA開發(fā)工具包括軟件工具和硬件工具兩種。
其中,硬件工具主要是FPGA廠商或第三方廠商開發(fā)的FPGA開發(fā)板及其下載線。另外,還包括示波器、邏輯分析儀等板級的調(diào)試儀器。
在軟件方面,針對FPGA設計的各個階段,F(xiàn)PGA廠商和EDA軟件公司提供了很多優(yōu)秀的EDA工具,如圖2-15所示。每種EDA工具都有自己的特點。一般情況下FPGA廠商會提供相應的集成開發(fā)環(huán)境,如AlteraQuartusII和XilinxISE,在使用時是非常方便的,但它們在邏輯綜合和設計仿真等環(huán)節(jié)都不是非常優(yōu)秀,因此一般都會提供第三方EDA工具的接口,讓用戶更方便地利用其他EDA工具。較為常見的方式是FPGA廠商提供的集成開發(fā)環(huán)境與第三方提供的專業(yè)邏輯仿真軟件、專業(yè)邏輯綜合軟件一起使用,進行多種EDA工具的協(xié)同設計,比如QuartusⅡ+ModelSim+FPGACompilerⅡ,ISE+ModelSim+SynplifyPro等。2.3.7數(shù)字信號處理器的性能比較
GPP、DSP和FPGA都是實現(xiàn)軟件無線電的主流信號處理硬件,在具體應用時,需要按照它們的性能特點進行選擇。下面從幾個方面說明它們的性能差異。由于GPP應用較少且和DSP較為類似,因此在這里不專門進行比較。
1)硬件結構和性能發(fā)展
DSP采用了數(shù)據(jù)總線和程序總線分離的哈佛結構及改進哈佛結構,具有硬件乘法器和指令流控制,一個指令字可以同時控制片內(nèi)多個功能單元的操作。其優(yōu)勢源于大多數(shù)信號處理算法中的乘累加運算是基本運算,而且比重很大,通過多級流水線結構,DSP可以獲得僅僅受乘法器速度限制的MAC速度。DSP的優(yōu)勢主要是具有很好的通用性和靈活性,與普通單片機應用系統(tǒng)十分相似,只要將調(diào)好的機器碼放在程序ROM中,就能使系統(tǒng)正常工作。在DSP中增加更多的MAC單元能進一步提高DSP的吞吐量,但對于某些一般數(shù)據(jù)處理量比較大的DSP算法,其通用性卻下降了,比如Viterbi編譯碼器和FIR濾波器就屬于這種情況。為了解決這個問題,DSP生產(chǎn)商將一些專用的硬件加速器的協(xié)處理器模塊加入處理器結構,如Viterbi協(xié)處理器、Turbo協(xié)處理器和增強性濾波器協(xié)處理器等。由于這些協(xié)處理器本身具有非通用性(主要是傾向于某種或某些算法的協(xié)處理器),因而導致DSP無法適用于多種類型的DSP算法和DSP技術應用。結果成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同居生子分手協(xié)議書電子版
- 天津市小型建設工程合同的適用范圍
- 《地鐵設施設備系統(tǒng)》課件
- 2025年宜春貨運從業(yè)資格證模擬考試題目
- 2025年隴南道路貨物運輸從業(yè)資格證考試
- 2025年瀘州貨物從業(yè)資格證考試題
- 動物屠宰產(chǎn)業(yè)升級
- 智能家居投資管理辦法
- 挖掘機地鐵建設施工合同
- 汽車行業(yè)市場調(diào)研全解析
- 債務優(yōu)化服務合同范例
- 專題19 重點用法感嘆句50道
- 2024-2025學年統(tǒng)編版五年級語文上冊第七單元達標檢測卷(原卷+答案)
- 人教版七年級語文上冊《課內(nèi)文言文基礎知識 》專項測試卷及答案
- 2024年光伏住宅能源解決方案協(xié)議
- 【初中數(shù)學】基本平面圖形單元測試 2024-2025學年北師大版數(shù)學七年級上冊
- 江蘇省蘇州市2023-2024學年高二上學期1月期末物理試卷(含答案及解析)
- 2025屆陜西省四校聯(lián)考物理高三上期末聯(lián)考試題含解析
- 外墻裝修合同模板
- 中國發(fā)作性睡病診斷與治療指南(2022版)
- 律師事務所律師事務所管理手冊
評論
0/150
提交評論