基于RS485多机通信系统的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于RS485多机通信系统的设计

基于RS485多机通信系统的设计   【摘要】本设计是基于RS485总线的多机通信系统。本设计是利用51系列单片机模拟RS485多机通信,系统由一个主机和两个从机组成,从机的地址是可以通过拨码开关设置进而可以表示多个从机。在本设计当中主从机之间采用modbus的03指令进行通信,从机读取的值是18B20的温度数据,通过485总线传给主机,主机显示读取从机温度的值,同时从机也显示自己采集到的温度的值。   【关键词】RS485;单片机;modbus;多机通信;18B20      1.前言   在当今数字化的时代里,多机通信系统也已经广泛地渗透到科学研究、工程设计、军事技术、文化艺术以及人们的日常生活等各个领域。通过通信的手段实现了信息交换、资源共享已经成为一种必然和趋势。在多机通信的发展中基于RS485的多机通信[1]也多被广泛的运用于实际的运用当中。RS485串行接口标准及两级单片机主从式结构,实现了成本低、传输距离远、抗干扰能力强的通信。在仪表设计方面为了满足仪表数据的远程采集和处理,对多个仪表间的通信以及仪表与主机间的通信提出了要求。本设计是在常州和普电子公司实习期间参与其仪表接口的开发,主要设计仪表间RS485通信,同时使用的通信协议是工业上面比较通用的ModBus协议。通过本设计可以实现多种仪表间的相互的通信。   2.硬件设计   2.1 硬件电路图   本设计主要是分为主机和从机两模块[2]的设计(硬件电路图如图2-1)。主机系统是由电源、晶振电路、RS485串口电路及1602显示电路、ISP下载接口、电容等组成;从机系统是由电源、晶振电路、RS485串口电路、拨码开关及1602显示电路、ISP下载接口、电容、18b20测温电路等组成。   2.2 RS485串行芯片选择   MAX485接口芯片是Maxim公司的一种485接口[3]芯片。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可。A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。SP485E芯片是由业内专业的通信接口器件厂商Sipex公司设计生产的ESD保护增强型RS-485收发器,增强的ESD使SP485E可承受住±15kV人体放电模式(Human Body Model)和IEC1000-4-2接触放电模式(Contact Discharge)。SP485E芯片完全符合RS-485和RS-422协议的要求,数据传输速率也是可高10Mbps(在线路带负载的情况下)。通过上面的介绍发现SP485E芯片不仅具MAX485的性能同时还有保护的功能,在价格上面也是相当的所以SP485E适合本设计。   3.软件设计   3.1 modbus协议消息   在Modbus协议中主机设备可以和从机设备进行一对一的通信,也可以通过广播的方式和所有从机设备进行通信[4]。如果单独通信,从机设备返回一个消息作为相应回应,如果是以广播的方式进行查询,则将不作出任何回应。Modbus协议建立主机设备查询格式:设备地址、功能代码、所有要发送的数据、错误检测域。本设计是采用03的指令码进行通信的模拟,主机发送03指令从,机回应指令,进行一对一的通信。   从机设备回应的消息也Modbus协议的形式,单片机的从机接收到主机的数据之后进行判别返回数据。包括确定要运用的域、要返回的数据和错误检测域。倘若是在消息接收的过程中发生错误,或者从机设备不能执行相应的指令,从机设备将建立一个错误消息并把它作为回应发送给主机设备。在本设计中使用的是标准的RTU模式进行通信,采用的是03号标准指令读取寄存器的值。   3.2 主从机软件流程图   单片机主机流程图如图3-1所示。主机首先发送03指令代码给两个从机(001和002),发送完毕后,就使主机处于接收[5]的状态,接收来自从机的返回的数据,并显示返回对应从机的数据。从机的流程图如图3-2所示。从机一开始初始化以后处于接收的状态,当有数据到串行口时便接收,同时要判断所接收帧的数据是否超时,如果超时就复位。在接收到数据后要判断地址和指令是否是本机的地址和对应的03号指令,如果是则接收数据帧,不是则放弃。在从机接收到发送给自己的数据帧后,返回的从机的地址,对应的指令和数据,同时把地址和数据显示在自己的显示器上面。   4.总结   在实验当中,一开始没有使用CRC校验时由于传输数据的距离

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档