HSUPA FP解封模块加速设计.docVIP

  • 0
  • 0
  • 约2.55千字
  • 约 4页
  • 2017-06-11 发布于北京
  • 举报
HSUPA FP解封模块加速设计.doc

HSUPA FP解封模块加速设计 【摘要】本文研究用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解封模块能

文档评论(0)

1亿VIP精品文档

相关文档