IEEE 802.11a数字基带处理器的并行流水结构设计
扫描二维码
随时随地手机看文章
作者Email: zhaopk00@mails.tsinghua.edu.cn
摘 要 本文针对IEEE 802.11a数字基带处理过程,提出了一种并行流水结构。发射过程和接收过程分别采用三级流水并行处理,以此为基础完成了整个数字基带处理器的设计和实现。所提出的并行流水结构显著提高了系统的数据吞吐能力,降低了资源占用量。硬件设计已经通过系统仿真,每级流水阶段的并行运算效率都达到了100%,单元运算的流水效率达到85%以上。
关键词 并行流水结构; IEEE 802.11a; 数字基带处理器.
1. 引言
无线局域网标准IEEE 802.11a [1]采用了OFDM调制方式,具有较好的抗窄带干扰和抗多径能力,最高数据传输速率达到54Mbits/s,是一种适合于构建无线家庭多媒体网络的传输技术。为取得处理速度和芯片规模之间较好的折衷,IEEE 802.11a基带处理器的设计应采用合适的系统结构和运行方式,从而有效降低硬件复杂度,增强系统通用性和可移植性,提高系统性能。
本文作者已建立了基于IEEE 802.11a物理层标准,采用DSP+FPGA结构的OFDM无线传输系统平台。在此基础上,完成了单片数字基带处理器的FPGA设计集成。基带处理器的设计采用了并行流水结构[2, 3]。这种结构可以有效提高系统数据吞吐能力,降低硬件资源占用量,非常适于采用帧结构处理的IEEE 802.11a物理层。本文首先扼要描述所设计的基带处理器的体系结构,在此基础上详细讨论整个芯片的并行流水结构,最后给出实现结果。
2. 基带处理器体系结构
IEEE 802.11a物理层标准采用OFDM调制方式,工作于5GHz频段,支持6~54Mbits/s的净数据速率。IEEE 802.11a数字基带处理过程包括扰码、卷积、交织、IFFT/FFT变换和星座点映射等。不同的交织和星座点映射方式对应不同的工作模式和数据速率。
我们设计的数字基带处理器的体系结构如图1所示。芯片分为发射单元和接收单元两部分。由于发射和接收是时分复用的,因此可以共用一个FFT/IFFT模块。 FFT/IFFT模块的运算过程采用了时分复用基4 CORDIC算法[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进行综合,QuartusII 4.1进行布局布线,Modelsim SE 5.7e进行功能仿真和时序仿真。
设计结果中,IFFT/FFT模块占用1637个Logic Cells,解卷积模块占用2877个Logic Cells。整个数字基带处理器(不包括时钟同步和信道估计模块)占用约6K个Logic Cells,占用存储单元约32Kbits,存储单元共使用了47个ESB。
图4表示系统的仿真结果。Bit_Bus1表示编码过程总线;Ifft_Busy表示IFFT运算过程;Data_I、Data_Q表示OFDM符号的采样数据;Fft_Busy表示FFT运算过程;Bit_Bus2表示解码过程总线。仿真结果显示,每级流水阶段的并行运算效率(Efficiency of the Parallel Operation Within Each Stage of the Pipeline) [2]达到100%,最高模式(54Mbits/s)下每级流水阶段A、B、C三种运算的流水效率(Efficiency of the Pipeline)[2] 分别达到90%,88%和100%。
并行流水结构设计给IFFT/FFT过程提供了较多的运算时间,从而可以使用运算时间长、资源占用少的CORDIC迭代算法;同时由于发射单元和接收单元流水结构相似,根据时分复用的原则,这两部分可以共用运算模块和控制信号;这些有效地减少了系统的资源占用量。
5. 总结
本文针对IEEE 802.11a数字基带处理过程中帧结构处理的特点,采用并行流水结构进行设计。系统发射单元和接收单元的算法均分为了三级,每一级仅包含一种互不相同的运算;这两部分的流水结构也均分为了三个阶段,对应于各自的三级算法。三个流水阶段并行运行,提高了系统的数据吞吐能力。
本文并行流水结构设计简洁而高效,每级流水阶段的并行运算效率都达到了100%,单元运算的流水效率达到85%以上。系统核心模块IFFT/FFT变换采用CORDIC算法实现,算法所引入的较长的运算时间又通过并行流水结构加以解决,降低了硬件资源占用量。
总结本文的并行流水结构,其具有数据吞吐量大,系统工作效率高和硬件资源占用量少的特点,整个数字基带处理器的结构得到了优化。
参考文献
1. IEEE Std 802.11a-1999, Part11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: High Speed Physical Layer in the 5GHz Band.
2. da Fontoura Costa, L.; Slaets, J.F.W.; On the Efficiency of Parallel Pipelined Architectures; IEEE TRANSACTIONS ON SIGNAL PROCESSING, Volume: 39 , Issue: 9 , Sept. 1991
3. 陈国良,陈 峻,VLSI计算理论与并行算法,中国科学技术大学出版社,1991
4. Sarmiento, R.; de Armas, V.; Lopez, J.F.; Montiel-Nelson, J.A.; Nunez, A.; A CORDIC processor
for FFT computation and its implementation using gallium arsenide technology; Very Large Scale Integration (VLSI) Systems, IEEE Transactions on , Volume: 6 , Issue: 1 , March 1998
5. 曾繁泰, 陈美金, VHDL程序设计, 清华大学出版社, 2001