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