基于Proteus的RS485总线串行通信的设计与仿真
位置: 首页 >活动总结 > 团日活动总结 > 文章内容

基于Proteus的RS485总线串行通信的设计与仿真

2021-02-23 08:26:20 投稿作者: 点击:

摘 要:RS485总线通信广泛应用于通信距离在千米以内的通信工程中。文章详细介绍了RS485总线的工作原理及串行通信方式,且为便于进一步深入理解RS485总线的应用,提出基于Proteus的RS485总线串行通信的设计与仿真,并以数码管显示为例,给出了其硬件电路的设计以及软件思路设计,最后利用Proteus软件对其进行了仿真。

关键词:RS485总线;串行通信;Proteus仿真

中图分类号:TP274 文献标志码:A 文章编号:1671-7988(2018)07-75-05

Abstract: RS485 bus communication is widely used in communication engineering with communication distance within a thousand meters. This paper introduces the working principle of RS485 bus and serial communication, and for further understanding of the RS485 bus, the design and Simulation of RS485 bus serial communication based on Proteus, and the Digital tube display system as an example, presents the design of its hardware and software design, finally has carried on the simulation using the Proteus software.

Keywords: RS485 bus; serial communication; Proteus simulation

CLC NO.: TP274 Document Code: A Article ID: 1671-7988(2018)07-75-05

前言

随着科学技术不断地发展,现场总线技术也得到了很大的提升。当需要的通讯距离在几十米到千米左右时,在工业控制上广泛采用RS485现场总线来进行通讯,RS485总线的通讯线只需要两根双绞线就能够实现多个站点联网,形成主从分布式结构的系统。RS485总线串行通信方式以其简洁灵活、设备简单、性价比高,且能够进行长距离的通信,使其在工业控制系统如镀锌温度控制系统、抄表系统中,特别是中小型数据采集和控制系统得到了广泛的应用。为加深对RS485总线串行通信的理解,本文提出基于Proteus的RS485总线串行通信的设计与仿真,并以数码管显示为例,给出了其软硬件的设计,并使用Proteus对其进行了仿真,仿真结果验证该总线通讯方式的正确性。

1 系统总体设计

在现代工业自动控制技术、智能仪器仪表等技术领域中,使用PC机来作为工业自动控制的管理上位机已经越来越广泛,且符合控制技术的发展要求。由于PC机的串行接口为标准的RS232C接口,若下位机设置有RS232C接口,两者可直接连接,但RS232C通信距離很短,仅为十几米,而且在工业控制中,显然无法完成较长距离的通信。因此选用RS485的串行接口标准可实现PC机的远距离通信,进而对所属的下位机进行管理,控制其完成相应的工作任务。图1为该系统的总线通讯示意图,下位机系统中有多个从机,RS232转RS485的转换器与从机系统中RS485接口芯片通过平衡双绞线制的通信电缆线进行连接,每一个从机都有该接口芯片电路。上位机PC使用串口DB9与RS232转RS485的转换器即可,电脑端使用适合的上位机软件编写控制界面,也就是工业控制中所提到的人机交互界面用于来控制下位机系统和将下位机的数据信息实时反馈给用户。

该图中上、下位机系统通讯方式为典型的主从分布式,也称为轮叫轮询方式,即主机按顺序依次发送问询数据帧或控制数据帧,在规定的时间内对应下位机相应主机(上位机),发送回答帧或数据帧,其他下位机不响应主机,所有下位机扫描完毕后,重复以上过程。RS485总线网络就是基于这种方式,作网络连接时,标准接口可连接32个从设备,增强型接口转换系统可连接64个、128个、256个等,其总线网络组成框图如图2 所示。

2 硬件电路设计

2.1 RS485电平转换电路

对于RS485标准串行接口来说,其电气标准采用的是正逻辑,逻辑“1”代表+200mV~+6V,逻辑“0”代表-200mV~-6V,逻辑不变时代表-200mV~+200mV,RS485的接口特点在于采用双端平衡输出驱动,双端差分接收。而PC机主板外设串口为DB9端口,其引脚定义如表1所示。

该接口采用的RS232C标准串行接口,其电气标准采用的是负逻辑,逻辑“1”代表-3V~-15V,逻辑“0”代表+3V~+15V,逻辑不变时代表-3V~+3V,由此可知,RS485电平和RS232的电平是不同的,故两者连接使用时,需要进行电平转换。对RS232串口电平转TTL电平,选用MAX232芯片即可完成此功能的转换,对RS485电平转换成RS232电平,选用MAX487芯片来完成,在实际应用中,设计的RS232转RS485电路原理图如图3所示。

在图3中,DB9为PC端的串口,其与电脑主板CPU的串口通讯模块连接,MAX487的A、B信号线与从机中的RS485接口连接,MAX487芯片的DE、RE为发送和接收的控制端。以PC机的RS232作为参考端,当作为接收端时,数据从RS485端向左通过转换电路的同路流向RS232端,此时,接收端不会发送数据出去给RS485端,处于等待状态,DB9的3脚TXD输出逻辑1,经过MAX232内部的反相器调整后输出TTL高电平,接着再经过三极管Q1进行反相,输出低电平,当RE、DE都为低电平时,MAX487芯片处于接收状态,接收下位机发送来的数据帧;当作为发送端时,数据从RS232端向右通过转换电路的通路流向RS485端,在其输出负逻辑低电平,TX管脚为低,经过芯片内部的反向器调整对应输出TTL低电平,再经过三极管Q1的反向,输出高电平,在RE、DE都为高电平时,MAX487芯片处于发送状态,将上位机的控制命令帧发送给等待接收的下位机的RS485接口。在进行Proteus仿真软件中,其元器件库中串口DB9的名称为COMPIM,该模块内部带有RS232电平转换功能,可直接与主机的相连,无需外部再添加MAX232电路进行转换,在软件仿真中和实际应用中的电路在设计上会存在细微差别,但通讯流程是不变的,故在Proteus软件仿真中可对RS232转RS485电路设计如图4所示。

2.2 从机中RS485接口电路设计

在下位机系统中,与上位机进行RS485总线通讯时,必须设计自身的RS485接口电路才能够与上位机的RS232转RS485电路接口进行匹配才行,否则无法进行通讯。本文在Proteus中设计的从机的RS485接口芯片也是MAX487,其接口电路如图5所示。

在图5中,芯片的6、7脚与上位机的MAX487芯片的6、7脚一一对应连接,两连线之间的电阻为其阻抗匹配,芯片RO、RE、DE、DI引脚输出的TTL电平,故可直接与下位机MCU的IO口直接相连,在实际应用中,可在其与MCU的IO之间加入光耦进行电气隔离,对输入、输出电信号其隔离作用,使设计的电路具有良好的抗干扰能力、抑制共模干扰等优点。

2.3 从机主要功能

本文数码管显示为例来说明RS485总线通讯的整个工作流程,数码管显示应在从机系统中,用来反映上位机发送来的数据,即显示上位机来控制该从设备的数码管显示的数字,如果显示不是上位机想要显示的数据或者无显示,则说明本次基于RS485总线网络的通讯是不成功的,基于此,本文在Proteus中设计的从机数码管显示电路如图6所示。

在图6中,采用了一位数码管进行显示,单片机选用的是AT89C51,图中有按键复位电路、晶振电路,单片机的P1口用来设置此从机的地址,即通过检测P1.0~P1.7这8个I/O口的高低电平来确定本从机地址,并且是唯一的,必须与其他从机地址不同,这是非常重要的,假如有相同的从机地址出现,那么上位机就不知道该与谁进行通信,继而造成通信错误,致使本次通讯不成功。MAX487的通信端直接由单片机进行控制,其依据的是制定的RS485的通讯协议。

2.4 主机功能电路设计

前面提到的主机即为上位机PC端,其除了物理串口RS232 DB9外,对下位机的控制操作区需用上位机软件来实现,本文在设计上位机的同时,也在Proteus中设计了主机电路,与上位机相呼应,给以更加直观的了解主从机之间是如何进行的控制通讯的,设计的主机功能电路如图7所示。

在图7中,通过2个按键ST0、ST1电路来设置从机地址,4X4按键用来选择数码管需要显示的段码,P0口连接的数码管从机显示的数字进行反馈。

3 软件设计

3.1 RS485通讯协议的制定

根据RS485通信芯片的接口特点可知,其传输方式是异步串行、半双工的方式,即同一时刻主机与从机之间只能是一个发送数据,另外一个接收数据,数据在通信过程中以报文的形式,一帧一帧地发送,主从机之间形成点对点通信。每个报文的帧长根据自己定义的数据格式而定,其字符类型可为ASCII码或16进制数,工业上对RS485总线的通信协议帧的制定,分为主机命令帧和从机响应帧两部分,如下表1和表2。

针对本文设计RS485总线通信的数码管显示,可对上面的帧格式进行简化,制定如下:采用十六进制字符,帧头为“AAH”,紧跟后面的是地址帧,如“00H”则代表1号从机,“01H”代表2号从机,依次类推,地址帧后面紧跟着是数据帧,即从机中数码管需要显示的信息内容,接着就是帧尾,设计帧尾的字符为“0DH”。故本设计的数据帧为“AAH”+地址帧+数据帧+“0DH”;从机的响应帧也为此帧,对接收到帧里每个字节进行解析,符合匹配则进行下一个字节的解析,直到接收到幀尾,解析后作出应答,则本次总线网络通信传输结束。

3.2 上位机软件设计

上位机为PC,用户只能通过相应的软件来对下位机进行控制,本文选用VB上位机软件来制作上位机通讯界面,继而完成对下位机的总线网络通讯。设计的上位机界面如下图8所示。

在图8中,通过相应的控件来设置数据的收发,该软件中里的通讯控件为MSCommon控件,在Proteus仿真中该控件的串口为虚拟串口,借助虚拟串口软件,在Proteus里设置相应的配对虚拟串口来完成通讯,其控件的OnComm事件程序如下:

3.3 主从机控制流程

在Proteus中设计了主机和从机部分,其中的主机主要用来反映上位机控制思路。主机中采用查询方式,从机采用中断方式编程,本文设计的主机主程序流程图和从机主程序流程图分别如图9所示和如10所示。

4 Proteus仿真

整个系统的原理图、VB上位机运行效果以及Proteus仿真效果如图11所示。从图11中可知上位机发送控制数据帧,其命令为AA+03+36+0D,经过虚拟串口,再经过RS232转RS485电路到从机,从机对接收到的数据帧进行解析,同时图中的主机也对数据信息进行实时反馈,在Proteus中良好地完成了基于RS485总线网络的通讯。

5 结论

本系统通过结合RS485总线网络通信、下位机数码管显示系统,较好地阐述了RS485总线的使用,并借助Proteus仿真软件来完成基于RS485总线网络主从机之间通讯流程,良好地切合现代工业控制上使用的RS485网络总线通讯模式。同时本文的设计对大学本科相关专业教学了解工业控制上总线通讯的知识,具有良好地参考价值。

参考文献

[1] 韩路平,骆丹妮.RS485工业控制网络的设计[J].工业控制计算机,2017,30(11):32-33.

[2] 方胜利,梅建伟,罗敏.基于RS485通信的分布式双闭环低温回火炉温度监控系统设计[J].湖北汽车工业学院学报,2017,31(03):55 -58+67.

[3] 高晓光,刘庚.基于RS-485总线控制的采煤机用语音报警器设计[J].煤矿机电讯,2017(5):24-26,29.

[4] 郭文会.基于单片机与RS485通信芯片的智能家居控制系统设计[J].自动化与仪器仪表,2016(09):244-246.

[5] 魏列江,董万玉,李娜娜,李旭方,孟犁. RS-485总线在大型液压泵站多PC分布式监控系统中的应用研究[J].液压与气动,2014(02): 71-74.

[6] 杨芳.基于主从分布式串行多机通信的电机控制系统的设计与实现[J].上海电力学院学报,2013,29(03):234-237.

[7] 瓮嘉民,任鹏飞.基于Proteus的RS-485总线系统仿真设计[J].河南科学,2012,30(02):227-230.

[8] 何青,胡汉春,代刚,张邦力.基于RS-485总线的PC机与单片机串行通讯仿真系统的设计[J].机电产品开发与创新,2011,24(01): 147-148.

[9] 张修太,马金元,翟亚芳,秦长海.基于RS485的温度采集系统设计[J].微计算机信息,2010,26(29):102-104.

[10] 瓮嘉民,周成虎. 基于RS-485总线和Proteus仿真的温控系统设计[J].河南工程学院学报(自然科学版),2010,22(04):27-29.

猜你喜欢
推荐图文
毕业设计
  • 办公表格
    办公表格

    打开文本图片集【摘要】目的:探讨结节性甲状腺肿合并甲状腺癌的治...

  • 谈判技巧
    谈判技巧

    打开文本图片集甲状腺是长在我们气管前面形似蝴蝶的器官,它和神经...