《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 基于RS-485总线的可扩展局域网络的研究

基于RS-485总线的可扩展局域网络的研究

2009-10-13
作者:朱桂荣 邹丽新

  摘  要: 介绍了RS-485通信模式的特点,针对局域网络设计中出现的技术问题提出了一种新的基于RS-485总线的局域网络设计方案。

  关键词: RS-485总线  单片机  局域网络

 

  RS-485总线通信模式由于具有结构简单、价格低廉、使用方便、通信距离和数据传输速率适当及可靠性较高等特点而被广泛应用于仪器仪表、智能化传感器集散控制、智能化大楼、监控报警、铁路通信和电力数据采集等领域。

  本文将对RS-485总线模式下组成的可扩展局域网络作一探讨。

1 RS-485总线通信的特点

  RS-485是在RS-422的基础上发展起来的,能实现一点对多点的通信,也能实现多点双向通信,但同一时刻只能有一个发送器,其余的为接收器,即一主多从的通信方式。目前市场上可供选择的RS-485总线芯片很多,其中包括可支持128个节点的MAX1487和支持400个节点的SP485R。利用该类芯片可直接组成简单的通信网络。

RS-485收发器采用平衡发送、差分接收的方式,即在发送端将TTL信号转换成差分信号输出,在接收端,接收器将差分信号转换成TTL信号。因此具有较高的共模抑制能力。同时接收器具有较高的灵敏度,能检测低达200mV的电压,数据传输可达1 200m。如降低数据传输速率,则通信距离可更长。当通信速率为1 200bps时,理论上通信距离可达15km。当传输距离超过300m时,在网络的二端需接入120Ω的匹配电阻,以减少因阻抗不匹配而引起的反射,吸收噪声,从而有效抑制噪声干扰。MAX1487的接口电路示意图如图1所示。

 

 

2 网络结构及实施方案

  在实际应用中,RS-485总线芯片本身所拥有的节点数已不能满足需求,而往往需要一个接点庞大的复杂局域网络(如几千甚至几万个节点)来完成。连接在该网络中的各类设备能相互通信,并且可以在一定节点数范围内根据实际需要任意扩展,并做到即插即用。管理人员通过随身携带的笔记本电脑,接入网络中的任一接点,可了解整个网络的运行情况。结合用户应用程序,管理人员还可获得连接于该网络上相关设备的运行数据。

针对以上要求,局域网络必须由多片具有RS-485总线的芯片连接而成。本文讨论节点数≤32768点的局域网络,使用MAX1487作收发器。根据RS-485总线的特点,在任一时刻,整个网络只允许有一个发送器,其余的必须处于接收状态。而接入网络中的设备随时可能有多个设备同时传输数据的要求,如不进行协调,就会出现总线竞争现象,使总线电平紊乱,整个网络无法工作。

  将一片MAX1487所能连接的128个节点作为一个子网,整个局域网络由若干个子网组成。所有节点不直接和用户设备相连,而是通过一个节点模块和设备连接。这是一种二端带通信口的智能化模块,内带一个单片机系统,用于执行局域网络通信协议,负责RS-485总线和设备间的通信,同时参与整个局域网络的通信协调工作。模块的一端为RS-485总线,用于连接网络,另一端是RS-232总线(或TTL电平)与用户设备、仪器仪表或智能传感器连接。

  子网中每个节点模块都有自己的地址,用1个字节表示,即00H~7FH。而在整个局域网络中,每个子网也有自己的子网地址,也用1个字节表示,即00H~FFH。这样,在整个局域网络中每个节点就有自己惟一的用2个字节的二进制数表示的地址,类似Internet中的IP地址,其地址格式如图2所示。以00H子网05H节点为例,其中的“×”为无效位。

 

 

  规定每个子网中的地址为00H和7FH的2个节点为特殊节点。地址为00H的节点是该子网的管理者,协调子网中的通信,同时也是该子网的一个数据出入口,和上一个地址为7FH的节点连接。地址为7FH的节点为该子网的另一个数据出入口,负责和下一个子网中地址为00H的节点连接。这表示子网之间是由2个背靠背的节点模块通过RS-232总线相连的。

  这2个背靠背的节点模块又是子网之间的中继站。同时还规定00H子网的00H节点,即地址为“00000000·00000000”的节点为整个网络的最高管理者。局域网络宜采用拓扑结构,以提高网络运行效率,而链式结构可增加网络的通信距离。RS-485总线构成的局域网络结构示意图如图3所示(以00H、01H 2个子网为例)。

 

3 节点模块的设计

  该局域网络的关键是节点模块的设计。这也是本局域网络的特色所在,其中软件设计至关重要。节点模块主要完成网络的管理和通信。为了使模块具有通用性,所有节点模块具有相同的结构和软件,只要按照网络协议选择好正确的地址,任一模块都可相互替换。网络中没有专门的网络服务器,任意一个节点模块都具有服务器的功能。哪个节点模块充当服务器是由其自身的地址决定的,因此节点模块软件应该具有自动识别地址的功能,以确定自己在网络中的位置和角色。例如,当检测到自身的地址是“00001010·×0000000”时,就知道自己是0AH子网中的00H节点,并且是该子网中的管理者;当检测到自身地址是“00000000·×0000000”时,就知道自己是整个局域网络的最高管理者。节点模块地址可由用户自行设定。

  为了实现即插即用功能,最高管理者必须定时向整个网络广播,以便收集网络的运行情况(如是否有新节点加入,是否有节点从网络上退出等)并形成网络状态注册表,根据实际情况实时刷新。任何节点都可以向最高管理者取得该注册表,以便管理人员从任一节点上获得网络运行状态。

  网络空闲时,最高管理者不断地向整个网络发出询问,监视是否有数据通信要求。子网内部的数据通信由该子网的管理者(节点地址为00H)协调,只有跨子网传输数据时,最高管理者(子网地址为00H,节点地址也是00H)才会干预。节点模块中有8KB的SRAM作为数据缓冲区,另外有2KB的E2PROM用于保存注册表等信息。单片机的串行通信口既要完成RS-485总线的通信,又要完成由RS-232总线到设备的通信,所以必须有通信口切换功能。平时单片机的串行通信口总是与RS-485总线相连,只有当设备需要传输数据时才切换到RS-232总线,所以系统还必须有对设备通信请求的检测功能。限于篇幅,软件具体编程在此不作叙述。节点模块的结构如图4所示。

 

 

4  总  结

  理论上该局域网络对节点的扩展没有限制,但考虑到RS-485总线通信速度的限制,因此网络规模不宜过大。由前面的结构分析可知,网络的可靠性取决于子网。由于各子网间不会产生串扰,因此网络的可靠性不会随网络的规模扩大而降低。这是一个通用的局域网络,适合任何需要RS-485总线通信的场合,因此实用性非常强。

参考文献

1 余济临.用RS-485构成远程分布式数据采集与控制网络.电子技术,1999;(4)

2 陈曦,曾礼.基于智能模块的RS-485通信协议转换路由器.自动化仪表,2002;(3)

3 邹丽新,翁桂荣.单片微型计算机原理.苏州:苏州大学出版社,2001

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。