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