ASN.1编解码模块在LTE协议栈中的研究与应用(2)

发布时间:2021-06-06

移动通信LTE资料

的、功能完善的ASN.1编解码模块对开发LTE协议栈软件起着至关重要的作用。

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描述的数掂结构/

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 …,“

ASN.1编解码模块在LTE协议栈中的研究与应用(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219