文献标识码:A
文章编号: 0258-7998(2013)02-0103-04
WCDMA[1]是国际电信联盟(ITU)采纳的第三代无线通信标准之一,它采用频分双工(FDD)方式,具有业务灵活、频谱效率高、容量和覆盖范围广等优势。
软件无线电(SDR)[2]是于上世纪90年代提出的一种无线通信系统的体系结构。目前主要的软件无线电平台有通用处理器(GPP)、FPGA和DSP等。FPGA可以并行处理数据,DSP具有强大的数字信号处理能力,因此它们在软件无线电中得到了广泛的应用,但是FPGA和DSP的编程和调试对开发人员具有很高的要求[3]。近年来,随着GPP性能的不断提高,GPP在软件无线电系统中的应用也越来越广泛。本文主要讨论了基于GPP和Windows操作系统的软件无线电系统。
GPP SDR通常采用如图1所示的解决方案,GPP完成基带数据的处理,硬件平台完成对射频的控制和与GPP的数据通信,射频端完成数据的发射和接收。GPP与硬件平台进行通信的通用接口有多种方式,如PCIe[4-5]、USB2.0[6]。USB3.0和GE(千兆以太网)等。USB2.0技术因为其接插方便,已被广泛用于各种设备中。但是由于USB2.0的传输速率有限,使其在软件无线电中应用受到了一定的限制[6]。目前正在推广的USB3.0技术解决了USB2.0的传输速率问题。本文将主要分析USB3.0在基于GPP的软件无线电系统中的应用,利用USB3.0技术实现WCDMA系统基带数据的传输。在设计中针对WCDMA系统对硬件平台传输的要求,例如下行对于上行传输的调度、HARQ响应等,在硬件平台上验证了USB3.0技术应用于WCDMA软件无线电系统的可行性。
1 WCDMA系统需求及分析
1.1 WCDMA系统带宽要求
在进行硬件平台设计之前,需要知道WCDMA系统的传输数据量及其带宽。WCDMA系统以10 ms为一帧,每一帧由5个2 ms的子帧组成,每一帧又可分为15个时隙,每个时隙有2 560个码片[7],其帧结构如图2所示。根据奈奎斯特采样定率,要进行无失真的恢复信号,系统的采样频率必须为信号带宽的2倍。另一方面,为了能在基带信号抽取时得到更高的信噪比,将下行信道的采样频率定为系统码片速率的4倍,即3.84 MS/s×4=15.36 MS/s,对每一个采样使用3 B进行量化,则下行信道一秒的数据量为46.08 MB,每一个2 ms下行子帧的数据量为90 KB。对于上行信道,使用3.84 MHz的时钟进行采样,然后用3 B进行量化,则上行一秒的数据量为11.52 MB,每一个2 ms上行子帧的数据量为22.5 KB。WCDMA系统工作模式是频分双工(FDD),在同一个时间上下行的信道都有数据需要进行传输,所以在上面的采样率下WCDMA系统的带宽要求为57.6 MB/s。
1.2 WCDMA系统延时要求
为了能在硬件平台上实现WCDMA系统的基带数据传输,需要满足上面提出的各项要求。本文以WCDMA终端系统的HARQ为例展开讨论。在WCDMA的协议中规定,一个下行子帧的HARQ响应信息应放在其被收下5 ms后的上行子帧中,WCDMA系统HARQ响应时间如图3所示。在①号位置收完一个下行子帧,则其HARQ的ACK/NAK反馈必须在其5 ms后的上行子帧中,即②号位置后的上行子帧中(图中的深色为一个下行子帧和与之对应的携带了HARQ反馈信息的上行子帧)。①号和②号位置之间的时间为5 ms。因此,可以将这些时间分为三部分:基带采样信号从射频传送到硬件平台,并从硬件平台传向GPP的时间;GPP处理时间;GPP把数据发送到硬件平台,硬件平台发向射频端的时间。
2 硬件平台设计
基于前文提出的GPP SDR解决方案,针对WCDMA系统对基带数据传输的两个要求,采用了USB3.0控制器和FPGA组成的基带数据传输系统,其结构如图4所示。FPGA作为控制的核心,完成从射频端采集数据发向USB3.0控制器和从USB3.0控制器采集数据发向射频端的操作。USB3.0控制器主要完成GPP与硬件平台进行通信的USB3.0协议和基于USB3.0协议的数据传输。为了满足这一要求,设计中使用了一款USB3.0控制器的外设芯片CYUSB3014[8],它引入了ARM9处理器作为内核,内部采用AHB总线方式,加载了ThreadX操作系统,在此基础上实现了USB3.0通信协议同时向下兼容USB2.0和USB1.0的通信协议,它与FPGA的接口是可编程的Slave FIFO接口[9],接口能达到3.2 Gb/s的传输速率。在缓存方面,设计时在硬件平台上增加了两块1 GB的DDRII内存,FPGA对内存读写操作的最高传输速率能达到5.3 Gb/s。由于USB3.0控制器、DDRII内存和射频接口这三部分的传输速率各个不相同,因此,在它们之间加入了FIFO进行速率的变换,此模块不会影响硬件平台的传输速率。综上所述,可以发现FPGA与USB3.0控制器、DDRII及射频端的接口速率恒定,因此USB3.0控制器与GPP进行通信的速率决定了硬件平台的传输速率。
3 硬件平台性能分析
3.1 系统传输速率分析
3.1.1 传输速率影响因素
从第2节中的分析可以看到硬件平台的传输速率是由USB3.0的传输所决定,因此,USB3.0的实际传输速率将是本文分析的重点。
USB3.0采用了与USB2.0相同的4种传输方式:块传输方式、同步传输方式、控制传输方式和中断传输方式。为了能确保数据传输的正确性,在设计中将块传输方式作为USB3.0控制器与GPP进行数据传输的方式,其包长为1 KB。在通信方式上,USB3.0采用全双工的通信方式,所以在反馈机制上USB3.0对Endpoint增加了“突发”操作,即Device或者host在没有收到确认信息的情况下,还能继续传送一定数量的包,每个包大小为1 KB。“突发”长度越长则传输的速率就越高,CYUSB3014最大能支持16个突发。在实验中将USB3.0控制器能支持的最大突发设为16个。除了“突发”的长度会影响系统的传输速率,USB3.0控制器内部缓存的大小也会影响传输的速率。
为了适应高速的传输和缓存,在USB3.0控制器CYUSB3014的内部采用了DMA的机制[10],建立了两个传输的channel,其内部的结构如图5所示。从图中可以看到channel中有多个数据缓存,其内部的传输是以缓存作为单位量,当一个缓存被生产者写满后,CYUSB3014会产生响应信息,通知Consumer从缓存中读取数据进行传输。而缓存大小设置是不同的,每次传输的数据量也不相同,传输的速率也会不同。
3.1.2 传输速率的测试和分析
上一节讨论了在传输方式和“突发”长度一定的情况下,缓存的大小对传输的速率有着重要的影响。在实验中针对缓存大小对传输速率的影响进行了测试,传输的速率和缓存的大小成正相关,缓存越大则传输的速率就越高。由第1节可知,下行一个子帧的数据量为90 KB,因此可以将缓存的大小设为6 KB,此时一个下行子帧的数据被分成15次传输,在此条件下USB3.0的传输速率为200 Mb/s,从吞吐率上来看完全满足系统的要求,下面将讨论在此速率下能否满足WCDMA系统对传输延迟时间的要求。
3.2 回环延迟分析
3.2.1 回环延迟时间测试方案
如上文所述,为了能满足WCDMA系统的HARQ要求,系统的回环延迟时间也将成为讨论的重点。从第1节可以知道,系统的延迟时间由三部分组成,这三部分的时间和必须小于WCDMA系统的HARQ响应时间。第二部分的时间为GPP处理所需要的时间,不属于本文讨论的重点。第一部分和第三部分的时间是由硬件平台所产生的延迟时间,这两部分的时间越短,则GPP能处理的时间就越长。为了能给GPP更多的处理时间,在满足系统性能情况下,将GPP端发送上行子帧的时间设定为收到一个下行子帧的前18 KB数据之后,这样GPP端对每个下行子帧基带采样数据的接收被分为两部分,第一部分为18 KB,第二部分为72 KB。在图6中用数据传输的方式模拟了一次WCDMA系统的HARQ的过程。一个子帧在①号位置开始被硬件平台接收,则其对应的HARQ的反馈信息应在②号位置的上行子帧中被发到空口上。图6中的⑤号部分的时间为GPP处理的时间。
为了能直观地反映硬件平台的延迟时间,设计时去掉了GPP处理的时间,所以把计时的起点选在了图6中的③号点上,计时的终点为④号点即硬件平台收到了上行一帧的数据后,此时计算出的时间就为在硬件平台上所消耗的时间,把这部分的时间称为“回环延迟时间”。由于USB3.0的传输速率受到GPP上USB的带宽、GPP内核使用情况等影响,导致数据从硬件平台传输到GPP内存的时间为不定值。从图6中可以看出,从计时点③开始,上行一个子帧的数据需要在3 ms内完成发送(即④号点的位置必须在②号位置的前面),否则一个上行子帧的数据就不能按时完成发送,造成上行丢包。
3.2.2 回环延迟时间结果及分析
在设计中选用了主板自带USB3.0接口的台式计算机进行测试,计算机的参数如下:
CPU:Inter(R)Core(TM)i5-2300 CPU @2.8 GHz
内存:4.00 GB
操作系统:32位Win7
编程环境:VS2008
测试的结果如图7所示,横坐标为延迟时间,纵坐标为回环延迟时间的概率分布。
从测试结果可以看出,回环延迟时间主要集中在0.6~1 ms之间,GPP有比较充裕的时间进行数据的处理。从图7中的统计可以看出延迟时间大于3 ms的概率为1.55×10-4,而WCDMA系统对空中接口丢包率的数量级要求为10-3,由于硬件平台的延迟而带来的丢包率远小于系统的空中接口的丢包率,所以此硬件平台能够满足WCDMA系统的要求。如需满足更高的延时需求,则可以选择基于Windows的实时操作系统,比如IntervalZero[11],这部分工作有待未来的研究中继续进行。
本文分析了USB3.0技术应用于基于GPP的软件无线电系统的可行性,并通过带有USB3.0控制器和FPGA组成的硬件平台,实现了WCDMA系统基带数据的高速传输。通过分析和实验,在本文的硬件平台框架下USB3.0的最高传输速率能达到260 Mb/s, 应用于WCDMA系统的最高传输速率能达到200 Mb/s,回环延迟时间为0.7 ms左右,该结果证明USB3.0技术在GPP软件无线电系统的基带数据传输上能够满足WCDMA系统的带宽和延时的要求。
参考文献
[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.