微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LTE协议栈软件分析测试方法

LTE协议栈软件分析测试方法

时间:01-05 来源:维库 点击:

0引言

LTE(Long Term Evolution)是UMTS技术标准的长期演进,3GPP组织在2004年12月正式立项启动。为达到系统高速率、低时延等要求,对空中接口和系统架构进行了重新设计,来更好地应付如今呈爆炸式增长的数据流量需求。因此空中接口协议栈软件的开发显得极其重要,其软件性能更是直接关系到了网络的服务质量和用户体验。随着LTE网络的商用临近,更多的厂商将加入LTE协议栈软件的研发。

本文介绍了一种应用在LTE协议栈系统软件开发过程的测试和调试的模型,并给出了测试模型的应用结果。该模型以LTE接入网标准架构为原型,分层调试为思想,多彩模块化打印为手段,具有环境简易、调试方便的特点,对协议栈软件调试和分析具有良好的辅助作用。

1 LTE协议栈架构

LTE系统由核心网络(EPC)、无线网络(E-UTRAN)和用户设备(UE)构成。基站(eNodeB)之间通过X2接口相连组成接入网,其空口协议栈分为控制面和用户面,图1是控制面的架构,用户面与控制面架构类似。

NAS层、RRC层统称为L3层,主要负责信令和无线资源控制。PDCP层[4]、RLC层[5]、MAC层统称为L2层,主要负责数据链路,PHY层则是向高层提供数据传输服务。



图1 LTE空中接口控制架构图

2测试过程分析

2.1测试环境

测试环境模拟LTE系统架构来搭建,分别为移动管理实体(MME)/服务网关(SGW)、eNodeB和UE,整体的测试框架如图2所示,主要分为L2/L3高层协议测试和L1/L2/L3层协议测试两部分。本文测试中使用了中国科学院计算技术研究所无线通信技术中心自主研发的LTE终端协议栈软件、LTE Femtocell协议栈软件和LTE网关软件。为便于分析问题,采用了单用户模式举例,多用户情况以此类推。



图2 协议测试环境

2.2分层测试

LTE协议栈软件功能众多,按照分层化思路进行调试分析是一个不错的开始。先分别进行单层测试,确保各层功能的正确与稳定性,然后再逐层递加进行测试。

L2层数据链路通过后,再开始信令面和用户面的测试。在定位棘手的问题时,一层一层追踪数据流向,可以达到事半功倍的效果。举例来说,在测试下行用户面时,首先确认基站PDCP层是否收到数据包,确认后查看数据有没有通过PDCP层转发下去;如果PDCP层没有问题,数据是否到达RLC层;如果到达RLC层,MAC层是否进行调度发送。

2.3网络封包捕获解析

网络封包捕获解析程序可从以太网卡中捕获数据流并进行解析显示。这里推荐使用wireshark,它是一款常用的优秀开源网络封包分析软件,提供了自定义协议解析插件的编程接口,可以让使用者开发适用于自定义协议的插件。目前wireshark中已经提供了RRC层、PDCP层、RLC层、MAC层的解析插件,只需要在协议数据包前加上特殊的解析包头即可调用解析,看到各个消息的名称和字段的值。在抓包以后,可以将抓包另存为pcap文件,方便下次查看。尤其在L1/L2层集成测试时,MAC/PHY API接口是处理MAC层消息,控制并调度PHY物理层链路处理的重要接口,MAC/PHY API的高效性和完备性直接影响到物理层处理的效率和正确性。

因此需要编写能够解析MAC/PHY API的wireshark网络封包软件的插件程序,使得wireshark能够显示两层接口之间交互的信息,如图3所示。



图3 MAC/PHY API解析

2.4 udp socket发送机制

在测试L2/L3层时,可先用以太网模拟PHY层,网关程序、基站协议栈程序、终端协议栈程序、网络封包捕获解析程序分别各自运行在一台计算机中,通过udpsocket编程来发送MAC层协议数据包,同时将RRC、PD-CP、RLC、MAC层的协议数据包通过udp socket编程抄送至网络封包捕获程序,网络封包捕获程序则监视设定的udp端口来抓取数据。

2.5调试信息显示

2.5.1打印位置

调试信息的打印是测试的关键。LTE系统中传输时间间隔(TTI)被定义为1 ms,也就是说1 ms内需要将调度或者收发数据完全处理,每个子帧都有可能需要打印调试信息,将带给硬件不小的压力。在单独测试L2/L3层协议时,可以在计算机上运行程序,目前大部分计算机的性能可以满足需求,因此调试信息可以直接在窗口中打印。当加入L1层进行集成测试时,嵌入式开发板资源相对比较短缺,大量的I/O操作会严重占用CPU使用率,而CPU与以太网卡的交互速率更快。这里使用的PHY层开发板为飞思卡尔公司生产的BSC9131,专门用于开发家庭基站,CPU为单核1 GHz,打印信息较多时经常会导致开发板挂掉,解决的方法是应用udpsocket发送机制将调试信息通过以太网发送到计算机,计算机中则编写简单的wireshark解析插件后进行捕获解析。此方法经过实际项目检验有效可行,没有再出现挂掉的情况。

2.5.2模块化多色打印

直接在计算机上显示时,采用在程序中开发相应的专用打印模块的方法,不同的优先级打印信息显示不同的颜色,并且能够显示程序运行的状态、出错的位置。

在与L1层集成测试时,同样可以选择多彩化打印。

wireshark支持不同的协议或者端口显示不同的颜色,只需要简单的设置即可,这给我们调试提供了便利。应用这种方式,在调试信息繁多时可以极大的提高调试效率。图4为wireshark主窗口多色显示的结果,从图4中可见,视觉效果十分明显。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top