1 RS-485总线通讯的特征
RS-485是在RS-422的基础上发展起来的,能完结一点对多点的通讯,也能完结多点双向通讯,但同一时间只能有一个发送器,其他的为接纳器,即一主多从的通讯方法。现在市场上可供挑选的RS-485总线芯片许多,其间包含可支撑128个节点的MAXl487和支撑400个节点的SP485R。运用该类芯片可直接组成简略的通讯网络。
RS-485收发器选用平衡发送、差分接纳的方法,即在发送端将TTL信号转换成差分信号输出,在接纳端,接纳器将差分信号转换成TTL信号。因而具有较高的共模按捺才能。一起接纳用具有较高的灵敏度,能检测低达200mV的电压,数据传输可达1 200m。如下降数据传输速率,则通讯距离可更长。当通讯速率为1 200bps时,理论上通讯距离可达15km。当传输距离超越300m时,在网络的二端需接进120Ω的匹配电阻,以削减因阻抗不匹配而引起的反射,吸收噪声,然后有用按捺噪声搅扰。MAXl487的接口电路示意图如图1所示。
2网络结构及实施方案
在实践运用中,RS-485总线芯片本身所具有的节点数已不能满意需求,而往往需求一个接点巨大的杂乱局域网络(如几千乃至几万个节点)来完结。衔接在该网络中的各类设备能彼此通讯,而且能够在必定节点数范围内依据实践需求恣意扩展,并做到即插即用。管理职工经过随身携带的笔记本电脑,接进网络中的任一接点,可了解整个网络的运转状况。结适用户运用程序,管理职工还可取得衔接于该网络上相关设备的运转数据。
针对以上要求,局域网络有必要由多片具有RS-485总线的芯片衔接而成。本文评论节点数≤32768点的局域网络,运用MAXl487作收发器。依据RS-485总线的特征;在任一时间,整个网络只容许有一个发送器,其他的有必要处于接纳状况。而接进网络中的设备随时可能有多个设备一起传输数据的要求,如不进行和谐,就会呈现总线竞赛现象,使总线电子紊乱,整个网络无法作业。
将一片MAXl487所能衔接的128个节点作为一个子网,整个局域网络由若干个子网组成。一切节点不直接和用户设备相连,而是经过一个节点模块和设备衔接。这是一种二端带通讯口的智能化模块,内带一个单片机体系,用于履行局域网络通讯协议,担任BS-485总线和设备间的通讯,一起参加整个局域网络的通讯和谐作业。模块的一端为RS-485总线,用于衔接网络,另一端是RS-232总线(或TTL电平)与用户设备、仪器仪表或智能传感器衔接。
子网中每个节点模块都有自己的地址,用1个字节表明,即00H~7FH。而在整个局域网络中,每个子网也有自己的子网地址,也用1个字节表明,即00H~FFH。这样,在整个局域网络中每个节点就有自己专一的用2个字节的二进制数表明的地址,相似Internet中的IP地址,其地址格局如图2所示。以00H子网05H节点为例,其间的"X"为无效位
规则每个子网中的地址为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子网中的OOH节点,而且是该子网中的管理者;当检测到本身地址是"00000000·×0000000"时,就知道自己是整个局域网络的最高管理者。节点模块地址可由用户自行设定。
为了完结即插即用功用,最高管理者有必要守时向整个网络播送,以便搜集网络的运转状况(如是否有新节点加进,是否有节点从网络上退出等)并构成网络状况注册表,依据实践状况实时改写。任何节点都能够向最高管理者取得该注册表,以便管理职工从任一节点上取得网络运转状况。
网络空闲时,最高管理者不断地向整个网络宣布问询,监督是否有数据通讯要求。子网内部的数据通讯由该子网的管理者(节点地址为00H)和谐,只要跨子网传输数据时,最高管理者(子网地址为00H,节点地址也是00H)才会干涉。节点模块中有8KB的SRAM作为数据缓冲区,别的有2KB的E2PROM用于保存注册表等信息。单片机的串行通讯口既要完结RS-485总线的通讯,又要完结由RS-232总线到设备的通讯,所以有必要有通讯口切换功用。平常单片机的串行通讯口总是与RS-485总线相连,只要当设备需求传输数据时才切换到RS-232总线,所以体系还有必要有对设备通讯恳求的检测功用。限于篇幅,软件详细编程在此不作叙说。节点模块的结构如图4所示。
4总 结
理论上该局域网络对节点的扩展没有约束,但考虑到RS-485总线通讯速度的约束,因而网络规划不宜过大。由前面的结构剖析可知,网络的可靠性取决于子网。因为各子网间不会发生串扰,因而网络的可靠性不会随网络的规划扩展而下降。这是一个通用的局域网络,合适任何需求RS-485总线通讯的场合,因而实用性十分强。