锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

RS485因为上下拉电阻通讯不良分析

时间:2022-10-03 14:00:00 会出现电阻3b522a分压电阻电阻4000传感器fsn04

1.问题:声纹传感器在项目中使用:RS485通信不良(无法接收数据)

更改方案:奇怪的是,更换声纹传感器可以解决问题。发现更换的传感器485接线短距离无法通信。猜测传感器和我的主机发送命令有临界值。此外,使用485调试工具并联在传感器485线上,传感器和我的主机可以正常通信(调试工具并联在上面,上下拉电源。)删除调试工具后,无法通信。

了解RS485

1.参考:RS-分析485接口(上下拉电阻选择等)_天录的专栏-CSDN博客

  1. RS-485/RS-422 Circuit Implementation Guide

RS-485电气参数为:

  • 共模电压范围-7~ 12V
  • 可支持32个多点拓扑连接,见以下网络拓扑图
  • 使用40英尺电缆时,传输速率可达10英尺Mbps,1英尺相当于30.48cm,这里Mbps是兆bit/s的意思
  • 使用4000英尺电缆时,传输速率可达100英尺kbps
  • 半双工通信
  • 最小差分电压容限:200mV,也就是说,接收端的差分电压低于2000mV0/1不能正确识别。这句话应该怎么理解?

如何理解上图?RS-485收发器的发送电路至少提供1.5V差分电压输出能力,通过总线阻抗衰减,32个接收电路输入阻抗,120端接电阻,差分信号范围必然逐渐衰减,最终至少需要200mV给末端接收电路的差分电压。

差分电压:接收电路判断A线共模电压和B线共模电压的差异

如果A-B>200mV,接收电路R识别为逻辑1

如果A-B<-200mV,接收电路R识别为逻辑0

简单地说,就是,A绝对电压值至少比B线大200mV它被识别为逻辑1,或者A线的绝对电压值至少比B线小200mV,识别为逻辑0

A接上拉电阻,B下拉电阻,AB间接传输线阻抗对应的电阻为120R*2(计算终端电阻)这四个电阻连接后应确保AB间电压大于200mV.(电阻分压)。一般来说,485芯片文档不提及上下拉电阻,但默认要求通信AB>200mV。如果通信正常,有些不正常,一般是自己的板终端电阻和分压电阻设置不好,用万用表测量AB保证两端之间的电压AB间电压大于200mV.。

偏置电阻(上下拉分压电阻)

第一种理解:

1. 上述上下拉电阻得到保证AB间电压大于200mV

2.开路故障安全( open failsafe)作用

在总线空闲期间,没有设备总线,没有设备驱动总线,接收器输出处于不定义状态。这将导致UART上部接收到的随机数据会影响无效的起始位置或帧错误。为了解决这个问题,上下拉电阻可以放置在总线上进行偏置。偏置电阻R在下图中计算:

但有些芯片内部自带failsafe功能(TI大多数芯片都有这个功能,但并不意味着有上下拉电阻,是否有上下拉电阻取决于规格)如下图所示:TI的SN65HVD12的文档

我用自己的板子SN65LBC184没有上下拉电阻

3. 安全接收器的真实故障(Ture Fail-Safe Receivers)(可节省上下拉电阻

新一代RS-改进了485接收器,使差分输入阈值电压从±200mV调整至-200mV和-30mV,这样可以节省使用上下拉电阻。(TI芯片SN65HVD12可以节省上下拉,因为Vit :-0.01V)在总线空闲期间,VIA-VIB=0(大于-30mV)接收器的输出是高电平的(RO=1),处于确定状态。

第二种理解:Failsafe biasing

参考:https://www.ti.com.cn/cn/lit/an/slla112a/slla112a.pdf?ts=1634016372652&ref_url=https%3A%2F%2Fwww.ti.com.cn%2Fproduct%2Fcn%2FSN65LBC184

1. 在正常运行下,485总线有一个有效的信号由一个有源驱动器应用,给出一个幅度超过485阈值200mv差分电压。当节点从总线断开时,检测到接收端的输入开路,总线状态不确定。这种情况(开路电路)会导致一些485接收器随机输出。SN65LBC182和SN65LBC184等收发器具有开总线故障保护的特点,在总线引脚上施加小偏移(12μa),导致总线电路在开co下一个已知的接收输出状态(逻辑高),下图SN65HBC184的接收表:

2. 另一个问题是闲置总线状态。当节点连接到时总线有终端电阻,但没有主动驱动器,这种情况会发生。总线没有主动驱动到有效的485状态,终端电阻往往会降低差动电压接近零伏

一些收发器,如SN65HVD12,接收阈值Vit max:-0.01V,因检测零差分总线电压作为已知总线状态,并输出逻辑高。见上图12,。

对于没有阈值偏置的收发器(就是接收差分电压不在0V以下),为了符合DL/T 645的要求,可以添加总线偏置电阻,这些电阻提供一个偏置,在空闲总线条件下产生一个有效的总线逻辑状态。

3.  看下图:下面是SN62LBC184芯片的电路,这个芯片没有idle-bus failsafe,(比如SN65HVD12就有idle-bus failsafe)因此SN62LBC184需要加上下拉电阻。

 

 

4 . 关于idle-bus failsafe的 SN65LVD12SN65LBC184对比发现为什么可以省去上下拉电阻

 

 

 项目问题解决分析

刚开始提出的问题,485有的通信正常,有的通信不正常。如下图是我的电路图:

分析一:通讯不正常

下图1用万用表测AB间电压。

下图2可以看出AB之间差分电压高电平只有50mV,就又可能这个值无法被接收器识别。下面接着分析并联调试工具可以通讯。

 

 

 分析二:

 并联上485调试工具之后,通讯正常。测得AB的差分高电平达到了75mV。通过万用表测AB间电压:0.07V 。也就是说75mV的高电平可以被485接收器识别。不认为在闲置状态。

 

分析三:

将自己电路的6.8K上下拉电阻改为1.2K(通过上面分析了SN65LBC184没有idle-bus failsafe)这也是按照485标准设计AB间电压:

 尝试测量过485调试工具的AB间电压都是大于0.2V以上。

下图是我更改1.2K上下拉电阻的测试结果,485通讯也可以正常接收数据。

 

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章