TCS081鼎信电力线载波芯片通信协议

TCS081鼎信电力线载波芯片应用层

通信协议

版本:1.3

日期:2009年1月15日

TOPSCOMM 青岛鼎信通讯有限公司

目 录

目 录................................................................................................................................................................. 2

1 适用范围................................................................................................................................................... 3

2 定义和缩略语........................................................................................................................................... 3

3 应用层简介............................................................................................................................................... 3

4 应用层格式............................................................................................................................................... 3

4.1 字节格式................................................................................................................................. 3

4.2 基本帧格式............................................................................................................................. 4

4.3 前导符.................................................................................................................................... 4

4.4 帧长度.................................................................................................................................... 4

4.5 特征域.................................................................................................................................... 4

4.6 地址域.................................................................................................................................... 5

4.7 控制域.................................................................................................................................... 6

4.8 数据域.................................................................................................................................... 7

4.9 校验域.................................................................................................................................... 8

4.10 结束符..................................................................................................................................11

附录A :载波网络控制命令帧举例............................................................................................................... 12

1 .设置地址.................................................................................................................................. 12

2 .读取地址.................................................................................................................................. 12

3 .读取从第M 节点开始的N 个侦听到的节点信息.................................................................... 13

4 使能主节点检测相邻主节点信道通信状态........................................................................... 13

5 .节点主动上报使能.................................................................................................................. 14

6 .广播召读漏抄节点地址.......................................................................................................... 14

7 .测试载波控制器功率.............................................................................................................. 15

8 .测试载波设备功率.................................................................................................................. 15

9 . 获取厂商代码和版本信息.................................................................................................... 16

10 .获取主节点版本信息............................................................................................................ 16

11 .载波通信错误应答................................................................................................................. 17

12 .命令状态应答........................................................................................................................ 17

附录B :数据域命令举例............................................................................................................................... 18

1 .读数据...................................................................................................................................... 18

附录C :中继报文举例................................................................................................................................... 20

1 .中继节点转发行为描述.......................................................................................................... 20

2 .地址域缩位算法举例.............................................................................................................. 20

3 .中继转发流程.......................................................................................................................... 20

附录D :传输控制流程................................................................................................................................... 22

1 .抄读延时控制.......................................................................................................................... 22

2 .直接抄读学习流程.................................................................................................................. 22

3 .中继抄读学习流程.................................................................................................................. 22

4 .抄表流程.................................................................................................................................. 22

1. 适用范围

本协议用于描述TCS081型青岛鼎信低压电力线载波通信芯片异步串行通信接口。

2. 定义和缩略语

低压集中器:采收集各载波节点的数据,并进行处理存储,同时能和主站计算机或手持单元进行数据交换的设备,简称集中器。

载波节点:通指载波表或总线转载波采集器。

抄控器:指在本地能够直接与载波节点交换数据的便携式设备。该设备通常用于设备检测、现场调试或者电量补抄。

集中器载波通信地址:集中器载波模块的物理地址,6字节长。

载波节点号:载波节点的物理地址,6字节长。

信号品质:节点对载波信号解调正确率进行线性分级,取值范围1—15。

相别:对应于主节点信道时序物理相线,取值为1,2,3。

信道标识:载波通信报文传输相别。

主节点:集中器或抄控器所在的载波节点。

从节点:采集器或计量点所在的载波节点。

DL/T 645术语部分适用于本部分。

3. 应用层简介

本协议为主-从结构的半双工通信方式。每个节点均有各自的地址码。通信链路的建立与解除均由主节点发出的信息帧来控制。每帧由前导符、帧长度、特征域、地址域、控制域、数据域、校验域、结束符等8个域组成。每部分由若干字节组成。

本协议提供应用层数据透明传输的同时,为了提高通信效率,对符合DL/T 645-1997(2007)通信规约帧格式的应用层数据进行了优化支持。

4. 应用层格式

4.1. 字节格式

传输波特率9600bps ,每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位和

B B B B 一个停止位(1)共11位。其传输序列如图1,D 0是字节的最低有效位,D 7是字节的最高有效位。先

传低位,后传高位。

起始位 8位数据 偶校验位 停止位

图1 字节传输序列

4.2. 基本帧格式

帧是传送信息的基本单元。帧格式如图2所示。

帧格式如下: 前导符 帧长度 特征域 地址域控制域数据域校验域 结束符

图2 基本帧格式

4.3. 前导符

前导符F 的长度为1个字节,采用二进制10101010B (AAH )。用于提供帧同步信息;

4.4. 帧长度

帧长度域为1个字节。表示除了前导符、结束符外(包括帧长度域本身)的帧数据的长度。

4.5. 特征域

特征域的长度为2个字节。

当为命令帧时,域结构见图3。

高位 低位

图3 命令帧特征域结构

相别说明如下图示:

信道标识不分相传输 第1相传输第2相传输第3相传输

图4 相别取值及对应关系

通讯速率标识:

0:50bps;1:100bps。

冲突检测:当该位置1时,延时等待时间增加12s ;置0时,延时等待时间不变化, 冲突检测位仅对通信延时起作用。

当为载波节点响应帧时,域结构见图5。

高位 低位

图5 载波节点响应帧特征域结构

实测相别:目的节点实测的电源相别,当该值为01B 、10B 或11B 时,分别表示相别为主相、第1辅相或第2辅相;

信道特征:描述目的节点通信信道的特征,取值及对应关系:

00B —采集器;

01B —单相供电,双相通信(单相一体表);

10B —单相供电,三相通信(单相通道板);

11B —三相供电,三相通信(三相通道板)。

信号品质:分为15级,取值范围0000B—1111B,0000B 表示无信号品质,0001表示最低品质。

4.6. 地址域

地址域采用缩位算法,长度可变。

当为命令帧时,结构见图6。

高字节 低字节

源地址域 中继路由地址域 目的地址域

图6 命令帧地址域结构

中继路由地址域内容由中继级别的编码定义,中继级别=00H:地址域只包含源地址和目的地址;中继级别非零时:地址域包含源地址、中继路由地址、目的地址。

当为响应帧时,省略中继路由地址,见图7。

高字节 低字节 目的地址域 源地址域

图7 响应帧地址域结构

地址格式使用扩展地址规则,保留每个地址字节中第1个传送的bit 位(低有效位) ,将其置为0以表示紧随其后的一字节是地址域的一个扩展字节。扩展字节的格式应与第一个字节相同。地址域的最后一个字节是把低有效位置为1来标识的。假设载波节点地址为6个字节,如下: 高位

第一字节 低位…… …… ……

图8 6字节地址的扩展地址结构

说明:

广播地址:定义为单字节,取值100D, 表示0x99,0x99,0x99,0x99,0x99,0x99。 集中器通道的地址:定义为单字节,取值101D 。

通配符地址:定义为单字节,取值102D ,代表0xaa ,0xaa ,0xaa ,0xaa ,0xaa ,0xaa 。 部分通配符地址:定义为多字节,出现103D (0x67)则本字节自动解析为0xaa ,例如:0xaa ,0x67,0xaa ,0xXX ,0xaa ,0xaa 表示为0xaa ,0xaa ,0xaa ,0xXX ,0xaa ,0xaa 。

保留地址:104—127D为保留地址。

采用缩位算法实现地址编码,具体描述如下:

a. 源地址保持不变;

b. 将后续的地址按字节与前一地址异或;

c. 异或后的单个字节左移1位,若后续有字节,本字节不变,否则加1;

*地址缩位举例见附录图2。

*中继报文举例见附录C 。 主节点地址:建议主节点的地址为2字节,取值范围可为00、01… 16129D。 高位 第6字节 低位4.7. 控制域

控制域的长度为1个字节。

当特征域的C/D位是1时,控制域表示载波网络层控制命令,控制字取值范围0—255D。

命令

设置地址

读取地址

读取从第M 节点开始的N 个侦听到的节点信息

使能主节点检测相邻主节点信道通信状态

节点主动上报使能

广播召读漏抄节点地址

节点点名

载波控制器连续发送01数据,测试功率使用

载波设备连续发送01数据,测试功率使用

获取厂商代码和版本信息

获取主节点的版本信息

图9载波网络控制命令表 数据项内容 载波地址 无 M 、N M 无 无 无 T T 无 无 控制字 00H 01H 02H 04H 05H 06H 07H 08H 09H 60H 61H

*载波网络控制命令帧举例见附录A 。

当特征域的C/D位是0时,控制域表示载波通信命令。当控制字为00H 时,应用层为透明传输;当控制字为10H 时,应用层为DL/T 645-1997规约。当控制字为11H 时,应用层为DL/T 645-2007规约。

4.8. 数据域

控制域的长度为1个字节。

当特征域的C/D位是1时,数据域可以是任意字节序列。

当特征域的C/D位是0时,控制域表示载波通信命令。当控制字为10H ,应用层协议为DL/T 645-1997规约,当控制字为11H 时,应用层为DL/T 645-2007规约。

其格式变化如下:

说 明645帧格式

帧起始符 68H

A0

A1

地址域 A2

A3

A4

A5

帧起始符 68H 无 变化后数据域格式

控制码

数据长度域

数据域

校验码

结束符 L CS 16H

图10 数据域格式变化 无 无 无 *数据域命令举例见附录B 。

4.9. 校验域

校验域的长度是两个字节,用来计算前导符之后、校验域之前的帧数据(不包括前导符和效验域)的校验值,传输时低字节在前、高字节在后。

4.9.1 16-bit FCS的计算方法

为了程序设计方便,提供以下代码在数据到达接口时用于计算FCS 的一种查表算法,供参考。 /*

* u16 represents an unsigned 16-bit number. Adjust the typedef for

* your hardware.

* Drew D. Perkins at Carnegie Mellon University.

*

* Code liberally borrowed from Mohsen Banan and D. Hugh Redelmeier.

*

*/

typedef unsigned short u16;

/*

*

* FCS lookup table as calculated by the table generator.

*

*/

static u16 fcstab[256] = {

0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,

0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,

0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,

0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,

0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,

0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,

0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,

0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,

0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,

0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,

0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,

0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,

0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,

0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c, 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78 };

#define PPPINITFCS16 0xffff /* Initial FCS value */

#define PPPGOODFCS16 0xf0b8 /* Good final FCS value */

/*

* Calculate a new fcs given the current fcs and the new data.

*/

u16 pppfcs16(fcs, cp, len)

register u16 fcs;

register unsigned char *cp;

register int len;

{

ASSERT(sizeof (u16) == 2);

ASSERT(((u16) -1) > 0);

while (len--)

fcs = (fcs >> 8) ^ fcstab[(fcs ^ *cp++) & 0xff];

return (fcs);

}

/*

* How to use the fcs

*/

tryfcs16(cp, len)

register unsigned char *cp;

register int len;

{

u16 trialfcs;

/* add on output */

trialfcs = pppfcs16( PPPINITFCS16, cp, len );

trialfcs ^= 0xffff; /* complement */

cp[len] = (trialfcs & 0x00ff); /* least significant byte first */

cp[len+1] = ((trialfcs >> 8) & 0x00ff);

/* check on input */

trialfcs = pppfcs16( PPPINITFCS16, cp, len + 2 );

if ( trialfcs == PPPGOODFCS16 )

printf("Good FCS\n");

}

4.9.2 FCS 表发生器

下列代码生成用于计算FCS-16的查询表。

/*

* Generate a FCS-16 table.

*

* Drew D. Perkins at Carnegie Mellon University.

*

* Code liberally borrowed from Mohsen Banan and D. Hugh Redelmeier. */

/*

* The FCS-16 generator polynomial: x**0 + x**5 + x**12 + x**16. */

#define P 0x8408

/*

* NOTE The hex to "least significant bit" binary always causes * confusion, but it is used in all HDLC documents. Example: 03H * translates to 1100 0000B. The above defined polynomial value * (0x8408) is required by the algorithm to produce the results

* corresponding to the given generator polynomial

* (x**0 + x**5 + x**12 + x**16)

*/

main()

{

register unsigned int b, v;

register int i;

printf("typedef unsigned short u16;\n");

printf("static u16 fcstab[256] = {");

for (b = 0; ; )

{

if (b % 8 == 0)

printf("\n");

v = b;

for (i = 8; i--; )

v = v & 1 ? (v >> 1) ^ P : v >> 1; printf("\t0x%04x", v & 0xFFFF); if (++b == 256) break; printf(","); }

printf("\n};\n"); }

4.9.3 FCS 举例:

源地址为00,目的地址为1419D ,读取DL/T-645-1997规约的9010数据项

下行:0xAA 0x0C 0x9A 0x01 0x01 0x1C 0x27 0x10 0x01 0x43 0xC3 0x39 0x59 0x16

上行:0xAA 0x10 0x15 0x0F 0x01 0x1C 0x27 0x10 0x81 0x43 0xC3 0x9B 0x34 0x33 0x33 0xCD 0xB0 0x16

4.10. 结束符

结束符的长度是1个字节,采用二进制00010110B (16H )。

附录A :载波网络控制命令帧举例

1. 设置地址

1.1请求帧

功能 设置地址 控制码 =00H 帧格式: 01

A10x

A20

A2x

00H

A 0

16H

长度

控制特征字 源地址 广播地址 校验

前导

地址数据(长度不可变,6个

字节的十六进制数, 高位在

前, 低位在后)

结束

注:本请求命令采用广播地址发布,要求被设置的从节点有相应的按键(开关)与该命令配合,

在命令发布的全部时间内按下按键者响应,其它不响应。

1.2确认帧

功能 确认帧 控制码 =00H

010

目的地址

源地址

A1x

A 0

A x

00H

2. 读取地址

2.1请求帧

功能 读取地址 控制码 =01H 帧格式:

源地址 目的地址

注:本请求命令采用广播地址发布,要求被设置的从节点有相应的按键(开关)与该命令配合,

在命令发布的全部时间内按下按键者响应,其它不响应。

2.2正常应答帧

功能 正常应答帧 控制码 =01H

目的地址 源地址

3. 读取从第M 节点开始的N 个侦听到的节点信息

3.1请求帧

功能 读取侦听数据 载波控制码 =02H 帧格式: 01

A 0x 0

A1x

02H

M

N

长度

校验 地址特征 源地址 目的地址

前导 控制

建议M 、N 小于50。 3.2正常应答帧

功能 正常应答帧 控制码 =02H 01

A 0x 0

A1x

02H

M1

N1

结束

FCSh 16H

侦听数据 目的地址 源地址 M1:侦听到的节点的数量;

N1:本帧传输侦听到的节点的数量;

GX :侦听数据,传输时地址进行缩位处理,缩位算法参考地址域缩位算法,高位在前,低位在后;

侦听数据格式为:

表号 + 1字节信号品质 + 1字节中继级别和侦听次数。 其中侦听信号品质格式为:

中继级别和侦听次数格式为:

中继级别

侦听次数

4. 使能主节点检测相邻主节点信道通信状态

4.1请求帧

功能 使能主节点检测相邻主节点信道通信状态 载波控制码 =04H

源地址

目的地址

M 为单字节16进制数,表示保持状态时间(秒)。

使能节点主动处于接收状态,将保持接收状态时间内的接收报文上传; 4.2确认帧

功能 确认帧

目的地址 源地址

5. 节点主动上报使能

5.1请求帧

功能 节点主动上报使能 控制码 =05H 帧格式:

5.2确认帧

功能 确认帧 控制码 =05H

目的地址

源地址

源地址 目的地址

6. 广播召读漏抄节点地址

6.1请求帧

功能 广播召读漏抄节点地址 载波控制码 =06H 帧格式:

6.2正常应答帧

功能 正常应答帧 控制码 =06H 源地址

广播地址

目的地址 广播地址 节点地址

节点地址:应答节点的地址信息,压缩的6个字节的BCD 码,高位在后。

7. 节点点名

7.1请求帧

功能 节点点名 控制码 =07H 帧格式:

7.2确认帧

功能 确认帧 控制码 =07H

目的地址

源地址

源地址 目的地址

8. 测试载波控制器功率

8.1请求帧

功能 测试载波控制器的功率 载波控制码 =08H 帧格式:

010

源地址 源地址 T 为单字节十六进制数,表示发送时间01~3C(十六进制)。 非广播命令,只针对源地址进行测试。 8.2正常应答帧和确认帧

功能 通信命令接收成功后,将返回命令状态应答帧(命令接收成功一帧数据),详见13中的命令状态应答帧格式。

A1x

A10

A1x

08H

16H

9. 测试载波设备功率

9.1请求帧

功能 测试载波控制器的功率 载波控制码 =09H 帧格式:

A1x

A20

A2x

09H

16H

01

源地址 目的地址 T 为单字节十六进制数,表示发送时间01~3C(十六进制)。 非广播命令,针对目的从节点进行测试。 9.2正常应答帧和确认帧。

功能 通信命令接收成功后,将返回命令状态应答帧(命令接收成功和当前通道忙闲状态两帧数据),详见13中的命令状态应答帧格式。

10. 获取厂商代码和版本信息

10.1请求帧

功能 获取厂商代码和版本信息 载波控制码 =60H 帧格式:

010

10.2正常应答帧

功能 正常应答帧 控制码 =60H

源地址

目的地址

A1x

A20

A2x

60H

010x 0…A2x 60H W 0

W 3V 0 … V 416H

目的地址 源地址 数据域

W 0…W 3(ASCII码) 说明:

W 0W 1:为厂商代码, 我公司使用TC ,高位在前;

W 2W 3:为芯片代码,TCC081对应C1, TCS081对应S1,TCM081对应M1

,高位在前; V 0…V 4:格式为YYMMDDXXXX(5字节BCD 码),表示年月日、芯片版本,高位在前。

11获取主节点版本信息

11.1请求帧

功能

获取主节点版本信息 载波控制码 =61H 帧格式:

010

源地址

源地址

A1x

A10

A1

x

61H

11.2正常应答帧

功能 正常应答帧 控制码 =61H

010x 0

12x

61H

W 0

W 3V 0 … V 416H

源地址 源地址 数据域

W 0…W 3(ASCII码) 说明:

W 0W 1:为厂商代码, 我公司使用TC ,高位在前;

W 2W 3:为芯片代码,TCC081对应C1, TCS081对应S1,TCM081对应M1,高位在前; V 0…V 4:格式为YYMMDDXXXX(5字节BCD 码),表示年月日、芯片版本,高位在前。

12. 载波通信错误应答

功能 载波通信错误应答 控制码 =30H

目的地址

注:错误信息字ERR 定义:

00H--载波通信超时;

源地址

13. 命令状态应答

功能 命令状态应答 控制码 =31H

目的地址 源地址

注:通信命令接收成功后,将返回命令状态应答帧。 命令状态字(STA )定义:

0 保留

命令状态 0:未处理 1:已处理

第3相状态 保留

保留

保留

0:忙 1:闲

第2相状态 0:忙 1:闲

第1相状态 0:忙 1:闲

附录图1命令状态字定义

附录B :数据域命令举例

DL/T 645-1997(2007)数据域包括数据标识和数据、密码等,其结构随控制域的功

能改变。

数据域组帧方法如下:

本协议帧格式:

68H

地址域

68H

控制域

长度域

数据域

效验域

结束符

附录图2数据域组帧方法

命令举例: 1. 读数据

1.1主节点请求帧

功能 请求读数据 控制码 C=01H 帧格式:

01

1.2从节点正常应答帧

控制码

数据项标识

功能 从节点正常应答帧 控制码 C=81H

01

数据标识 控制码

1.3从节点异常应答帧

功能 从节点收到非法的数据请求或无此数据

控制码 C= C1H 帧格式:

附录C :中继报文举例

1. 中继节点转发行为描述

中继转发路由节点行为有向下转发和向上转发两个过程。

1.1 向下转发行为实现对主节点或上一级路由节点发送的中继转发命令帧进行帧转发、并减少中继

级别,并启动超时定时器,同时,等待从节点或下一级路由节点的正常响应帧;

1.2 向上转发行为实现将接收到的从节点或下一级路由节点的正常响应帧向主节点或上一级路由

节点进行帧转发、并增加中继级别。

2. 地址域缩位算法举例

假设源地址为00H ;

假设报文为二级中级抄读命令; 地址

源地址 00

压缩前

00H 01

压缩后

01H

一级中继地址12 34 56

78 90 12 0C 22 38 4E 5A 0CH 24 68 112 156 180 25 18 44 70 9C B4 19H

二级中继地址 12 34 56 78 90 34 0C 22 38 4E 5A 22H 00 00 00 00 00 93

目的地址 12 34 56 78 12 34 0C 22 38 4E 0C 22H 00 00 00 00 172 01

附录图3 地址缩位举例

3. 中继转发流程

如附录图3所示。 假设集中器地址为01H ; 假设三个节点相别均为A 相;

DA 为目的节点,A1为一级中继节点、A2为二级中继节点; 下行数据帧为1类报文,上行数据帧为2类报文。

鼎信电力线载波通信链路及应用层协议

TOPSCOMM

说明 代码

前导符帧长度 L F1 说明 代码

前导符帧长度 LF 说明 代码

前导符特征域、AC1

201H 特征域、AC1

帧长度 LF 3 特征域、AC1

地址域

A1

01H

A2 地址域 A2

地址域

01H

DA

DA

DA

控制域控制域控制域数据域

C F

数据域

CF

DATA 数据域

CF

F DATAF DATAF 效验域效验域效验域结束符结束符结束符

命令帧

ٛ主节点

一级中继节点

二级中继节点

(集中器或抄控器)

A1

A2

响应帧

说明 代码

说明 代码

说明 代码

前导符前导符前导符帧长度 LR 3 帧长度 LR 2 帧长度 LR 3 地址特征域r0、AC r1

地址特征域AC0、AC1

地址特征域AC0、AC1

地址域

01H

A1

地址域

01H

A2

地址域

01H

DA

控制域控制域控制域数据域

CR

DATAR 数据域

CR

DATAR 数据域

CR

DATAR 效验域效验域效验域结束符结束符结束符

附录图4中继报文举例

DA

目的节点

TOPSCOMM

鼎信电力线载波通信链路及应用层协议

附录D :传输控制流程

1. 抄读延时控制

载波单字节传输时间:160ms (当载波通信波特率为100bps 时,为80ms )。 对于数据传输,除了计算所有字节传输的时间外,还应加上数据处理时间500ms 。

2. 直接抄读学习流程

集中器刚刚录入载波节点地址,进入零知识学习状态。

集中器首先进行相别标志为00B (三相)的直接抄读学习。如果抄读成功,集中器记录载波抄读学习过程得到的节点相别,并作为节点参数存储到集中器;不成功则进入下一流程。

3. 中继抄读学习流程

对于直接抄读不成功的载波节点,需要集中器启动中继抄读学习。

集中器首先选择中继节点,为有效提高效率,推荐分别三相各选取一只中继节点,连续发送中

继抄读三相各节点命令,过程为:首先进行第1相中继抄读学习;其次进行第2相中继抄读学习;然后进行第3相中继抄读学习;让载波芯片持续处于三相工作状态。

注:关于侦听数据的使用

建议通过学习过程后抄读到中继节点后,集中器读取节点的侦听数据,根据侦听数据中的节点

地址、信号品质、侦听次数等内容,合理选取中继路由进行通信。

4. 抄表流程

集中器已经得相应载波节点的相别知识,进行直接抄读和中继抄读。

集中器需要连续分别发送各相节点抄读命令,例如:同时启动抄读各相节点,即可以是直接抄

读也可以是中继抄读;当一相某节点抄读完成时,立即启动该相下一节点抄读;保证所有通信信道空闲时间最少,具体时序图如下。

鼎信电力线载波通信链路及应用层协议

TOPSCOMM

A

相B

相C

附录图5正常抄读流程简图

TOPSCOMM

鼎信电力线载波通信链路及应用层协议

版 本 历 史

版本/状态 1.0 1.1 1.2 1.3

作者 徐剑英 徐剑英 王敏 王敏

参与者

起止日期 2008年3月30日 2008年7月30日 2008年11月13日 2009年1月15日

备注

TCS081鼎信电力线载波芯片应用层

通信协议

版本:1.3

日期:2009年1月15日

TOPSCOMM 青岛鼎信通讯有限公司

目 录

目 录................................................................................................................................................................. 2

1 适用范围................................................................................................................................................... 3

2 定义和缩略语........................................................................................................................................... 3

3 应用层简介............................................................................................................................................... 3

4 应用层格式............................................................................................................................................... 3

4.1 字节格式................................................................................................................................. 3

4.2 基本帧格式............................................................................................................................. 4

4.3 前导符.................................................................................................................................... 4

4.4 帧长度.................................................................................................................................... 4

4.5 特征域.................................................................................................................................... 4

4.6 地址域.................................................................................................................................... 5

4.7 控制域.................................................................................................................................... 6

4.8 数据域.................................................................................................................................... 7

4.9 校验域.................................................................................................................................... 8

4.10 结束符..................................................................................................................................11

附录A :载波网络控制命令帧举例............................................................................................................... 12

1 .设置地址.................................................................................................................................. 12

2 .读取地址.................................................................................................................................. 12

3 .读取从第M 节点开始的N 个侦听到的节点信息.................................................................... 13

4 使能主节点检测相邻主节点信道通信状态........................................................................... 13

5 .节点主动上报使能.................................................................................................................. 14

6 .广播召读漏抄节点地址.......................................................................................................... 14

7 .测试载波控制器功率.............................................................................................................. 15

8 .测试载波设备功率.................................................................................................................. 15

9 . 获取厂商代码和版本信息.................................................................................................... 16

10 .获取主节点版本信息............................................................................................................ 16

11 .载波通信错误应答................................................................................................................. 17

12 .命令状态应答........................................................................................................................ 17

附录B :数据域命令举例............................................................................................................................... 18

1 .读数据...................................................................................................................................... 18

附录C :中继报文举例................................................................................................................................... 20

1 .中继节点转发行为描述.......................................................................................................... 20

2 .地址域缩位算法举例.............................................................................................................. 20

3 .中继转发流程.......................................................................................................................... 20

附录D :传输控制流程................................................................................................................................... 22

1 .抄读延时控制.......................................................................................................................... 22

2 .直接抄读学习流程.................................................................................................................. 22

3 .中继抄读学习流程.................................................................................................................. 22

4 .抄表流程.................................................................................................................................. 22

1. 适用范围

本协议用于描述TCS081型青岛鼎信低压电力线载波通信芯片异步串行通信接口。

2. 定义和缩略语

低压集中器:采收集各载波节点的数据,并进行处理存储,同时能和主站计算机或手持单元进行数据交换的设备,简称集中器。

载波节点:通指载波表或总线转载波采集器。

抄控器:指在本地能够直接与载波节点交换数据的便携式设备。该设备通常用于设备检测、现场调试或者电量补抄。

集中器载波通信地址:集中器载波模块的物理地址,6字节长。

载波节点号:载波节点的物理地址,6字节长。

信号品质:节点对载波信号解调正确率进行线性分级,取值范围1—15。

相别:对应于主节点信道时序物理相线,取值为1,2,3。

信道标识:载波通信报文传输相别。

主节点:集中器或抄控器所在的载波节点。

从节点:采集器或计量点所在的载波节点。

DL/T 645术语部分适用于本部分。

3. 应用层简介

本协议为主-从结构的半双工通信方式。每个节点均有各自的地址码。通信链路的建立与解除均由主节点发出的信息帧来控制。每帧由前导符、帧长度、特征域、地址域、控制域、数据域、校验域、结束符等8个域组成。每部分由若干字节组成。

本协议提供应用层数据透明传输的同时,为了提高通信效率,对符合DL/T 645-1997(2007)通信规约帧格式的应用层数据进行了优化支持。

4. 应用层格式

4.1. 字节格式

传输波特率9600bps ,每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位和

B B B B 一个停止位(1)共11位。其传输序列如图1,D 0是字节的最低有效位,D 7是字节的最高有效位。先

传低位,后传高位。

起始位 8位数据 偶校验位 停止位

图1 字节传输序列

4.2. 基本帧格式

帧是传送信息的基本单元。帧格式如图2所示。

帧格式如下: 前导符 帧长度 特征域 地址域控制域数据域校验域 结束符

图2 基本帧格式

4.3. 前导符

前导符F 的长度为1个字节,采用二进制10101010B (AAH )。用于提供帧同步信息;

4.4. 帧长度

帧长度域为1个字节。表示除了前导符、结束符外(包括帧长度域本身)的帧数据的长度。

4.5. 特征域

特征域的长度为2个字节。

当为命令帧时,域结构见图3。

高位 低位

图3 命令帧特征域结构

相别说明如下图示:

信道标识不分相传输 第1相传输第2相传输第3相传输

图4 相别取值及对应关系

通讯速率标识:

0:50bps;1:100bps。

冲突检测:当该位置1时,延时等待时间增加12s ;置0时,延时等待时间不变化, 冲突检测位仅对通信延时起作用。

当为载波节点响应帧时,域结构见图5。

高位 低位

图5 载波节点响应帧特征域结构

实测相别:目的节点实测的电源相别,当该值为01B 、10B 或11B 时,分别表示相别为主相、第1辅相或第2辅相;

信道特征:描述目的节点通信信道的特征,取值及对应关系:

00B —采集器;

01B —单相供电,双相通信(单相一体表);

10B —单相供电,三相通信(单相通道板);

11B —三相供电,三相通信(三相通道板)。

信号品质:分为15级,取值范围0000B—1111B,0000B 表示无信号品质,0001表示最低品质。

4.6. 地址域

地址域采用缩位算法,长度可变。

当为命令帧时,结构见图6。

高字节 低字节

源地址域 中继路由地址域 目的地址域

图6 命令帧地址域结构

中继路由地址域内容由中继级别的编码定义,中继级别=00H:地址域只包含源地址和目的地址;中继级别非零时:地址域包含源地址、中继路由地址、目的地址。

当为响应帧时,省略中继路由地址,见图7。

高字节 低字节 目的地址域 源地址域

图7 响应帧地址域结构

地址格式使用扩展地址规则,保留每个地址字节中第1个传送的bit 位(低有效位) ,将其置为0以表示紧随其后的一字节是地址域的一个扩展字节。扩展字节的格式应与第一个字节相同。地址域的最后一个字节是把低有效位置为1来标识的。假设载波节点地址为6个字节,如下: 高位

第一字节 低位…… …… ……

图8 6字节地址的扩展地址结构

说明:

广播地址:定义为单字节,取值100D, 表示0x99,0x99,0x99,0x99,0x99,0x99。 集中器通道的地址:定义为单字节,取值101D 。

通配符地址:定义为单字节,取值102D ,代表0xaa ,0xaa ,0xaa ,0xaa ,0xaa ,0xaa 。 部分通配符地址:定义为多字节,出现103D (0x67)则本字节自动解析为0xaa ,例如:0xaa ,0x67,0xaa ,0xXX ,0xaa ,0xaa 表示为0xaa ,0xaa ,0xaa ,0xXX ,0xaa ,0xaa 。

保留地址:104—127D为保留地址。

采用缩位算法实现地址编码,具体描述如下:

a. 源地址保持不变;

b. 将后续的地址按字节与前一地址异或;

c. 异或后的单个字节左移1位,若后续有字节,本字节不变,否则加1;

*地址缩位举例见附录图2。

*中继报文举例见附录C 。 主节点地址:建议主节点的地址为2字节,取值范围可为00、01… 16129D。 高位 第6字节 低位4.7. 控制域

控制域的长度为1个字节。

当特征域的C/D位是1时,控制域表示载波网络层控制命令,控制字取值范围0—255D。

命令

设置地址

读取地址

读取从第M 节点开始的N 个侦听到的节点信息

使能主节点检测相邻主节点信道通信状态

节点主动上报使能

广播召读漏抄节点地址

节点点名

载波控制器连续发送01数据,测试功率使用

载波设备连续发送01数据,测试功率使用

获取厂商代码和版本信息

获取主节点的版本信息

图9载波网络控制命令表 数据项内容 载波地址 无 M 、N M 无 无 无 T T 无 无 控制字 00H 01H 02H 04H 05H 06H 07H 08H 09H 60H 61H

*载波网络控制命令帧举例见附录A 。

当特征域的C/D位是0时,控制域表示载波通信命令。当控制字为00H 时,应用层为透明传输;当控制字为10H 时,应用层为DL/T 645-1997规约。当控制字为11H 时,应用层为DL/T 645-2007规约。

4.8. 数据域

控制域的长度为1个字节。

当特征域的C/D位是1时,数据域可以是任意字节序列。

当特征域的C/D位是0时,控制域表示载波通信命令。当控制字为10H ,应用层协议为DL/T 645-1997规约,当控制字为11H 时,应用层为DL/T 645-2007规约。

其格式变化如下:

说 明645帧格式

帧起始符 68H

A0

A1

地址域 A2

A3

A4

A5

帧起始符 68H 无 变化后数据域格式

控制码

数据长度域

数据域

校验码

结束符 L CS 16H

图10 数据域格式变化 无 无 无 *数据域命令举例见附录B 。

4.9. 校验域

校验域的长度是两个字节,用来计算前导符之后、校验域之前的帧数据(不包括前导符和效验域)的校验值,传输时低字节在前、高字节在后。

4.9.1 16-bit FCS的计算方法

为了程序设计方便,提供以下代码在数据到达接口时用于计算FCS 的一种查表算法,供参考。 /*

* u16 represents an unsigned 16-bit number. Adjust the typedef for

* your hardware.

* Drew D. Perkins at Carnegie Mellon University.

*

* Code liberally borrowed from Mohsen Banan and D. Hugh Redelmeier.

*

*/

typedef unsigned short u16;

/*

*

* FCS lookup table as calculated by the table generator.

*

*/

static u16 fcstab[256] = {

0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,

0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,

0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,

0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,

0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,

0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,

0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,

0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,

0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,

0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,

0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,

0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,

0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,

0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c, 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78 };

#define PPPINITFCS16 0xffff /* Initial FCS value */

#define PPPGOODFCS16 0xf0b8 /* Good final FCS value */

/*

* Calculate a new fcs given the current fcs and the new data.

*/

u16 pppfcs16(fcs, cp, len)

register u16 fcs;

register unsigned char *cp;

register int len;

{

ASSERT(sizeof (u16) == 2);

ASSERT(((u16) -1) > 0);

while (len--)

fcs = (fcs >> 8) ^ fcstab[(fcs ^ *cp++) & 0xff];

return (fcs);

}

/*

* How to use the fcs

*/

tryfcs16(cp, len)

register unsigned char *cp;

register int len;

{

u16 trialfcs;

/* add on output */

trialfcs = pppfcs16( PPPINITFCS16, cp, len );

trialfcs ^= 0xffff; /* complement */

cp[len] = (trialfcs & 0x00ff); /* least significant byte first */

cp[len+1] = ((trialfcs >> 8) & 0x00ff);

/* check on input */

trialfcs = pppfcs16( PPPINITFCS16, cp, len + 2 );

if ( trialfcs == PPPGOODFCS16 )

printf("Good FCS\n");

}

4.9.2 FCS 表发生器

下列代码生成用于计算FCS-16的查询表。

/*

* Generate a FCS-16 table.

*

* Drew D. Perkins at Carnegie Mellon University.

*

* Code liberally borrowed from Mohsen Banan and D. Hugh Redelmeier. */

/*

* The FCS-16 generator polynomial: x**0 + x**5 + x**12 + x**16. */

#define P 0x8408

/*

* NOTE The hex to "least significant bit" binary always causes * confusion, but it is used in all HDLC documents. Example: 03H * translates to 1100 0000B. The above defined polynomial value * (0x8408) is required by the algorithm to produce the results

* corresponding to the given generator polynomial

* (x**0 + x**5 + x**12 + x**16)

*/

main()

{

register unsigned int b, v;

register int i;

printf("typedef unsigned short u16;\n");

printf("static u16 fcstab[256] = {");

for (b = 0; ; )

{

if (b % 8 == 0)

printf("\n");

v = b;

for (i = 8; i--; )

v = v & 1 ? (v >> 1) ^ P : v >> 1; printf("\t0x%04x", v & 0xFFFF); if (++b == 256) break; printf(","); }

printf("\n};\n"); }

4.9.3 FCS 举例:

源地址为00,目的地址为1419D ,读取DL/T-645-1997规约的9010数据项

下行:0xAA 0x0C 0x9A 0x01 0x01 0x1C 0x27 0x10 0x01 0x43 0xC3 0x39 0x59 0x16

上行:0xAA 0x10 0x15 0x0F 0x01 0x1C 0x27 0x10 0x81 0x43 0xC3 0x9B 0x34 0x33 0x33 0xCD 0xB0 0x16

4.10. 结束符

结束符的长度是1个字节,采用二进制00010110B (16H )。

附录A :载波网络控制命令帧举例

1. 设置地址

1.1请求帧

功能 设置地址 控制码 =00H 帧格式: 01

A10x

A20

A2x

00H

A 0

16H

长度

控制特征字 源地址 广播地址 校验

前导

地址数据(长度不可变,6个

字节的十六进制数, 高位在

前, 低位在后)

结束

注:本请求命令采用广播地址发布,要求被设置的从节点有相应的按键(开关)与该命令配合,

在命令发布的全部时间内按下按键者响应,其它不响应。

1.2确认帧

功能 确认帧 控制码 =00H

010

目的地址

源地址

A1x

A 0

A x

00H

2. 读取地址

2.1请求帧

功能 读取地址 控制码 =01H 帧格式:

源地址 目的地址

注:本请求命令采用广播地址发布,要求被设置的从节点有相应的按键(开关)与该命令配合,

在命令发布的全部时间内按下按键者响应,其它不响应。

2.2正常应答帧

功能 正常应答帧 控制码 =01H

目的地址 源地址

3. 读取从第M 节点开始的N 个侦听到的节点信息

3.1请求帧

功能 读取侦听数据 载波控制码 =02H 帧格式: 01

A 0x 0

A1x

02H

M

N

长度

校验 地址特征 源地址 目的地址

前导 控制

建议M 、N 小于50。 3.2正常应答帧

功能 正常应答帧 控制码 =02H 01

A 0x 0

A1x

02H

M1

N1

结束

FCSh 16H

侦听数据 目的地址 源地址 M1:侦听到的节点的数量;

N1:本帧传输侦听到的节点的数量;

GX :侦听数据,传输时地址进行缩位处理,缩位算法参考地址域缩位算法,高位在前,低位在后;

侦听数据格式为:

表号 + 1字节信号品质 + 1字节中继级别和侦听次数。 其中侦听信号品质格式为:

中继级别和侦听次数格式为:

中继级别

侦听次数

4. 使能主节点检测相邻主节点信道通信状态

4.1请求帧

功能 使能主节点检测相邻主节点信道通信状态 载波控制码 =04H

源地址

目的地址

M 为单字节16进制数,表示保持状态时间(秒)。

使能节点主动处于接收状态,将保持接收状态时间内的接收报文上传; 4.2确认帧

功能 确认帧

目的地址 源地址

5. 节点主动上报使能

5.1请求帧

功能 节点主动上报使能 控制码 =05H 帧格式:

5.2确认帧

功能 确认帧 控制码 =05H

目的地址

源地址

源地址 目的地址

6. 广播召读漏抄节点地址

6.1请求帧

功能 广播召读漏抄节点地址 载波控制码 =06H 帧格式:

6.2正常应答帧

功能 正常应答帧 控制码 =06H 源地址

广播地址

目的地址 广播地址 节点地址

节点地址:应答节点的地址信息,压缩的6个字节的BCD 码,高位在后。

7. 节点点名

7.1请求帧

功能 节点点名 控制码 =07H 帧格式:

7.2确认帧

功能 确认帧 控制码 =07H

目的地址

源地址

源地址 目的地址

8. 测试载波控制器功率

8.1请求帧

功能 测试载波控制器的功率 载波控制码 =08H 帧格式:

010

源地址 源地址 T 为单字节十六进制数,表示发送时间01~3C(十六进制)。 非广播命令,只针对源地址进行测试。 8.2正常应答帧和确认帧

功能 通信命令接收成功后,将返回命令状态应答帧(命令接收成功一帧数据),详见13中的命令状态应答帧格式。

A1x

A10

A1x

08H

16H

9. 测试载波设备功率

9.1请求帧

功能 测试载波控制器的功率 载波控制码 =09H 帧格式:

A1x

A20

A2x

09H

16H

01

源地址 目的地址 T 为单字节十六进制数,表示发送时间01~3C(十六进制)。 非广播命令,针对目的从节点进行测试。 9.2正常应答帧和确认帧。

功能 通信命令接收成功后,将返回命令状态应答帧(命令接收成功和当前通道忙闲状态两帧数据),详见13中的命令状态应答帧格式。

10. 获取厂商代码和版本信息

10.1请求帧

功能 获取厂商代码和版本信息 载波控制码 =60H 帧格式:

010

10.2正常应答帧

功能 正常应答帧 控制码 =60H

源地址

目的地址

A1x

A20

A2x

60H

010x 0…A2x 60H W 0

W 3V 0 … V 416H

目的地址 源地址 数据域

W 0…W 3(ASCII码) 说明:

W 0W 1:为厂商代码, 我公司使用TC ,高位在前;

W 2W 3:为芯片代码,TCC081对应C1, TCS081对应S1,TCM081对应M1

,高位在前; V 0…V 4:格式为YYMMDDXXXX(5字节BCD 码),表示年月日、芯片版本,高位在前。

11获取主节点版本信息

11.1请求帧

功能

获取主节点版本信息 载波控制码 =61H 帧格式:

010

源地址

源地址

A1x

A10

A1

x

61H

11.2正常应答帧

功能 正常应答帧 控制码 =61H

010x 0

12x

61H

W 0

W 3V 0 … V 416H

源地址 源地址 数据域

W 0…W 3(ASCII码) 说明:

W 0W 1:为厂商代码, 我公司使用TC ,高位在前;

W 2W 3:为芯片代码,TCC081对应C1, TCS081对应S1,TCM081对应M1,高位在前; V 0…V 4:格式为YYMMDDXXXX(5字节BCD 码),表示年月日、芯片版本,高位在前。

12. 载波通信错误应答

功能 载波通信错误应答 控制码 =30H

目的地址

注:错误信息字ERR 定义:

00H--载波通信超时;

源地址

13. 命令状态应答

功能 命令状态应答 控制码 =31H

目的地址 源地址

注:通信命令接收成功后,将返回命令状态应答帧。 命令状态字(STA )定义:

0 保留

命令状态 0:未处理 1:已处理

第3相状态 保留

保留

保留

0:忙 1:闲

第2相状态 0:忙 1:闲

第1相状态 0:忙 1:闲

附录图1命令状态字定义

附录B :数据域命令举例

DL/T 645-1997(2007)数据域包括数据标识和数据、密码等,其结构随控制域的功

能改变。

数据域组帧方法如下:

本协议帧格式:

68H

地址域

68H

控制域

长度域

数据域

效验域

结束符

附录图2数据域组帧方法

命令举例: 1. 读数据

1.1主节点请求帧

功能 请求读数据 控制码 C=01H 帧格式:

01

1.2从节点正常应答帧

控制码

数据项标识

功能 从节点正常应答帧 控制码 C=81H

01

数据标识 控制码

1.3从节点异常应答帧

功能 从节点收到非法的数据请求或无此数据

控制码 C= C1H 帧格式:

附录C :中继报文举例

1. 中继节点转发行为描述

中继转发路由节点行为有向下转发和向上转发两个过程。

1.1 向下转发行为实现对主节点或上一级路由节点发送的中继转发命令帧进行帧转发、并减少中继

级别,并启动超时定时器,同时,等待从节点或下一级路由节点的正常响应帧;

1.2 向上转发行为实现将接收到的从节点或下一级路由节点的正常响应帧向主节点或上一级路由

节点进行帧转发、并增加中继级别。

2. 地址域缩位算法举例

假设源地址为00H ;

假设报文为二级中级抄读命令; 地址

源地址 00

压缩前

00H 01

压缩后

01H

一级中继地址12 34 56

78 90 12 0C 22 38 4E 5A 0CH 24 68 112 156 180 25 18 44 70 9C B4 19H

二级中继地址 12 34 56 78 90 34 0C 22 38 4E 5A 22H 00 00 00 00 00 93

目的地址 12 34 56 78 12 34 0C 22 38 4E 0C 22H 00 00 00 00 172 01

附录图3 地址缩位举例

3. 中继转发流程

如附录图3所示。 假设集中器地址为01H ; 假设三个节点相别均为A 相;

DA 为目的节点,A1为一级中继节点、A2为二级中继节点; 下行数据帧为1类报文,上行数据帧为2类报文。

鼎信电力线载波通信链路及应用层协议

TOPSCOMM

说明 代码

前导符帧长度 L F1 说明 代码

前导符帧长度 LF 说明 代码

前导符特征域、AC1

201H 特征域、AC1

帧长度 LF 3 特征域、AC1

地址域

A1

01H

A2 地址域 A2

地址域

01H

DA

DA

DA

控制域控制域控制域数据域

C F

数据域

CF

DATA 数据域

CF

F DATAF DATAF 效验域效验域效验域结束符结束符结束符

命令帧

ٛ主节点

一级中继节点

二级中继节点

(集中器或抄控器)

A1

A2

响应帧

说明 代码

说明 代码

说明 代码

前导符前导符前导符帧长度 LR 3 帧长度 LR 2 帧长度 LR 3 地址特征域r0、AC r1

地址特征域AC0、AC1

地址特征域AC0、AC1

地址域

01H

A1

地址域

01H

A2

地址域

01H

DA

控制域控制域控制域数据域

CR

DATAR 数据域

CR

DATAR 数据域

CR

DATAR 效验域效验域效验域结束符结束符结束符

附录图4中继报文举例

DA

目的节点

TOPSCOMM

鼎信电力线载波通信链路及应用层协议

附录D :传输控制流程

1. 抄读延时控制

载波单字节传输时间:160ms (当载波通信波特率为100bps 时,为80ms )。 对于数据传输,除了计算所有字节传输的时间外,还应加上数据处理时间500ms 。

2. 直接抄读学习流程

集中器刚刚录入载波节点地址,进入零知识学习状态。

集中器首先进行相别标志为00B (三相)的直接抄读学习。如果抄读成功,集中器记录载波抄读学习过程得到的节点相别,并作为节点参数存储到集中器;不成功则进入下一流程。

3. 中继抄读学习流程

对于直接抄读不成功的载波节点,需要集中器启动中继抄读学习。

集中器首先选择中继节点,为有效提高效率,推荐分别三相各选取一只中继节点,连续发送中

继抄读三相各节点命令,过程为:首先进行第1相中继抄读学习;其次进行第2相中继抄读学习;然后进行第3相中继抄读学习;让载波芯片持续处于三相工作状态。

注:关于侦听数据的使用

建议通过学习过程后抄读到中继节点后,集中器读取节点的侦听数据,根据侦听数据中的节点

地址、信号品质、侦听次数等内容,合理选取中继路由进行通信。

4. 抄表流程

集中器已经得相应载波节点的相别知识,进行直接抄读和中继抄读。

集中器需要连续分别发送各相节点抄读命令,例如:同时启动抄读各相节点,即可以是直接抄

读也可以是中继抄读;当一相某节点抄读完成时,立即启动该相下一节点抄读;保证所有通信信道空闲时间最少,具体时序图如下。

鼎信电力线载波通信链路及应用层协议

TOPSCOMM

A

相B

相C

附录图5正常抄读流程简图

TOPSCOMM

鼎信电力线载波通信链路及应用层协议

版 本 历 史

版本/状态 1.0 1.1 1.2 1.3

作者 徐剑英 徐剑英 王敏 王敏

参与者

起止日期 2008年3月30日 2008年7月30日 2008年11月13日 2009年1月15日

备注


相关内容

  • 智能电能表概述
  • 智能电能表概述 一.定义 随着微电子技术的不断发展,集成了CPU .存储器.定时器/计数器.并行和串行接口.看门狗.前置放大器甚至A/D.D/A转换器等电路在一块芯片上的超大规模集成电路芯片(即单片机) 出现了.以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的"智能化测 ...

  • 基于ARM的蓝牙无线通信模块的设计
  • 湖南文理学院 课程设计报告 课程名称: 嵌入式系统课程设计 专业班级: 应用电子技术09201班 学生姓名: 崔 剑 指导教师: 袁 里 弛 完成时间: 2011年12月25日 报告成绩: 卷 首 摘 要 传统工业数据通信系统以单片机为下位机采集系统.PC 构建的数据中心以及RS232等有线方式构建 ...

  • 智能家居行业分析:发展核心是智能安防
  • 粤港通分析师D.G.认为,智能家居未来发展的核心在智能安防领域.智能安防将成为智能生活系统中不可或缺的一部分.随着安防企业对民用安防产品的关注,家庭网络摄像机.家用红外报警器.门磁探测器.烟雾报警器.漏水检测器也成为智能家居产品的发展方向. 下表列出了目前A股市场上涉及智能安防的部分上市公司. 一. ...

  • 城市照明智能管理系统
  • 城市照明智能管理系统 随着城市的发展,作为城市公用设施的城市路灯照明系统对人民生活和交通安全起着非常重要的作用.对于城市公共照明系统来说,采用智能化的管理系统是实现能源节约.减少能源浪费.满足人们生活要求.实现现代化城市靓丽风景的科学解决方案. 本公司基于绿色物联网技术研发的VL-LAMS 无线互联 ...

  • 低压电力线载波通信的应用与发展_魏春娟
  • 低压电力线载波通信的应用与发展 魏春娟 (上海电力学院计算机与信息工程学院,上海200090) 摘 * 要:低压电力线载波通信以其覆盖范围广.连接方便.应用潜力巨大的显著特 而被日益关注,成为近年来研究的热点.在介绍低压电力线载波通信特征的基础点, 上,分析了正交频分复用和扩频技术在低压电力线载波通 ...

  • 分户计费系统技术手册1
  • 多联式空调(热泵) 机组分户计费系统 珠海格力电器股份有限公司 目 录 一.多联式空调(热泵) 机组分户计费系统概述 .......................... 3 二.多联式空调(热泵) 机组分户计费系统 .............................. 4 1. 多联式空调 ...

  • 基于现场总线的智能照明控制系统分析与应用
  • 一.引言 计算机从它产生的那天就开始了在自动控制系统中的应用.早在20世纪60年代,为了提高控制精度和灵活性,人们提出了直接数字控制(DDC):进入20世纪90年代后,随着计算机网络技术的迅速发展并迅速在控制系统中得到应用,即集散控制()很快占领了工业控制领域的主导地位:在20世纪80年代末期,为了 ...

  • 电力科技企业实习报告
  •   姓名:xx   时间:2012年7月14日-----9月16日   一.概述   为期2个月的实习结束了,我在这两个月的实习中学到很多,都是学校和课堂所根本学不到的知识,受益非浅。xx集团中国领先的电力能源计量和系统供应商,学到的不只是知识更是职业精神和文化。感谢xx给我的这次机会。   二.学 ...

  • 电能计量结课论文
  • 沈 阳 工 程 学 院 题目:电能计量装置分类及智能电能表在计量管理中 电能计量技术结课论文 姓 名: 王秋弟 学 号: 2008310109 学 院: 沈阳工程学院 专业班级: 测控技术与仪器081 班 任课教师: 雷彦华 2011年 12 月 1 0 日 的应用 摘要 电力的生产和其他产品的生产 ...