趙秋明,胡曉鵬
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
在現(xiàn)代的信息社會,無線通信無處不在,人們對無線電通信的需要也呈指數(shù)倍增。各種類型的無線通信不斷出現(xiàn),如數(shù)據(jù)通信、語音通信、圖像通信、廣播通信、應(yīng)急通信等。傳統(tǒng)的無線電通信系統(tǒng)主要使用專用的ASIC硬件芯片來搭建,這種系統(tǒng)不僅不可重構(gòu),系統(tǒng)升級價格昂貴,而且系統(tǒng)功能單一,無法勝任現(xiàn)今高速發(fā)展的無線通信的要求。隨著嵌入式處理器以及可編程邏輯推廣,一種新的無線電體系——軟件無線電技術(shù)應(yīng)運而生,這種系統(tǒng)可以在一個硬件平臺下整合多種通信系統(tǒng),通過軟件的方式來配置和切換。本文主要提出一種基于SCA中間件架構(gòu)的軟件無線電系統(tǒng)設(shè)計方案,并詳細介紹其中軟件無線電系統(tǒng)控制主板硬件系統(tǒng)框架和結(jié)構(gòu)。
圖1為SCA軟件無線電典型框架,系統(tǒng)主要由數(shù)字子系統(tǒng)、A/D和D/A子系統(tǒng)、模擬子系統(tǒng)組成[1]。
數(shù)字子系統(tǒng)是一種由多個處理器或者可編程邏輯芯片組成的分布異構(gòu)系統(tǒng),包括了一些實際的核心硬件芯片以及運行在其上的軟件集合。這些核心硬件芯片主要包括通用處理器(GPP)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)和特殊應(yīng)用集成電路(ASIC)。由于背離軟件無線電的初衷,并且缺乏軟件可配置性和靈活性,ASIC芯片并不推薦使用。操作系統(tǒng)以及核心框架主要是運行在GPP或者DSP上的,而波形文件是一種負責(zé)在異構(gòu)系統(tǒng)中模塊與模塊之間通信的文件,主要由通用性、兼容性良好的接口定義語言(IDL)所描述。
A/D,D/A子系統(tǒng)主要實現(xiàn)軟件無線電中頻信號的處理以及模數(shù)/數(shù)模轉(zhuǎn)換。模擬子系統(tǒng)主要由混頻器、射頻放大器和天線組成,主要實現(xiàn)中頻模擬信號與射頻模擬信號之間的轉(zhuǎn)換、射頻模擬信號的放大以及無線電信號的接收和發(fā)射。
該軟件無線電系統(tǒng)主要采用獨立于計算機的方案進行設(shè)計,系統(tǒng)并不依賴計算機主機,但預(yù)留有與計算機之間的通信接口。軟件無線電硬件系統(tǒng)主要是由數(shù)字系統(tǒng)主板、中頻A/D和D/A子板、射頻收發(fā)子板這3部分組成。本文只介紹軟件無線電平臺的數(shù)字系統(tǒng)主板的電路設(shè)計方案。
數(shù)字系統(tǒng)主板是整個軟件無線電框架中最核心的部分,它主要完成4個部分功能:1)系統(tǒng)的軟件管理和配置;2)操作系統(tǒng)和軟件無線電核心框架以及波形文件的生成;3)數(shù)字基帶信號的生成和處理;4)實現(xiàn)數(shù)字基帶信號的上變頻與數(shù)字中頻信號的下變頻。
按照以上功能來劃分本系統(tǒng)主要由2個部分組成:1)嵌入式子系統(tǒng),主要完成上述的前兩項功能;2)FP?GA數(shù)字子系統(tǒng),主要實現(xiàn)上述后兩項功能。
嵌入式系統(tǒng)的主要功能是實現(xiàn)對整個軟件無線電系統(tǒng)的管理以及生成軟件無線電的波形文件,系統(tǒng)框圖如圖2所示。
為了減少系統(tǒng)硬件的復(fù)雜度,同時避免多個異構(gòu)芯片通信所增加的不必要系統(tǒng)開銷,本文主要采用DaVinci平臺的視頻處理器TMS320DM6446作為核心處理器[2]。該芯片是TI公司推出的一款高集成度的SoC視頻嵌入式處理芯片,芯片內(nèi)部包含一個ARM子系統(tǒng),一個DSP子系統(tǒng),一個視頻處理子系統(tǒng)(VPSS)以及豐富的外設(shè)接口。其中ARM子系統(tǒng)采用ARM926EJ-S核,主頻可達297 MHz,DSP子系統(tǒng)采用C64+核,主頻可達594 MHz,單位周期指令數(shù)更是高達4 752 MI/s。這款芯片由于集成了帶MMU功能的ARM9內(nèi)核,常用的嵌入式操作系統(tǒng)(如Linux,WinCE,VxWorks)都可以移植到該平臺上,并且ARM和DSP可通過TI提供的Codec Engine實現(xiàn)無縫通信,在具有強大系統(tǒng)管理功能的同時提供高速的數(shù)據(jù)傳輸以及強大的數(shù)字信號處理能力,可以滿足各種苛刻的實時性環(huán)境要求[3]。
按照嵌入式子系統(tǒng)的功能細分,又可將該系統(tǒng)分為存儲器模塊、外設(shè)接口模塊以及嵌入式系統(tǒng)與FPGA數(shù)字系統(tǒng)通信模塊這3部分。
存儲器模塊是軟件管理中的系統(tǒng)信息以及軟件無線電波形文件存儲的硬件載體,包括系統(tǒng)內(nèi)存部分以及大容量Nand Flash存儲器部分。系統(tǒng)內(nèi)存部分采用兩片Micron公司的MT47H64M16HR芯片構(gòu)成32 bit位寬,容量為256Mbyte的DDR2外部隨機存儲器,MT47H64M16HR芯片支持多種CL(CAS Latency)設(shè)置,最高可支持到DDR2-1066標(biāo)準時鐘速率。DM6446只提供8 kbyte的數(shù)據(jù)ROM,用于存儲少量啟動代碼,所以必須外擴大容量的持久性存儲芯片,Nand Flash具有寫和擦寫速度快的特點,而且容量比較大,十分適合作為大容量塊設(shè)備來使用。本文采用三星公司的K9K4G08Q0M芯片,該芯片的容量為512 Mbyte,位寬為8 bit。
DM6446提供了豐富的外圍設(shè)備接口,可以根據(jù)用戶的需要擴展不同的應(yīng)用。在本設(shè)計中,主要使用了以太網(wǎng)介質(zhì)訪問和數(shù)據(jù)管理輸入/輸出接口(EMAC/MDIO)、異步串口(UART)、音頻串行接口(ASP)、視頻處理后端接口(VPBE)、通用串行總線接口(USB)以及SD/MMC控制接口[4]。
以太網(wǎng)物理層芯片采用Intel公司的LXT971芯片,支持MII和MDIO接口,提供10/100M自適應(yīng)快速以太網(wǎng)標(biāo)準支持。由于DM6446自身集成了硬件的以太網(wǎng)MAC層協(xié)議,所以可以很方便地移植TCP/IP協(xié)議棧,進行各種網(wǎng)絡(luò)應(yīng)用程序開發(fā)。
異步串口搭配MAX232芯片進行電平轉(zhuǎn)換,不僅可以應(yīng)用于各種軟件的調(diào)試,而且可以作為與PC通信的接口來使用。音頻串行接口搭配TI公司的立體聲音頻轉(zhuǎn)換芯片PCM3008T,提供16 bit高質(zhì)量的模擬音頻編解碼。在實際設(shè)計的電路中搭配了150 mW的音頻功率放大器TPA6111,可實現(xiàn)高保真的立體聲音頻輸出。
由于DM6446帶有完整的圖像處理子系統(tǒng)(VPSS),所以可以用其中的VPBE部分搭建VGA視頻標(biāo)準協(xié)議來傳輸數(shù)字圖像信息。傳輸數(shù)字圖像的基本原理是將視頻數(shù)據(jù)流通過VPFE轉(zhuǎn)換成模擬信號,通過VPBE模塊將模擬信號分離出紅、綠、藍3種基色信號,分別輸送給VGA接口,再由FPGA提供高頻的場同步和行同步信號,從而實現(xiàn)視頻數(shù)據(jù)流在顯示設(shè)備上顯示。
USB接口和SD/MMC接口可用來擴展移動式存儲介質(zhì),比如U盤和SD卡,另外也可以作為無線網(wǎng)卡的接口來使用,從而實現(xiàn)無線局域網(wǎng)(WLAN)應(yīng)用。
軟件無線電的一個重要難點是要如何解決高效的,在各種分布式異構(gòu)平臺和器件之間傳輸波形文件,所以嵌入式系統(tǒng)與FPGA數(shù)字系統(tǒng)通信模塊的任務(wù)主要是解決DSP和FPGA這兩個異構(gòu)器件之間通信的問題。
TI公司的EMIF接口協(xié)議可以很好地解決這個問題。EMIF可以支持最大128 Mbyte的尋址空間,工作時鐘速率高達100 MHz,提供8/16 bit的并行數(shù)據(jù)接口。本文在FPGA端利用邏輯資源建立ASRAM寄存器組,并利用DM6446的EMIF接口把FPGA作為一個外部存儲器來使用。這樣就可以在FPGA和DSP之間建立高速通信通道,傳送一些數(shù)據(jù)量較大的通信數(shù)據(jù)。
TI公司提供了另一種高效的串行通信接口VLYNQ,它占用管腳數(shù)少,支持8/10 bit編碼,工作在全雙工模式下,總線時鐘最高可達到125 MHz。利用Xilinx公司提供的VLYNQ的IP核,可以很方便地與DM6446建立通信鏈路,傳送一些數(shù)據(jù)量較小的控制信令。
FPGA數(shù)字系統(tǒng)主要完成3個部分工作:1)負責(zé)接收從嵌入式子系統(tǒng)中傳輸過來的數(shù)據(jù)以及控制信令,并把傳送過來的數(shù)據(jù)封裝成幀,生成數(shù)字基帶信號波形。2)根據(jù)接收到的控制信令,對數(shù)字基帶信號進行編碼以及調(diào)制,實現(xiàn)對數(shù)字基帶信號的數(shù)字上變頻,并通過接口將上變頻后的數(shù)字信號傳送給中頻A/D,D/A子板進行數(shù)模轉(zhuǎn)換。3)接收從中頻A/D,D/A子板經(jīng)過模數(shù)轉(zhuǎn)換的中頻數(shù)字信號,對中頻數(shù)字信號的載波和符號進行提取,從而實現(xiàn)對中頻數(shù)字信號的數(shù)字下變頻、解調(diào)以及解碼,還原原始基帶信號波形。
FPGA數(shù)字系統(tǒng)采用了Xilinx公司最新的Spartan-6系列FPGA。該系列產(chǎn)品具有許多過去系列不可比擬的優(yōu)點。Spartan-6系列FPGA采用低功耗的45 nm工藝技術(shù)。每個可編程邏輯塊(CLB)中的邏輯片(Slice)都由先進、高效、雙寄存器的6-輸入查找表(LUT)的邏輯結(jié)構(gòu)組成,使得整體系統(tǒng)性能得到全面提高。芯片內(nèi)置低功耗的250 MHz的DSP48A1 Slice和18×18 bit的乘法器,可以實現(xiàn)高速DSP應(yīng)用。芯片擁有多條時鐘管理管道,均包含2個DCM和1個PLL,并支持1 000 MHz的時鐘技術(shù)[5]。
FPGA數(shù)字系統(tǒng)框圖如圖3所示,整個系統(tǒng)主要由編程配置和外圍接口這兩部分構(gòu)成。對FPGA的編程配置主要通過編程選通電路來完成。
編程選通電路通過CS3與EMIF_A12這2個管腳取值來判決是否利用EMIF接口對FPGA進行重新配置。在對FPGA進行配置的同時也會自動配置SPI接口的Flash芯片W25Q64VSFIG,使得該系統(tǒng)具有掉電非易失的特性。外圍接口部分除了包括外擴通用I/O接口、按鍵以及LED指示燈和JTAG編程接口以外,還預(yù)留了一個高速的FMC夾層卡接口[6]。該接口具有良好的抗電磁干擾特性,數(shù)據(jù)管腳可自由組合成最多68個獨立的單端LVCMOS或者34對差分LVDS,差分LVDS的最高傳輸速率可達到10 Gbit/s。這個接口既可直接用于與下級子板通信,也可用于外擴其他功能子板,十分靈活。另外為了系統(tǒng)調(diào)試的方便,從FM接口的68個數(shù)據(jù)管腳中又引出20個管腳作為與中頻A/D,D/A子板通信的通用插針DIP20接口。
本文主要介紹了一種新型的SCA軟件無線電數(shù)字系統(tǒng)主板的硬件結(jié)構(gòu)與框架。該設(shè)計獨立于PC自成一個系統(tǒng),充分利用DaVinci嵌入式技術(shù)以及新型的FPGA技術(shù)來構(gòu)建一個可移植主流操作系統(tǒng),功能強大,具有較強靈活性的數(shù)字平臺。目前該平臺已制作成印制電路板,經(jīng)過電路的調(diào)試以及軟件的編程測試,證實上述方案是可行的。
[1]BARD J,KOVARIK V J.Software defined radio—the software com?munications architecture[M].[S.l.]:John Wiley&Sons Ltd,2007.
[2] 張起貴,張勝,張剛.最新DSP技術(shù)——“達芬奇”系統(tǒng)、框架和組件[M].北京:國防工業(yè)出版社,2009.
[3] 王艷艷,郅晨,張俊業(yè).基于嵌入式Linux的DM6446編碼器的設(shè)計[J].電視技術(shù),2010,34(3):17-20.
[4] 葉志龍.基于TMS320DM6446的嵌入式視頻系統(tǒng)設(shè)計[D].太原:太原理工大學(xué),2007.
[5] 何賓.Xilinx可編程邏輯器件設(shè)計——技術(shù)詳解[M].北京:清華大學(xué)出版社,2010.
[6] 孫航.Xilinx可編程邏輯器件應(yīng)用與系統(tǒng)設(shè)計[M].北京:電子工業(yè)出版社,2008.