首页 > 范文大全 > 正文

基于RS―485的多机通信系统设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于RS―485的多机通信系统设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:为实现远距离异地多点的温度监控,提出一种基于rs-485协议的主、从机结构的测温系统。通过RS-485组网,主机与从机之间进行通信,从机将采集的温度信息传送给主机,并执行主机的控制命令。给出了系统总体结构、主要硬件电路和软件实现方法,设计了主、从机之间的通信协议,解决了RS-485总线多机通信的问题。同时主机通过I2C总线也可实现异地多点的温度采集,应用结构简单、使用方便。

关键词:RS-485总线;多机通信;主、从机模式;硬件地址自动识别

1 前言

在工业领域,主从式的设备监控管理模式应用越来越来广泛。在一对多的通信模式中,由于从机与主机、 从机与从机之间的物理位置相距较远、运行环境复杂、干扰大,使用 RS-232串口通讯(最长15m)完全不能达到要求,而通讯距离远(最长1200 m) 、抗干扰能力强的 RS-485 串口通讯协议完全能够胜任工业中复杂的电磁环境。RS-232总线只能实现一对一的通信,而RS-485 总线可挂接 32 台设备。RS-485总线通讯方式以其简洁灵活、硬件接口简单、软件易实现、性价比较高、传输距离较远、误码率较低、抗干扰能力强等优点在工业控制系统别是中小型数据采集和控制系统得到了广泛的应用。

在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络,这种通信接口可以十分方便地将许多设备组成一个控制网络,而且应用简单,性价比高。但是,当前的RS-485网络通信软件设计较为复杂,主要是因为设备地址判别往往是采用软件判别的方法,这种方法效率低且不易加入从节点,本文将提出一种解决上述问题的方法。

2 系统总体结构

系统的结构是主、从机的通信模式,主机控制从机,从机硬件自动识别自身地址,对主机的命令做出正确应答。图1是主机控制从机返回当时温度的示例。如系统框图所示,主机通过I2C组成控制系统;同时主机通过RS-485网络控制从机的各个功能模块,组成一个通信网络。

主机对从机的合理、有效的控制。由主机采用广播地址的方式广播从机,从机响应后,主机对从机设置相应的控制任务。从机要服从主机的调度、支配,从机通过自动地址识别的方式应答主机。受控制的从机根据命令进行监控,执行命令等。未受控制的从机等待主机再一次的广播。所有的从机只响应主机发来的广播地址,对于不能匹配主机发送地址的从机无法响应主机的控制命令。

图1. 多机通信系统结构

3 关键硬件电路

RS-485通信电路如图2所示,为了提高系统通信质量,加入了光耦隔离,前端为3.3V系统,后端为5V系统。这里只对信号隔离,并不对电源进行隔离,如果是高可靠性的场合建议将电源通过DC-DC隔离。

RS-485接口电路的主要功能是:将来自微处理器(单片机)的发送信号TX通过“发送器”转换成通讯网络中的差分信号,也可以将通讯网络中的差分信号通过“接收器”转换成被微处理器接收的RX信号。任一时刻,RS-485收发器只能够工作在“接收”或“发送”两种模式之一,因此,必须为RS-485接口电路增加一个收/发逻辑控制电路。另外,由于应用环境的各不相同,RS-485接口电路的附加保护措施也是必须重点考虑的环节。

为了更加可靠地保护RS-485网络,确保系统安全,在RS-485的输出端增加有保护,如图3所示。双向TVS 管P6KE6V8 并联在RS-485 总线A、B 线两端,钳位于6.8V是用来保护RS-485 总线的,避免RS-485总线在受到外界干扰时产生的高压而损坏RS-485 收发器。连接至A引脚的上拉电阻R20、连接至B引脚的下拉电阻R11用于保证无连接的MAX485芯片处于空闲状态,提供网络失效保护,以提高RS-485 节点与网络的可靠性。

图2. RS-485通信电路

图3. RS-485输出电路

图4. 多机通信过程框图

4 系统软件设计

软件设计主要围绕I2C总线和RS-485网络。I2C总线的设计主要通过软件包的调用进行,对含有I2C接口器件的读写命令来控制从器件。

整个多机通信系统设计的关键在于系统通信模块的实现。一对多的通信模式有别于单一的一对一通信,它采用主从工作模式。由于通信总线上并挂着多台从机,每一台从机都是平等的。主机为了能够识别从机,需要对每一台从机进行编址。这个地址编号在该 RS-485 总线上是独一无二的。当主机需要监控目标从机时,首先发出具有编号的地址帧于 RS-485 总线上,此时总线上的每一台从机都将接收到这个地址帧,并进行判断。若目标地址与自身相符,说明该从机被选中,要求接收发送监控数据,即收发数据帧信息。否则,退出并回到接收地址帧状态。数据的交换过程采用一问一答的方式,主机询问了从机,从机才给予应答,收到应答后,数据交换才继续进行下去。这种方式可以避免多个从机间没有次序的数据通信,扰乱整个网络上数据的传输。

多机通信过程框图如图4。

5 指标参数

本系统温度指标分辨率为0.125℃,测试时间为毫秒(ms)级。本系统显示分辨率为0.12℃,显示小数点后面2位小数。

6 结论

本系统能够稳定实现各点的温度采集,在主机上通过I2C总线控制多点温度采集,同时控制LCD 的显示。另外主机的I2C总线上挂有一个实时钟,加有后备电源,在系统断电的情况下仍然可以稳定运行3―5天。

参考文献

[1] 王 琦, 秦娟英, 周 伟, “用RS-485构成总线型多点数据采集系统,” 计算机自动测量与控制,2000, 8(6): 45-47.

[2] 张毅刚, 新编MCS51单片机应用设计, 哈尔滨工业大学出版, 2007.