当前位置:文档之家› 智能电表红外通信协议的分析和验证

智能电表红外通信协议的分析和验证

基于智能电表的红外通信协议的

分析与验证

林正红周晓彤杨沙李茂姝蒋璐

(西南科技大学信息工程学院,四川绵阳)

摘要:随着多功能智能仪表技术的逐步完善和单片机技术的发展,红外通信技术已经为电力系统自动抄表提供了一种可行的解决途径。本文在介绍红外线通信的基本原理的基础上,根据电力行业标准《DL/T546-2007多功能电能表通信协议》的要求,具体分析和验证了在智能电表应用中的红外通信协议。同时,设计合理的模块分别模拟真实电表和读表模块,采用软硬件相结合的方法验证智能电表红外通信协议的正确性。

关键字:智能电表;红外通信;协议

Abstract: With multi-functional smart meter technology gradually improved and the development of microcontroller technology, infrared communication technology has provided a viable solution for the automatic meter reading of power system. This paper describes the basic principles of infrared communication, concretely analyses and verifies the infrared communication protocol of the smart meters’ application which is based on the power industry standard "DL/T546-2007 multifunctional energy meter communication protocol". The modules are also designed to simulate the real meter and meter reading module, using the method of combining software and hardware to verify smart meter infrared communication protocol is correct. Keywords: smart meters, infrared communication, protocol

1、红外通信原理

红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。接收端将接收到的光脉转换成电信号,再经过放大、滤波等处理后送

给解调电路进行解调,还原为二进制数字信号后输出。红外通信是基于调制的载波通信,其载波信号是按一定频率进行幅值调制的红外光。调制频率有36kHz、38kHz、40kHz,其中38kHz应用最广泛。红外通信的载波信号由红外发射二极管产生。当传输数据“1”时,只需使发射管截止而不发射红外光即可。当传输数据“0”时,就必须按照调制频率f(对应的周期为1/ t)的要求,控制发射管导通t/2时间然后截止t/2时间,并循环变化直至数据“0”传输结束。

简而言之,红外通信的实质就是对二进制数字信号进行调制与解调,以便利用红外信道进行传输;红外通信接口就是针对红外信道的调制解调器。

2、智能电表的红外通信模块

2.1、红外通信协议的介绍

红外通信的协议有很多种,比如IRDA标准、TinyTP、IrOBEX、IrCOMM等等。但是,以下的红外通讯协议都是采用电力工业部《DL/T546-2007多功能电能表通信协议》,本协议为主从结构的半双工通讯方式。红外抄表器为主站,多功能电度表为从站,每个多功能电表均有各自的地址编码。通讯链路的建立和解除均由主站发出的信息帧来控制。每帧由帧起始符、从站地址域、控制码、数据长度、数据域、帧信息、纵向校验码及帧结束符等7个域组成。帧格式如表1所示。每次通讯都是由主站向按信息帧地址域选择的从站发出请求命令帧开始,被请求的从站根据命令帧中控制码的要求做出响应。在数据编码方面,为提高传输效率和可靠性,传输时发送方数据域按字节进行加33H处理,接收方的数据域按字节减33H处理。

表1 信息帧格式

注:68H——帧起始标志;A0~A5——从站(此处为电表)的地址;C——控制码;L——数据长度;DATA——数据域;CS——校验码;16H——帧结束标志。

2.2、实际电表部分

TP1-读表模块红外接收头的接收引脚TP2- 读表模块串口的发送引脚

TP3-读表模块红外发射头的发送引脚TP4- 读表模块串口的接收引脚

图 1 红外协议验证框图—实际电表

2.2.1 发送数据的分析

PC机通过USB转串口和读表模块的红外发送头,发送一条读电表的指令(即利用单相红外抄表的软件发送000000000038这个表号),并将TP3连接到串口调试助手上观察,得到发送的数据(即抄表头模拟主机发送的数据)如下:

FE FE FE FE 68 38 00 00 00 00 00 68 11 04 33 33 34 33 EA 16

对这段数据的分析如下:

1.FE FE FE FE为主机(抄表头)唤醒从机(电表);

2.68为起始域;

3.38 00 00 00 00 00为电表号;

4.11为控制码(含义为主站发送命令帧,从站正确应答,无后续数据帧,读数

据)

5.04为数据域字节数;

6.33 33 34 33为数据域(包含数据标识,密码,操作者代码,数据,帧序列等,

数据域的结构随着控制码的功能改变而改变),传输时,发送方加上33H,接收方减去33H.都减去33H以后,为00 01 00 00 (字节从高到低排列) 对应的是当前正向有功总电能。如果电表收到这样一串信息,会回送这个数据标识,并在其后添加上总电能的具体值(总电能的具体值也要做减去33H的处理)。

7.EA为校验码,即(68 +38+ 00 +00+ 00 +00+ 00+ 68+ 11 +04 +33+ 33 +34 +33

的值),但是不计超出256的值;

相关主题