打印

RS485总线应用与选型指南

[复制链接]
2804|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jerrymiao|  楼主 | 2011-7-22 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、RS485总线介绍

  RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。在一些要求通信距离为几十米到上千米的时候,RS485总线是一种应用最为广泛的总线。而且在多节点的工作系统中也有着广泛的应用。

二、RS485总线典型电路介绍

  RS485电路总体上可以分为隔离型与非隔离型。隔离型比非隔离型在抗干扰、系统稳定性等方面都有更出色的表现,但有一些场合也可以用非隔离型。

  我们就先讲一下非隔离型的典型电路,非隔离型的电路非常简单,只需一个RS485芯片直接与MCU的串行通讯口和一个I/O控制口连接就可以。如图1所示:


图1、典型485通信电路图(非隔离型)

  当然,上图并不是完整的485通信电路图,我们还需要在A线上加一个4.7K的上拉偏置电阻;在B线上加一个4.7K的下拉偏置电阻。中间的R16是匹配电阻,一般是120Ω,当然这个具体要看你传输用的线缆。(匹配电阻:485整个通讯系统中,为了系统的传输稳定性,我们一般会在第一个节点和最后一个节点加匹配电阻。所以我们一般在设计的时候,会在每个节点都设置一个可跳线的120Ω电阻,至于用还是不用,由现场人员来设定。当然,具体怎么区分第一个节点还是最后一个节点,还得有待现场的专家们来解答呵。)TVS我们一般选用6.8V的,这个我们会在后面进一步的讲解。

  RS-485标准定义信号阈值的上下限为±200mV。即当A-B>200mV时,总线状态应表示为“1”;当A-B<-200mV时,总线状态应表示为“0”。但当A-B在±200mV之间时,则总线状态为不确定,所以我们会在A、B线上面设上、下拉电阻,以尽量避免这种不确定状态。

三、隔离型RS485总线典型电路介绍

  在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无**常工作了,严重时甚至会烧毁芯片和仪器设备。

  解决此类问题的方法是通过DC-DC将系统电源和RS-485收发器的电源隔离;通过隔离器件将信号隔离,彻底消除共模电压的影响。实现此方案的途径可分为:
(1)传统方式:用光耦、带隔离的DC-DC、RS-485芯片构筑电路;
(2)使用二次集成芯片,如ADM2483、ADM2587E等。

传统光电隔离的典型电路:(如图2所示)



图2、光电隔离RS485典型电路

  图中我们以高速光耦6N137为例(当然只是示意图)来说明一下隔离型RS485电路。VDD与VCC485是两组不共地的电源,一般用隔离型的DC-DC来实现。通过光耦隔离来实现信号的隔离传输,ADM487与MCU系统不共地,完全隔离则有效的抑制了高共模电压的产生,大大降低了485的损坏率,提高了系统的稳定性。但也存在电路体积过大、电路繁琐、分立器件过多、传输速率受光电器件限制等缺点,对整个系统的稳定性也有一定的影响。
隔离型RS485器件来实现隔离传输:(如图3所示)


图3、隔离型RS485芯片ADM2483应用图

  

  ADM2483是ADI推出的隔离型485芯片,SOW-16封装,内部集成了一个三通道的磁隔离器件和一个半双工485收发器,2500V隔离电压、传输速率500K、共模电压抑制能力25KV/μS。但此电路仍需双电源供电,因此也会在一定程度上存在电路体积过大的问题。(一般我们会在7脚接4.7K--10K的上拉电阻)

完全隔离型RS485器件实现隔离传输:(如图4所示)


图4、完全隔离型RS485/422芯片ADM2587E应用图

  

  ADM2587E是ADI继ADM2483之后,推出的单电源隔离型485芯片。SOW-20封装,2500V隔离电压,全/半双工、传输速率500K、共模电压抑制能力25KV/μS、±15KV的ESD保护。适合用于工控、电力、仪表、安防等各种485隔离场合。

四、RS485总线保护电路

  隔离虽然能有效的抑制高共模电压,但总线上还会存在浪涌冲击、电源线与485线短路、雷击等潜在危害,所以我们一般会在总线端采取一定的保护措施。

  一般我们会在VA、VB上各串接一个4~10Ω的PTC电阻,并在VA、VB各自对地端接6、8V的TVS管,当然也可用普通电阻与稳压二极管代替。更多的还可以加热保险丝、防**,不过并不是说这些加的越多越好,具体要看实际应用,如果这些保护太多的话,也会影响到整个系统的节点数,与通信稳定性。

五、485应用的一些小经验

1、收发时序不匹配:

  485是半双工的通信,收发转换是需要一定的时间的,所以一般在收发转换之间,和每发送完一帧数据之后,都要有相应的延时,如果出现收发不正常、或第一帧数据之后就出现误码现象,则可以适当的增加一下延时时间,以观问题是否解决。

2、R0接上拉电阻:

  异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10kΩ上拉电阻。

3、合理选用芯片。

  例如,对外置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。此外经我们实验发现,ADI的非隔离型485芯片ADM487E、隔离型芯片ADM2483、ADM2587在多节点、防雷击方面也有着很好的表现。

六、维护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范围内)。

相关链接:rs485隔离选型表

相关帖子

沙发
xiaotann| | 2011-7-22 11:48 | 只看该作者
一般在收发转换之间

使用特权

评论回复
板凳
iccome| | 2012-4-11 16:33 | 只看该作者
标记一下,好帖

使用特权

评论回复
地板
llf021421| | 2012-4-15 11:49 | 只看该作者
mark RS485

使用特权

评论回复
5
hbchf| | 2012-6-20 11:00 | 只看该作者
标记一下,好帖

使用特权

评论回复
6
lixingzhe8| | 2012-7-7 11:59 | 只看该作者

使用特权

评论回复
7
huailove| | 2012-7-23 21:01 | 只看该作者
mark

使用特权

评论回复
8
tongshaoqiang| | 2012-9-20 13:59 | 只看该作者
学习,最近要做个485采集器

使用特权

评论回复
9
jlass| | 2012-9-21 11:40 | 只看该作者
近期刚好要做一个485
以前用光耦隔离做的,但是速度上不到115200
现在准备用带隔离的芯片做

使用特权

评论回复
10
lu-永| | 2012-10-20 07:51 | 只看该作者
内容很全,非常有价值!

使用特权

评论回复
11
uschon| | 2012-10-20 09:33 | 只看该作者
mark

使用特权

评论回复
12
阿南| | 2012-10-20 12:41 | 只看该作者
不错

使用特权

评论回复
13
zhongguoluren| | 2012-10-24 17:18 | 只看该作者
好帖子,说的很实在

使用特权

评论回复
14
db10| | 2012-10-24 18:10 | 只看该作者
具体碰到问题,要具体怎么解决感觉少了点,如果当时我做并上10台时,中断处理软件问题,硬件问题,当并上50台后,问题又不同,硬件上。这个很重要,并且碰到485芯片在不同型号,不同电压芯片如果3.3,5V如果不同,出现问题不同。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

139

帖子

2

粉丝