1334-6编码规范

更新时间:2024-06-27 10:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

利用分配线路载波系统分配式自动化

part6:

A-XDR编码规则

1) IEC(国际电工委员)是一个全球性的标准化组织,包含了所有的国家电工委员会.由国家电工协会组成.IEC的目的就是促进在电气及电子领域有关标准问题的国际合作.因为这个目的以及其他一些原因,IEC发行了国际标准,他们的准备工作委托信技术协会,任何对课题感兴趣的IEC各国家协会都可参与些准备工作,与IEC有联系的国际的政府或派政府的组织也可参与IEC根据与ISO(国际标准化组织)达成的协议与ISO紧密合作 2) 每个技术协会都有各来自有关国际协会的主持、意见。IEC对于技术方面的正式决定或协议要尽可能地在相关课题上表达国际一致。 3) 当出的工作形式有供国际使用的推荐样式,以标准、技术参数、技术报告或指南的形式发行,并确定出国际协会接受。 4) 为促进国际统一,国家IEC协会在国家或地区标准要尽最大可能使国际标准适应化,IEC标准与协会的国家或地区标准有任何不同都必须在后者中注明。 5) IEC不提供标准程序,不对任何声称与他的标准相一致的设备负责。 6) 国际标准的某些无查可能收到专利的课题引起关注,IEC不对任何与专利相同的问题负责。

国际标准IEC 61334-6,IEC技术协会已准备就绪,电力系统控制以及相关通闭。 这个标准正交基本人面的文件

有关投票赞成这个标准的分邻居息系统上面表寸各指明的投票报告中找到这份刊物是根据ISO/IEC指导第3部分起草的。 附属A、B、C仅作为信息使用。

协会已决定本刊物的内容将保持不变直到2003年,一到这个日期这本刊物将 ? 重新确认 ? 取消

? 被改订本替换 ? 修改

P7

简介

ZTU-T推荐x.208指定了一种正式修言(ASN.1=抽象语法表示法)这种语言能使应用尽详细资料定义他们需要交换的信息类型,这种信息的表达法可通过将一套编码规则应用于ASN.1表示法定义的类型数值取及,这些编码规则的应用为这些数值产生了一个传递语法

尽管可以指导出很多这样的编码规则,但是很长时间以来只有一套—BER(标准编码规则)被标准化,这主要是因为BER经常使用于广范围应用。另一方面,在一些特殊情况下,BER明显是多余的,为这一些特殊情况提供选择性的编码规则以避免多余是最近开发的新转换语法标准(DER、CER、PER)的范围,显热型为了通用目的,而且提供专用的BER选项。这些选项在某些之比BER更适合。

与通用编码规则相反,这个标准规定了一套新的。特殊目的的编码规则—A-XDR它们所适用于DLMS环境(参IEC61334-4-41)主要的目的是用这种方法编码DLMS PDNS可使 PDNS字节计数及编码/解码复杂性特别优化,目的是通过两个基本原则来实现的。

a) A—XDR只为. ASN.1类型的子集指定编码规则,为用于DLMS详用说明的子集(这就

是为什么A—XDR是特殊目的)

b) A—XDR指定了字节任何的编码规则。

P9

A— XDR编码规则

1. 范围和目的

IEC61334的这部分定义了一套编码规则——A-XDR编码规则。在DLMS核心标准中用ASN.1表示法定义的类型数值可以用这套规则系列一个语法的详用说明(参IEC61334-4-41)为了确认传递数值,这些A—XDR编码规则,也用于解码这样一个传递语法。

A-XDR编码规则 用于通讯时

为DLMS PDNS提供最佳编码

注明:假设A-XDR为DLMS PDNS保证最佳编码,它将成为以DLM为基数的通讯协议的

缺省编码规则,然而缺省(也可能是可用的选择)编码规则将给协议应用原文件中被指空(例如IEC61334-4-42)作为应用环境的一部分。 2、标准参考

下面的标准文件包括本章参考的IEC61334的条款,对于有日期的参考,随后的修改、修订,这些刊物都不适用,然而,基于这部分IEC61334的协议,参于者被鼓励去调查应用下面提到的标准文件的最近期版本的可能性。对于无日期的参考,提到的标准元件的最新版本适用,ISO与IEC的成员保留了当前有效的国际标准记录。 ZEC61334-4-41 ZTU—T

P11

3、A-XDR一般特性

A-XDR指定了语法规则,这些语法规则不用于编码及解码被定义为单个ASN.1类型值的抽象语法值,这种单个ASN.1类型要么是简单类型、要么是复合类型,复合类型的一个成分可能是一个简单类型或者是一个复合类型。

A-XDR编码规则,使DLMS POU的发送器和接收器操作完全相同的。抽象语法解调说明,用BER,每个类型的抽象语法的每个值的编码。或者由类型—长度—值(TLV)型式构成的,A-XDR只有在信息必要时,将类型和长度值编码,这说明没有编码值类型知识不可能解决编码结构注释;这种编码方法造成A-XDR编码规则的不可伸展性(见附录A)为了使A-XDR尽可能简单,对于被编码的抽象语法做了如下限制:

对于没有在DLMS中用过的ASN.1类型又提供编支持 (选择)ASN.1类型应该只包含 成分。

A-XDR指定字节导向的编码规则,这意味着编码的每一部分是一整个字节。

4、编码的结构

BER编码的基础是一个由3部分组成的结构:类型、长度、值,如图1所示。在BER中,这三部分被命名为标识符(I),长度(L),内容(C)标识符区域标识类型,长度区域允许内容的终点被找到,内容区域能达那种类型的一个可能值。

图1基本BER结构

内容区域可能是一系列字节(简单编码)或者是一系列嵌套编码(构造编码)如图2所示

图2构造BER编码的结构

嵌套的深度据属要而定,嵌套或用一个简单编码结束,或用室内容的构造编码结束。A-XDR基本相同的编码结构,但为了多益于DLMS PDU的发送器和接收器操作完全相同的抽象语法规格这样一个事实,当标识符或长度传达了多余的信息时,A-XDR不对标识符或/和 长度编码。因此一个构造A-XDR编码产生如图3所示结构

图3构造A-XDR编码的结构

P15

A-XDR编码规则指定 ? 内容区域的编码规则

? 长度区域需要显示的情况,这个区域的编码 ? 标识符区域需要显示的情况,这个区域的编码 例如:

以下面的ASN.1复合类型为例

假设为A和B编码的值分别为16进制的1、2、3、4和5、6、7、8。这个序列的BER编码可能产生如下的字节序列 相同序列的A-XDR编码如下

P17

5、编码规则

任何ASN.1类型的A-XDR编码产生整数个字节,每个字节包含8位。这一系列字节是以最外层ASN.1类型的标识符区域编码的第一个字节开始 —在这些方面,这个字节被认为是最重要的字节,为了这个标准,下面的确认概要适用: A- XDR编码的字节不是子集的编号,但有时为了帮助清晰理解,说明适用(如值的第一个字节)

任何字节的字数都是从1到8编号,第8位是最重要的 5.1识别符区域

标识符区域的目的指数编码值的类型,假设发动器和接收器操作定全相同的抽象语法规格,标识符区域只有当下面下些情况时传达信息。 a) 一种数据类型需从不同的选项中选择

b) 长序列类型中一个(选择)成分的出席应指数。 c) 长序列类型中一个缺省成分的出席应指数

A- XDR编码只有在这些情况中包括识别符区域,另外,ASN.1详用说明要求编码识

别符时A-XDR编码识别符(ASN.1显标志,参 6、7)

在a)情况下,A-XDR要求choice的所有选项在ASN.1标准中指定为显标志类型(看6、7)在这些情况中,编码标志构成了识别符区域

在b)和c)情况下,或default 成分的出席或缺席被一个所谓的Boolean(布尔值)出席标志指明,这些成分值的编码区域是出席标志值的A-XDR编码。 另外,A-XDR不能被强制编码标识符区域,当ASN.1定义串包含ASN.1显标志(看6、7)这种类型的A-XDR编码被定义为与他们的BER编码相同这项支持目的是迫使长度被编码。例如,为了考虑到一些结构简单省略,这些类型的标识符区域是ASN.1标志的编码值,占整数个字节,至少一个,如ITU——T Recommendatoo

P19

5.2 长度区域

在A-XDR中长度区域(当长度区域存在)在内容区域之前,明确表示内容区域的长度占整数个字节,假设接收器和发送器操作完全在不同的抽象语法规格,只有当可变长度ASN.1类型要编码的情况下长度区域信息。不能的情况是:

a) 可变长度(整数) b) 可变长度(位串) c) 可变长度(字节串) d) 可变长度of类型

A- XDR只有在上述情况下编码长度区域,另外,还有一种情况。当ASN.1规格要求时(ASN.1显标志见6、7)

在a)、b)、c)、d)中长度区域编码为一个可变长度整数,另外,一种情况除了只有确定格式可用的限制外BER中定义的编码适用( ) 在A-XDR不允许长度区域使用不确定格式(脚注T) 5.3 内容区域

内容区域是编码的实体,传达了实际的值,他包括0个或多个字节。特如下面的条款中简述编码数据值

P21

6、编码程序 6.1整数值编码

根据整数的ASN.1定义是否是限定的值,A-XDR为ASN.1的整数类型提供了两种编码类型,当一个整数被指空在期限定范围内时

如它作为固定长度整数编码,否则,当没有指定范围,整数作为可变长度整数编码。 6.1.1固定长度整数值编码

A- XDR为固定长度整数提供了两种不同的编码

被指定在无负值范围内的整数被表示和编码为无符号二进制数而有可能为负值的整数被表示和确定为二进制数补码在两种情况下,只有整数值被编码,构成编码的内容区域,目的是提供最小长度的编码

6.1.1.1固定长度,无符号整数的编码

当一个整数被指定在无负值范围内,它被编码为无符号二进制数,编码的字节数由指定的值范围决定,它在于要表示指定范围内任意值既要的最小字节数,固定长度无符号整数的范围总是按字节边界排列

如:INTEGER(0….255)被编码为一个字节

固定长度无符号数用无符号二进制表示法表示,编码是一个整数值相等的无符号二进制数,包括第一个字节的第8到第1位,紧跟着第二个字节的8—1位紧跟着每个字节的8—1位,直到编码的最后一个字节

如ZNTEGER(0….65535)的61478的A-XDR编码如下

P23

6.1.1.2固定长度有符号整数值的编码

当一个整数被指定在包括负值的范围内,它被编码为一个二进制补码编码的字节数由指定的值范围决定,下与6.1.1.1中第一节的相同。 例:

编码是与整数值相等的二进制补码包括第一个字节的8—1位,直到最后一个字节(同6.1.1.1中此述) 例:

6.1.2可变长度整数值的编码

当整数值范围没有指定,哪个整数被编码为可变长度整数根据待编码的值,可变长度整数的编码可以有两种格式

当无限定整数值在0—127之间(0≤值<128),则此值被编码为一个字节,第8位显然是0。 如:

P25

当无限定整数值超出0-127的范围,则编码包括两个区域

第一 固定长度区域——Length,表示第二个可变长度区域的字节数 第二 可变长度区域——Conteats(内容)表示编码值包含整数个字节

长度区域编码为一个字节,第8位定为1(表示长度区域显示)其余7位被编码为固定长度无符号整数,它的值表示出内容区域的字节数。

编码的字节数由被编码的值决定,它等于要表示给定值所需的最小字节数。

值的编码且与整数值相等的二进制补码,包括第一个字节的8—1位,直到最后一个字节,如固定长度,有符号整数值中所述(6.1.1.2)可变长度。整数编码结构如图4所示

图4——

可变长度整数的A-XDR编码举例: a) 0编码如下 b) –1编码如下

6.2 Boolcan(布尔)值编码

Boolcan类型可能只有两个值,要么真、要么假,Boolcan值的率A-XDR编码只包含内容区域,它由一个字节组成,如果被编码值是假,这个字节是0,否则当值为真,这个字节可能任意的非零数值,象一个发送器的选项。例:

P29

6.3 Enumeratcel值的编码

Enumeratcel类型的值范围限定在0—255之间,Enumeratcel值的编码将按照限定整数值(0……255)中,固定长度,无符号整数编码为一个字节。

6.4 位串值编码( )

A- XDR根据位串的ASN.1定义中是否指定位串的大小。为ASN.1位串类型提供了两种编码类型。

当ASN.1定义中指定位串的大小,则按固定长度编码,没有指定大小的位串接可变长度方式编码,在两种情况中,位串值的编码是通过在尾数位添0而排列成字节界限值。 6.4.1指定大小的位串值的固定长度编码

如果位串的大小在ASN.1描述中被指定,则那个位串的A-XDR编码只包含一个内容区域,内容区域的字节数由指定的大小决定,它与传达位串数所要的最小字节数相等。

如…….

在位串的位数,从第一位开始,直到尾数位将放置第一个字节的8—1位,后面依次是第二个字节、第三个字节…..的8—1位,直到最后一个字节所需的位数,从第8位开始。

编码的每个字节,除了最后一个字节,将包括位串的8位,编码的最后一个字节将包括位串中剩下的位数,尾数位添0。

如:

P31

6.4.2没有指定大小的位串值的可变长度编码

当位串值的大小在ASN.1定义中没有指定,则位串值的A-XDR编码包含两个区域,长度区域和内容区域。

长度区域表示的值与位串编码值的位数相等,长度区域编码与可变长度整数编码相似,除了长度整数被编码为二进制数而不是二进制补码(因为长度区域来讲负值没有意义),(它的编码表示可变长度无符号整数的编码)

内容区域传达位串的编码值,包含整数各字节数,这一区域的编码规则跟6.4.1中阐述的固定长度位串值编码相同。

例…….

6.5字节串值编码

A- XDR根据ASN.1定义中是否指定字节串值的大小为ASN.1字节串类型提供了两种编码类型。

当ASN.1定义中指定字节串值的大小用固定长度编码,否则用可变长度方式编码。

P33

6.5.1 指定大小字节串值的固定长度编码

如果在ASN.1描述中指定了字节串值的大小,字节串值的A-XDR编码只包含一个内容区域,内容区域的字节数与指定大小相等。

字节串中的字节,从第一个字节开始直到最后一个字节,特效置在内容区域的字节中。 例:

6.5.2没有指定大小的字节串值的可变长度编码

当在ASN.1定义中没有指定字节串值的大小时,字节串值的A-XDR编码。包含两个区域:长度区域和内容区域。

长度区域表示的值与内容区域的字节数相等,长度区域的编码与可变长度位串的长度区域编码完全相同(见6.4.2)

内容区域传达字节串的编码值,这个区域的编码规则与(6.5.1)中简述的固定长度字节串值的编码相同。 例…….

P35

6.6 Choiq(选择)值编码

A- XDR的主要概念之一是:当一条信息的发送器和接受器操作相同的抽象语法,在多数情况下,BER编码的标识符区域能达多余的信息。在这些情况下,不编码标识符区域不产生模糊编码,因此,A-XDR编码不为ASN.1类型系统地编码标识符。 选择ASN.1类型是根据成分类型的收集定义的。它的选项必须不同选择类型的每个值正好是其中的一个选项,编码规则应保证任何一个选项的编码值能够清晰识别,因此,选择类型值的A-XDR编码将包含一个标识符区域。 为保证清晰,选择类型的成分类型需是显标记类型,没有显标记成分的选择类型不能用A-XDR编码。

选择值的A-XDR编码选择是被选择项类型值的A-XDR编码,在这之前且按照固定长度无符号整数编码为一个字节的标识符(标记) 例…………….

P37

6.7 标记类型(隐、显、ASN.1显标记) 6.8 回到6.6所述的(例子)

表示法(通过在原始类型表示说明加一个在括号数字行列)是标记类型的ASN.1类型表示法,标记用来保证不同。

实际上,每个ASN.1类型都有一个标记,四种不同的标记说明被指定每个标记在它的说明中编号为一个排负整数,四个说明是:一般情况下,特性环期,广泛应用和私人应用,内建ASN.1类型在一般特性说明中,有标记被称为基本类型,除了一般性说明之外,所有说明的标记用于形成标记类型。

每个标记或隐含或显示,在标记类型表示法中通过在“了”和基本类型之间加上关键可作出选择,如果没有出现关键字则缺省的标记格式使用,注意限定标记(否是类型)并只影响编码。

P39P41

在BER中,标记 和数字通过标识符区域传达,当标记是外显的那个值的BER编码执行两个标记:一个新的,在括号中指定,还有一个原始标记,基本类型。编码是由基本类型编码的一个嵌套编码相成。 例……

在A-XDR中,外显和隐含标记的意思有些微差别,假设A-XDR不为无标记类型编码标识符区域,它没有办法说明一个新的标记替换引目标记。因此,在BER含义中的隐含标记在A-XDR中不适应,另一方面,外显标记的两种类型适用于A-XDR;外显标记(以A-XDR方式)和ASN.1外显标记。

在A-XDR中,当标记号在ASN.1详细说明中,外显以确保在ASN.1Choiq或类型中的成分不同时,我们特外显标记表示法。根据他们的所在编码这些标记成分。成分的标记在A-XDR中以可变长度整数编码,表示标记值。另一方面,成分的标记根本不编码。假设这些外显标记类型的A-XDR编码相同,不会在ASN.1详述中关键字是否出现。我们都可以说出A-XDR中,关键字被简单地忽略了。

当在ASN.1详述中等效和标注号被明确指定,如[ ] 。在A-XDR类型表示法是指ASN.1外显标记,这种标记类型只考虑到序列( )类型的成分。

ASN.1外显标记类型值的A-XDR编码同他们的BER编码相同。除非在长度区域,使用正确空格式不允许,标记的目的是迫使长度被编码。例如:为了允许一些结构的简单省略。 6.9 可选择的和缺省成分

任何ASN.1复合类型都可能包含提及到ASN.1关键字(可选择)或(缺省)的成分。在ASN.1详述中,这些关键字可放在一个成分类型的后面,传达一个非常直观的意思,标有的成分可能被省略。——成分值在编码中不总是存在。(没计存应指明这些成分实际省略的环境和必要性)。

建一个成分可选的一个理由是允许他被省略,当它假定一个特殊值时,通常发生地很频繁,通过这种方法,两个值的外显发送可避免。ASN.1关键字为一个成分指定这一个缺省值。

注意:指定一个成分是可选的和指定是缺省的。一般而言是非常不同的(他们在ASN.1中相互独立的)因为即使他们缺省也是用来表示一个特殊值。

一个可选的或缺省成分的A-XDR编码是用另外一个元素的编码值开始的(对ASN.1语法来讲是另外的,它没有指定这个元素)。这个元素叫使用标志。这个使用标志被标为类型,它的值表明可选的或缺省成分的值在编码中是否出现。如下: ? 对可选的成分

使用标志二真 成分在编码中出现 使用标志二假 成分在编码不出现

P43

? 对缺省成分

使用标志二真 成分在编码中出现 使用标志二假 成分在编码不出现

当使用标志指明正在讨论的成分在编码中存在,使用标志后面跟着可选的或缺省成分值的A-XDR编码。另一方面,当使用标志指明,成分在编码中不存在,那个成分的A-XDR编码是用使用标志的编码结束——后面不跟着成分值的编码。

6.9的子条款和附录C编码可选的和缺省成分的例子。 6.99序列)值的编码

象选择类型一样,ASN.1类型也是根据全部不同的成分类型的收集定义的,但与类型相反的是,序列类型的每个值。包含每个成分类型的值,成分值在编码中出现的顺序是固定的。它与成分类型在定义中出现的顺序一样。

序列值的A-XDR编码是类型的ASN.1定义中列出的每种类型的一个数值A-XDR编码,按照他们在定义中出现的顺序,除了非类型被指明为

序列值的外显标记或成分的标志表示了多余的信息,因此不被编码一个外显标记成分值的A-XDR编码是成分值的A-XDR编码。

当一个或数值的编码存在(如6.8中所述编码)它在编码中的位置与ASN.1定义中类型的出现位置一致。

例:

P45

6.10 Sequence of值的编码

ASN.1 Sequence of类型是根据单个的成分类型定义的,它的值是成分类型值的所有缺席的收集。

A- XDR根据Sequence of的ASN.1定义中是否指空Sequence of的大小)为ASN.1的Sequence of类型提供了两种编码类型,当在ASN.1定义中指定了Sequence of的大小。则按固定长度编码,否则按可变长度方式编码。

P47

6.10.1 指定大小的Sequence of值的固定长度编码

如果在ASN.1描述中指定了Sequence of的大小,那个Sequence of值的A-XDR编码只含有一个内容区域,这个区域的字节数由在ASN.1定义中列出的类型的N个数据值的A-XDR编码相成,N是指定的大小,数据值的编码顺序与待编码的Sequence of值中的数据值的顺序相同。

例:…….

6.10.2没有指定大小的Sequence of值的可变长度编码

当在ASN.1定义中没有指定Sequence of的大小时,Sequence of值的A-XDR编码包含两个区:长度区域和内容区域。

长度区域表示的值与Sequence of类型的编码值中的成分个数相等。长度区域的编码与可变长度位串的长度区域编码相同(6.4.2)。

内容区域由ASN.1定义中列出的类型的N个数值的A-XDR编码构成。N是长度区域

表示的值,数值的编码顺序与结构编码的Sequence of值的数值顺序相同。

例:………

6.10.3 特殊的Sequence of choiu(选择序列)类型的编码

选择序列是一种特殊情况,尽管Sequence of类型是根据单个成分类型定义的,选择序列结构的元李可能有不同的类型——选择类型的不同选项。

选择序列类型的编码同(6.10.1)和(6.10.2)中此述的一样,除了Sequence of类型中的每个成分的编码将由选定的选择成分的标记的编码开始。

附录C中的例5是选择序列编码的示例 6.11 可视串类型的编码:

可视串ASN.1类型是一种受限制的字符串类型,受限制的字符串是特殊的字节串,不能包含从受限制的字符组合中抽出的字符,尽管ASN.1指定了,8种这样的类型,只有可视串类型在DLMS谋述中使用(看ZRC61334-4-4) 因此,A-XDR只为这种ASN.1类型提供支持。

本文来源:https://www.bwwdw.com/article/jd83.html

Top