新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > IEEE 802.11a数字基带处理器的并行流水结构设计

IEEE 802.11a数字基带处理器的并行流水结构设计

作者:时间:2006-02-24来源:网络收藏

作者Email: zhaopk00@mails.tsinghua.edu.cn

摘要本文针对处理过程,提出了一种结构。发射过程和接收过程分别采用三级处理,以此为基础完成了整个的设计和实现。所提出的结构显著提高了系统的数据吞吐能力,降低了资源占用量。硬件设计已经通过系统仿真,每级流水阶段的并行运算效率都达到了100%,单元运算的流水效率达到85%以上。

关键词并行流水结构;.

1.引言

无线局域网标准[1]采用了OFDM调制方式,具有较好的抗窄带干扰和抗多径能力,最高数据传输速率达到54Mbits/s,是一种适合于构建无线家庭多媒体网络的传输技术。为取得处理速度和芯片规模之间较好的折衷,IEEE802.11a基带的设计应采用合适的系统结构和运行方式,从而有效降低硬件复杂度,增强系统通用性和可移植性,提高系统性能。

本文作者已建立了基于IEEE802.11a物理层标准,采用DSP+FPGA结构的OFDM无线传输系统平台。在此基础上,完成了单片数字基带处理器的FPGA设计集成。基带处理器的设计采用了并行流水结构[2,3]。这种结构可以有效提高系统数据吞吐能力,降低硬件资源占用量,非常适于采用帧结构处理的IEEE802.11a物理层。本文首先扼要描述所设计的基带处理器的体系结构,在此基础上详细讨论整个芯片的并行流水结构,最后给出实现结果。

2.基带处理器体系结构

IEEE802.11a物理层标准采用OFDM调制方式,工作于5GHz频段,支持6~54Mbits/s的净数据速率。IEEE802.11a数字基带处理过程包括扰码、卷积、交织、IFFT/FFT变换和星座点映射等。不同的交织和星座点映射方式对应不同的工作模式和数据速率。

我们设计的数字基带处理器的体系结构如图1所示。芯片分为发射单元和接收单元两部分。由于发射和接收是时分复用的,因此可以共用一个FFT/IFFT模块。FFT/IFFT模块的运算过程采用了时分复用基4CORDIC算法[4]实现,模块中只有一个采用CORDIC算法的基4蝶形运算单元,按照时间先后顺序依次完成每个蝶形运算过程。这种方式虽然引入了运算延时,但是大大降低了资源占用;而其引入的运算延时通过本文所提出的并行流水结构得到解决,从而优化了芯片设计。

从图1可以看到,在发射单元,扰码模块、卷积模块和交织映射模块共同组成了编码过程,IFFT变换模块组成了变换过程,加保护间隔、成形滤波器和数字上变频组成了输出过程;在接收单元,下变频模块、匹配滤波模块和去除保护间隔构成了输入过程,FFT变换模块构成了变换过程,而解映射、解交织、维特比译码和解扰模块共同构成了解码过程。这些过程运算耗时相差不大,有利于进行并行流水。为了提高数据吞吐量,卷积、交织、解交织和解卷积都以2bits并行方式进行工作。
芯片内共有两个全局时钟,频率为60MHz和40MHz。PHY-RF接口、输出过程和输入过程工作在40MHz,PHY-MAC接口、编码过程、解码过程和变换过程工作在60MHz。

3.并行流水

采用并行流水,需要将算法分割为若干级(level),而流水结构的每个阶段(stage)则对应于算法的每一级(level)[2]。针对本系统设计的要求,我们将发射单元和接收单元分别进行算法分级,依此设计相应的并行流水结构。
3.1发射单元流水结构
发射单元须保证输出过程的连续性。以每个OFDM符号以20MHz的速率输出80个采样点为例,在60MHz系统主时钟下,输出过程需要240个周期。如果以输出过程为一级算法,那么每一级都不能超过240个时钟周期。
发射单元的算法分级如下:首先,输出过程(表示为运算C)单独设置为一级(level)。变换过程,IFFT/FFT模块(表示为运算B)采用时分复用方式调用蝶形运算单元,完成一次变换需要211个周期,可以设置为一级(level)。编码过程(表示为运算A)的卷积和交织都以2bits并行工作,对于一个OFDM符号,扰码引入1个周期的延时,卷积引入1个周期的延时,交织最多需要216个时钟周期(在54Mbits/s模式下),因此整个编码过程最多需要218个时钟周期,设置为一级(level)。

发射单元流水结构分为三个阶段(stage),对应于发射算法的三级(level)。图2表示了发射单元流水结构的情况。流水结构各个阶段之间通过RAM存储单元进行数据交换。流水结构的三个阶段采用并行工作的方式,可以提高数据吞吐量。

3.2接收单元流水设计

接收单元要保证完整的接收数据。与发射单元不同的是,在接收单元,维特比解码器以2bits并行的方式工作在60MHz时钟频率,因此完全可以实时读入解交织的结果,对前面的过程没有影响,算法分级中可以不考虑解码及其以后的单元。
接收单元的算法分级包括:输入过程(表示为运算C)单独设置为一级(level)。FFT模块(表示为运算B)完成一次变换过程需要211个时钟周期,设置为一级(level)。每个OFDM符号解交织并且解打孔(表示为运算A)最多需要216个周期(在54Mbits/s模式下),设置为一级(level)。

接收单元流水结构也分为三个阶段(stage),对应于接收算法的三级(level)。图3表示了接收单元流水结构。与发射单元相似,接收单元流水各个阶段之间也采用RAM作为数据交换的接口,三个阶段采用并行工作方式。

4.设计的实现

本文设计采用VHDL语言[5]实现,选用Altera公司EPXA10F1020C1型号的FPGA。设计过程使用Synplify7.3.1进行综合,QuartusII4.1进行布局布线,ModelsimSE5.7e进行功能仿真和时序仿真。

设计结果中,IFFT/FFT模块占用1637个LogicCells,解卷积模块占用2877个LogicCells。整个数字基带处理器(不包括时钟同步和信道估计模块)占用约6K个LogicCells,占用存储单元约32Kbits,存储单元共使用了47个ESB。

图4表示系统的仿真结果。Bit_Bus1表示编码过程总线;Ifft_Busy表示IFFT运算过程;Data_I、Data_Q表示OFDM符号的采样数据;Fft_Busy表示FFT运算过程;Bit_Bus2表示解码过程总线。仿真结果显示,每级流水阶段的并行运算效率(EfficiencyoftheParallelOperationWithinEachStageofthePipeline)[2]达到100%,最高模式(54Mbits/s)下每级流水阶段A、B、C三种运算的流水效率(EfficiencyofthePipeline)[2]分别达到90%,88%和100%。

并行流水结构设计给IFFT/FFT过程提供了较多的运算时间,从而可以使用运算时间长、资源占用少的CORDIC迭代算法;同时由于发射单元和接收单元流水结构相似,根据时分复用的原则,这两部分可以共用运算模块和控制信号;这些有效地减少了系统的资源占用量。

5.总结

本文针对IEEE802.11a数字基带处理过程中帧结构处理的特点,采用并行流水结构进行设计。系统发射单元和接收单元的算法均分为了三级,每一级仅包含一种互不相同的运算;这两部分的流水结构也均分为了三个阶段,对应于各自的三级算法。三个流水阶段并行运行,提高了系统的数据吞吐能力。

本文并行流水结构设计简洁而高效,每级流水阶段的并行运算效率都达到了100%,单元运算的流水效率达到85%以上。系统核心模块IFFT/FFT变换采用CORDIC算法实现,算法所引入的较长的运算时间又通过并行流水结构加以解决,降低了硬件资源占用量。

总结本文的并行流水结构,其具有数据吞吐量大,系统工作效率高和硬件资源占用量少的特点,整个数字基带处理器的结构得到了优化。


参考文献
1.IEEEStd802.11a-1999,Part11:WirelessLANMediumAccessControl(MAC)andPhysicalLayer(PHY)specifications:HighSpeedPhysicalLayerinthe5GHzBand.
2.daFontouraCosta,L.;Slaets,J.F.W.;OntheEfficiencyofParallelPipelinedArchitectures;IEEETRANSACTIONSONSIGNALPROCESSING,Volume:39,Issue:9,Sept.1991
3.陈国良,陈峻,VLSI计算理论与并行算法,中国科学技术大学出版社,1991
4.Sarmiento,R.;deArmas,V.;Lopez,J.F.;Montiel-Nelson,J.A.;Nunez,A.;ACORDICprocessor
forFFTcomputationanditsimplementationusinggalliumarsenidetechnology;VeryLargeScaleIntegration(VLSI)Systems,IEEETransactionson,Volume:6,Issue:1,March1998
5.曾繁泰,陈美金,VHDL程序设计,清华大学出版社,2001



评论


相关推荐

技术专区

关闭