ASN.1编解码模块在LTE协议栈中的研究与应用
更新时间:2023-07-18 04:07:01 阅读量: 实用文档 文档下载
移动通信LTE资料
lWidebandnetworkl贲带网络
文章编号:1002—8692(2011)01---0070--04
口日匹亘耍雯亟圜
ASN.1编解码模块在LTE协议栈中的
研究与应用
李小文。冉靖
(重庆邮电大学计算机科学与技术学院,重庆400065)
【摘
要】ASN.1能实现异构系统之间的信息交换,用它描述的信息独立于任何应用环境,开发LTE协议栈软件必须设计并实现针
对RRC消息的ASN.1编解码模块。通过分析ASN.1类型及其编码规则,结合L1E协议栈软件需求,提出了应用于LTE协议栈软件的ASN.1编解码模块的设计方法.该方法采用模块化设计。通过对编解码模块的测试。证明了它对LTE协议栈中RRC消息的编解
码功能。该方法具有实际应用价值和推广价值。【关键词】LTE协议栈;ASN.1;PER;RRC【中图分类号】TN929.5;TP393.04
【文献标识码】A
ResearchandApplicationofASN.1Encode,Decode
LI
(College
Xiaowen,RANJing
Module
inLTEProtocolStaek
ofComputerScienceandTechnology,cbn明i鸭UniversityofPostsandTelecommunications,c}lon翻ing400065,China)
interchangein
heterogeneoussystems
module
is
【Abstract】InformationadoptsASN.1.ASN.1
developingmeet
information
is
independentof
anyapplication
typesand
environment.DesigningASN.1
encode/decode
of
ASN.1
necessaryinmodulethis
to
LTEprotocol
stack.Analyzing
ASN.1
encodingmethod
rules.aadopts
designmethod
encode/decode
thefunetions
is
of
therequirementofLTEprotocol
of
stackisand
pro畔d.ne
in
RRC
modular
design.Testing
stackis
module,theeffect
and
owns
modules
to
encodedecode
informationofLTEprotocol
protocol
proved.It
practicallyusefulpromotionalvalue.
【Keywords】LTE
stack;ASN.1;PER;RRC
0
引言
在通信系统中.通信设备是f}{不同的厂商生产,其
1
LTE协议栈结构
在移动通信觅带化的趋努-F.3GPP为了对抗WiMAX
硬件结构、软件结构以及数据结构等均不相同。因此,在通信过程中,不同类型的设备对同一数据的理解会出现二义性。为了实现异构设备间的顺利通信。ISOflTU—T组织于20世纪80年代制定了ASN.1标准。ASN.1是一种描述结构化信息的标记语言.包括抽象语法和传送语法。抽象语法规定ASN.1如何对数据类型进行描述;传
送语法规定数据类型的值在传输时使用何种编码规
(WorldInteroperabilityforMicrowaveAccess)等无线接人
技术.在B3G技术储备的基础卜研发出了IXE。经过
3GPP组织的努力.LTE的系统框架大部分完成。LTE控制面协议栈如图l所示。
:UE
::eNB::MME:
;[亟二H÷———+越j叵]:
则。使用ASN.1定义的数据结构。可以令被描述的信息独市于任何应用环境。不会凶为应用环境不同而引起二
义性的解释。
{[叵]H+[固;l:[亟[]十斗[固::
由于ASN.1能清楚简洁地表示协议中要传递的各种信息.它广泛应用于各类协议标准.如3GPP(3rd
eration
l—ll—I:[匝]÷_忙卫i:
;[巫二H_书]妇:;
i
:
:
I
I
Gen.
:[亘[]叶—[卫::
闻1
l
:
PartnershipPmject)的TD—SCDMA(TimeDivision
ITF柠制而协议转结构图
Synchronous
CDMA)系统11l和LTE系统。I.TE系统采用
ASN.1来描述窄中接口的层3的RRC消息。笔者针对
LTE协议栈层3中RRC消息数据结构使用ASN.1描述121。RRC层主要完成无线资源的控制和管理等功能,在LTE协议栈中非常重要。因此,设计并实现一个正确
LTE协议栈.设计了应用于I胍协议栈软件的ASN.1编
解码模块,并对其进行了实现和测试。
基金项目:国家科技重大专项{2009ZX03002--009)
万方数据70∥.皇诨毽曦洲年第,,卷第。…总第,,。期,
移动通信LTE资料
的、功能完善的ASN.1编解码模块对开发LTE协议栈软件起着至关重要的作用。
2
ASN.1编解码模块的设计与实现
2.1
ASN.1数据类型及编码规则
在ASN.1中。一个数据类犁就是一个值的集合。一
个给定的ASN.1类刭的值是该类型集合眼的一个元素。ASN.1有两种数据类型:简单类型和结构类型。简单类型是ASN.1描述数据结构的基础:结构类型是由基本类型和其他结构类剖组合而形成的复杂类型。结构类型中有叮选成员,其中可能有默认值。还叮以使用ASN.1的分配符(::=)为类型和值指定名字。这蝗名字叮以片j于定义其他类型或值J3l。
与RRC消息有关的基本类型有BITSTRING。IN—
TEGER。NUI.L。OCTET
STRING,BOOl。EAN,ENUMER.
ATED。ASN.1标准定义了5个结构类型,其中与RRC消
息有关的只有3个。分别是CHOICE,SEQUENCE和SEQUENCEOF。CHOICE类型选择其所有成员中的一个作为其值,相当于C语言中的UNION;SEQUENCE类型是一个或多个类型的有序集合。相当于C语言中的
STRUCT:SEQUENCEOF类型是某个给定类型}f{现0次或多次的有序集合.相当于C语言中的数组。
ASN.1标准定义了5种编码规则:BER(BasicEncod
ing
Rules),CER(CanonicalEncodingRules),DER(1)iain-
guishedEncodingRules),PER(PackedEncodingRules),
XER(XMI。EncodingRules)。其中PER在编码时冗余最小、编码最紧凑、效率最高[41。PER的编码结构如图2所示.可以分为基本的(Basic)和规范的(Canonical)两类.
每一类又可以分为对齐模式(Aligned)和非对齐模式
(Unaligned)两种。
图2PER编码结构图
lJTE协议栈软件ASN.1编解码模块选JfJ基本的非对齐模式PER作为编码规则。PER编码的结构为“IPIIL】
【C】''<optionalPreamble.optionalI七ngth,optionalContents
>.PLC中每个域都不冉是8位组串而是比特串.且每个域都是Lnr选的。Preamble只I叶J现在结构类型中.片j来记录结构类型中是否有扩展、可选成员或缺省值;I上n甜h用来记录Contents的具体长度.其单位根据具体类制而
变化:对于Contents.若数据足摹本类捌.则直接编码,若万方数据
Wide
bandnetworkI
赛带网络I
数据足结构类型.则是嵌套进行编码,此时Contents中也包含PLCi个部分。由于I七n对h町以省略(甚至Contents也I叮以省略),所以编解码双方必须知道抽象描述才能
正确编解码。文献【5I说明了PER对各个类型的详细编
码规则。
2.2
ASN.1编解码模块设计思想
ASN.1在一种高度抽象的层次卜来表示数据结构信
息,各种应厢程序无法直接对其进行操作和使用.需要先对使用ASN.1描述的数据结构进行翻译转换.转换成相应的编程语言(如C,C++,JAVA等)的数据结构表示形式,
之后成用程序就町以对其进行操作.写人棚应的值。然后
通过丰H应的ASN.1编码函数生成二进制码流.将码流通过通信介质进行传递。解码时,通过解码函数将二进制码流还原为相应编程语言的数据结构.应用程序就叮以从中读取相应的值。整个过程如图3所示。
Ash.I描述的数掂结构/
r
T:或软件转换HCif}奇描述的数掘结构
传输1.叫二进制码流—叫
编解码程序
图3
ASN.1应用过程
根据I胍协议栈软件需求。使JfI效牢较高的C语言
作为实现语言。ASN.1编解码模块采J}I结构化设计,但子函数层应尽可能少.提供编码和解码两个接口函数.在出现异常情况时。要提供异常信息,并能对程序运行进行跟踪。便于调试。
设计I,TE协议栈软件ASN.1编解码模块结构如图4所示。在实现时,先完成内存管理模块、比特流处理模块和辅助模块,最后完成核心模块。
图4
ASN.1编解码模块结构
2.3ASN.1编解码模块实现2.3.1
内存管理模块
ASN.1编解码模块使J}j自定义的内存管理函数.主要
2011年第35卷第0I期(总箐I35I期)
1it/".烹甥耩穆71
J●ll
J,,.』f¨r …,“
■
■
移动通信LTE资料
I
Wide
bandnetwork
I赛带网络
原因为:
1)RRC消息转换后的C语言数据结构中存在大量的指针.而在解码过程中对RRC消息进行赋值就需要频繁的申请内存。若使用C语言提供的内存管理函数,系统开销大。易生成碎片,不便于管理。
2)在解码过程中,有些字段的长度无法准确得出,比如未受约束的BITSTRING以及OCTETSTRING,需
要进行特殊的处理。
3)对RRC消息的赋值不仅存在于解码过程中,LTE协议栈高层也需要对RRC消息进行赋值,并将赋值的RRC消息交由编解码模块进行编码。因此,将内存管理作为一个独立的模块。并供LTE协议栈高层调用,可以保证数据的一致性。
内存管理模块的设计基于“多次申请,一次释放”的原则.使用一个数组作为ASN.1编解码模块的专用内存区.并用一个偏移变量指向当前可用的内存,提供3个函数。分别是初始化函数、内存分配函数以及内存释放函数。解码过程及LTE协议栈高层对RRC消息赋值所需要的内存均在专用内存区中按顺序申请,待完成一次解码任务或编码任务后统一释放内存,开销仅为D(1)。
2.3.2
比特流处理模块
LTE协议栈软件ASN.1编解码模块使用非对齐模
式的PER.比特是编解码过程中进行处理的基本单位。在编解码过程中。需要经常对某个字节中的某些比特进行特定的操作,而C语言中缺乏这样能直接利用的库函
数。所以,需要实现专用的比特流处理模块供核心模块调用。来进行比特的获取、添加等操作,以满足编解码规则的需求。
2.3.3
辅助模块
程序跟踪和异常处理构成了辅助模块。对程序进行跟踪.将程序运行数据输出到运行日志中,原因在于编
解码函数中层层调用.代码庞大,在调试时,如出现错
误。很难发现错误点。而采用对程序进行跟踪的方法能保存程序运行数据到运行日志中,在调试时出现错误可
以参考日志,及时发现错误点并进行修改;异常处理则解决编解码过程中难以预料的一些问题,比如数据越界、返同值错误等。2.3.4核心模块
核心模块完成对RRC消息的编解码。它分两步进行:首先将36.33l协议中ASN.1描述的RRC消息数据
结构转换为C语言数据结构,再根据数据结构实现编解码。转换过程可以采用手工转换或软件转换。软件转换
万方数据
e曦洲年第,s卷第。 期。总第ss-期,
可以使用商业公司推出的ASN.1编译软件,例如OSS
Nokalva公司的ASN.1ToolsforC编译器。此类编译软件
通用性较强,但价格昂贵,且代码冗余量大。因此,采用手工将ASN.1描述的RRC消息数据结构转换为C语言数据结构的方法.转换后的C语言数据结构代码量在
350kbyte左右。
ASN.1描述的RRC消息数据结构的嵌套导致转换后的C语言数据结构是嵌套的.因此实现的编解码函数也是嵌套的。任意一个转换后的C数据结构定义都有一个对应的编解码函数.其任务是按顺序编解码该数据结构中的每个成员。若其中某个成员是另一个C数据结构,则调用此C数据结构的编解码函数,否则直接在函数中完成该成员的编解码。每调用一个编解码函数,都会将编码或解码结果存储,当所有函数返回时,编解码过程结束。
在根据数据结构实现编解码时,需要区分RRC消息
数据结构的种类。不同种类的RRC消息数据结构在实现编解码时所使用的方法不一样。RRC消息数据结构分为
两类:PDU(PacketDataUnit)和基本信息单元。PDU中包
含基本信息单元,例如BCCH—BCH—Message就是一个PDU:基本信息单元又有简单和复杂之分,简单的基本信息单元是指由ASN.1基本类型所构成的RRC消息,复杂
的基本信息单元是指由ASN.1结构类型所构成的RRC
消息。因此,将RRC消息数据结构的编解码分为j部分:PDU的编解码、简单基本信息单元的编解码以及复杂基本信息单元的编解码。其中PDU和复杂基本信息单元的编解码使用函数的方式实现:简单基本信息单元的编解
码使用宏的方式实现。以减少进出函数的开销。各RRC
消息数据结构的编解码函数及宏的编写严格按照X.691标准进行。在实现编解码规则时需要完成的操作调用其余子模块实现。3
测试实现
由于编解码过程中的操作单位是比特,任何比特出
错都会导致整个ASN.1编解码模块不能正常运行。因此,LTE协议栈软件ASN.1编解码模块完成后,必须对其进
行测试.以保证程序的正确性,防止ASN.1编解码模块的
错误导致整个LTE协议栈软件无法正常运行。
以PDU为单位进行测试,测试流程如图5所示.其
步骤为:
1)给一个PDU赋值.使用第三方的ASN.1工具生
成浚PI)U的PER二进制编码.存储在数据A中:
2)将数据A作为输入.使用本文所实现的ASN.1解
72∥t电dt"视t。,]毽,r
移动通信LTE资料
Wide
码模块对其解码,将解码结果保存在数据B中;
3)将数据B作为输入。使用本文所实现的ASN.1编码模块对其编码。得到数据B的PER二进制编码,存
储在数据C中。
4)比较数据A与C,若两者完全一致.则证明ASN.1编解码模块正确地对该PDU单元进行了编解码。
bandnetworkl
贲带网络l
块,其中,内存管理模块和比特流处理模块优化了传统ASN.1编解码的流程,提高了编解码效率。将ASN.1编解
码模块应用于LTE协议栈软件。是实现TD—LTE无线综
合测试仪的一个重要步骤。笔者所设计的ASN.1编解码
模块已正常运行于TD—LTE无线综合测试仪的协议栈软
件中,具有实片J性和推广性。参考文献:
【lJ李小文.李贵勇.陈贤亮.等.TD—SCDMA第j代移动通信系统、信
令及实卿EIMI,北京:人民邮电出版社.2003.12】3GPP"IS36.33
l
V9.0.0,EvolvedUniversalTerrestrialRadioAccess
(E-UTRA);RadioRemumeControl(RRC);protocol2009.
specification[S].
【3JITU—T.AbstractSyntaxNotationOne(ASN.1):specificationofbasic
notationlEB/OLI.12010-04-281.http://users.encs.concordia.ca/--dssouli/
ELEC6861F07-Folder/Chap-5-ASN1.pdf.
【4】李胡橡,蒋凡.杨敬峰,等.基于面向对象方法的ASN.I编解码的
设计与实现【J】.计算机T程.2002.28(12):101一103.
【5】ITU-T.ASN.1encodingrules:specificationofPackodEncodingRules
(PER)【EB/OL].12010-04-281.http://webstore.iec.ch/previewl
围5
测试流程图
info_isoiec8825-2%7Bed4.O%TDen.Ddf.
该测试方法简单、高效。通过对比数据A和数据C
的差异就能迅速判断程序正误。通过对程序测试,还能
作者简介:
◇
保证在和其他LTE终端通信时.能正确实现对其RRC
消息的编解码。
李小文(1955-1.研究员。硕士生导师.主研第三代移动通信系统;冉靖(1984-J.磺士生.主研新一代宽带无线移动通信网。责任编辑:孙卓
4
小结
笔者针对LTE协议栈设计出新的ASN.1编解码模
收穰日期:2010-05棚
(上接第65页)
5
小结
笔者主要介绍动态资源分配在LTE中的,电用。重点
【2】曾海清.赵楠.基于半持续调度的预分配资源佗置确定方法:中国。
H0487/26(2006.01)IH04M7,00(2006.01)lIP}.2009-04-29.【3l
3GPP.3GPP'IS36.32lV9.I.0.Evolveduniversalterrestrialradio
分析上行链路渊度过程的设计和实现.通过SDL仿真验
证了调度过程的可行性。首先说明调度器放在MAC层做的优点.然后介绍IJTE中的几种调度方式.最后着重分析
acc∞(E-UTRA)medium
cationlSl.2010.
【4】3GPP.3GPPTS36.523一l
acce88
control(MAC)protocolspecifi-
V8.4.0.Evolveduniversalterrestrial
动态调度中的上行调度过程。重点研究下行调度的过程、上下行涮度的算法以及MAC层其他模块的设计.为LTE无线综合测试仪的实现做好前期准备丁作。
参考文献:
11】STFFANIAS.ISSAMT.MA'ITHEWB.LTE-TheUMTSlong
term
radioacce88(E—UTRA)and
evolvedpacketcore(EPC);User
confor-
equipment(UE)conformancespecification;PartI:protocol
rnance
specificationlS].2009.
f51
3GPP.3GPP"IS36.211.Evolveduniversalterrestrial(E—UTRA);Physical
radio∽c哪
◇
channelsandmodulation[S].2009.
作者简介:
橱墨宇f1986-).硕士生。主研TD-LTE高屡协议栈;谷向阳【1985-1.硕士生.主研TD-LTE离屡协议栈。责任编辑:丁
■
evolution:fromtheory
to
practicelM].Hoboken。USA:John
WileyandSons.Ltd..2009.
收稿日期:∞lO*3l
r-J
万方数据
2011年蚺35卷第0l期(总笫35I期)
∥烹甥耩噍73
r ’,¨“l,I ‘…I.,
移动通信LTE资料
ASN.1编解码模块在LTE协议栈中的研究与应用
作者:作者单位:刊名:英文刊名:年,卷(期):
李小文, 冉靖, LI Xiaowen, RAN Jing
重庆邮电大学,计算机科学与技术学院,重庆,400065电视技术
VIDEO ENGINEERING2011,35(1)
参考文献(10条)
1.ITU-T ASN.1 encoding rules:specification of Packed Encoding Rules (PER) 20102.李小文.李贵勇.陈贤亮 TD-SCDMA第三代移动通信系统、信令及实现 2003
3.李贺禄;蒋凡;杨敬峰 基于面向对象方法的ASN.1编解码的设计与实现[期刊论文]-计算机工程 2002(12)4.3GPP TS 36.331 V9.0.0,Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control(RRC); protocol specification 2009
5.ITU-T Abstract Syntax Notation One (ASN.1):specification of basic notation 20106.ITU-T Abstract Syntax Notation One (ASN.1):specification of basic notation 2010
7.3GPP TS 36.331 V9.0.0,Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control(RRC); protocol specification 2009
8.李贺禄.蒋凡.杨敬峰.高翔 基于面向对象方法的ASN.1编解码的设计与实现 2002(12)9.李小文;李贵勇;陈贤亮 TD-SCDMA第三代移动通信系统、信令及实现 2003
10.ITU-T ASN.1 encoding rules:specification of Packed Encoding Rules (PER) 2010
本文读者也读过(10条)
1. 李小文.冉靖.LI Xiao-wen.RAN Jing LTE协议栈中ASN.1模块的设计与实现[期刊论文]-计算机工程2011,37(8)2. 文小强.李校林 ASN.1及其UPER编码在LTE中的应用研究[期刊论文]-数字通信2010,37(5)
3. 张勇.卞伶俐.ZHANG Yong.BIAN Lingli LTE系统无线资源控制连接重建过程研究与设计[期刊论文]-电视技术2011,35(1)
4. 李校林.文小强.LI Xiao-lin.WEN Xiao-qiang LTE-Uu接口协议栈中ASN.1模块的设计与应用[期刊论文]-电视技术2010,34(10)
5. 姬自英.李小文.jI Zi-ying.LI Xiao-Wen LTE网络中ESM协议分析与设计[期刊论文]-电视技术2010,34(12)6. 高益.黄俊伟 ASN.1自动编解码运行库软件的研究与设计[期刊论文]-广东通信技术2008,28(12)7. 陈兰兰.郭晓金.黄宇 NGN测试系统MAP监测模块的研究与实现[期刊论文]-江西通信科技2009(1)8. 刘宇红.白伟.庞伟正 ASN.1的应用开发[期刊论文]-应用科技2003,30(11)
9. 杨抗.尚楠.何方白.YANG Kang.SHANG Nan.HE Fang-bai 基于ASN.1的NGN测试系统INAP模块的研究与实现[期刊论文]-通信技术2007,40(11)
10. 余爱清.余胜生.周敬利.Yu Aiqing.Yu Shengsheng.Zhou Jingli 抽象形式语法(ASN.1 ITUT-T X.680)的对象封装及协议数据单元的PER (Packed Encoding Rules ITU-T X.691)编码实现[期刊论文]-计算机工程与应用2000,36(9)
本文链接:/Periodical_dsjs201101021.aspx
正在阅读:
毫针刺法操作规程12-14
3种绝对与雅思高分绝缘的情况09-23
word如何删除文本框02-09
传统文化专题讲座主持词03-25
win7 上装mac - 图文11-29
上海市闵行区2013届高三数学一模试卷(文理卷 - 含答案)05-20
聆听枝头蝉鸣声让我陶醉作文600字06-20
浪费粮食的作文04-01
家庭装修管理要点06-03
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 解码
- 模块
- 协议
- 应用
- 研究
- ASN
- LTE
- 从“老鼠爱大米”说起
- 云南省临沧市八年级下学期数学期末考试试卷
- 鲁教版小学四年级上册语文第二单元测试题
- 南康市职业中专2013年学校工会工作计划
- 新视野大学英语第三版读写教程第四册课文翻译
- 责任护士心得体会
- 八年级上册语文文言古诗专题复习
- 旅游资源学说课稿3
- 雅可比迭代法和高斯超松弛迭代
- 苏教版一年级语文下册第四单元教案
- 海上钢琴师经典台词
- 2010宁夏回族自治区高考试卷含解析理论考试试题及答案
- 上海市七年级下学期数学期中考试试卷
- “学雷锋,树新风”主题班会教案
- 助学、筑梦、铸人范文
- 中国家用轿车市场现状及其发展趋势
- 最新签订的楼房买卖合同书
- 监利县2011=2012学年度小学品德与社会六年级(上册)《作业练习本》答案
- 事业单位考试客观题(7)
- 商业地产项目招商策划专题培训