RS485总线通信系统的设计与实现 毕业论文.docx
- 文档编号:9834326
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:22
- 大小:37.92KB
RS485总线通信系统的设计与实现 毕业论文.docx
《RS485总线通信系统的设计与实现 毕业论文.docx》由会员分享,可在线阅读,更多相关《RS485总线通信系统的设计与实现 毕业论文.docx(22页珍藏版)》请在冰豆网上搜索。
RS485总线通信系统的设计与实现毕业论文
本科学生毕业论文
论文题目:
RS485总线通信系统的设计与实现
学院:
年级:
专业:
姓名:
学号:
指导教师:
摘要
无论是工业控制还是信号测试领域,实现不同通讯协议的数据融合都有着迫切需要。
但是目前市场中存在的协议转换器只能满足两种协议之间的转换,如RS485转RS232,USB转RS485等,但是经常存在着多种数据总线并存的情况,因此研制多种总线协议转换的设备有着比较大的实际意义。
除此之外,目前接口标准的RS485总线通信协议不统一,需设计一个高效稳定的通信协议。
基于以上原因,本论文提出一种基于高速RS485的多总线通信系统。
整个系统包含多个RS485节点,各个节点包含的通讯接口包括RS232,RS485和USB,从而实现这三类总线的通讯协议的转换。
设计并实现了一种适用于微机和单片机之间串行通信的通信协议,采用RS485简便,通信可靠性高总线标准,可用于工业测控和控制现场.实验结果表明,该通信协议是切实可行的,达到了预期的设计要求.
关键词
RS485总线;主从式;多机通信;通信协议
Abstract
Whetherinthefieldofindustrialcontrolorsignaltest,theachievementofdatafusionwhichisbasedondifferentcommunicationprotocolisurgentneeded。
However,inthecurrentmarket,protocolconvertercanonlyachieveconversionbetweentwoprotocols,suchasRS485toRS232,USBtoRS485andsoon.Casesofcoexistencedatabus,ithasgreatpracticalsignificancetodevelopanequipmentforprotocolconversionamongdifferentbuses.
Basedonthereasonsabove,ahigh-speedRS485-basedmulti—buscommunicationsystemispresentedinthispaper。
TheentiresystemwhichisusedtorealizethethreecategoriesofbuscommunicationprotocolconversionconsistsofsomeRS485nodes,eachnodecontainsthecommunicationinterfacesincludingRS232,RS485andUSB。
Inthepracticalapplication,thenumberofnodescanbechangedasrequiredtoformsystem,forachievementofdatafusionbetweenavarietyofbuscommunicationprotocol.
Keywords
RS485bus;SerialBus;ProtocolConversion;Communicationprotocol
第一章绪论
所谓通信,不仅仅要实现数据的传输,更应该体现准确性,也称可靠性传输,最好具有一定的纠错和检错能力。
RS485通信标准的电器协议是差分、多点传输,在现代社会被广泛应用。
RS485通信系统被大量应用在自动化生产中,许多智能设备应用RS485通信协议进行通信。
RS485系统多数以半双工形式通信,具有超强的可靠性、抑制噪声能力,数据传输速率非常高,电缆长度特别长。
RS485系统常用的芯片有很多种,本文采用MAX485芯片。
RS485接口以平衡方式传输,多点之间进行通信。
在工业控制和信号测试领域中,常常需要将不同通讯协议进行融合,在这个过程中协议转换器发挥着重要作用,如RS485转RS232,USB转RS485等,可以实现两种协议的转换。
本文采用USB转RS485进行转换。
最近几年,计算机技术的发展日新月异,发展迅猛,普遍性高,智能测量、系统控制大多采用上位机与下位机采用主从式工作方式,现场控制单元可以实现遥测、遥调、遥控、遥信功能.由此可知,上位机与下位机的串行通信需要达到一定的可靠性,对实现智能化测控至关重要。
主机与分机串行通信主要包括:
硬件设计、设计通信协议和软件设计.本文简述PC机与单片机串行通信的组成设计,包括硬件设计、协议设计、软件设计以及通信时需要考虑的问题。
1。
1研究背景及意义
在计算机技术发展迅猛的今天,信息量日益增大,交互速度日益加快,系统内各个模块信息交互日益复杂,这对总线体系发展起到了推动性作用,使得信息交互更加简洁,即使信息量庞大,也能轻松实现。
随着系统数据处理量的增大,对速度的要求也不断提升,并行总线具有时钟同步和串码等的缺陷,不能满足系统数据交换的条件。
高速串行总线采用低压差分技术,电路的结构简单、可扩展、传输速度快,逐渐取代了并行总线成为主流总线电路方案[1]。
由于嵌入式等技术的发展,高速串行总线可编程资源骤增,也可满足系统集成要求,提高了系统的灵活性和适应性。
这一技术的研究对于促进智能化信息系统的发展、进一步提高现代生产、生活效率有着重大意义。
自动控制系统技术和信息交互技术的发展迅速,信息化、数字化、网络化、微型化、分散化、智能化成为信息系统发展的主流方向,随着接口编码技术的发展和系统的逐渐壮大,一系列数据格式和接口信息不同的高速总线出现在市场中。
即使是同一设备可能使用不同的总线接口,多总线之间的数据通讯及其协议转换,使信息系统从设计、运行、维护等多通讯协议的转换,简化复杂系统结构和提高系统工作可靠性都至关重要[2]。
在现代生产和生活中,信息传输以及交互量大,交互速度高,同时,现场工作条件使其重量、体积受限,提升设备的运行速度和可靠性迫在眉睫.为此,本文设计了一种基于RS485的分布式多总线通信系统,由基于高速RS485的总线节点组成,节点中具有RS485总线及USB的通讯功能,且分布式系统的总线节点个数可灵活删减,应运而生.从而可以满足对多个RS485和USB接口设备进行通讯及控制等.本论文为对进一步研究通用化、模块化、可编程化及标准化的信息控制系统和信息处理系统有着重要意义[3]。
随着计算机技术的发展,微机的价格大幅度下降,PC机和各种单片机在工业和各行业应用日益广泛。
在现场中,各种测量仪表往住采用单片机做数据处理和控制单元,而在主控室内,由微机对整个生产过程的数据进行统一的显示、存储,并可以完成打印报表、参数设定等工作。
这样,就由微机和单片机构成了小型分布式的测量系统。
在这样的系统中,微机与单片机的通讯就显得尤为重要。
一般微机上都有RS232串行接口,但由于RS232使用的是非平衡的电信号,电气性能不佳,存在着传输速率低、传输距离短、接口处信号容易产生相互干扰等问题,难以在工业现场中得到应用。
近年来出现的RS485总线,其收发电平为差动方式,大大提高了通讯的速率、距离和可靠性,并且适合多机通讯。
在通讯的波特率小于100kbPs时,允许电缆长度为1200米,一般可以满足现场的要求。
1。
2RS485总线通信系统研究现状
许多年以前,工业控制领域已经出现总线技术,总线发展的方向主要有串行、高速及采用嵌入式方案等[2]。
现如今,总线技术通常为多种总线并存,应用领域不断扩展且总线网络结构趋于简单化。
下面重点介绍RS485总线通信系统的发展历程。
RS485标准由电子工业协会于1983年制订并发布,后由通讯工业协会修订,并命名为TIA/EIA—485-A。
RS485采用平衡驱动差分接收电路,采用半双工工作方式,传输距离最高可达到1200m,传输速率不少于52Mbps,挂载总线节点数最多为32个[3],基于以上参数分析,RS485总线可应用于远距离高速传送数据和信息。
2009年清华大学,精密仪器与机械学系王鹏,李成等采用FPGA与RS485收发器结合,采用CRC校验算法,实现了通讯距离为200m,速率为20Mbps,总线误码率为10—11的RS485总线.2007年周立功公司采用外置UART芯片SC16IS762结合MAX485芯片的方案实现5Mbps高速RS485总线方案。
RS485是由RS232发展而来的接口标准,包括点对多点和多点对多点的网络,RS485总线网络凭借可靠性高、分布范围较大、组建成本低等特点,在智能家居、远程控制等领域得到广泛应用.
第二章RS485介绍
RS485通信系统有主从式和总线式两种通信方式。
在工业控制常用主从式通信方式,总线通信具有更好通用性和可扩展性,在总线通信协议也容易建立一个主从式RS485通信网络。
RS485总线网络的网络简单,成本低,但总线协议至今尚未统一。
在基于RS485总线网络系统,经常临时设计RS485总线通信协议,在系统的可移植性和效率稳定性方面存在一些问题[4].总之,设计一个高效和稳定统一的通讯协议作为协议标准对信息的处理和传递是十分有必要的,本文第三章简单介绍了高效稳定的通信协议。
2.1RS485标准
在计算机网络控制系统中,通常使用串行通信进行信息交换,无论是OSI七层协议模型还是一个简化的三层(或四层)的网络,第一层均为物理层,RS485是物理层协议标准,也是串行通信接口标准,它可以很容易地把各种计算机,外围设备,测量仪器有机地连接,以构成测控系统。
1977年开发的新标准的EIARS449,它定义了10种电路功能的RS232C,它的传输速率高,传输距离远,RS485是RS422的变体[5]。
2.2MAX485芯片介绍
MAX485是用于RS485通信的收发器,功率较低,芯片内部含有1个接收器和1个发射器,具体特性如表2-1所示。
表2-1MAX485芯片介绍
通信方式
低功耗
关机
接收器
使能
静态电流/mA
数据率/Mbps
转换率限制
管脚数
半双工
NO
YES
300
2.5
NO
8
MAX485芯片8个管脚的功能如下:
(1)RO脚,即为输出端:
若A比B小100mV,RO为低,若A比B大100mV,RO为高。
(2)RE脚,即为接收器输出使能端):
当RE为高时,RO为高阻状态,只有RE为低时,RO才有效。
(3)DE脚,即为驱动器输出使能端:
若DE为低,它们成高阻状态,若DE为高,驱动输出A和B有效;若为高阻状态时,RE为低,它们作线接收器用,若驱动器输出有效,器件作为线驱动器用。
(4)DI脚:
即为驱动器输入:
若DI为高,输出Y为高,Z为低,若DI为低,Y为低,Z为高。
(5)GND脚:
即为接地作用。
(6)B脚:
反相驱动器输出和反相接收器输入。
(7)A脚:
同相驱动器输出和同相接收器输入.
(8)VCC:
即为电源正极。
2.3RS485总线组网方式
RS485总线网络组建并不复杂,通常采取两线或者四线方式。
所有RS485节点全部挂在一对RS485总线上,此处GND以及VCC可以不接,接线时RS485总线不能开叉。
从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低,RS485总线网络的终端有PC机和嵌入式设备[6].
2.4RS485方式构成的多机通信原理
实际应用系统中,往往分散控制单元数量较多,分布较远,现场存在各种干扰,所以可能有以下两个问题出现,一是通信数据收发的可靠性问题,二是在多机通信方式下,一个节点的故障(如死机),往往会使得整个系统的通信框架崩溃,而且给故障的排查带来困难。
针对上述问题,作者对485总线的软硬件采取了具体的改进措施。
在由单片机构成的多机串行通信系统中,一般采用主从式结构:
从机不主动发送命令或数据,一切都由主机控制。
并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。
在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。
匹配电阻的取值应该与总线的特性阻抗相当.当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。
将总线上差分信号的正端A+和+5电源间接一个10K的电阻;正端A+和负端B—间接一个10K的电阻;负端B—和地间接一个10K的电阻,形成一个电阻网络。
当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B—的电平大约为1。
6V,即使有干扰信号,却很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。
现以8031单片机自带的异步通信口,外接75176芯片转换成485总线为例。
其中为了实现总线与单片机系统的隔离,在8031的异步通信口与75176之间采用光耦隔离.
第三章系统协议及硬件设计
3。
1RS485通信协议设计
在工业控制,所有下位机相互独立,同时受主计算机的管理和控制,通过使用通信技术向多个下位机传输资料和控制命令。
个人计算机系统中,为了实现下位机的实时监控,当前PC的数据和控制命令传递给下位机。
许多大型监测网络,不适合于小企业使用,大部分成本高.RS485总线为基础的通信系统中,是一个可靠的、简单的、低成本系统,在对数据传输速率要求不太高、传输数据不太远时可以广泛应用[7]。
可以很容易地构建小型工业监测网络.根据OSI(开放系统互连)模型规范和实际工作需求,在这个系统中,可以把RS485总线通信协议分为三层:
物理层,数据链路层和应用层。
3.1。
1物理层设计
物理层用来规定RS485系统的时间特性、功能特性、机械特性和电气特性,隐藏当前层的信息细节,以提供上一层的服务.JKW—L06型485转换器常被用来实现数据采集系统从点到多点的通信.
RS485采用差分接收和平衡发送的方式实现通信:
在TXD发送端将串行端口TTL电平信号转换为差分信号AB两端输出,经过传输后,在接收端将差分信号恢复到一个TTL电平信号[8]。
如果降低传输速率,传输距离可以进一步提高。
RS485最多连接32台设备和32台接收器。
RS485通讯接口是基于标准的异步通信协议,如图3—1所示的基本协议的帧格式。
图3-1异步通信协议基本字节格式
在本系统中规定1个起始位、1个停止位、无奇偶校验位、8位资料位、波特率38。
4Kb/s,通信复用COM1,其地址为0x3F8,COM1对应中断号为IRQ4,中断地址0x0C。
在通信过程中接收资料以中断方式接收,发送资料以查询方式发送。
3.1。
2数据链路层设计
RS485总线上的每一个下位机都有一个唯一的本机地址,最多有32个.上下位机的通信方式是:
上位机轮流询问,下位机应答.下位机可以接收来自上位机的消息,只能发出应答信息,下位机与下位机无法实现通信。
PC机每发送一次命令,命令帧启动一次,下位机收到命令后,判断地址是否与本机相同,相同则发出应答消息,不同则没反应.
在数据链路层中的数据帧以实现正确的命令,以创造一个传输格式帧所需的信息被发送到物理层.数据采集系统中的帧格式分为:
发送消息帧格式和响应消息帧格式,从上至下发送命令信息的称作:
发送信息帧格式,如表3—1所示。
表3-1发送信息帧格式
STX
ADDR
COMD
LEN
DATA
CRC
CR
02H
1B
1B
1B
0~250B
1B
0DH
起始字节
目的字节
命令字节
资料长度
数据字节
校验字节
终止字节
3。
1。
3应用层设计
在网络层中还有对COM端口进行起始位、资料位、停止位、波特率设置的初始化函数及对端口进行关闭的Close函数(程序代码略)。
当一个特定的命令传输时,若想把数据正确地发送到RS485总线网络时,它必须验证物理层到网络层传输的比特流。
在这一层,提供整个程序,在流程中调用数据链路层中提供的接口进行资料的收发工作。
在网络层中还对COM端口进行起始位、停止位、资料位以及波特率设置的几种函数(程序代码略)。
3。
1.4通信协议
一、通信波特率为9600bit/s,晶振为12MHz通信的数据格式如前所述,共11位:
1位启动位,8位数据位(低位在前),1位可控的第9位和1位停止位。
下位机的地址用1个字节定义,用16进制表示,如1号机地址为01,10号机地址为0A.约定上位机的地址为00,系统广播地址为FF.
二、上位机监控程序运行时,上位机开始以时间间隔Δt对下位机进行轮询以查验下位机的状态,依次向下位机发送查询指令。
XX为轮询到的下位机地址,01为上位机查询指令;00为上位机地址,02为下位机回复查询指令。
对轮询到的下位机,上位机根据下位机回复查询指令查询其状态字,判断其是否有通讯请求,如果没有,就对该下位机发出通讯授权标志,若在预定的时间内有应答,则上位机建立与该下位机的通信信道;在预定的时间内下位机无应答,则置该下位机不在线标志,然后轮询下一位置的下位机,如此反复。
三、上位机与下位机建立通信信道,上位机按照上位机指令优先的原则下,根据下位机的状态字和上位机的状态字,向下位机发出准备接受信息指令。
下位机的动作包括登陆、提交实验信息;上位机的动作有发送实验题目、开始实验、中断实验、恢复实验及查询下位机的实验状况等,在通信协议中都将这些动作进行通讯标志编码,如上位机查询下位机状态指令通讯标志编码为01,开始实验指令编码为0A,下位机登陆指令编码为04.XX为与上位机通讯的下位机的地址,YY为上位机功能指令。
特别地,上位机发送开始实验指令时,XX可以是下位机地址,也可以是系统的广播地址FF。
当XX为FF时,用于向所有实验终端统一发送开始指令。
当YY为0A,表示系统中所有的下位机能够同步接收上位机发送的开考指令。
数据域是否存在和上位机的功能指令类型有关,如当上位机功能指令为发送实验题目指令时,数据域的内容即为要发送的相关内容;当功能指令为开始实验指令时,数据域为空。
在通信过程中,当在一个预定的时间内,上位机没有向下位机发送指令(上位机优先原则失效),这时下位机可向上位机发送指令,00为上位机的地址,YY为下位机功能指令,根据YY的不同,数据域的内容也是不同的,如在下位机请求登陆时,YY为04,数据域为学生姓名、学号.
四、上位机即PC机能够按照教学的需要生成难易程度不同的实验题目,二进制化后通过发送功能指令发送给通讯中的下位机。
发送以实验为单位,组织格式为实验题号、嵌入式控制器控制字、发送内容长度和实验内容;实验结束后,下位机将实验信息以预定的数据格式通过提交指令发送到上位机。
3.2系统硬件设计
3.2。
1PC与RS485总线的接口
PC机的串行接口为RS-232或USB总线,本文采用USB转RS485总线,采用51单片机进行RS—485进行串行通信,只需要将TTL电平的串行接口通过芯片转换为RS-485串行接口,这种转换比较简单,本系统采用的是MAX485芯片。
原理图如图3—2所示。
图3—2系统总体连接框图
3.2.2RS485方式构成的多机通信
PC与单片机组成的系统中采用主从式结构:
即多个从机受主机控制,从机单片机不发送命令,一个系统有且只有一台主机,从机之间不能实现通信,若要进行信息交换,则需通过主机进行控制。
在总线末端接一个匹配电阻,吸收总线上的反射信号,使得正常传输信号无毛刺.匹配电阻的取值应该与总线的特性阻抗相当。
在总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。
将总线上的差分信号的正端A+和负端B—之间接一个10K的电阻;负端B-和地间接一个10K的电阻,形成一个电阻网路。
当总线上没有信号传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,也很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。
3.2.3单片机与PC机串行通信系统构成
直接利用了单片机上的串行通讯接口,其中Pl。
0用于通讯控制,PI.0输出高电平时,为“收”状态,Pl。
0为低电平时为“发"状态,由于采用的是主从式通讯方式,微机处于“发”状态,而单片机处于“收”状态。
系统共线配置方案:
凡为平衡电阻,接于总线两端。
总线上最多可挂32个物发器。
电缆用双芯屏蔽端连接到设备机壳。
为了避免干扰,每个设备应接地.为了减少反射的影响,在线路两端接上与之相匹配的特性阻抗。
并且应使支线与主线的距离尽可能短。
单片机选用AT89C51,由40个管脚构成。
芯片MAX813是专门的看门狗,它的工作原理是:
它有内部的时钟,上电后它就开始倒计时,计满时间约为1。
6s,在此期间,如果WDI引脚的电压有变化,它就新开始计时,如果没有变化,它在RE-SET引脚输出高电平,给CPU复位,然后再计数,如此反复[9]。
第四章系统的软件实现
由于采用的是主从式通讯方式,各从机间不能互相通讯,主机需要依次查询各个分机,与各从机进行通讯,MCS系列的具有多机通讯功能,可把其串口设置为通讯方式3,微机上的8250不具有多机通讯能力,但通过对其奇偶校验位的设置,可使其具有多机通讯能力.使8250奇偶校验位为1的指令:
MOVDX,3FSHMOVAL,ZBHOUTDX,AL使8250奇偶校验位为0的指令:
MOVDX,3FBHMOVAL,3BHOUTDX,AL。
为了提高通讯效率,数据块的长度和格式是固定的。
从机被访问,此处采用的是定时查询的方式[10]。
由于采用的主要是主从通讯方式,各个从机间不能相互通讯,由主机依次查询各个从机,与各个从机进行通讯。
MCS系列的UNAL具有多机通讯功能,可把其串口设置为通讯方式3,微机上的8250不具有多机通讯能力,但通过对其偶校验位的设置,可使其具有多机通讯能力。
使8250奇偶校验位为1的指令:
MOVDX,3FSHMOVAL,ZBHOUTDX,AL使8250奇偶校验位为0的指令:
MOVDX,3FBHMOVAL,3BHOUTDX,AL。
为了提高通讯效率,数据块的长度和格式是固定的.(当然也可以设定)主机通过定时查询的方式依次对从机进行访问。
由于RS-485通讯是一种半双工通讯,发送和接收共用同一物理信道.在任意时刻只允许一台单机处于发送状态。
因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。
半双工通讯对主机和从机的发送和接收时序有严格的要求。
如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。
要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则:
一、复位时,主从机都应该处于接收状态。
SN75176芯片的发送和接收功能转换是由芯片的RE*,DE端控制的。
RE*=1,DE=1时,SN75176发送状态;RE*=0,DE=0时,SN75176处于接收状态。
一般使用单片机的一根口线连接RE*,DE端。
在上电复位时,由于硬件电路稳定需要一定的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息。
因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入SN75176控制端,使上电时SN75176处于接收状态。
另外,在主从机软件上也应附加若干处理措施,如:
上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。
二、控制端RE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RS485总线通信系统的设计与实现 毕业论文 RS485 总线 通信 系统 设计 实现