APP下载

HSUPA FP解封模块加速设计

2014-10-21卞金来魏俊淦田建学林成浴

电子世界 2014年23期
关键词:设计

卞金来 魏俊淦 田建学 林成浴

【摘要】本文研究用FPGA来加速实现HSUPA FP协议。通过对FP协议的研究,合理设计使FP模块的处理速度得到提升和优化处理时延。本文提出的主要优化技术路线对于LTE/LTE-A eNB的协议FPGA加速有借鉴和参考价值。

【關键词】HSUPA FP协议;FP模块;设计

1.引言

移动互联网时代来临,至2012年12月底,我国手机网民规模为4.2亿,年增长率为18.1%[1]。同时无线业务量的巨增给RNC用户面单板的性能带来的很大的挑战,而且一个RNC要同时服务大量的用户,这样RNC也面临需要进行协议的硬件加速问题。考虑到FP协议开销较大且协议较稳定,可以用FPGA来加速模块来,以便大幅度提升用户面处理的性能。本文研究用FPGA来加速实现HSUPA FP协议,需要实现支持6000个用户,每个用户上行400kbps的速率,共2.4Gbps的速率FP模块的功能是对FP帧解析,提取FP帧负载,将FP帧中的PDU提取出来通过FIFO传递给MAC-es模块。

2.FP协议帧的作用

网络层和绝大多数链路层协议是在RNC上实现的,而物理层则是在Node B上实现的[2]。因为RNC和Node B在物理实体上是分离的,它们之间的数据传输通过Iub接口来实现,Iub接口的传输数据时采用FP帧协议。不同传输信道使用不同的帧协议通过Iub接口传输数据[3]。

3.设计难点

FP帧头长度不是固定的。FP帧包含的子帧数,每个子帧包含PDU个数,每个PDU长度都是变长。由于帧头变长,而帧头描述信息连续,需要不断定位每个子帧描述信息的起始和结尾位置,而子帧头长度可变,可能一个字里面含有多个子帧头,也可能一个子帧头跨越多个字,对于不同情况需要做区分处理。子帧头包含MAC-es PDU的描述信息,若在读取帧头时处理就需要停拍计算PDU长度等描述信息,而且还需要存储这些信息供后续处理PDU数据使用,会造成时钟拍数的浪费。由于FP帧的头部不是定长,帧头长度与子帧数目及每个子帧包含PDU个数有关。若想实现流水线处理,同时计算和分析,需要缓存帧数据。

4.设计思路

一是采用顺序处理,每个info信息对应一个FP帧,当前FP处理完后再读取下一个info处理下一个FP帧 。二是采用流水设计,将入口fifo数据缓存一拍,在处理当前子帧头数据时,计算出下一子帧开始位置和长度,下一拍就可以立即处理入口数据而不需要停顿。在处理当前子帧头,存储相关信息时,计算出下一子帧头位置,当一个word里面只有一个子帧头时,可以连续处理fifo输入数据。三是利用数据缓存,对于子帧头的信息,在处理帧头时并不计算相关描述信息,而是把帧头存储在一个内部fifo中,当处理到FP帧数据时,再读出对应的帧头信息,依次处理对应描述信息对应的PDU数据,这样在处理帧头时不需要停拍处理,从而实现连续处理入口fifo数据,进行流水操作。

5.FP帧接收处理模块实现说明

从上级接口模块取FP帧数据和FP帧长度。读取定长子帧头,解析出用户平面和逻辑信道ID。分析处理子帧头,记录当前处理子帧头位置和偏移,同时根据缓存数据计算出下一子帧头位置和偏移。将包含子帧头信息的word存入内部info fifo中。直至分析计算完全部子帧头。此时刚好可以得到PDU数据开始位置,即为第一个数据PDU拼接点。在解析PDU之前,先要从DDI表项中读出DDI和N(每个PDU中含有的sdu个数),通过DDI从ddi表中读出每个sdu长度,计算出PDU长度。根据PDU长度和PDU拼接点输出PDU数据信息给PDU data fifo,每个PDU解析之前输出PDU的info信息给PDU info fifo。维持PDU计数和子帧计数。PDU计数达到子帧中 PDU个数时即表示当前子帧处理完,当子帧计数达到FP子帧数目时,即标志当前FP帧处理完毕。

6.FP解封模块性能分析与测试

FP帧长度按照500字节进行分析处理,2.4Gbps条件下,每秒有600000个FP帧。导致FP帧产生时延是原因主要是分析FP帧头时延,读QDR时延和读写内部FIFO时延。对于一个500字节的FP帧,包含5个100字节左右的PDU。分析FP帧固定头部需要5拍,分析子帧头需要5拍,读取内部FIFO需要2×5=10拍,每个PDU分析完后需要停一拍,共需要5拍。故对于每个FP帧,总的群时延为5+5+10+5=25拍。为25/200*10e-6=125ns。

为了验证FP解封模块的功能,根据协议,每一FP帧中最多10子帧,每个子帧最多15个MAC-es PDU。测试采用ModelSim来作为测试工具,是通过编写测试程序,将测试用例数据传递给FP解封模块的数据输入FIFO中,然后查看FP解封模块的输出数据,检查是否与预想结果一致。通过测试FP解封模块能正确解封,证明了设计功能的可行性。对FP解封模块进行测试时,每微秒就向模块入口fifo灌入一个长度为504字节大小的FP帧,这个数据能在这段时间内被处理完,并且通过比较输入输出数据说明FP解封模块功能正常此时FP解封模块的吞吐量为:504×8bit/(1/1000000)s =4.023Gbps。设计要求的目标是2.4Gbps,因此FP解封模块设计吞吐量能能满足设计需求。

7.结束语

在FP解封模块的设计中,利用了并行流水线开发设计,使处理延时大大降低。FP解封模块的性能进行了分析,FP的时延为125ns,符合设计要求。通过构造典型的测试用例来对FP解封模块进行测试,并通过仿真测试说明的设计的功能和吞吐量满足设计目标。以上的分析说明了对FP解封模块的设计正确可行,满足设计要求。4G和5G网络中,协议FPGA加速是必不可少的,尤其是1Gbps以上的eNB协议加速,本文提出的主要优化技术路线对于LTE/LTE-A eNB的协议FPGA加速有借鉴和参考价值。

参考文献

[1]中国互联网信息中心.中国移动互联网发展状况调查报告,2012 .

[2]刘琦. WCDMA HSUPA中关键技术的研究和实现[D].西安电子科技大学,2008.

[3]彭林.第三代移动通信技术:电子工业出版社,2003.

猜你喜欢

设计
BUBA台灯设计
和小编一起设计邮票
The Spirit of Christmas教学设计
有种设计叫而专
陈国兴设计作品
匠心独运的场地设计画上完美句点
增温设计
大象无形 芬兰设计
跨越式跳高递进与分层设计
连连看