文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)02-0103-04
WCDMA [1]是國(guó)際電信聯(lián)盟(ITU)采納的第三代無(wú)線通信標(biāo)準(zhǔn)之一,它采用頻分雙工(FDD)方式,具有業(yè)務(wù)靈活、頻譜效率高、容量和覆蓋范圍廣等優(yōu)勢(shì)。
軟件無(wú)線電(SDR)[2]是于上世紀(jì)90年代提出的一種無(wú)線通信系統(tǒng)的體系結(jié)構(gòu)。目前主要的軟件無(wú)線電平臺(tái)有通用處理器(GPP)、FPGA和DSP等。FPGA可以并行處理數(shù)據(jù),DSP具有強(qiáng)大的數(shù)字信號(hào)處理能力,因此它們?cè)谲浖o(wú)線電中得到了廣泛的應(yīng)用,但是FPGA和DSP的編程和調(diào)試對(duì)開(kāi)發(fā)人員具有很高的要求[3]。近年來(lái),隨著GPP性能的不斷提高,GPP在軟件無(wú)線電系統(tǒng)中的應(yīng)用也越來(lái)越廣泛。本文主要討論了基于GPP和Windows操作系統(tǒng)的軟件無(wú)線電系統(tǒng)。
GPP SDR通常采用如圖1所示的解決方案,GPP完成基帶數(shù)據(jù)的處理,硬件平臺(tái)完成對(duì)射頻的控制和與GPP的數(shù)據(jù)通信,射頻端完成數(shù)據(jù)的發(fā)射和接收。GPP與硬件平臺(tái)進(jìn)行通信的通用接口有多種方式,如PCIe[4-5]、USB2.0[6]。USB3.0和GE(千兆以太網(wǎng))等。USB2.0技術(shù)因?yàn)槠浣硬宸奖?,已被廣泛用于各種設(shè)備中。但是由于USB2.0的傳輸速率有限,使其在軟件無(wú)線電中應(yīng)用受到了一定的限制[6]。目前正在推廣的USB3.0技術(shù)解決了USB2.0的傳輸速率問(wèn)題。本文將主要分析USB3.0在基于GPP的軟件無(wú)線電系統(tǒng)中的應(yīng)用,利用USB3.0技術(shù)實(shí)現(xiàn)WCDMA系統(tǒng)基帶數(shù)據(jù)的傳輸。在設(shè)計(jì)中針對(duì)WCDMA系統(tǒng)對(duì)硬件平臺(tái)傳輸?shù)囊?例如下行對(duì)于上行傳輸?shù)恼{(diào)度、HARQ響應(yīng)等,在硬件平臺(tái)上驗(yàn)證了USB3.0技術(shù)應(yīng)用于WCDMA軟件無(wú)線電系統(tǒng)的可行性。
1 WCDMA系統(tǒng)需求及分析
1.1 WCDMA系統(tǒng)帶寬要求
在進(jìn)行硬件平臺(tái)設(shè)計(jì)之前,需要知道WCDMA系統(tǒng)的傳輸數(shù)據(jù)量及其帶寬。WCDMA系統(tǒng)以10 ms為一幀,每一幀由5個(gè)2 ms的子幀組成,每一幀又可分為15個(gè)時(shí)隙,每個(gè)時(shí)隙有2 560個(gè)碼片[7],其幀結(jié)構(gòu)如圖2所示。根據(jù)奈奎斯特采樣定率,要進(jìn)行無(wú)失真的恢復(fù)信號(hào),系統(tǒng)的采樣頻率必須為信號(hào)帶寬的2倍。另一方面,為了能在基帶信號(hào)抽取時(shí)得到更高的信噪比,將下行信道的采樣頻率定為系統(tǒng)碼片速率的4倍,即3.84 MS/s×4=15.36 MS/s,對(duì)每一個(gè)采樣使用3 B進(jìn)行量化,則下行信道一秒的數(shù)據(jù)量為46.08 MB,每一個(gè)2 ms下行子幀的數(shù)據(jù)量為90 KB。對(duì)于上行信道,使用3.84 MHz的時(shí)鐘進(jìn)行采樣,然后用3 B進(jìn)行量化,則上行一秒的數(shù)據(jù)量為11.52 MB,每一個(gè)2 ms上行子幀的數(shù)據(jù)量為22.5 KB。WCDMA系統(tǒng)工作模式是頻分雙工(FDD),在同一個(gè)時(shí)間上下行的信道都有數(shù)據(jù)需要進(jìn)行傳輸,所以在上面的采樣率下WCDMA系統(tǒng)的帶寬要求為57.6 MB/s。
1.2 WCDMA系統(tǒng)延時(shí)要求
為了能在硬件平臺(tái)上實(shí)現(xiàn)WCDMA系統(tǒng)的基帶數(shù)據(jù)傳輸,需要滿足上面提出的各項(xiàng)要求。本文以WCDMA終端系統(tǒng)的HARQ為例展開(kāi)討論。在WCDMA的協(xié)議中規(guī)定,一個(gè)下行子幀的HARQ響應(yīng)信息應(yīng)放在其被收下5 ms后的上行子幀中,WCDMA系統(tǒng)HARQ響應(yīng)時(shí)間如圖3所示。在①號(hào)位置收完一個(gè)下行子幀,則其HARQ的ACK/NAK反饋必須在其5 ms后的上行子幀中,即②號(hào)位置后的上行子幀中(圖中的深色為一個(gè)下行子幀和與之對(duì)應(yīng)的攜帶了HARQ反饋信息的上行子幀)。①號(hào)和②號(hào)位置之間的時(shí)間為5 ms。因此,可以將這些時(shí)間分為三部分:基帶采樣信號(hào)從射頻傳送到硬件平臺(tái),并從硬件平臺(tái)傳向GPP的時(shí)間;GPP處理時(shí)間;GPP把數(shù)據(jù)發(fā)送到硬件平臺(tái),硬件平臺(tái)發(fā)向射頻端的時(shí)間。
2 硬件平臺(tái)設(shè)計(jì)
基于前文提出的GPP SDR解決方案,針對(duì)WCDMA系統(tǒng)對(duì)基帶數(shù)據(jù)傳輸?shù)膬蓚€(gè)要求,采用了USB3.0控制器和FPGA組成的基帶數(shù)據(jù)傳輸系統(tǒng),其結(jié)構(gòu)如圖4所示。FPGA作為控制的核心,完成從射頻端采集數(shù)據(jù)發(fā)向USB3.0控制器和從USB3.0控制器采集數(shù)據(jù)發(fā)向射頻端的操作。USB3.0控制器主要完成GPP與硬件平臺(tái)進(jìn)行通信的USB3.0協(xié)議和基于USB3.0協(xié)議的數(shù)據(jù)傳輸。為了滿足這一要求,設(shè)計(jì)中使用了一款USB3.0控制器的外設(shè)芯片CYUSB3014[8],它引入了ARM9處理器作為內(nèi)核,內(nèi)部采用AHB總線方式,加載了ThreadX操作系統(tǒng),在此基礎(chǔ)上實(shí)現(xiàn)了USB3.0通信協(xié)議同時(shí)向下兼容USB2.0和USB1.0的通信協(xié)議,它與FPGA的接口是可編程的Slave FIFO接口[9],接口能達(dá)到3.2 Gb/s的傳輸速率。在緩存方面,設(shè)計(jì)時(shí)在硬件平臺(tái)上增加了兩塊1 GB的DDRII內(nèi)存,F(xiàn)PGA對(duì)內(nèi)存讀寫(xiě)操作的最高傳輸速率能達(dá)到5.3 Gb/s。由于USB3.0控制器、DDRII內(nèi)存和射頻接口這三部分的傳輸速率各個(gè)不相同,因此,在它們之間加入了FIFO進(jìn)行速率的變換,此模塊不會(huì)影響硬件平臺(tái)的傳輸速率。綜上所述,可以發(fā)現(xiàn)FPGA與USB3.0控制器、DDRII及射頻端的接口速率恒定,因此USB3.0控制器與GPP進(jìn)行通信的速率決定了硬件平臺(tái)的傳輸速率。
3 硬件平臺(tái)性能分析
3.1 系統(tǒng)傳輸速率分析
3.1.1 傳輸速率影響因素
從第2節(jié)中的分析可以看到硬件平臺(tái)的傳輸速率是由USB3.0的傳輸所決定,因此,USB3.0的實(shí)際傳輸速率將是本文分析的重點(diǎn)。
USB3.0采用了與USB2.0相同的4種傳輸方式:塊傳輸方式、同步傳輸方式、控制傳輸方式和中斷傳輸方式。為了能確保數(shù)據(jù)傳輸?shù)恼_性,在設(shè)計(jì)中將塊傳輸方式作為USB3.0控制器與GPP進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,其包長(zhǎng)為1 KB。在通信方式上,USB3.0采用全雙工的通信方式,所以在反饋機(jī)制上USB3.0對(duì)Endpoint增加了“突發(fā)”操作,即Device或者h(yuǎn)ost在沒(méi)有收到確認(rèn)信息的情況下,還能繼續(xù)傳送一定數(shù)量的包,每個(gè)包大小為1 KB。“突發(fā)”長(zhǎng)度越長(zhǎng)則傳輸?shù)乃俾示驮礁?,CYUSB3014最大能支持16個(gè)突發(fā)。在實(shí)驗(yàn)中將USB3.0控制器能支持的最大突發(fā)設(shè)為16個(gè)。除了“突發(fā)”的長(zhǎng)度會(huì)影響系統(tǒng)的傳輸速率,USB3.0控制器內(nèi)部緩存的大小也會(huì)影響傳輸?shù)乃俾省?br/>
為了適應(yīng)高速的傳輸和緩存,在USB3.0控制器CYUSB3014的內(nèi)部采用了DMA的機(jī)制[10],建立了兩個(gè)傳輸?shù)腸hannel,其內(nèi)部的結(jié)構(gòu)如圖5所示。從圖中可以看到channel中有多個(gè)數(shù)據(jù)緩存,其內(nèi)部的傳輸是以緩存作為單位量,當(dāng)一個(gè)緩存被生產(chǎn)者寫(xiě)滿后,CYUSB3014會(huì)產(chǎn)生響應(yīng)信息,通知Consumer從緩存中讀取數(shù)據(jù)進(jìn)行傳輸。而緩存大小設(shè)置是不同的,每次傳輸?shù)臄?shù)據(jù)量也不相同,傳輸?shù)乃俾室矔?huì)不同。
3.1.2 傳輸速率的測(cè)試和分析
上一節(jié)討論了在傳輸方式和“突發(fā)”長(zhǎng)度一定的情況下,緩存的大小對(duì)傳輸?shù)乃俾视兄匾挠绊?。在?shí)驗(yàn)中針對(duì)緩存大小對(duì)傳輸速率的影響進(jìn)行了測(cè)試,傳輸?shù)乃俾屎途彺娴拇笮〕烧嚓P(guān),緩存越大則傳輸?shù)乃俾示驮礁?。由?節(jié)可知,下行一個(gè)子幀的數(shù)據(jù)量為90 KB,因此可以將緩存的大小設(shè)為6 KB,此時(shí)一個(gè)下行子幀的數(shù)據(jù)被分成15次傳輸,在此條件下USB3.0的傳輸速率為200 Mb/s,從吞吐率上來(lái)看完全滿足系統(tǒng)的要求,下面將討論在此速率下能否滿足WCDMA系統(tǒng)對(duì)傳輸延遲時(shí)間的要求。
3.2 回環(huán)延遲分析
3.2.1 回環(huán)延遲時(shí)間測(cè)試方案
如上文所述,為了能滿足WCDMA系統(tǒng)的HARQ要求,系統(tǒng)的回環(huán)延遲時(shí)間也將成為討論的重點(diǎn)。從第1節(jié)可以知道,系統(tǒng)的延遲時(shí)間由三部分組成,這三部分的時(shí)間和必須小于WCDMA系統(tǒng)的HARQ響應(yīng)時(shí)間。第二部分的時(shí)間為GPP處理所需要的時(shí)間,不屬于本文討論的重點(diǎn)。第一部分和第三部分的時(shí)間是由硬件平臺(tái)所產(chǎn)生的延遲時(shí)間,這兩部分的時(shí)間越短,則GPP能處理的時(shí)間就越長(zhǎng)。為了能給GPP更多的處理時(shí)間,在滿足系統(tǒng)性能情況下,將GPP端發(fā)送上行子幀的時(shí)間設(shè)定為收到一個(gè)下行子幀的前18 KB數(shù)據(jù)之后,這樣GPP端對(duì)每個(gè)下行子幀基帶采樣數(shù)據(jù)的接收被分為兩部分,第一部分為18 KB,第二部分為72 KB。在圖6中用數(shù)據(jù)傳輸?shù)姆绞侥M了一次WCDMA系統(tǒng)的HARQ的過(guò)程。一個(gè)子幀在①號(hào)位置開(kāi)始被硬件平臺(tái)接收,則其對(duì)應(yīng)的HARQ的反饋信息應(yīng)在②號(hào)位置的上行子幀中被發(fā)到空口上。圖6中的⑤號(hào)部分的時(shí)間為GPP處理的時(shí)間。
為了能直觀地反映硬件平臺(tái)的延遲時(shí)間,設(shè)計(jì)時(shí)去掉了GPP處理的時(shí)間,所以把計(jì)時(shí)的起點(diǎn)選在了圖6中的③號(hào)點(diǎn)上,計(jì)時(shí)的終點(diǎn)為④號(hào)點(diǎn)即硬件平臺(tái)收到了上行一幀的數(shù)據(jù)后,此時(shí)計(jì)算出的時(shí)間就為在硬件平臺(tái)上所消耗的時(shí)間,把這部分的時(shí)間稱為“回環(huán)延遲時(shí)間”。由于USB3.0的傳輸速率受到GPP上USB的帶寬、GPP內(nèi)核使用情況等影響,導(dǎo)致數(shù)據(jù)從硬件平臺(tái)傳輸?shù)紾PP內(nèi)存的時(shí)間為不定值。從圖6中可以看出,從計(jì)時(shí)點(diǎn)③開(kāi)始,上行一個(gè)子幀的數(shù)據(jù)需要在3 ms內(nèi)完成發(fā)送(即④號(hào)點(diǎn)的位置必須在②號(hào)位置的前面),否則一個(gè)上行子幀的數(shù)據(jù)就不能按時(shí)完成發(fā)送,造成上行丟包。
3.2.2 回環(huán)延遲時(shí)間結(jié)果及分析
在設(shè)計(jì)中選用了主板自帶USB3.0接口的臺(tái)式計(jì)算機(jī)進(jìn)行測(cè)試,計(jì)算機(jī)的參數(shù)如下:
CPU:Inter(R)Core(TM)i5-2300 CPU @2.8 GHz
內(nèi)存:4.00 GB
操作系統(tǒng):32位Win7
編程環(huán)境:VS2008
測(cè)試的結(jié)果如圖7所示,橫坐標(biāo)為延遲時(shí)間,縱坐標(biāo)為回環(huán)延遲時(shí)間的概率分布。
從測(cè)試結(jié)果可以看出,回環(huán)延遲時(shí)間主要集中在0.6~1 ms之間,GPP有比較充裕的時(shí)間進(jìn)行數(shù)據(jù)的處理。從圖7中的統(tǒng)計(jì)可以看出延遲時(shí)間大于3 ms的概率為1.55×10-4,而WCDMA系統(tǒng)對(duì)空中接口丟包率的數(shù)量級(jí)要求為10-3,由于硬件平臺(tái)的延遲而帶來(lái)的丟包率遠(yuǎn)小于系統(tǒng)的空中接口的丟包率,所以此硬件平臺(tái)能夠滿足WCDMA系統(tǒng)的要求。如需滿足更高的延時(shí)需求,則可以選擇基于Windows的實(shí)時(shí)操作系統(tǒng),比如IntervalZero[11],這部分工作有待未來(lái)的研究中繼續(xù)進(jìn)行。
本文分析了USB3.0技術(shù)應(yīng)用于基于GPP的軟件無(wú)線電系統(tǒng)的可行性,并通過(guò)帶有USB3.0控制器和FPGA組成的硬件平臺(tái),實(shí)現(xiàn)了WCDMA系統(tǒng)基帶數(shù)據(jù)的高速傳輸。通過(guò)分析和實(shí)驗(yàn),在本文的硬件平臺(tái)框架下USB3.0的最高傳輸速率能達(dá)到260 Mb/s, 應(yīng)用于WCDMA系統(tǒng)的最高傳輸速率能達(dá)到200 Mb/s,回環(huán)延遲時(shí)間為0.7 ms左右,該結(jié)果證明USB3.0技術(shù)在GPP軟件無(wú)線電系統(tǒng)的基帶數(shù)據(jù)傳輸上能夠滿足WCDMA系統(tǒng)的帶寬和延時(shí)的要求。
參考文獻(xiàn)
[1] 3GPP TS 25.201 V10.0.0. Physical channels and mapping of transport channels onto physical channels(FDD)[S].2010.
[2] JOHNSON P. New research lab leads to unique radio receiver[J]. E-Systems Team, 1985,5(4):6-7.
[3] PAWLOWSKI P, DABROWSKI A, SKRZYPEK P. Software defined radio-design and implementation of complete platform[C]. IEEE 14th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS), Cottbus,2011.
[4] TAN K, Zhang Jiansong, Fang Ji, et al. Sora: high performance software radio using general purpose multi-core processors[C]. In 6th USENIX Symposium on Networked Systems Design & Implementation (NSDI) 2009, USENIX, 2009.
[5] Guo Peng, Qi Xin, Xiao Limin,et al. A novel GPP-based software-defined radio architecture[C].1st International ICST Workshop on C-RAN,Kunming,2012.
[6] Zhou Jing, Qi Xin, Su Xin,et al. Investigation on USB 2.0 in Software-Defined Radio[C]. 1st International ICST Workshop on C-RAN,Kunming,2012.
[7] 3GPP TS 25.211 V10.0.0. Physical channels and mapping of transport channels onto physical channels(FDD)[S].2010.
[8] Cypress semiconductor.EZ-USB?誖FX3 SuperSpeed USB Controller[S].2012.
[9] Cypress Semiconductor. Designing with the EZ-USB FX3 Slave FIFO Interface[S].2012.
[10] Cypress Semiconductor.FX3 Programmers Manual[S].2012.
[11] Interval Zero RTX RTOS[OL].[2012-06-20].www.intervalzero.com.