应用笔记 3791

电表设计中的红外和RS-485通信

By: Ben Smith

摘要 : 在设计电表时,通信往往是最后考虑的问题。目前的电表设计需要收集越来越多的信息,并且能够自动地把这些信息传输到电力公司。在MAXQ3120电表参考设计中,通信子系统的工作既是用于这一目的。

为什么要进行通信?

在设计电表时,通信往往是最后考虑的问题。传统电表使用老式的被动通信方式传输用电信息:抄表员定期抄表并读取数值。而新一代电表需要收集的信息越来越多。如果对工作人员进行培训,用手工方式从每个电表收集大量数据,并且还要满足精度要求,似乎是不切实际的想法。取而代之的是利用电子装置自动把用电信息传输到电力公司。在MAXQ3120电表参考设计中,通信子系统既是用于这一目的。

两个通道

MAXQ3120电表参考设计中包括两个通信通道:一个用于与手持终端通信的红外(IR)通道,另一个是完全隔离的多点RS-485通道。

两个通道使用相同的通信协议,但具体工作情况有所不同。红外通道始终是点对点模式;手持终端每次只能与一个电表通信。由于手持终端不能同时访问多个电表,因此电表可单方面响应广播消息。但是,在网络环境中,这种工作方式会导致严重的数据冲突。

RS-485通道的工作情况与之不同。由于网络中有许多电表(虽然不会有一个以上的主机),没有电表能够发送数据包以响应网络广播。主机发出一个消息后,主机收发器需要经过一定延时,为接收数据做好准备。因此,谨慎的措施是在电表响应之前设置一个传输延时,以防数据丢失。

通信原理

尽管有传输通道之分,通信协议所使用的原理却是相同的。首先,链路特征相同:通道以1200比特每秒的速率进行通信,处于异步工作方式,使用一个终止位和偶校验。其次,如图1所示,链接协议是相同的。最后,用于两个通道的命令含义相同:在IR通道上发送命令,与在RS-485通道上发送命令所起到的作用相同。

图1. 通信协议示意图
图1. 通信协议示意图

数据包具有以下结构:

  • 开始标志: 1个字节,0x68.
  • 电表地址: 6个字节,为变量。网络中的每个电表都具有一个唯一的网络地址。相比之下,主机(运行网络的个人计算机或手持终端)没有地址;主机用来启动所有通信过程,是电表发送任何消息的目标。因此,地址字段的功能是主机向电表发送消息的目标地址,以及电表向主机发送消息的地址。地址99 99 99 99 99 99作为广播地址予以保留。
  • 分隔符号: 一个字节,0x68.
  • 命令字节: 一个字节,具有以下格式:

命令字节中包括如下字段:
  • 一个方向位: 当数据包由主机发送给电表时清零,当数据包由电表发送给主机时置1。
  • 一个误差位: 用于指示电表检测到主机发送的消息中存在误码。
  • 一个冗余位: 指示电表对某条消息的响应时间过长,该消息已被划分成多条消息。
  • 一个功能字段::
    • 0x01: 操作,表示主机要求读取电表的某些寄存器值。
    • 0x02: 读下一个数据,表示主机接收到多条消息标记,要求读取下一部分。
    • 0x03: 重读操作,指示主机没有正确接收上一个消息段,要求重新发送该消息段。
    • 0x04: 操作,主机要求在电表寄存器中存储一个值。这个数据包括2个字节的寄存器地址和长度可变的数据。
    • 0x08: 同步操作。这个数据字段包含时间和日期。如果电表的内部时钟与消息中给出的时间和日期不同,并且相差小于10分钟,那么内部时钟调整为给出的时间,否则,内部时间不变,返回一个误差指示信号。
    • 0x0A: 设置网络地址,始终是一条广播消息。该数据字段包含6个字节的地址,电表将它作为网络地址。电表的设置地址按钮激活表明它接受该地址。
    • 0x0C: 改变波特率命令。波特率可以更改为给定的速率,但只在本次事务中有效,以后又会恢复到1,200bps。
    • 0x0F: 改变密码命令。该数据字段包含8个字节,包含:(1) 超级用户密码标志符(通常为零); (2) 超级用户密码; (3) 改变密码的标志符;(4) 新密码。
    • 0x10: 清除最大需求量寄存器命令。当电表接收到该命令时,会清零全月中几个子域中的最大需求寄存器。
  • 长度标记: 一个字节。表示整个消息的长度,从开始标志到终止标志。
  • 数据: 变量。
  • 校验和: 一个字节。这是消息中所有字节以256为模后的求和数,从开始标志到终止标志。 红外通道工作特性
  • 终止标志:一个字节,0x16

红外通道工作特性

红外通道按照简单的音频调制技术工作。即有红外光束(38kHz调制频率,波长850nm)时表示‘0’,无红外光束表示‘1’。下图(图2)显示了字母‘A’ (0x41)的传输过程。

图2. 红外通道音频调制技术示意图
图2. 红外通道音频调制技术示意图

通过MAXQ3120 CPU中的调制器传输红外线的物理通道很容易实现,该调制器集成了其中一个定时通道的输出和其中一个UART通道。通过一个外部集成的红外接收器进行解调(图3)。

图3. 一个外部集成的红外接收器,用于解调
图3. 一个外部集成的红外接收器,用于解调

RS-485通道工作特性

RS-485通道有两个特殊要求,因此比红外通道更加复杂:RS-485通道采用精确的半双工通信,必须与线缆进行电气隔离。第一个必要条件可以借助于Maxim的半双工收发器实现,可达到满意的效果。第二个必要条件可以通过使用价格低廉的光藕进行电气隔离,见图4

图4. 通过使用一个Maxim的半双工收发器和价格低廉的光耦实现RS-485通信。
图4. 通过使用一个Maxim的半双工收发器和价格低廉的光耦实现RS-485通信。