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