位置:51电子网 » 技术资料 » 通信网络

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

发布时间:2008/5/29 0:00:00 访问次数:437

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

为什么要进行通信?

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

两个通道

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

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

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

通信原理

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

图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为模后的求和数,从开始标志到终止标
  • 在设计电表时,通信往往是最后考虑的问题。目前的电表设计需要收集越来越多的信息,并且能够自动地把这些信息传输到电力公司。在max3120电表参考设计中,通信子系统的工作既是用于这一目的。

    为什么要进行通信?

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

    两个通道

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

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

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

    通信原理

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

    图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为模后的求和数,从开始标志到终止标
  • 相关IC型号

    热门点击

     

    推荐技术资料

    耳机的焊接
        整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
    版权所有:51dzw.COM
    深圳服务热线:13692101218  13751165337
    粤ICP备09112631号-6(miitbeian.gov.cn)
    公网安备44030402000607
    深圳市碧威特网络技术有限公司
    付款方式


     复制成功!