1. 首页 > 快讯

RS485通讯接口实际应用中常见问题及解决方法

1.什么是RS-485接口?与RS-232-C接口相比,它有哪些特点?

答:由于RS-232-C接口标准出现较早,因此不可避免地存在缺陷,主要包括以下四点:

(1)接口的信号电平较高,容易损坏接口电路的芯片。由于与TTL电平不兼容,因此需要电平转换电路与TTL电路连接。

(2)传输速率低。异步传输时,波特率为20Kbps。

(3)接口采用信号线和信号返回线形成共地传输形式。这种共地传输方式容易产生共模干扰,因此其抗噪声干扰能力较弱。

(4)传输距离有限。标准最大传输距离为50英尺,但实际上只能在15米左右使用。

针对RS-232-C的缺点,一些新的接口标准不断出现,RS-485就是其中之一。它具有以下特点:

(1)RS-485的电气特性:逻辑“1”用两线之间的电压差表示为+(2-6)V;逻辑'0'由两条线之间的电压差表示为-(2-6)V表示。接口信号电平比RS-232-C低,不易损坏接口电路芯片。而且该电平兼容TTL电平,可以方便地与TTL电路连接。

(2) RS-485最大数据传输速率为10Mbps

(3)RS-485接口采用平衡驱动器和差分接收器的组合,具有增强的抗共模干性,即抗噪声干扰能力好。

(4) RS-485接口的标准最大传输距离为4000英尺,实际可达3000米。另外,RS-232-C接口只允许一个收发器连接到总线上,这是单站能力。 RS-485 接口允许最多128 个收发器连接到总线。也就是说,它具有多站能力,因此用户可以使用单个RS-485接口轻松建立设备网络。

(5)由于RS-485接口具有良好的抗噪声干扰、传输距离远、多站能力等优点,成为首选的串行接口。由于RS485接口组成的半双工网络一般只需要两根连接,因此RS485接口采用屏蔽双绞线进行传输。 RS485接口连接器采用DB-9 9针插头插座,与智能终端的RS485接口采用DB-9(孔),连接键盘的键盘接口RS485采用DB-9(针)。

2. RS-422和RS-485串行接口标准

1.平衡传输

RS-422、RS-485 和RS-232 是不同的。数据信号采用差分传输,也称为平衡传输。它使用一对双绞线,其中一根定义为A,另一根定义为B。

RS485通讯接口实际应用中常见问题及解决方法

通常,发送驱动器A和B之间的正电平在+2和+6V之间,这是一种逻辑状态,负电平在-2和6V之间,这是另一种逻辑状态。还有一个信号地C,RS-485中有一个“使能”端子,在RS-422中可用或不可用。 ‘使能’端子用于控制发送驱动器与传输线的断开和连接。当“使能”端有效时,发送驱动器处于高阻状态,称为“第三状态”,即不同于逻辑“1”和“0”的第三状态。

接收方还做出与发送端相关的规定。接收端和发送端通过平衡双绞线对应连接AA和BB。当接收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV。此时,输出负逻辑电平。接收器平衡线上的电平范围通常为200mV 至6V。

2. RS-422电气规定

RS-422标准的全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。图2是典型的RS-422四线接口。其实还有一根信号地线,一共5根线。图1是其DB9连接器引脚定义。由于接收器采用高输入阻抗,且发送驱动器具有比RS232更强的驱动能力,因此允许在同一条传输线上连接多个接收节点,最多可达10个节点。即有1个主设备(Master),其余为从设备(Salve)。从设备之间不能相互通信,因此RS-422支持点对多的双向通信。接收器的输入阻抗为4k,因此发送器的最大负载能力为104k+100(终端电阻)。由于RS-422四线接口使用独立的发送和接收通道,因此无需控制数据方向。设备之间任何必要的信号交换都可以通过软件(XON/XOFF 握手)或硬件(一对独立的绞线)实现来执行。

RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比。最大传输距离只能在100kb/s以下的速率下实现。最高传输速率只能在非常短的距离内实现。一般情况下,100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。

RS-422 需要一个终端电阻,其阻值约等于传输电缆的特性阻抗。短距离传输时不需要终端电阻,即300米以下一般不需要终端电阻。终端电阻连接在传输电缆的远端。

3. RS-485电气规定

由于RS-485是从RS-422发展而来,因此RS-485的许多电气规范与RS-422相似。如果都采用平衡传输方式,都需要在传输线上连接终端电阻。 RS-485可以采用两线制和四线制方式。两线制可以实现真正的多点双向通信。

使用四线连接时,如RS-422,只能实现点对多通信,即只能有一台主设备,其余均为从设备。不过,它比RS-422有所改进,无论是四线还是两线连接方式都可以将最多32个设备连接到总线上。

RS-485和RS-422的区别在于共模输出电压不同。 RS-485 介于-7V 和+12V 之间,而RS-422 介于-7V 和+7V 之间。 RS-485接收器最小输入阻抗为12k; S-422 是4k; S-485符合所有RS-422规范,因此RS-485驱动程序可用于RS-422网络应用。

RS-485与RS-422一样,最大传输距离约为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比。只有当速率低于100kb/s时,才能使用规定的最长电缆长度。最高传输速率只能在非常短的距离内实现。一般100米双绞线的最大传输速率仅为1Mb/s。

RS-485需要两个终端电阻,其阻值等于传输电缆的特性阻抗。短距离传输时不需要终端电阻,即300米以下一般不需要终端电阻。终端电阻连接在传输总线的两端。

3. 安装RS-422和RS-485网络时的注意事项

RS-422可以支持10个节点,RS-485支持32个节点,因此多个节点组成一个网络。网络拓扑一般采用终端匹配的总线结构,不支持环形或星形网络。搭建网络时应注意以下几点:

1. 使用双绞线作为总线将各节点串联起来。从总线到各节点的引线长度应尽可能短,以使引线中的反射信号对总线信号的影响最小。图8给出了实际应用中一些常见的错误连接方法(a、c、e)和正确连接方法(b、d、f)。虽然a、c、e这三种网络连接方式不正确,但在短距离、低速率的情况下仍然可以正常工作。但随着通信距离的延长或通信速率的提高,其不利影响会越来越严重。主要原因是信号在各支路末端反射后与原始信号叠加,会导致信号质量下降。

RS485通讯接口实际应用中常见问题及解决方法

2、应注意总线特性阻抗的连续性。在阻抗不连续点处会发生信号反射。在以下情况下很容易出现这种不连续性:总线的不同部分使用了不同的电缆,或者总线的某个部分上靠近安装了太多的收发器,或者引出总线的分支线太长。

总之,应提供单一、连续的信号路径作为总线。

4、RS-422与RS-485传输线匹配的一些说明

终端电阻一般用于RS-422和RS-485总线网络之间的匹配。但在短距离、低速率的情况下,不需要考虑终端匹配。那么什么情况下我们不需要考虑匹配呢?理论上,当在每个接收到的数据信号的中点采样时,只要反射信号在采样开始时衰减足够低,就可以忽略匹配。但这在实践中很难把握。美国MAXIM公司的一篇文章提到了一个经验原理,可以用来判断数据速率和电缆长度需要匹配什么:当信号转换时间(上升或下降时间)超过1倍所需时间时方式沿总线传输电信号,无需匹配。例如,具有有限斜率特性的RS-485接口MAX483,其最小上升或下降时间为250ns,典型双绞线上的信号传输速率约为0.2m/ns(24AWGPVC电缆),那么只要数据速率为250kb/s 16米以内,电缆长度不超过16米。当使用MAX483作为RS-485接口时,不需要端子匹配。

一般采用终端电阻法进行终端匹配。如上所述,RS-422需要在总线电缆的远端并联电阻,而RS-485则需要在总线电缆的首尾并联终端电阻。 RS-422网络中终端电阻一般为100,RS-485网络中终端电阻一般为120。该电阻相当于电缆的特性阻抗,因为大多数双绞线电缆的特性阻抗约为100至120。这种匹配方法简单有效,但有一个缺点。匹配电阻消耗大量功率,不适合功耗限制严格的系统。

另一种更省电的匹配方法是RC匹配,如图1所示。使用电容器C来阻挡直流分量可以节省大部分功率。然而,电容C的取值比较困难,需要在功耗和匹配质量之间进行折衷。

还有一种使用二极管的匹配方法,如图2所示。这种方案虽然没有实现真正的“匹配”,但它利用二极管的钳位作用,快速削弱反射信号,达到提高信号质量的目的。节能效果显着。

5、RS-422、RS-485网络故障保护

RS-422 和RS-485 标准均规定接收器阈值为200mV。这样可以提供较高的噪声抑制能力。如上所述,当接收器A电平比B电平高+200mV以上时,输出为正逻辑,反之,输出为负逻辑。但由于第三状态的存在,即主机在发送端发送完报文数据后,将总线置于第三状态,即总线空闲时,没有信号驱动总线。总线上,使得AB之间的电压为-200~+200mV直至接近0V,这就带来了一个问题:接收器输出状态不确定。如果接收器的输出为0V,网络中的从设备会将其解释为新的起始位并尝试读取后续字节。由于永远不会有停止位,因此将导致帧错误并且不会再有设备请求。总线和网络瘫痪。除了上述总线空闲会导致两线电压差小于200mV的情况外,当出现开路或短路时也会出现这种情况。因此,应采取一定措施,防止接收方处于不确定状态。

通常,总线上会添加偏置。当总线空闲或开路时,使用偏置电阻将总线偏置在某种状态(差分电压-200mV)。如图1 所示。将A 拉至地,将B 拉至5V。电阻器的典型值为1k。具体值随电缆的电容而变化。

上述方法是比较经典的方法,但是仍然无法解决总线短路时的问题。有的厂家将接收阈值移至-200mV/-50mV,可以解决这个问题。例如,Maxim的MAX3080系列RS-485接口不仅无需外部偏置电阻,而且解决了总线短路时的故障保护问题。

6、使用RS485接口时,传输电缆的长度应如何考虑?

答:使用RS485接口时,对于特定的传输线路,从发生器到负载允许的数据信号传输的最大电缆长度是数据信号速率的函数。该数据长度主要受到信号失真和噪声的限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG铜芯双绞线电话线(线径为0.51mm)时得到的,线间旁路电容为52.5PF/M ,终端负载电阻为100欧姆。出去。 (曲线引自GB11014-89附录A)。从图中可以看出,当数据信号速率降低到90Kbit/S以下时,假设最大允许信号损耗为6dBV,则电缆长度限制为1200M。事实上,图中的曲线是非常保守的,实际中完全有可能获得比它更大的电缆长度。

当使用不同直径的电缆时。那么得到的最大电缆长度是不同的。例如:当数据信号速率为600Kbit/S时,使用24AWG电缆。从图中可以看出,最大电缆长度为200m。如果使用19AWG电缆(线径为0.91mm),电缆长度可大于200m;如果使用28AWG电缆(如果线径为0.32mm),电缆长度只能小于200m。

7、如何实现RS-485/422多点通讯

RS485通讯接口实际应用中常见问题及解决方法

答:任何时候,RS-485 总线上只能发送一台发送器。半双工模式下,主机和从机只能发送一个信号。全双工模式下,主站可以一直发送,但只有一个从站可以发送。 (由DE控制)

8、与RS-485/RS422接口通信时,什么情况下需要端子匹配?电阻值是如何确定的?终端匹配电阻如何配置?

答:长线信号传输时,一般为了避免信号反射和回声,需要在接收端连接终端匹配电阻。终端匹配电阻值取决于电缆的阻抗特性,与电缆的长度无关。 RS-485/RS-422一般采用双绞线(屏蔽或非屏蔽)进行连接,终端电阻一般在100140之间,典型值为120。实际配置中,电缆的两个终端节点,即最近端和最远端各连接一个终端电阻。但中间的节点不能接终端电阻,否则会出现通讯错误。

9. 为什么RS-485/RS-422接口停止通信时接收器仍输出数据?

答:RS-485/RS-422完成发送数据后,要求所有发送使能控制信号关闭,接收使能保持有效。此时总线驱动器进入高阻状态,接收器可以监听总线上是否有信号。新的通讯数据。但由于此时总线处于被动驱动状态(如果总线有终端匹配电阻,则A、B线的差分电平为0,所以接收器的输出不确定,对总线的变化非常敏感) AB线上的差分信号;如果没有终端匹配,总线处于高阻状态,接收器的输出不确定),容易受到外界噪声干扰。当噪声电压超过输入信号阈值(典型值200mV)时,接收器将输出数据,导致对应的UART接收到无效数据,导致后续正常通信出错;另一种情况可能会出现在打开/关闭发送功能时可以控制导致接收器输出信号的时刻,也会导致UART错误接收。解决办法:1)在通信总线上,采用拉高同相输入端(A线)、拉低反相输入端(B线)的方法来钳位总线,保证接收器输出为固定' 1' 级; 2)使用内置故障安全模式的MAX308x系列接口产品替换接口电路; 3)通过软件消除,即在通信数据包中添加2-5个起始同步字节,满足同步头后才启动。真正的数据通信。

10、通信电缆中的信号衰减

影响信号传输的第二个因素是电缆传输过程中的信号衰减。传输电缆可以看作是由分布电容、分布电感和电阻组成的等效电路。

电缆的分布电容C主要由双绞线的两根平行导体产生。这里导线的电阻对信号影响很小,可以忽略不计。信号损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器造成的。 PROFIBUS(西门子为DP总线选用的标准电缆)使用的LAN标准两芯电感在不同波特率下的衰减系数如表1所示。

11、分布电容对RS-485总线传输性能的影响

电缆的分布电容主要是由双绞线的两根平行导体引起的。此外,导线与地之间还存在分布电容。虽然它很小,但在分析时不能忽略它。分布电容对总线传输性能的影响主要是因为总线上传输的是基波信号,信号表达只有‘1’和‘0’。在特殊字节中,如0x01,信号‘0’让分布式电容有足够的充电时间,而当信号‘1’到来时,由于分布式电容中的电荷,没有时间放电,(Vin+ )-(Vin-)- 也大于200mV。结果接收方误认为是‘0’,最终导致CRC校验错误,导致整个数据帧传输出错。

由于总线分布的影响,会出现数据传输错误,从而降低整个网络的性能。有两种方法可以解决这个问题:

(1)降低数据传输的波特率;

用户评论

呆檬

RS485 真的很方便啊,但是信号干扰确实是个头疼的事,经常会接收不到数据。

    有17位网友表示赞同!

柠夏初开

学习这篇文章正好想了解一下RS485在实际应用中遇到的问题,比如电平转换。

    有18位网友表示赞同!

孤廖

我最近在搞工业控制项目,用到 RS485 , 遇到了一些通讯故障,希望能找到解决方法。

    有19位网友表示赞同!

哭花了素颜

对接不同品牌设备的时候要注意电流和电压,否则容易烧毁设备。

    有10位网友表示赞同!

←极§速

RS485 应用场景很多啊,希望文章能详细阐述下常见问题和解决思路。

    有19位网友表示赞同!

经典的对白

数据传输距离很重要,远距离应用需要注意信号放大和反射的问题。

    有16位网友表示赞同!

巴黎盛开的樱花

隔离电路也是比较关键的,特别是工作环境复杂时要额外注意。

    有10位网友表示赞同!

喜欢梅西

写篇文章解决这类常见问题,很实用啊!

    有12位网友表示赞同!

心亡则人忘

RS485 的数据速率也需要考虑,很多时候会受到硬件限制的影响。

    有12位网友表示赞同!

封锁感觉

希望文章能提供一些实际案例分析,更容易理解。

    有7位网友表示赞同!

遗憾最汹涌

我在校外实习时就接触过 RS485,当时遇到了一些信号干扰问题。

    有8位网友表示赞同!

灵魂摆渡人

RS485 应用范围很广,希望能更深入地了解一下不同领域的应用场景。

    有19位网友表示赞同!

轨迹!

学习这篇文章刚好用来解决刚碰到的项目中遇到的 RS485 问题。

    有20位网友表示赞同!

何年何念

文章内容针对性强,能帮我快速定位我目前面临的问题。

    有9位网友表示赞同!

别留遗憾

数据校验也是一个重要的方面,容易出错的话会影响整个通讯过程。

    有7位网友表示赞同!

追忆思域。

RS485 比传统的串行口更稳定也方便扩展设备。

    有8位网友表示赞同!

疲倦了

学习一下 RS485 的应用知识,提升自己的技能水平。

    有14位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/5089.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666