HSUPAFP解封模块加速设计
卞金来 魏俊淦 田建学 林成浴
【摘要】本文研究用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.
HSUPAFP解封模块加速设计
本文2022-11-02 16:39:37发表“毕业论文”栏目。
本文链接:https://www.wenmi123.com/article/389126.html
- 2025 年《建设工程项目管理》模考卷一.pdf
- 座谈会发言:体系抓好思政课教育做好贯彻落实下篇文章(02-19).docx
- 组织部机关支部书记2024年度抓基层党建工作述职报告(02-19).docx
- 在县委理论中心组暨2024年度民主生活会学习研讨会上的发言(02-19).docx
- 在2025年市人代会分组讨论会上的发言(02-19).docx
- 医院党委选人用人工作自查报告(02-19).docx
- 宣传部2024年民主生活会个人对照检查发言(02-19).docx
- 行政服务中心民族团结进步创建工作经验材料(02-19).docx
- 校长在中学2025春季开学典礼上的讲话:撷一抹祈望春风掬一程锦绣花开(02-19).docx
- 乡镇领导班子2024年民主生活会对照检查发言材料(五个带头+典型案例)(02-19).docx