基于RS_485总线主从通信协议及其实现
RS485总线通信系统的设计及实现毕业论文
RS485总线通信系统的设计及实现毕业论⽂本科学⽣毕业论⽂论⽂题⽬:RS485总线通信系统的设计与实现学院:年级:专业:姓名:学号:指导教师:摘要⽆论是⼯业控制还是信号测试领域,实现不同通讯协议的数据融合都有着迫切需要。
但是⽬前市场中存在的协议转换器只能满⾜两种协议之间的转换,如RS485转RS232,USB转RS485等,但是经常存在着多种数据总线并存的情况,因此研制多种总线协议转换的设备有着⽐较⼤的实际意义。
除此之外,⽬前接⼝标准的RS485总线通信协议不统⼀,需设计⼀个⾼效稳定的通信协议。
基于以上原因,本论⽂提出⼀种基于⾼速RS485的多总线通信系统。
整个系统包含多个RS485节点,各个节点包含的通讯接⼝包括RS232,RS485和USB,从⽽实现这三类总线的通讯协议的转换。
设计并实现了⼀种适⽤于微机和单⽚机之间串⾏通信的通信协议,采⽤RS485简便,通信可靠性⾼总线标准,可⽤于⼯业测控和控制现场。
实验结果表明,该通信协议是切实可⾏的,达到了预期的设计要求。
关键词RS485总线;主从式;多机通信;通信协议AbstractWhether in the field of industrial control or signal test, the achievement of data fusion which is based on different communication protocol is urgent needed. However, in the current market, protocol converter can only achieve conversion between two protocols, such as RS485 to RS232, USB to RS485 and so on. Cases of coexistence data bus, it has great practical significance to develop an equipment for protocol conversion among different buses.Based on the reasons above, a high-speed RS485-based multi-bus communication system is presented in this paper. The entire system which is used to realize the three categories of bus communication protocol conversion consists of someRS485 nodes, each node contains the communication interfaces including RS232, RS485 and USB. In the practical application, the number of nodes can be changed as required to formsystem, for achievement of data fusion between a variety of bus communication protocol.Key wordsRS485 bus; Serial Bus; Protocol Conversion; Communication protocol⽬录摘要............................................................................................................................. I Abstract .....................................................................................................................II 第⼀章绪论 (1)1.1 研究背景及意义 (1)1.2 RS485总线通信系统研究现状 (2)第⼆章RS485介绍 (4)2.1 RS485标准 (4)2.2 MAX485芯⽚介绍 (4)2.3 RS485总线组⽹⽅式 (5)2.4 RS485⽅式构成的多机通信原理 (5)第三章系统协议及硬件设计 (7)3.1 RS485通信协议设计 (7)3.1.1 物理层设计 (7)3.1.2 数据链路层设计 (8)3.1.3 应⽤层设计 (8)3.1.4 通信协议 (8)3.2 系统硬件设计 (10)3.2.1 PC与RS485总线的接⼝ (10)3.2.2 RS485⽅式构成的多机通信 (10)3.2.3 单⽚机与PC机串⾏通信系统构成 (11)第四章系统的软件实现 (12)4.1 上下位机的关系 (13)4.2 下位机通信软件的设计 (14)4.3 上位机通信软件的设计 (16)4.3.1 通信协议设计 (16)4.3.2 多机传输 (17)4.3.3 差错控制 (18)4.4 程序设计 (19)第五章系统问题解决措施 (20)5.1 总线隔离 (20)5.2 失效保护 (20)5.3 电磁⼲扰问题 (20)结论 (22)参考⽂献 (23)致 (24)第⼀章绪论所谓通信,不仅仅要实现数据的传输,更应该体现准确性,也称可靠性传输,最好具有⼀定的纠错和检错能⼒。
一种RS-485总线自定义通信协议及其应用
一种RS-485总线自定义通信协议及其应用(转)1 概述在工业控制系统中,集散控制是目前最常用的测量控制方式。
通常,一个集散控制系统由一个主控计算机(上位机)和一系列基于MCU的前端智能仪器(下位机)构成,它们之间再通过一定的物理媒介连接在一起,以完成必要的通信功能。
对于一个特定的测控系统而言,所要测控的对象和所采取的测控算法是个有个性的东西;而上位机和下位机之间的通信可以看作是一系列命令流和数据流的流动,所采用的通信协议是用来保证传输过程的可靠和高效,是具有共性的,能够也应该有一个统一的设计标准。
在集散控制系统中,普遍采用RS-485总线作为底层通信接口。
它具有稳定可靠、编程简单、组网快速、价格低廉的优点,但在协议设计实现方面并没有一个统一的规范,导致不同的控制系统常常采用不同的通信协议。
因此,有必要结合我们的工作实践,设计一种有通用性的高效可靠的协议,从而简化基于RS-485的分布式测试系统通信部分的设计,既能够保证通信的稳定可靠,又能够把精力集中到测控系统算法的设计上。
通信协议的设计通常采用分层的机构,如ISO的OSI参考模型。
这里也采用分层的结构来描述我们自定义的基于RS-485总线的通信协议,如图1所示。
图1中,物理层是利用物理媒介实现物理连接的功能描述和执行连接的规程,提供用于建立、保持和断开物理连接的机械的、电气的、功能的和过程的条件;数据链路层用于建立、维持和拆除链路连接,实现无差错传输的功能;应用层针对不同的应用,利用链路层提供的服务,完成不同通信节点之间的通信。
下面结合每一层讨论这种自定义协议的具体设计,重点介绍如何实现可靠高效的通信,如何处理通信中错误,如何编程实现。
2 协议的设计2.1 物理层协议设计RS-485通信网络是一种总线式的结构,如图2所示。
上位机(以PC为例)和下位机(以基于MCS-51的智能仪器为例)都挂在通信总线上,物理层的通信协议由RS-485标准和MCS-51的多机通信方式共同方式。
基于RS-485的通信协议设计
第1章绪论1.1 设计要求1、确立一个温度数据采集系统方案2、数据采集部分硬件设计3、编程实现温度数据的采集与用LCD显示当前温度4、设计采集模块与PC通信的硬件电路以及通信协议。
1.1.1设计题目和设计指标设计题目:数据采集模块设计设计指标:1.数据显示2.单片机模拟量采集3.RS-485通信接口设计4.通信协议设计1.1.2 设计功能主要功能:实现数据采集,并将采集的信息显示在输出设备上,并通过总线传输出去。
第2章 系统总体设计方案总体设计思路是该系统分为两分,第一部分是系统前端,该部分包括温度数据采集和数据显示两部分(由于我们采用DS18B20数字温度传感器,所以不需要数模转换部分。
随着数字信号处理技术的发展,很多传感器都有数模转换功能)。
第二部分是系统后台,该部分包括RS-485总线传输网络,RS232/485转换器和PC 机三部分。
2.1、工艺流程图基于RS-485总线的数据采集系统在现实中应用广泛。
RS-485总线的接线少,成本低,通信距离长,最大传输距离可达1.2Km ,最大可以连32个驱动器和收发器,最大传输速率可达到2.5Mb/s ,由此可见RS-485是高速传输,远距离,多点通讯制定的标准,因此本次设计选用RS-485串行通信标准。
RS-485总线基于RS-485总线的温度采集网络由于时间有限,我们对课设要求进行具体分析以后,仅以基于RS-485总线的温度数据采集网络为例,对基于RS-485总线的数据采集网络工作流程作以诠释。
PC/PLCRS232/485转换器数字温度传感器 数字湿度传感器 数字速度传感器基于RS-485总线的温度数据采集网络工作流程图2.2、方框图工作流程介绍数字温度传感器DS18B20AT89C51单片机LCD1602液晶RS-485传输电路虚拟终端器(模拟PC/PLC )NYYNNY系统程序流程图开始等待延时计算校验和并加入虚拟终端器显示LCD 显示 DS18B20初始化正确? 发送数据缓冲区中数据DS18B20正常 DS18B20异常 读取当前温度 LCD 忙状态?数据是否发送完?第3章硬件设计和器件的选择3.1、系统电器接线图3.2、器件选择数字温度传感器DS18B20,灵敏度高,自带A/D转换模块,价格便宜AT89C51应用广泛,技术成熟第5章系统软件设计温度采集与显示部分通信协议部分/*******************************************************************//*向PC远程发送数据,先校验*//******************************************************* ************/uchar calc_chksum(uchar *buf,uchar counter){uchar resu;uchar i;resu=0;for(i=0;i<counter-1;i++) //计算校验和不包括校验字节本身{resu+=buf[i];}return resu;}/**********************只发送不接收**********************************/void send_frame(void){uchar i;uchar chksum;uchar cmd;send_buf[0]=0xCC; //起始字节send_buf[1]=(uchar)(meter_id>>8 ); //发送表号高八位send_buf[2]=(uchar)(meter_id&0xff); //发送表号低八位send_buf[3]=(uchar)(romm_id>>8 ); //发送房间号高八位send_buf[4]=(uchar)(romm_id&0xff); //发送房间号低八位send_buf[5]=cmd; //命令字节send_buf[6]=data_len; //发送数据域长度for(i=0;i<data_len;i++){send_buf[7+i]=data_buf[i]; //将数据填到发送缓冲中}chksum=calc_chksum(&send_buf[0],data_len+7); //计算校验和send_buf[7+data_len]=chksum;send_buf[8+data_len]=0xDD; //结束字节for(i=0;i<8+data_len;i++) //发送数据{SBUF=send_buf[i];while(0==TI);TI=0;}}结论单回路控制系统结构简单,维护方便,造价低,所以我们对题目所要求的单回路控制系统没有进行改进。
基于RS485主从串口通讯协议的设计
一
系统中得到极为广泛的应用 。然而 R s 4 8 5 通讯标准
l丝 竺 塑 f 塑 堡 f墼塑 塑 l 墼 竺 堡 l
收 稿 日期 : 2 0 1 2 — 1 2 — 1 1
作者简 介 : 郝 涛( 1 9 8 6 -) , 男, 湖北 广水 人 , 硕士研究生 , 研究方 向为嵌人式系统与智能信 息处理 ; 陆宣博 ( 1 9 8 6 一) , 男, 广西 钦 州人 , 硕士研究生 , 研究方 向为机 电系统信号处理 。 3 8
R S 4 8 5 总线以其物理结构实现简单 , 只需两根连 主设备可单独和从设备通信 ,也能 以广播方式 线, 便 可实现双工通信 , 占用系统资源较少 , 性能上 和所有从设备通信 。 如果单独通信 , 从设备返 回一消
不但传输距离远 , 最大能传输 3 公里 , 而且传输速度 息作为回应 , 如果是 以广播方式查询的 , 则从设备不 较快 , 最快可达 1 0 M b p s , 抗干扰能力强 , 可满足绝大 作任何 回应。协议建立 了主设备查询的格式有 : 设备
能代码将被修改 以用于指 出回应 消息是错误 的 , 同 息时 , 也把 自己的地址放人 回应 的地址域 中, 以便主 时数据段包含 了描述此错误信息 的代码 。错误检测 设备知道是哪一个设备做 出回应 。地址 0 是用作广 域允许主设备确认 消息内容是否可用。 播地址 , 以使所有的从设备都能认识。 3 . 3 如何处理功能域 消息帧中的功能代码域包含了一个字符 8 B i t s 。
485一主多从通信协议
485一主多从通信协议一、485一主多从通信协议的基础概念哎呀,宝子们!今天咱们来唠唠这个485一主多从通信协议哈。
这个协议呢,就像是一个小团队里的指挥系统。
主设备就像队长,它可以跟好多从设备进行通信呢。
想象一下,主设备就像一个老师,从设备就像一群学生,老师可以给每个学生发消息,也可以接收学生的反馈。
485通信协议的工作原理其实还挺有趣的。
它主要是通过差分信号来传输数据的,这种方式能让信号在比较长的距离传输时还能保持稳定。
就好比我们在很远的地方传话,如果只是小声喊可能就听不清了,但如果用一种特殊的方式,像这个差分信号一样,就能让话传得又远又清楚。
二、485一主多从通信协议的硬件连接这部分可重要啦!在硬件连接方面呢,我们得注意很多小细节。
首先得有合适的电缆,这个电缆的质量直接影响通信的质量哦。
就像我们走在路上,如果路坑坑洼洼的,肯定不好走呀,电缆质量不好,数据传输就会出问题。
然后就是终端电阻的设置啦。
终端电阻就像是一个小守门员,它能防止信号在传输过程中反射回来,造成干扰。
如果没有这个终端电阻,数据就可能乱成一团麻,就像一群没有秩序的小动物到处乱跑一样。
三、485一主多从通信协议的数据传输格式这里面的数据传输格式也是很有讲究的。
它有规定好的帧格式,就像我们写信有固定的格式一样。
比如说有起始位、数据位、校验位和停止位。
起始位就像信的开头,告诉接收方,“嘿,我要开始发消息啦”。
数据位就是我们真正要传输的内容,就像信里的正文。
校验位呢,是为了检查数据在传输过程中有没有出错,就像我们检查信有没有写错字一样。
停止位就表示消息发送结束啦。
四、485一主多从通信协议在实际中的应用宝子们,这个协议在实际生活中的应用可广泛了呢。
在工业自动化领域,很多设备之间的通信都是靠这个协议的。
比如说工厂里的各种传感器和控制器之间的通信,传感器就像小侦察兵,把采集到的数据通过这个协议传输给控制器,控制器再根据这些数据做出决策。
在智能家居方面也有应用哦。
485串口服务器原理
485串口服务器原理
485串口服务器原理是基于RS-485通信协议实现的。
RS-485是一种差分串行通信协议,广泛应用于工业自动化、智能家居等领域。
在RS-485通信中,主设备通过RS-485总线向从设备发送数据,从设备通过RS-485总线接收数据。
485串口服务器的基本原理是将RS-485总线的数据传输到以太网中,同时也可以将以太网的数据传输到RS-485总线上。
它通过转换器将RS-485信号转换为以太网信号,实现数据的双向传输。
在485串口服务器中,每个从设备都通过一根请求线与主设备相连。
当从设备需要与主设备通信时,先通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发送中断,释放总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。
在接收方,判断开始485通信帧的条件是设备不报告接收错误的情况下,接收到0x7E字符之后的第一个非0x7E的字符。
判断帧结束的条件是帧接收已经开始,遇到第一个尾标志字符。
在两个0X7E间若收到0X7D,则丢弃,并将其后的一个字节数据与0X20异或。
当链路层的通信帧接收已经开始的情况下,设备报告字符接收错误,此时应当丢弃本帧,结束帧的接收,重新开始
搜索下一帧。
基于RS-485协议实现单片机与单片机之间的通讯
基于RS-485协议实现单片机与单片机之间的通讯摘要:介绍以RS-485为通讯方式的两个单片机之间的通讯,同时给出单片机与单片机之间的通讯程序设计。
关键词:RS-485通讯单片机串行通讯0 引言随着工业化的发展,人们对现场仪表的要求越来越高,为了满足控制室对现场的实时监控,确保现场数据的实时获取,需要用一种方式将现场情况实时反映给控制室,我们研究了一种方便简单功、能优越的通讯方式:用RS-485实现现场单片机和控制室单片机的实时通讯。
通过操作控制室单片机就能实现对现场单片机的操作,节省了大量的时间以及相应的人力。
1、RS-485通讯协议RS-485采用平衡传输方式,连接时需要在传输线上接终接电阻。
RS-485可以采用二线与四线方式,二线制可实现真正的多点双向通信,采用四线连接时,即只能有一个主(Master)设备,其余为从设备,无论是四线还是二线连接方式总线上最多可接32个设备。
RS-485最大传输距离约为1219米,最大传输速率为10Mb/s。
平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。
只有在很短的距离下才能获得最高速率传输。
一般100米长双绞线最大传输速率仅为1Mb/s。
RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗,终接电阻接在传输总线的两端。
在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。
本设计中采用的485通讯元件是75LBC184,该器件带有内置高能量瞬变噪声保护装置,可提供可靠的低成本的直连(不带绝缘变压器)数据线接口,不需要任何外部元件。
2、单片机与单片机的通讯系统本设计中单片机选用C8051F020,该单片机有100个功能引脚,其中有64个通用I/O端口。
C8051F020内有2个增强型串行口:UARTO和UART1,这两个串行口都可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。
75LBC184与单片机连接时只需将R和D端分别与单片机的RXD 和TXD 相连即可。
RS485主从式多机通讯协议
RS485主从式多机通讯协议1.RS485简介2.主从式多机通信协议RS485主从式多机通信协议允许一个主设备控制多个从设备,实现主设备与从设备之间的数据传输和通信协调。
主从式通信分为两个角色,即主机和从机。
主机是整个系统的控制中心,负责向从机发送指令和收集数据。
从机是被控制的设备,负责执行主机发送的指令并向主机发送数据。
3.数据传输格式4.通信流程-主机发送请求:主机向从机发送请求指令。
-从机应答:从机接收到请求指令后,执行相应操作,并向主机发送应答数据。
-主机接收应答:主机接收到从机的应答数据。
-主机发送下一个请求:主机根据需要继续发送下一个请求指令,重复上述步骤。
5.地址识别与从机选择在RS485主从式多机通信协议中,每个从机都有一个唯一的地址,主机通过地址来识别并选择要与之通信的从机。
通常采用软件设置的方式,主机在发送请求指令时会将目标从机的地址加入请求帧中,从机在接收到请求帧后,会根据地址判断是否为自己的请求。
6.错误处理机制RS485主从式多机通信协议中,为了保证通信的可靠性,需要引入一些错误处理机制。
例如,可以使用CRC校验来检测数据传输过程中的错误,并进行错误重传。
此外,还可以使用超时机制来处理通信过程中出现的超时情况。
7.适用范围总结:RS485主从式多机通信协议是一种常用于工业控制领域的通信标准。
它采用主从式通信模式,支持一个主设备控制多个从设备。
数据传输以帧为单位,采用差分技术提高信号传输的可靠性和抗干扰能力。
通信流程包括主机发送请求、从机应答、主机接收应答和主机发送下一个请求。
地址识别与错误处理机制是确保通信可靠性的重要部分。
RS485主从式多机通信协议适用于工业自动化等环境中的数据传输和控制应用。
RS_485总线通信协议的分析和实现
[ 1 ] 阳宪惠. 现场总线技术及其应用 [M ]. 北京 : 清华大学出版 社 , 1999: 2562258.
[ 2 ] Jan Axelson. Designing RS2485 Circuits[ J ]. The Computer Ap2 p lications Journal , 1999 ( 107) : 20223.
集卡的核心元件是由 ZWORLD 公司生产 BL2000 对总线可靠性的影响包括噪音电平 、噪音频率.
单片机.
⑥测试对故障设备检测功能 ,它包括通信故
测试内容如下 :
障 、断电故障 、变送器故障 、电缆的短路和断路等.
①测试高地址位的采集卡总线获得情况 ,能
表 1为测试的主要结果 ,其中总线获得率是
1. 1 物理层协议
RS2485是由美国电子工业协会 ( E IA )制订并 发布的串口标准. 它是在 RS2422 基础上制定的 , 它允许多 个 发 送 器 和 接 收 器 连 接 到 同 一 条 总 线 上 ,且可以进行双向通信. 本系统网络拓扑结构为 总线型 ,总线采用 5类屏蔽双绞线 ,其特征阻抗为
RS-485和Modbus通信协议及工作原理
RS-485和Modbus通信协议及工作原理在(工业控制)、电力通讯、(智能)仪表等领域,通常情况下是采用串口(通信)的方式进行数据交换。
最初采用的方式是(RS)232接口,由于(工业)现场比较复杂,各种(电气)设备会在环境中产生比较多的电磁千扰,会导致(信号)传输错误。
1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus 协议,所以今天我们来了解下RS485通信和Modbus通信协议。
什么是串口通信串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并目可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。
(RS-485)协议概述RS-485和RS-232一样,都是审行通信标准,现在的标准名称是(TI)A485/EIA-485-A,但是人们会习惯称为RS485标准,RS-485常用在工业、自动化、汽车和建筑物管理等领域。
RS-485总线弥补了RS-232通信距离短,速率低的缺点,RS-485的速率可高达10Mbit/s,理论通讯距离可达1200米;RS-485和RS-232的单端传输不一样是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B。
通常情况下,RS485的信号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A、B信号线),当到达接收端后,再将信号相减还原成原来的信号。
拓扑结构RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线拓扑结构,在同一总线上最多可以挂接32个节点RS-485总线同12C总线一样支持主从模式,支持点对点单从机模式,也支持多从机模式,不支持多主机模式。
基于rs485总线的主从通信方法
分析Technology Analysis D I G I T C W技术1 组网方式供电数据采集器与智能接触器采用半双工UART接口[1],通过异步串行通信接收和发送信息。
供电数据采集器与智能接触器间有2路RS485总线,每路总线采集4个只能接触器状态。
RS485总线组网方式如图1所示。
图1 RS-485总线组网方式2 主从通信机制2.1 帧结构稳定可靠的通信不仅依赖硬件环境,也依赖于通信协议。
主节点供电数据采集器与从节点智能接触器之间的通信协议如图2所示。
图2 数据桢结构(1)数据帧头:用于标识数据帧的开始,数据帧头字由2个字节组成,主节点发送数据帧头1的值为0xAA,数据帧头2的值为0x55,主节点接收数据帧头1的值为0xEB,数据帧头2的值为0x90。
(2)数据帧ID号:RS485总线上的通信为广播方式,所以每个智能接触器应该有独立地址,判断该数据帧是否应该接收。
(3)命令/数据:数据帧中实际数据,为了保证数据通信可靠性,所有数据以0~9的ASCII码发送,智能接触器收到后再处理。
(4)校验和:用于数据帧的校验,它是除本身外的块中所有字节之和以256为模的二进制补码。
2.2 R S485总线通信2.2.1 主从通信时序控制供电数据采集器与智能接触器的接口采用半双工UART接口,通过异步串行通信接收和发送信息。
RS485总线为半双工通信方式,同一时刻只能有一个节点处于发送状态,否则会引起总线冲突[2]。
供电数据采集器与智能接触器之间的通信采用定时启动方式,供电数据采集器为主设备,智能接触器为从设备,通信启动方式采用定时启动方式,主控站按约定周期向从控站发送数据命令,以启动一次数据传送的通信,直到该次通信所应传送的数据传送完毕,然后主控站才结束这次传送过程,下一个通信周期又重复这个传送过程。
供电数据采集器每50ms轮询一个智能接触器,4个智能接触器共需要200ms完成一次通信。
一次通信包括从主设备发送数据到主设备接收数据完成,通信周期采用定时器实现,定时器周期t为10ms,通信周期T为50ms,一次通信传输过程包括以下4个阶段:一是在通信周期T到来时,调度供电数据采集器发送任务组织发送数据;二是在每个定时器周期t到来时,主设备检测发送数据并启动物理传输;三是智能接触器在每个定时器周期t到来时进行数据查询接收,解析,并组织回复数据;四是供电数据采集器在接收任务周期T到来时进行数据接收、解析。
基于RS485的数据通信协议的设计与实现
( 1 . 模 式 识 别 与 智 能信 息 处 理 四 川 省 高 校 重 点 实验 室 四 川 成 都 6 1 0 1 0 6 ; 2 . 成 都 大 学 信 息 科 学 与技 术 学 院 ,四 J I 1成 都 6 1 0 1 0 6 ; 3 . 成 都 大 学 电子 信 息 工 程 学 院 ,四 川 成 都 6 1 0 1 0 6 ) 摘要: 基 于现 场 可 编程 门 阵 列 ( F P G A) , 设 计 了采 用 R S 4 8 5标 准 的数 据 通 信 协 议 。 其 中 , 高速 信 号接 收 , 采 用同步 4 8 5 通信协议 , 高速 接 口 包括 时 钟 和 数 据 两个 信 号 , 时钟速率 3 . 6 8 6 4 MHz , 利 用 同步 时钟 上 升 沿检 测数 据 。低 速 信 号 接 收 采用异步 4 8 5通 信 协 议 , 波特率 l l 5 . 2 k b p s , 每 字 节 1个起 始 位 , 8个数 据 位 , 1 个 截 止 位 。针 对 高速 数 据 接 收 时 的 情 况. 加入 1 M B 容 量 的静 态存 储 器 S R A M 作为缓存 。 保 证 接 收数 据 的 可 靠 性 。 关键词 : R S 4 8 5 ;现 场 可 编 程 门阵 列 ( F P G A) ;同步 通 信 ; 异步通信 ; S R A M 中 图分 类 号 : T N 9 1 文献标识码 : A 文 章 编 号 :1 6 7 4 — 6 2 3 6 ( 2 0 1 3 ) 1 7 — 0 0 l 9 — 0 4
De s i g n a n d i mp l e me n t o f RS 4 8 5 d a t a c o mmu n i c a t i o n p r o t o c o l
RS485主从式多机通讯协议
RS485主从式多机通讯协议:一、数据传输协议此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息按本协议发出。
1、数据在网络上转输控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。
协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由协议构成从设备回应消息也由协议构成,,包括确认要行动的域、包括确认要行动的域、任何要返回的数据任何要返回的数据任何要返回的数据、、和一错误检测域。
和一错误检测域。
如果在消息接收过程中发生一错误如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在对等类型网络上转输在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。
这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。
在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。
如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。
同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。
3、查询—回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
rs485总线通讯协议
竭诚为您提供优质文档/双击可除rs485总线通讯协议篇一:Rs485通讯协议说明摘要:阐述了Rs-485总线规范,描述了影响Rs-485总线通信速率和通信可靠性的三个因素,同时提出了相应的解决方法并讨论了总线负载能力和传输距离之间的具体关系。
关键词:Rs-485现场总线信号衰减信号反射当前自动控制系统中常用的网络,如现场总线can、profibus、inteRbus-s以及aRcnet的物理层都是基于Rs-485的总线进行总结和研究。
一、eiaRs-485标准在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。
在Rs-422标准的基础上,eia研究出了一种支持多节点、远距离和接收高灵敏度的Rs-485总线标准。
Rs-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:接收器的输入电阻Rin≥12kΩ驱动器能输出±7V的共模电压输入端的电容≤50pF在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关)接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)因为Rs-485的远距离、多节点(32个)以及传输线成本低的特性,使得eiaRs-485成为工业应用中数据传输的首选标准。
二、影响Rs-485总线通讯速度和通信可靠性的三个因素1、在通信电缆中的信号反射在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。
阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。
这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。
消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。
由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。
一种RS_485总线自定义通信协议及其应用
一种RS_485总线自定义通信协议及其应用RS-485总线是一种常用的串行通信接口,适用于多点通信和远距离通信。
在RS-485总线上可以使用自定义通信协议,来实现不同设备之间的通信和数据传输。
本文将介绍一种基于RS-485总线的自定义通信协议及其应用。
一、自定义通信协议的设计在设计自定义通信协议时,需要考虑以下几个方面:1.数据格式:通常包括数据头、数据体和数据尾。
数据头用于标识一个数据包的开始,数据体用于传输实际的数据,数据尾用于标识一个数据包的结束。
2.数据传输方式:可以选择同步传输或异步传输。
同步传输通常使用固定的数据传输速率,而异步传输可以根据实际需求进行调整。
3.数据校验:为了确保数据传输的正确性,通常会采用一些校验算法,例如CRC校验。
发送方在发送数据前会对数据进行校验,接收方在接收数据后也会对数据进行校验,如果校验失败,则说明数据传输中出现错误。
4.地址和命令:每个设备在总线上都有一个唯一的地址,用于标识设备的身份。
在每个数据包中,除了数据外,还应该包含地址和命令信息。
接收方根据接收到的地址和命令来判断下一步的操作。
二、自定义通信协议的应用RS-485总线的自定义通信协议可应用于以下方面:1.远程监控系统:通过RS-485总线实现多个监控设备之间的数据传输,包括温度、湿度、压力等监测数据。
通过自定义通信协议,可以实现数据的采集、传输和处理,并将数据展示在中心监控系统上。
2.工业控制系统:在工业自动化控制系统中,可以使用RS-485总线作为通信接口,将各种传感器、执行器和控制器连接到总线上。
通过自定义通信协议,实现设备之间的数据交换和控制指令的发送。
3.楼宇自控系统:楼宇自控系统包括照明控制、空调控制、门禁系统等。
通过RS-485总线和自定义通信协议,可以实现这些设备之间的数据传输和控制指令的发送,从而实现对楼宇设备的集中管理和控制。
4.电力系统监测与控制:电力系统中包含各种传感器和执行器,如电流传感器、电压传感器、断路器等。
基于RS485总线的数据采集系统通信协议的设计与实现
上位机向下位机写地址修改命令 上位机向下位机写参数修改命令 上位机向下位机写设备启动命令
上位机向下位机写设备关闭命令
上位机向下位机写设备复位命令 上位机向下位机写设备测试命令
上位机向下位机写设备时间命令
响应信息帧格式为: 由下位机向上位机返回信息的帧格式, 响应信息帧格式如表 3 所示。
S TAT
RES P
刀dt: a 为要发送的资料 a 刀返回值为 1 成功发送, 返回值为 。 发送不成功, 超时等待时间 lo s om .
i SnR S (ni e ca dt) n ed E P us nd r a; t g h a 刀dt: aa 为要发送给上位机的资料 刀返回值为 1 成功发送, 返回值为 0 发送不成功。
在网络层中还有对 C M端口 O 进行起始位、 资料位、 停止位、 波特率设置的St i e n 初始化函数及对端 It 口 进行关闭的 Coe l 函数( s 程序代码略) 。
4 结束语
本文设计实现了基于 R -45 S 8 总线的数据采集系统通信协议, 实现了点到多点的通信, 经过现场测 试, 本通信协议简单可靠, 有较强的实用性。在通信过程中需要注意的是 R -45 S 8 差动输出状态转换成
表 3 响应信息帧格式
L N E C DATA C R
1 B 2 0 0 5 B - B I
2 B 1 B
起始字节
状态字节
响应字节
资料长度
数据域位
校验字节
终止字节
SA T T为下位机状态寄存器中保存的当前系统状态, 用于上位机判断下位机当前工作状态,E P RS
33 8
( 冶金 自动化》04 20 年增刊
为响应字节, 下位机 向上位 机返 回的命令 响应 信息字节, 正确 响应 时 R S = " 错误 响应 时 E P " ! ,
基于RS485主从通信协议的实现
基于RS485主从通信协议的实现
王苒;汤冬谊
【期刊名称】《现代电子技术》
【年(卷),期】2003(026)024
【摘要】介绍基于RS485的主从总线进行通信的分层体系结构设计,及其在8051单片机上的具体实现,程序使用KeilC51编写.
【总页数】3页(P67-68,71)
【作者】王苒;汤冬谊
【作者单位】大连电子学校教务中心,辽宁,大连,116000;大连电子学校教务中心,辽宁,大连,116000
【正文语种】中文
【中图分类】TP336
【相关文献】
1.基于FPGA的RS485主从通信协议 [J], 刘纯;徐敬;
2.基于RS485的数据通信协议的设计与实现 [J], 鄢涛;杜小丹;刘永红;胡庆
3.基于FPGA的RS485主从通信协议 [J], 刘纯;徐敬
4.VxWorks中基于RS485总线的串口通信协议及实现 [J], 张爱卿;唐普英;汪康洪
5.基于RS485主从通信协议的实现 [J], 周红玲
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南大学学报(自然科学版),2007,29(S2):259~262CN53-1045/N ISSN0258-7971 Journal of Yunnan U niversity
Ξ
基于RS-485总线主从通信协议及其实现
彭 娜,黎 英,林庆超,张英华
(云南大学信息学院,云南昆明 650091)
摘要:RS-485总线是工业现场控制系统常用的组网方法.本文中详细讨论了一种基于RS-485总线通信协议的设计,具有可靠、灵活,相比其它的主从通信协议设计可以实现即插即用功能.
关键词:RS-485;主从通信协议;协议数据单元
中图分类号:TP366 文献标识码:A 文章编号:0258-7971(2007)S2-0259-04
计算机技术、自动化技术和通信技术是现代信息科学技术的重要组成部分,是现代科学技术中的核心先导技术.计算机控制是计算机技术与自动控制理论及自动化技术紧密结合并应用于实际的结果.20世纪90年代高性能计算机、网络技术及多媒体技术的发展,使计算机应用向网络化、综合化、集成化、智能化发展,使自动控制技术更广泛地应用于工业、交通、服务等各行各业,而且控制的形式也越来越复杂.许多单机控制系统已逐渐向多机联网的方向发展,如:数据采集、消防、门禁、消费等控制系统,这就需要将各单机控制系统进行组网以进行相互通信,从简单的集中式控制逐渐向复杂的分布式、多控制端形式发展,出现了以网络通信技术为基础的新的控制形式.串行通信作为一种简单、廉价的通信方式在控制工程中广泛应用,其中RS -485总线型多CPU网络控制系统得到了推广与发展[1].
1 硬件设计
RS-485通信协议是工业控制中使用最为广泛的双向、平衡传输线标准,它支持多点联接,允许创建多达32个接点的网络,并可以在网络中增加另外32个模块;由于RS-485标准支持半双功通信,只需2根线就可以进行数据的发送和接收,同时具有抑制共模干扰的能力.在由单片机构成的多机串行通信系统中,采用主从式结构:子机不主动发送命令或数据,一切都由主机控制.并且在一个多机通信系统中,只有1台单片机作为主机,各台子机之间不能相互通讯,即使有信息交换也必须通过主机转发[2],RS-485构成的多机通信原理框图如图1.
2 通信协议设计
协议数据单元分为2种格式:通用帧格式(表1);特殊帧格式(表2)
表1 通用帧格式
T ab11 G eneral frame format
地址功能数据长度数据CRC
1B1B1B1-16B2B
表2 特殊帧格式
T ab12 S pecial frame format
地址功能结束符
1B1B0X00
其中第1种格式为通用帧,第2种数据帧当主机检测与之连接从机的地址或者报接收数据出错时才用的格式.
主从式通信方式,即主控制器采用循环查询的方式于各子控制器通信,子控制器相互间不直接通信,而是通过主控制器间接地相互通信.
Ξ收稿日期:2007-09-20
作者简介:彭 娜(1983- ),女,云南人,硕士生,主要从事低压电力载波通信协议方面的研究.
通讯作者:黎 英(1963- ),男,云南人,教授,博士,主要从事嵌入式系统研究.
主节点向从节点发送3种类型的请求:
(1)广播模式 主节点向所有从节点发送请求.主节点发送的广播请求无需响应,所有的从机都必须接受,地址为0X00为广播请求保留[3].
(2)查询地址模式 定期检测与主节点连接的从节点的地址,实现即插即用功能.主机发送一简单的数据帧来检测与之连接的从节点的地址.
在本系统中设置的是主节点轮询完所有从节点
3
次,进行1次检测从节点的地址,主节点从地址0开始询问从节点,在等待一段时间(这段时间为数据
往返1次的时间)后收到从节点的应答,则该从节点地址存在,将这个地址存入address[]中,如果在等待一段时间后没有收到应答信号,则认为此地址为空,将地址加1继续询问,直到地址为最大地址(最大地址指的是允许范围内可接最多的从机数量,如可最多可接32台从机,则最大地址为0X 20).
图1 RS -485多机通信原理框图
Fig 11 RS -485multi -SC M communication principle
图2 查询地址模式流程图
Fig 12 Demand address m ode flow -chart
(3)单址通信模式 主节点寻址一个单独的
从节点.从节点收到并处理请求之后,向主节点返回一个消息(应答).在这里一个会话包括2个消息:主节点的请求,从节点的应答.每个从节点的地
址必须是独一无二的.
主节点一次分别询问每一个从节点,主节点先发送握手信号给从节点,如果该从节点有数据要通信,则返回给主节点应答信号,这样从节点和主节点就建立起连接,然后交换数据,完毕后再继续询
问下一台从节点;如果该从节点没有数据要通信,
则不用应答主节点,主节点在固定的时间段(固定的时间段内是指数据往返1次所需的时间)内没有收到应答信号,则直接询问下一台从节点.数据的交换过程(包括建立连接和交换数据)采用一问一答的方式,主控制器询问了子控制器,子控制器才给予应答,收到应答后,数据交换才继续进行下去.这样的方式可以避免多个子控制器间没有次序的
62云南大学学报(自然科学版) 第29卷
数据通信,扰乱整个网络上数据的传输.
本系统采用的是一问一答的可靠连接方式,在数据帧的传递过程中,如果等待对方应答超时,或者没有接收到正确数据(在指令数据帧格式中,还定义了CRC 校验字段,每一帧指令数据帧发送前,
通过计算填入该字段,接收后读出该字段并进行验证),要求对方重发1次,如果再次等待应答超时或者没有接收到正确的应答,则认为此次通信失败.主机和从机的流程图分别如图3
,4.
图3 主机流程图
Fig 13 H ost flow -chart
3 小 结
在系统中用AT ME L 系列单片机和RS -485通
信芯片S N75176组网,波特率采用250K bps 进行通信.在实验系统中采用上述主从通信协议,主机轮询从机的方式进行通信.主机先检测与之连接从机的地址,检测之后与这些从机进行通信,轮询通信完3次后,再一次检测与之连接从机的地址,如果有新添加的从机,主机就可以在这次检测中检测到其地址,如果有拔出的从机,主机在检测中可以发
现拔出从机的地址为空,则从通信从机地址中将这个地址删除.在实验中添加从机和拔出从机都不会影响整个通信,在最大从机允许范围内从机可随意添加或者删除,实现了即插即用功能.并且在整个系统中采用的是轮询方式,当与其中一台从机通信时发生故障,采取重发一次机制,如果仍然有错误,则结束与此台从机的本轮通信,
开始与下一台从机通信,所以当个别从机发生故障的时候并不影响通信.
1
62第S2期 彭 娜,等:基于RS -485总线主从通信协议及其实现
图4 从机流程图
Fig 14 Subordinate flow -chart
参考文献:
[1] 范辉.RS -485总线与C AN 总线应用比较[J ].上海电
机学院学报,2005,8(5):54256.
[2] 王天义,杨建中.一种新型RS -485接口芯片在远程
多机通讯中的应用[J ].仪器仪表标准化与计量,2004
(5):38240.
[3] 王琦,秦娟英,周伟.用RS -485构成总线型多点数据
采集系统[J ].计算机自动测量与控制,2000,8(6):452
47.
[4] 阳宪惠.现场总线技术及其应用[M].北京:清华大学
出版社,1999.
[5] 史兴安,姜智忠,RS -485串行总线在实时控制中的
应用[J ].微电子学与计算机,2001(2):49251.
[6] 马朝,詹卫前,耿德根.Atmega8原理及应用手册[M].
北京:清华大学出版社,2002.
[7] 王苒,汤冬谊.基于RS485主从通信协议的实现[J ].
现代电子技术,2003(24):67271.
Achievement of master -slave communication architecture based on RS -485
PE NG Na ,LI Y ing ,LI N Qing 2chao ,ZH ANG Y ing 2hua
(School of In formation Engineering ,Y unnan University ,K unming 650091,China )
Abstract :RS -485bus is used to group netw ork in industry control system.The thesis discusses a design of RS
-485bus based communication protocol.The protocol is reliable ,flexible and can im plement PnP (plug and play )com pare to other master -slave communication protocols.
K ey w ords :RS -485;master -slave communication protocol ;protocol data unit
2
62云南大学学报(自然科学版) 第29卷。