RS485总线资料汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS485简介
智能仪表是随着80年代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。
究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。
最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能。
随后出现的RS485解决了这个问题。
下面我们就简单介绍一下RS485。
RS485接口
RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。
而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:
(1)共模干扰问题:RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点
来检测信号,系统只需检测两线之间的电位差就可以了。
但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
(2)2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的
返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
(1)由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:
通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌带隔离珊的产品。
(2)通过PCI多串口卡,可以直接选用输出信号为RS485类型的扩展卡。
RS485电缆
在一般场合采用普通的双绞线就可以,在要求比较高的环境下可以采用带屏蔽层的同轴电缆。
在使用RS485接口时,对于特定的传输线路,从RS485接口到负载其数据信号传输所允许的最大电缆长度与信号传输的波特率成反比,这个长度数据主要是受信号失真及噪声等影响所影响。
理论上RS485的最长传输距离能达到1200米,但在实际应用中传输的距离要比1200米短,具体能传输多远视周围环境而定。
在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公理。
如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是5~10公里,而采用单模光纤可达50公里的传播距离。
RS485布网
网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。
在构建网络时,应注意如下几点:
(1)采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。
有些网络连接尽管不正确,在短距离、低速率仍
可能正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。
(2)应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。
下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。
总之,应该提供一条单一、连续的信号通道作为总线。
在RS485组网过程中另一个需要主意的问题是终端负载电阻问题,在设备少距离短的情况下不加终端负载电阻整个网络能很好的工作但随着距离的增加性能将降低。
理论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。
但这在实际上难以掌握,美国MAXIM公司有篇文章提到一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。
一般终端匹配采用终端电阻方法,RS-485应在总线电缆的开始和末端都并接终端电阻。
终接电阻在RS-485网络中取120Ω。
相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100~120Ω。
这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
另外一种比较省电的匹配方式是RC匹配。
利用一只电容C隔断直流成分可以节省大部分功率。
但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。
还有一种采用二极管的匹配方法,这种方案虽未实现真正的“匹配”,但它利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的,节能效果显著。
最近两年一些公司基于部分企业信息化的实施已完成,工厂中已经铺设了延伸到车间每个办公室、控制室的局域网的现状,推出了串口服务器来取代多串口卡,这主要是利用企业已有的局域网资源减少线路投资,节约成本,相当于通过tcp/ip把多串口卡放在了现场。
RS485和其它总线网络的区别:
我们把工业网络归结为三类:RS485网络、HART网络和现场总线网络。
HART网络:HART是由现在的艾默生提出一个过度性总线标准,他主要是在4~20毫安电流信号上面叠加数字信号,物理层采用BELL202频移键控技术,以实现部分智能仪表的功能,但此协议不是一个真正意义上开放的标准,要加入他的基金会才能拿到协议,加入基金会要一部分的费用。
技术主要被国外几家大公司垄断,近两年国内也有公司再做,但还没有达到国外公司的水平。
现在有很大一部分的智能仪表都带有HART圆卡,都具备HART通讯功能。
但从国内来看还没有真正利用其这部分功能,最多只是利用手操器对其进行参数设定,没有发挥出HART智能仪表应有的功能,没有联网进行设备监控。
从长远来看由于HART通信速率低组网困难等原因,HART仪表的采购量会程下滑趋势,但由于HART仪表已经有十多年的历史现在在装数量非常的大,对于一些系统集成商来说还有很大的可利用空间。
现场总线网络:现场总线技术是当今自动化领域技术发展热点之一,被誉为自动化领域的计算机局域网,它的出现标志着自动化控制技术又一个新时代的开始。
现场总线是连接设置在控制现场的仪表与设置在控制室内的控制设备的数字化、串行、多站通信的网络。
其关键标志是能支持双向、多节点、总线式的全数字通信。
现场总线技术近年来成为国际上自动化和仪器仪表发展的热点,它的出现是传统的控制系统结构产生了革命性的变化,是自控系统朝着智能化、数字化、信息化、网络化、分散化的方向迈进,形成新型的网络集成式全分布式控制系统---现场总线控制系统FCS(Fieldbus Control System)。
但是现在的现场总线的各种标准并行存在并且都有自己的生存领域,还没有形成真正统一的标准,关键是看不到什么时候能形成统一的标准,技术也不够成熟。
另外现场总线的仪表种类还比较少可供选择的余地小,
价格也偏高,从最终用户的角度看大多还处于观望状态,都想等到技术成熟之后在考虑,现在实施的少。
RS485网络:RS485/MODBUS是现在流行的一种布网方式,其特点是实施简单方便,而且现在支持RS485的仪表又特多,特别是在油品行业RS485/MODBUS简直是一统天下,现在的仪表商也纷纷转而支持RS485/MODBUS,原因很简单,象原来的HART仪表想买一个转换口非常困难而且价格昂贵,RS485的转换接口就便宜的多而且种类繁多。
至少在低端市场RS485/MODBUS还将是最主要的组网方式,近两三年内不会改变。
工业总线(RS485)抗干扰设计和优化方法
在工业应用场合RS-485因硬件设计简单、控制方便、成本低廉等优点而被广泛应用。
但RS-485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。
一、RS-485接口电路的硬件设计
1、总线匹配
总线匹配有两种方法,一种是加匹配电阻。
位于总线两端的差分端口VA与VB之间应跨接120Ω匹配电阻,以减少由于不匹配而引起的反射、吸收噪声,有效地抑制了噪声干扰。
但匹配电阻要消耗较大电流,不适用于功耗限制严格的系统。
另外一种比较省电的匹配方案是RC 匹配利用一只电容C 隔断直流成分,可以节省大部分功率,但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。
除上述两种外还有一种采用二极管的匹配方案,这种方案虽未实现真正的匹配,但它利用二极管的钳位作用,迅速削弱反射信号达到改善信号质量的目的,节能效果显著。
2、RO及DI端配置上拉电阻
异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。
为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10kΩ上拉电阻。
3、保证系统上电时的RS-485芯片处于接收输入状态
对于收发控制端TC建议采用MCU引脚通过反相器进行控制,不宜采用MCU引脚直接进行控制,以防止MCU上电时对总线的干扰,如图4所示。
4、总线隔离
RS-485总线为并接式二线制接口,一旦有一只芯片故障就可能将总线“拉死”,因此对其二线口VA、VB与总线之间应加以隔离。
通常在VA、VB与总线之间各串接一只4~10Ω的PTC电阻,同时与地之间各跨接5V的TVS二极管,以消除线路浪涌干扰。
如没有PTC电阻和TVS二极管,可用普通电阻和稳压管代替。
5、合理选用芯片
例如,对外置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。
二、RS-485网络配置
1、网络节点数
网络节点数与所选RS-485芯片驱动能力和接收器的输入阻抗有关,如75LBC184标称最大值为64点,SP485R标称最大值为400点。
实际使用时,因线缆长度、线径、网络分布、传输速率不同,实际节点数均达不到理论值。
例如75LBC184运用在500m分布的RS-485网络上节点数超过50或速率大于9.6kb/s时,工作可靠性明显下降。
通常推荐节点数按RS-485芯片最大值的70%选取,传输速率在1200~9600b/s之间选取。
通信距离1km以内,从通信效率、节点数、通信距离等综合考虑选用4800b/s最佳。
通信距离1km以上时,应考虑通
过增加中继模块或降低速率的方法提高数据传输可靠性。
2、节点与主干距离
理论上讲,RS-485节点与主干之间距离(T头,也称引出线)越短越好。
T头小于10m的节点采用T型,连接对网络匹配并无太大影响,可放心使用,但对于节点间距非常小(小于1m,如LED模块组合屏)应采用星型连接,若采用T型或串珠型连接就不能正常工作。
RS-485是一种半双工结构通信总线,大多用于一对多点的通信系统,因此主机(PC)应置于一端,不要置于中间而形成主干的T型分布。
三、提高RS-485通信效率
RS-485通常应用于一对多点的主从应答式通信系统中,相对于RS-232等全双工总线效率低了许多,因此选用合适的通信协议及控制方式非常重要。
1、总线稳态控制(握手信号)
大多数使用者选择在数据发送前1ms将收发控制端TC置成高电平,使总线进入稳定的发送状态后才发送数据;数据发送完毕再延迟1ms后置TC端成低电平,使可靠发送完毕后才转入接收状态。
据笔者使用TC端的延时有4个机器周期已满足要求;
2、为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字
惯用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节。
在RS-485系统中这样的协议不太简练。
推荐用户使用MODBUS 协议,该协议已广泛应用于水利、水文、电力等行业设备及系统的国际标准中。
四、RS-485接口电路的电源、接地
对于由MCU结合RS-485微系统组建的测控网络,应优先采用各微系统独立供电方案,最好不要采用一台大电源给微系统并联供电,同时电源线(交直流)不能与RS-485信号线共用同一股多芯电缆。
RS-485信号线宜选用截面积0.75mm2以上双绞线而不是平直线。
对于每个小容量直流电源选用线性电源LM7805比选用开关电源更合适。
当然应注意LM7805的保护:
1、LM7805输入端与地应跨接220~1000μF电解电容;
2、LM7805输入端与输出端反接1N4007二极管;
3、LM7805输出端与地应跨接470~1000μF电解电容和104pF独石电容并反接1N4007二极管;
4、输入电压以8~10V为佳,最大允许范围为6.5~24V。
可选用TI的PT5100替代LM7805,以实现9~38V的超宽电压输入。
五、光电隔离
在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。
虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无法正常工作了,严重时甚至会烧毁芯片和仪器设备。
解决此类问题的方法是通过DC-DC将系统电源和RS-485收发器的电源隔离;通过光耦将信号隔离,彻底消除共模电压的影响。
实现此方案的途径可分为:
1、用光耦、带隔离的DC-DC、RS-485芯片构筑电路;
2、使用二次集成芯片,如PS1480、MAX1480等。
六、RS-485系统的常见故障及处理方法
RS-485是一种低成本、易操作的通信系统,但是稳定性弱同时相互牵制性强,通常有一个节点出现故障会导致系统整体或局部的瘫痪,而且又难以判断。
故向读者介绍一些维护RS-485的常用方法。
1、若出现系统完全瘫痪,大多因为某节点芯片的VA、VB对电源击穿,使用万用表测
VA、VB间差模电压为零,而对地的共模电压大于3V,此时可通过测共模电压大小来排查,共模电压越大说明离故障点越近,反之越远;
2、总线连续几个节点不能正常工作。
一般是由其中的一个节点故障导致的。
一个节点故障会导致邻近的2~3个节点(一般为后续)无法通信,因此将其逐一与总线脱离,如某节点脱离后总线能恢复正常,说明该节点故障;
3、集中供电的RS-485系统在上电时常常出现部分节点不正常,但每次又不完全一样。
这是由于对RS-485的收发控制端TC设计不合理,造成微系统上电时节点收发状态混乱从而导致总线堵塞。
改进的方法是将各微系统加装电源开关然后分别上电;
4、系统基本正常但偶尔会出现通信失败。
一般是由于网络施工不合理导致系统可靠性处于临界状态,最好改变走线或增加中继模块。
应急方法之一是将出现失败的节点更换成性能更优异的芯片;
5、因MCU故障导致TC端处于长发状态而将总线拉死一片。
提醒读者不要忘记对TC 端的检查。
尽管RS-485规定差模电压大于200mV即能正常工作。
但实际测量:一个运行良好的系统其差模电压一般在 1.2V左右(因网络分布、速率的差异有可能使差模电压在0.8~1.5V范围内
M—BUS总线与485总线的原理与比较
M-BUS(meter bus仪表总线)总线是欧洲开发的仪表总线,与485总线共同之处有:均可以采用双绞线传输,均可以组成点对多点通信网络,均可以连接256个终端。
两种总线从使用角度看,好像区别不大,但仔细研究发现,其原理差别极大,也直接导致使用效果差别极大,主要表现在以下几个方面:
1、网络结构
从原理上看,485总线采用平衡传输方式,这就意味着需要终端阻抗匹配,同时也意味着,485总线不支持星型总线结构,和网络分支,只能采用线型网络,这就是为什么通常在网络终端并接一个120欧姆的电阻,和终端设备一般采用手拉手方式连接。
而M-BUS总线采用非平衡传输,不需要终端阻抗匹配,可支持星型网络,和网络分支,可组成星型、线型、树型网络。
2、总线容错
485总线主机与从机的接口电气参数完全相同,即发送时均为低阻,驱动能力可达250毫安,也就意味着一旦有一个终端的485接口出现故障,就会持续向总线提供驱动力可达250毫安的高电平或低电平,导致整个总线瘫痪,且不易查出故障点,有485总线使用经验的工程师,无一例外都会遇到此种问题,一般可采用在每个终端的AB线上串接限流电阻的方式,来提高485接口的安全性,但要牺牲一条总线上可连接的终端数量,且并不能解决一个终端接口出现故障导致总线瘫痪的个问题,可以说这个问题无解。
而M-BUS总线的主机接口与从机接口截然不同,M-BUS主机发送“0”“1”信号,是通过发送不同的电平来区分发送的是“0”还是“1”,而主机接收则是以判别总线电流方式判别接收到的是“0”还是“1”,但总线电流等于总线空闲时的电流时,认为收到一个“1”,当发现总线电流比总线空闲
时的电流大15毫安时,则认为收到一个“0”,主机在空闲时,发送一个高电平(DC24V~DC36V,一般不低于18V)驱动能力从500毫安~数安培由主机生产厂家自己设定,当主机发送低电平时,发送一个比空闲时电平低8V的电平,驱动能力可达500毫安~数安培。
而从机在空闲时,从总线上吸收1.5~2毫安的电流,当收到一个比总线空闲电平低8V的电平时,就认为接收到一个“0”信号,当总线电平等于空闲电平时认为收到一个“1”信号。
当从机发送“1”时只从总线吸收1.5~2毫安的电流,当从机发送“0”信号时,则从总线上吸收20毫安的电流。
当一个终端的接口出现故障时,最多从总线多取20毫安电流,相对于主机500
毫安~数安培的驱动能力来讲,其影响微乎其微,不会导致总线瘫痪,以此类推,即便有数十个乃至100多个终端的接口出现故障,只要总线的空闲电压还在18V以上,总线就可以正常工作。
3、总线抗差模干扰能力
在半双工通信网络中,当总线空闲时,无论主机还是从机,均处于接收状态。
485总线中,主机和从机的通信接口一般采用MAX485SN75176或其他485专用芯片,这些专用芯片在接收状态时,其总线接口阻抗不小于12KΩ,加上阻抗匹配的阻抗,总线的总体阻抗不小于50Ω,二总线信号识别阈值仅有200mV,而M-BUS总线的阻抗一般不大于10欧姆,而信号识别阈值达8V,可见M-BUS总线抗差模干扰能力非485总线可比。
4、总线抗共模干扰能力
RS-485接口由于采用差分方式传输信号方式,不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了,但在实际应用中总线两端的设备各有自己的地线,而设备的地电位差小则几十毫伏,大则几伏甚至10V以上,当总线处于发送状态时,所产生的共模电压可能在±10V以上,并伴有强烈的干扰,而485接口过压能力为-7V/+12V,轻则总线不能工作,重则导致设备的485接口损坏,从而导致总线瘫痪,这也是实际应用中造成485接口损坏的主要原因。
而M-BUS总线,靠电流环工作,不会因自身收发产生共模干扰。
5、传输特性
485总线最大传输距离为1200米,最大传输速率可达10Mb,但双绞线平衡传输模式,传输速率与传输距离成反比,当传输距离达到100米时,最大传输速率不大于1Mb,在实际应用中,由于增加传输线路的抗干扰性,提高传输的稳定性,以及保证误码率的需要,在接口和线路上增加附属电路,从而影响了最大传输速率,且要使用屏蔽线,一般要接终端阻抗匹配电阻,在1000米下通信速率不超过9600bps,在100米下,传输速率不超过250Kb。
而M-BUS总线由于自身的抗干扰能力很强,传输一般不需要屏蔽线,但由于其主从机收发模式不同,从机的就扣电气特性略呈电容性,其最大传输速率一般不高于20Kb,且受线路长度影响不大,传输距离即便只有100米传输速率也不超过20Kb,在1000米下也可以不低于9600bps,且不必是屏蔽线。
6、单总线网络规模
485接口可驱动的总线节点数量的理论值是256,但在实际应用中,为了保证总线的安全及传输的可靠性,一般限定在32个以内。
而M-BUS总线主机可驱动从机的数量,取决于M-BUS主机的驱动能力,一般不小于128个,大功率主机可可靠地驱动256个从机甚至更多。
7、施工
485总线分AB线,在终端接入总线时,不能接错,否则将不能通信。
而M-BUS总线的两条线,不分AB,正负,只要一对一连接即可,因此在施工过程中,不存在接错线的问题。
结论:
1、485总线与M-BUS总线均为2线制总线,同为半双工总线,均可实现点对点,点对多点通信。
2、485总线的抗干扰能力劣于M-BUS总线,设备接口的故障率高于M-BUS总线。
3、485总线一旦有一两个设备接口出现故障,会导致总线瘫痪。
而M-BUS总线,则在三分之一的设备接口出现故障时,还能保证无故障设备可正常通信。
4、485总线节点数量,一般远低于理论值256个,一般在32个以下。
而M-BUS总线节点数量,可达到最大值256,一般不低于128个。
5、485总线一般采用屏蔽双绞线,且需要接终端阻抗匹配电阻,而M-BUS总线,不必采用
屏蔽线,易不用姐终端阻抗匹配电阻。
6、485总线分AB线,施工时不能接错,而M-BUS总线则无AB、正负线之分,只要一对一链接即可。
7、485总线只能采用线型总线,不能采用其他结构总线,而M-BUS总线则可以采用线型、星型、树型结构总线。
8、在短距离下,485总线传输速率可达10Mb,而M-BUS总线则只有20Kb。
9、由于485总线使用历史较长,在工业自动化系统中普遍使用,而M-BUS总线是近几年才研发出来,使用时间较短,在工业自动化领域使用较少,而在抄表领域使用较多。
10、485总线主从机接口完全相同,接口芯片造价低廉,接口电路简单,而M-BUS总线,主从机接口不同,相对485接口而言,M-BUS接口复杂,造价较高,但相对于设备而言器接口成本均属低廉。