1 設計思路
隨著實時數(shù)字信號處理技術的發(fā)展,ARM、DSP和FPGA體系結構成為3G移動終端實現(xiàn)的主要方式。本文的設計通過ARM對目標及環(huán)境進行建模、運算,生成網(wǎng)絡協(xié)議仿真數(shù)據(jù)庫,應用DSP進行數(shù)據(jù)調度、運算和處理,最后形成所需的調幅、調相、調頻等控制字,通過FPGA控制收發(fā)器芯片產(chǎn)生射頻模擬信號。利用數(shù)字芯片之間的通用性,ARM與DSP間的通信,不僅能實時處理接收和發(fā)送的數(shù)據(jù),還可以適應不同移動網(wǎng)絡的具體要求,同時方便加載新的程序。FPGA數(shù)字頻率合成技術以其在頻率捷變速度、相位連續(xù)性、相對帶寬、高分辨率以及集成化等方面的優(yōu)異性能,為 3G移動終端射頻信號模擬的實現(xiàn)方式提供了選擇。
2 硬件實現(xiàn)
本系統(tǒng)主要部分是ARM主控模塊、DSP實時數(shù)據(jù)處理模塊和FPGA信號生成模塊。ARM主控模塊實現(xiàn)物理層與協(xié)議棧的通信,接收高層的指令,執(zhí)行相應的任務。如協(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ù)進行信道編碼調制、CRC附著、交織、擴頻調制等,然后處理接收數(shù)據(jù),如信道估計、去干擾、CRC校驗、信道解碼、解擴、唯特比解碼等。FPGA為信號生成模塊,管理26 M時鐘,進行分頻的任務,控制模擬基帶(ABB)的自動發(fā)送功率控制(APC)、自動接收增益控制(AGC)、自動頻率控制(AFC)等,同時也實時控制射頻(RF)的工作。當DSP中的一些算法非常穩(wěn)定后,可以用FPGA來實現(xiàn)這些算法,減少DSP的處理負擔。其硬件電路如圖1所示。
2.1 接口
ARM與DSP的數(shù)據(jù)交換是通過雙口隨機存儲器(RAM)來實現(xiàn)的,即圖1中的SDRAM,起到上下行控制命令、參數(shù)和數(shù)據(jù)等緩存和交換的作用。這里收發(fā)雙口RAM數(shù)據(jù)線的位數(shù)大小為16 bit, SDRAM 存儲大小為128 M。硬件中斷信號線8(INT8)與硬件中斷信號線9(INT9)每5 ms相互產(chǎn)生一次,等于TD-SCDMA空口信號的子幀中斷,同時也可以作為ARM與DSP的控制命令、響應來實現(xiàn)ARM與DSP之間的通信。
FPGA的主要的接口有data_out[15:0]接口,與數(shù)模轉換器(A/D)接口和與RF接口。
data_out[15:0]接口用來輸出FPGA運算的結果,與DSP的數(shù)據(jù)總線掛接在一起,在FPGA內(nèi)部設置一個三態(tài)門,開門信號就是 FPGA的片選信號CE。當CE不選通的時候,三態(tài)門輸出為高阻狀態(tài),不會影響DSP的數(shù)據(jù)總線。在每一個樣點間隔的時間內(nèi),F(xiàn)PGA運算出相關值的實部和虛部,將它們分別鎖存在4個16 bit的鎖存器中,并將與DSP相連的data_ready信號置高電平,表示數(shù)據(jù)已經(jīng)準備好。DSP檢測到data_ready為高后會進行讀操作,用地址總線的高幾位產(chǎn)生出片選信號將FPGA選通,通過地址總線的低兩位A0、A1來選擇4個鎖存器的其中一個,依次讀取實部和虛部兩個32位數(shù)的高16位和低16位。FPGA內(nèi)部會對DSP的讀操作計數(shù),確認數(shù)據(jù)分4次讀出后,則將data_ready置低,直到下一次運算完畢后再抬高。FPGA的頻率、相位和幅度控制字的設置和控制信號的產(chǎn)生由TMS320C5510完成,F(xiàn)PGA可以看作是異步存儲設備與TMS320C5510的外存儲器接口 (EMIF)相連,EMIF采用32 bit總線。
與數(shù)模轉換器(A/D)接口的A/D一端連接ABB,另一端連接FPGA,傳輸要發(fā)送的數(shù)據(jù)和移動網(wǎng)絡接收的數(shù)據(jù)。在與A/D的接口部分中,有 3個輸入端RIF、PS和CLK。RIF用來串行輸入A/D轉換來的樣點值;PS為幀同步信號,它在輸入到FPGA后用來驅動FPGA內(nèi)部的總體控制模塊;Clock為移位時鐘,它控制A/D與FPGA之間數(shù)據(jù)串行傳輸?shù)囊莆弧?
與RF接口主要是用來控制發(fā)送和接收RF芯片工作。
2.2 主控模塊
主控模塊負責控制和協(xié)調各種工作,ARM采用TI公司生產(chǎn)的開放式多媒體應用平臺(OMAP)微處理器,通過集成鎖相環(huán)倍頻系統(tǒng)主頻可以達到 66 MHz,最大外部存儲空間可達256 MB,片上資源豐富,外圍控制能力強性價比高。由它控制DSP模塊接收網(wǎng)絡發(fā)送的命令及參數(shù),實現(xiàn)無線自由的協(xié)議通信。
2.3 實時數(shù)據(jù)處理模塊
實時數(shù)據(jù)處理模塊[1]通過共享內(nèi)存與ARM實現(xiàn)發(fā)送的命令、傳輸參數(shù)和數(shù)據(jù),根據(jù)設定的移動終端工作狀態(tài),如Cell Search、隨機接入過程(RA)、專用控制信道(DCCH),及目標、環(huán)境的實時動態(tài)計算FPGA的控制字。同時也通過共享內(nèi)存上報從網(wǎng)絡接收的數(shù)據(jù)和信息傳輸給ARM;通過鎖存器向處理板提供控衰減控制信號實現(xiàn)睡眠,來達到省電。DSP采用TI公司C5000系列中的TMS320C5510,系統(tǒng)時鐘達600 MHz,數(shù)據(jù)處理速率可以達到4 800 MIPS。提供32/16 bit主機口,具有兩個獨立的外部存儲器接口,其中EMIF支持64 bit總線寬度。
2.4 FPGA模塊設計
該系列芯片的最大特色是內(nèi)嵌硬件乘法器和乘加結構的可編程DSP模塊,適用于實現(xiàn)高速信號處理。這種DSP模塊是高性能的嵌入算術單元,它可以配置為硬件乘法器、加減法器、累加器和流水線寄存器。Stratix系列具有多達28個DSP模塊,可配置為224個嵌入乘法器,可以為大數(shù)據(jù)吞吐量的應用提供靈活、高效和有價值的方案。這些DSP模塊可以實現(xiàn)多種典型的DSP功能,如有相關器、限沖擊響應(FIR)濾波、快速傅立葉變換(FFT)功能和加密/解密功能等,其中相關器算法設計是各種其他算法實現(xiàn)的基礎和基本組成部分。
移動終端系統(tǒng)接收到的射頻信號經(jīng)過前端預處理后,送到A/D采樣,然后通過串行方式輸出樣點值到FPGA[2]。每個樣點值是用10 bit的二進制補碼表示的,需先通過一個串/并轉換器轉化為寬度為10 bit的并行信號。首先樣點值要進行的是希爾波特變換,希爾波特變換有多種實現(xiàn)方法,這里采用一個129階的濾波器來實現(xiàn),濾波器的抽頭系數(shù)由 MATLAB函數(shù)Remez產(chǎn)生,得到與其正交的另一路信號;然后以這兩路信號分別作為實部和虛部,與本地序列進行相關運算,將相關值的實部和虛部送給 DSP做后續(xù)處理。這樣,DSP才可以通過先對相關值求模,然后對模值出現(xiàn)的峰值的間隔、幅值和數(shù)目等信息進行判斷和進一步處理,來確定是否捕捉到信號。相關器算法FPGA設計的內(nèi)部結構框圖如圖2所示。
2.5 PFGA與RF的接口、總線及時序控制設計
FPGA與RF的接口、總線及時序控制設計如圖3所示。
為了增加信道容量、改善帶寬效率,TD-SCDMA通過利用上行鏈路(反向鏈路)同步、軟件無線電和智能天線的技術將時分雙工(TDD)與 CDMA結合起來。TD-SCDMA要求手機的射頻部分具有快速的切換時間、高的動態(tài)范圍以及發(fā)送機和接收機部分的高線性度。MAX2410是一個完整正交發(fā)射器,它由一個正交調制器、可變增益IF和RF放大器組成。MAX2309是一種為基于CDMA的單頻單模蜂窩電話系統(tǒng)設計的IF接收機,其輸入頻率范圍經(jīng)過優(yōu)化達到70 MHz~300 MHz,在35 dBm增益下達-33 dBm,在-35 dBm增益下達+1.7 dBm。FPGA控制RF主要通過4個RF控制寄存器:A word寄存器、B word寄存器、 C word寄存器和 D word寄存器。
3 軟件實現(xiàn)
移動終端軟件包括應用層軟件、通信協(xié)議軟件和物理層軟件3部分。
應用層軟件LAY 4-7:包含人機界面(MMI)和系統(tǒng)應用層協(xié)議(S/W)部分,MMI為移動終端使用者接口,S/W類似移動終端的操作系統(tǒng)。
通信協(xié)議軟件LAY 2-3:該部分軟件較大,主要為通信協(xié)議,主要保證無線通信系統(tǒng)可以在各種狀況順暢互通。
物理層軟件LAY 1:負責協(xié)調DSP、其他硬件和軟件。物理層軟件的設計將能實現(xiàn)節(jié)能的特性、多資源、多時隙的處理、數(shù)據(jù)包和對其他網(wǎng)絡系統(tǒng)的監(jiān)測。在設計物理層軟件時的還要對相鄰小區(qū)的監(jiān)測,特別是當相鄰小區(qū)間彼此還沒有同步的時候。
移動終端軟件各個模塊主要實現(xiàn)與硬件的對應關系如下:
應用層軟件LAY 4-7和通信協(xié)議軟件LAY 2-3軟件的實現(xiàn)主要是在ARM中實現(xiàn),假如LAY 4-7需要一些特別高要求的應用時,可以再增加相應的硬件模塊,而不影響原有的架構,如增加高要求多媒體的處理和播放;物理層軟件LAY 1主要在DSP和FPGA中實現(xiàn)。
在軟件編程時ARM和DSP可以使用C語言來實現(xiàn),使用的調試工具為CCS軟件,當DSP中有一些算法非常成熟后,移動通信對這塊的實時性要求比較高時,應該用匯編語言來實現(xiàn),在FPGA中可以用VHDL語言來實現(xiàn)。在編程是首先盡量定義好各個功能模塊的任務,然后定義好各個功能模塊的接口參數(shù)等,在可以不用全局變量的時候盡量不用。
另一個主要挑戰(zhàn)是在TD-SCDMA終端里實現(xiàn)聯(lián)合檢測算法,特別是關于算法的時間優(yōu)化。DSP和FPGA之間的任務分配上要有一個合理協(xié)調的分工,這樣能夠最大限度的發(fā)揮這兩個處理器的功能。在實際軟件編程中,算法程序計算量大、編碼延時過長,因此
需要在保證質量的前提下對算法進行優(yōu)化。在滿足精度要求下,進一步將算法簡化,粗化搜索范圍來降低計算量;對于高級語言程序代碼,用混合匯編、去除嵌套循環(huán)等方法進行代碼優(yōu)化,提高代碼效率。
4 結束語
本實驗研究是在南昌大學自然科學基金Z03333的資助下完成的。該系統(tǒng)很好的實現(xiàn)了3G移動終端處理功能,但實際環(huán)境比仿真環(huán)境更復雜,需要給出解決辦法,然后再驗證。目前該方案實現(xiàn)了384 kb/s工作,使用3個時隙(每個時隙128 kb/s);實現(xiàn)了基于高速下行分組接入(HSDPA)技術提高數(shù)據(jù)速率,它類似于WCDMA和CDMA2000標準所提供的速率。開發(fā)的3G芯片組能夠滿足消費者對于改善性能和功能的要求,同時又保持了相同或更低的價格。
5 參考文獻
[1] 申敏.DSP原理及其在移動通信中的應用[M]. 北京:人民郵電出版社, 2002.
[2] Wakerly j f. 數(shù)字設計原理與實踐[M].北京:機械工業(yè)出版社, 2004.