1 設(shè)計思路
隨著實時數(shù)字信號處理技術(shù)的發(fā)展,ARM、DSP和FPGA體系結(jié)構(gòu)成為3G移動終端實現(xiàn)的主要方式。本文的設(shè)計通過ARM對目標(biāo)及環(huán)境進行建模、運算,生成網(wǎng)絡(luò)協(xié)議仿真數(shù)據(jù)庫,應(yīng)用DSP進行數(shù)據(jù)調(diào)度、運算和處理,最后形成所需的調(diào)幅、調(diào)相、調(diào)頻等控制字,通過FPGA控制收發(fā)器芯片產(chǎn)生射頻模擬信號。利用數(shù)字芯片之間的通用性,ARM與DSP間的通信,不僅能實時處理接收和發(fā)送的數(shù)據(jù),還可以適應(yīng)不同移動網(wǎng)絡(luò)的具體要求,同時方便加載新的程序。FPGA數(shù)字頻率合成技術(shù)以其在頻率捷變速度、相位連續(xù)性、相對帶寬、高分辨率以及集成化等方面的優(yōu)異性能,為 3G移動終端射頻信號模擬的實現(xiàn)方式提供了選擇。
2 硬件實現(xiàn)
本系統(tǒng)主要部分是ARM主控模塊、DSP實時數(shù)據(jù)處理模塊和FPGA信號生成模塊。ARM主控模塊實現(xiàn)物理層與協(xié)議棧的通信,接收高層的指令,執(zhí)行相應(yīng)的任務(wù)。如協(xié)議棧需要在某些子幀中的某個或幾個上行時隙發(fā)送數(shù)據(jù)到核心網(wǎng),在某些子幀中的某個或幾個下行時隙接收核心網(wǎng)的數(shù)據(jù),這時把所有的指令和數(shù)據(jù)都存放在同步動態(tài)隨機存儲器(SDRAM)中,然后通知DSP去執(zhí)行。DSP實時數(shù)據(jù)處理模塊得到數(shù)據(jù)和命令后,首先處理發(fā)送數(shù)據(jù),對數(shù)據(jù)進行信道編碼調(diào)制、CRC附著、交織、擴頻調(diào)制等,然后處理接收數(shù)據(jù),如信道估計、去干擾、CRC校驗、信道解碼、解擴、唯特比解碼等。FPGA為信號生成模塊,管理26 M時鐘,進行分頻的任務(wù),控制模擬基帶(ABB)的自動發(fā)送功率控制(APC)、自動接收增益控制(AGC)、自動頻率控制(AFC)等,同時也實時控制射頻(RF)的工作。當(dāng)DSP中的一些算法非常穩(wěn)定后,可以用FPGA來實現(xiàn)這些算法,減少DSP的處理負(fù)擔(dān)。其硬件電路如圖1所示。
2.1 接口
ARM與DSP的數(shù)據(jù)交換是通過雙口隨機存儲器(RAM)來實現(xiàn)的,即圖1中的SDRAM,起到上下行控制命令、參數(shù)和數(shù)據(jù)等緩存和交換的作用。這里收發(fā)雙口RAM數(shù)據(jù)線的位數(shù)大小為16bit, SDRAM 存儲大小為128 M。硬件中斷信號線8(INT8)與硬件中斷信號線9(INT9)每5ms相互產(chǎn)生一次,等于TD-SCDMA空口信號的子幀中斷,同時也可以作為ARM與DSP的控制命令、響應(yīng)來實現(xiàn)ARM與DSP之間的通信。
FPGA的主要的接口有data_out[15:0]接口,與數(shù)模轉(zhuǎn)換器(A/D)接口和與RF接口。
data_out[15:0]接口用來輸出FPGA運算的結(jié)果,與DSP的數(shù)據(jù)總線掛接在一起,在FPGA內(nèi)部設(shè)置一個三態(tài)門,開門信號就是 FPGA的片選信號CE。當(dāng)CE不選通的時候,三態(tài)門輸出為高阻狀態(tài),不會影響DSP的數(shù)據(jù)總線。在每一個樣點間隔的時間內(nèi),F(xiàn)PGA運算出相關(guān)值的實部和虛部,將它們分別鎖存在4個16 bit的鎖存器中,并將與DSP相連的data_ready信號置高電平,表示數(shù)據(jù)已經(jīng)準(zhǔn)備好。DSP檢測到data_ready為高后會進行讀操作,用地址總線的高幾位產(chǎn)生出片選信號將FPGA選通,通過地址總線的低兩位A0、A1來選擇4個鎖存器的其中一個,依次讀取實部和虛部兩個32位數(shù)的高16位和低16位。FPGA內(nèi)部會對DSP的讀操作計數(shù),確認(rèn)數(shù)據(jù)分4次讀出后,則將data_ready置低,直到下一次運算完畢后再抬高。FPGA的頻率、相位和幅度控制字的設(shè)置和控制信號的產(chǎn)生由TMS320C5510完成,F(xiàn)PGA可以看作是異步存儲設(shè)備與TMS320C5510的外存儲器接口 (EMIF)相連,EMIF采用32 bit總線。