文献标识码: A
文章编号: 0258-7998(2013)03-0030-04
正交频分复用(OFDM)技术因具有良好的抗多径干扰能力以及高效的频谱利用率等优点,在数字音视频广播、无线局域网等无线通信领域中得到了广泛的应用,成为了下一代无线通信系统的核心技术[1]。但是,OFDM基带系统的功能模块多,设计工作量大。因此如何高效地测试基带系统中的算法、验证硬件模块的功能,是完成OFDM基带系统ASIC设计的关键。
基于高级语言进行的软件仿真可以验证算法的正确性和有效性,其实现容易,修改简单,调试方便[2]。但是纯软件仿真难以完全模拟通信系统的实际工作环境(如实际信道衰落、实际载波频率偏移等),使得实现的算法缺乏对实际因素的应对能力,更无法保证其硬件实现能很好地工作在实际环境中。硬件验证是ASIC前端设计的关键步骤,通过FPGA平台在实际环境中测试,可以验证各模块能否正常工作[3]。但是硬件验证操作复杂,灵活性差,数据验证不直观。若只进行系统的整体验证,则难以定位测试中出现的问题。虽然各FPGA公司都提供了相应的硬件辅助测试工具,例如Quartus II Signal Tap II逻辑分析工具等[4],但是其存储容量受限于FPGA内部RAM的大小,而且难以利用其他软件对数据进行实时处理。
为了充分利用软件仿真和硬件验证各自的优点,本文提出并实现了一种软硬件结合的OFDM基带系统测试平台。该平台将基带系统分成软件基带和硬件基带两部分,再将两者用以太网连接成完整的基带系统,既可以使软件算法经受实际信道的检验,也可以使硬件实现的结果实时地经过软件处理,从而快速地定位硬件实现中的问题。
下面首先介绍OFDM基带系统模型;然后详细介绍OFDM基带系统验证平台设计;最后以实例说明该验证平台在实际算法仿真和硬件验证中的工作过程,并给出相应的结果。
OFDM基带系统的模块众多,使其算法实现复杂度高,硬件验证难度大。因此需要设计一个统一平台,一方面可以进行软件算法研究及性能分析;另一方面可以对硬件描述语言实现的算法进行验证。
2 基带验证系统的设计
图2为基带验证系统架构图。整个OFDM基带验证系统包括硬件部分与软件部分,其中硬件部分包括射频前端模块和硬件基带处理模块;软件包括软件基带单元和UDP数据传输程序。
2.1 射频前端模块
射频前端模块主要是实现基带信号和射频信号之间的调制解调,主要包括:(1)本振LO和锁相环PLL,用于产生稳定的载波信号;(2)射频调制器和射频解调器,用于实现基带信号与射频信号间的调制与解调;(3)功率放大器PA,用于将射频信号功率放大并经天线发送出去;(4)低噪声放大器LNA,用于放大天线接收到的微弱射频信号;(5)可变增益放大器VGA,用于将解调后的基带信号放大为幅值合适的信号传给AD。射频前端模块可根据载波频率、发射功率及接收端的放大倍数等选择合适的解决方案。射频板上留有SPI和I2C接口,用来实现对射频前端各部分的配置。
2.2 基带处理模块
基带处理模块是整个验证平台的核心部分,如图3所示。该模块一端通过以太网实现与上位机的全双工通信,另一端通过AD/DA连接射频前端模块。在FPGA内部,主要集成了微控制器MCU、以太网控制器MAC、直接内存访问控制模块DMA、发送和接收FIFO及OFDM基带系统中的硬件基带单元。
微控制器MCU是兼容51指令集的8 bit微处理器,用于控制系统的运行。例如配置DMA实现数据在MAC和发送接收FIFO之间的传输;通过SPI/I2C总线配置射频前端模块;在下位机实现基于UDP协议的数据传输等。
以太网控制器MAC主要协助MCU完成以太网数据的收发工作。图3特别标示出MAC模块实现了对广播包的过滤功能。由于FPGA上的MCU工作频率为16 MHz,百兆以太网的数据传输速率高达12.5 MB/s,为了避免大量的广播数据占用过多的MCU资源,广播包可以由MCU设置禁止接收,从而在MAC层得到过滤,使系统的整体工作效率得到提高。
DMA用于完成收发FIFO与MAC之间的数据传输。由于MCU的处理速度受限,因此在数据包的收发过程中,MCU只处理数据包的报头部分,而将大数据量的数据传输交给DMA处理。往PC传输数据时,在MCU准备好报头数据之后,DMA获得MAC的访问权限并将接收FIFO中的数据传送到MAC;从PC接收数据时,DMA在MCU处理了报头数据后,将数据由MAC传送到发送FIFO中。
两个FIFO模块作为以太网接口和硬件基带单元之间的数据缓冲,有3个特点:(1)采用异步设计,因为MAC的时钟频率为25 MHz,而基带模块的时钟频率不一定相同,例如AD的采样频率可以为10 MHz或20 MHz。(2)连接硬件基带单元的接口的位宽必须可配置。连接MAC的数据位宽为8 bit,而硬件基带单元的数据接口位宽则随着测试模块的不同而有所不同,例如测试数字解调模块时,QPSK解调之后的位宽为2 bit,而16QAM解调之后的位宽为4 bit,因此相应的FIFO的位宽必须可配置。(3)FIFO的存储器可配置为FPGA内部RAM或外部SDRAM。当数据量不大而实时性要求高时可选用内部RAM;当数据量大而实时性要求不高时可选用外部SDRAM。
硬件基带单元是系统验证对象的实体,是待验证算法的硬件实现。硬件基带单元和运行于上位机的软件基带单元组成了图1所示的完整基带系统。
2.3 软件基带单元
软件基带单元是用C、C++等高级语言实现的运行于上位机的基带模块。软件仿真作为硬件IP核设计的首要步骤,可以验证算法的正确性和有效性。算法确定之后,再用硬件描述语言将其移植到硬件基带单元,验证其实现的效果。由于整个硬件平台的操作是基于实际的射频模块和实际的无线信道,因此基带芯片在实际环境中遇到的干扰在软件算法验证开始时就得到了真实反映,包括信道衰落、载波偏移、采样频率偏移等,使得基带芯片的设计工作从软件到硬件更具有一致性。
2.4 UDP数据传输
因为用户数据报UDP数据传输机制简单,传输速度快[5],所以该验证平台采用UDP协议实现基带数据在软硬件基带单元之间的传输。在验证平台中,MCU实现了基于UDP协议的服务端,而上位机则作为客户端。基带数据UDP包在FPGA中的处理过程已在基带处理模块中作了详细介绍,这里不再赘述。
3 实例应用说明
由于基带系统设计的难点主要在接收机设计中,因此本节以接收端同步模块为例,说明OFDM基带验证平台在系统设计中的工作。
硬件验证系统的基带处理模块采用的FPGA是Altera公司Cyclone II系列的EP2C70。AD/DA的采样率为20 MHz,精度为12 bit。射频前端模块采用单芯片解决方案,工作频率在2.4 GHz频段。如图4所示,两套系统分别用于发送和接收。
发送端发送的数据帧格式参考802.11a的帧格式[6]。一帧数据以10个16点的短训练序列开始;接着是32点的保护间隔和2个64点的长训练序列;然后是80点的Signal段,采用BPSK调制;最后是若干个以80点为单位的数据块,测试时设置为22个数据块,采用16QAM调制。两帧之间的间隔为411个采样点。
首先进行同步算法的软件仿真。如图5(a)所示,硬件基带单元将AD采样的数据直接送到接收FIFO中,再传送到上位机进行软件同步测试。接收FIFO的深度设置为64 KB,根据系统配置,12 bit AD对IQ信号进行一次采样刚好是3 B,这样接收FIFO的一次满采样可以得到至少7帧完整的数据。采样数据到达上位机经过软件同步处理,图6给出了处理的结果。同步算法的基本思路:同步模块在接收能量超过设定阈值后,计算前后采样点的归一化自相关值,如图6所示。在短训练序列检测中,自相关值接近1的位置表示短训练序列的位置,即一帧的起始位置。帧定位成功后要进行符号定位,找到数据块的起始位置。同步模块计算长训练序列和采样点之间的互相关值,如图6中长训练序列检测的结果,在检测到短训练序列后连续320个样点内,最大的两个互相关值对应了两个长训练序列的结束点,从而确定了数据块的起始位置。
同步算法确定后再进行同步模块的硬件实现,并对硬件IP核进行验证,图5(b)是同步模块的硬件验证示意图。同步模块检测到帧起始后将一帧数据采样到接收FIFO中,再传送到上位机进行后续的软件傅里叶变换和信道均衡处理。图7给出了16QAM调制信道均衡前后的星座图。算法确定后再完成傅里叶变换和信道均衡的硬件实现和验证。同理,对于接收端的其他模块,也在确定算法后逐一完成硬件实现和验证。
本文给出了一种OFDM基带系统软硬件联合测试平台的设计方案。该方案将基带系统分为上位机的软件基带单元和FPGA的硬件基带单元,通过以太网基带系统的软硬件进行实时连接,为基带系统的测试验证提供了软硬件统一的平台。本文提出的验证平台基于实际的射频模块和无线信道,使基带系统的设计从软件仿真开始就直接面向实际工作环境,从而使得设计工作从软件到硬件更具有一致性。另外,该测试平台设计方法可移植性强,通过选取合适的射频模块,可以应用于其他各种无线基带系统的设计。
参考文献
[1] 王文博,郑侃.宽带无线通信OFDM技术(第2版)[M].北京:人民邮电出版社,2007.
[2] WILLEMS M,SCHIRRMEISTER F.Virtual prototypes for softwaredominated communication system designs[J].Communications Magazine,2010,48(6):37-43.
[3] 冯华星,何文涛,李晓江.基于FPGA原型的GPS基带验证系统设计与实现[J].电子技术应用,2010(7):56-61.
[4] IZUMI T,OKADA M,MASAKI T.An FPGA implementation of 200 MBPS CI/OFDM modem for satellite communication systems[C].Proceedings of the World Automation Congress (WAC),Kobe,2010:1-6.
[5] LOFGREN A,LODESTEN L,SJOHOLM S.An analysis of FPGA-based UDP/IP stack parallelism for embedded Ethernet connectivity[C].Proceedings of the 23rd NORCHIP Conference,2005:94-97.
[6] FORT A,EBERLE W.Synchronization and AGC proposal for IEEE 80211 a burst OFDM systems[C].Proceedings of the Global Telecommunications Conference,2003,3:1335-1338.