RS485 端接:交流 + 故障保护 + 并行 + 双向

电器工程 rs485 阻抗匹配 偏见 终止
2022-01-27 14:33:33

知道我需要改进我的 RS485 电路,我一直在阅读。我有一系列具体的问题,希望您在我描述我如何尝试按照应用说明进行操作时让我满意。

以下是串行通信系统的一些基础知识:

  • RS485
  • 115.2 kbaud,主要受微控制器限制
  • 半双工(1 个差分对加地)
  • 最坏情况下开始到结束的电缆长度约为 80m
  • 由于 PCB 走线,最坏情况下的短截线长度可能为 2cm;没有电缆接头
  • 菊花链式
  • 多点设备数量通常为 8 个,可能不超过 20 个
  • 由于信令协议中的校验和,一些但不多的 BER 容限
  • 所有从设备均为SN65176主人是USPTL4

假设我使用的电缆是Belden 3106A,因为它的规格很明确:

  • 特性阻抗 Zo = 120 ohm
  • 传播速度 VP = 78%

我的终端电路经历了几次迭代:

  1. 简单的双向并行终端。由于破坏了故障安全操作并产生了虚假的起始位,因此无论如何都不起作用。
  2. 双向端接,主端具有简单的并行端接,最后一个从端具有 AN-903“电源端接”中所述的电路。仍然不起作用:主机上的并行终端在主机上产生了过多的直流负载并破坏了故障保护操作。
  3. 未终止的主机,最后一个从机以“电源终止”终止。它看起来像这样:

示意图

模拟此电路- 使用CircuitLab创建的原理图

它可以工作,但至少有两个原因是不理想的:仍然有很多直流负载;并且主端不是阻抗匹配/端接的。

为了更好的选择,我考虑了TI AN-903 “差分端接技术的比较”。根据第 2 节“未终止”,

低速通常被表征为低于 200 kbits/sec 的信号速率,或者当电缆延迟(电信号穿过电缆所需的时间)大大短于位宽(单位间隔)或当信号上升时间是电缆(即不是传输线)单向传播延迟的四倍多。

由于 115.2kbaud < 200kbaud,满足第一个标准。对于第二个标准,计算电缆延迟:

(80 m) / 0.78c = 342 ns

与位宽相比:

1 / 115.2kbaud = 8.68 μs

所以这个标准也很容易满足。这意味着我可能会将电缆视为不是传输线,并且不需要阻抗匹配/端接。但是,出于以下原因,我想开发一个终端电路:

  • 它可以便宜地完成
  • 这是一个学习的机会
  • 它提高了传输质量,即使不是很多
  • 如果电缆运行需要大大延长,系统将继续存在
  • TI 规格表无条件推荐它:

线路应在其特征阻抗 RT = ZO 的两端终止。主线外的短截线长度应尽可能短。

我想追求第 5 节的修改版本,AC 终止。给定我的系统参数,RT = 120 ohm。对于 CT,应用说明说:

另一方面,CT 被选择为等于电缆的往返延迟除以电缆的 ZO。CT ≤(电缆往返延迟)/ZO

往返电缆延迟 = 2 * 342 ns = 684 ns

CT ≤ 684 纳秒/120 欧姆

CT ≤ 5.7 nF

选择 CT = 5.6 nF,E24 (5%) 系列中最接近的电容。

应用笔记还说:

此外,得到的 RC 时间常数应小于或等于单位间隔 (TUI) 的 10%。

(120 欧姆)(5.6 nF) ≤ 0.1 * 8.68 μs

672 纳秒≤868 纳秒

所以这个电容看起来没问题。但是,我看到了应用笔记中没有提到的(大?)问题。与匹配电阻串联的电容器使匹配网络的阻抗与电缆的特性阻抗非常不相等。

f = 115.2kbaud / 2 = 57.6 kHz

120 欧姆 + 1/2πj/57.6kHz/5.6nF = 120 + 493j 欧姆

我是否还应该添加一个串联电感来消除该电抗?

493 欧姆 / 2π / 57.6kHz = 1.36 mH

使用 E24 值 1.3 mH。然后:

120 欧姆 + 1/2πj/57.6kHz/5.6nF + 2πj*57.6kHz*1.3mH = 120 - 22.9 欧姆

通过更精确的电感,可以使该电抗更接近零。

当我模拟具有与 Belden 相同特性和双向 RC AC 终端的传输线时,它似乎工作得很好。但是,如果我添加电感以消除容抗,则会出现可怕的振铃。

鉴于以上所有,我的问题是:

  • 我的数学和我对应用笔记的解释是否正确?
  • 为什么 AN 不显示双向 AC 端接?在多点线的两端都有交流终端是否有效?
  • 为什么 AN 在描述 AC 端接时不考虑容抗?
  • PC 端 RS-485 收发器在线路 A 上具有不可拆卸的 4.7k 上拉电阻,在线路 B 上具有 4.7k 下拉电阻,用于故障安全操作。这会与旁边的交流终端兼容吗?
3个回答

这是一个有趣的问题 :-) 给它一个彻底的思考竖起大拇指 - 我看到很多人仍在使用 RS485,但几乎没有人试图理解终止(实际上几乎没有人知道基本的教科书规则)。另外,我是否正确理解您已尝试使用“范围”观看线路?太好了,几乎没有人这样做。

前几天我自己做了一个关于 RS485 端接的练习……我没有考虑交流端接(不是通常的差分意义),但我确实关注参考地、偏置(“故障安全”)和常见的作用模式终止 - 因为这似乎确实有所作为。

RS485 的一个典型缺陷是节点不能保证按照定义是接地的。由于这个原因,双绞线以太网更容易处理。

在您发布的示意图中查看带有故障保护功能的 R-only 终结器,我发现它的不对称既有趣又奇怪。我很欣赏净差分电阻为 100 欧姆,但我不赞成将 B 线仅通过 24 欧姆连接到 GND……您是如何得出这种不对称设置的?我相信 485 收发器中的 RX 和 TX 引脚几乎是等效的。我会保持偏置对称。

与此处的其他海报不同,我不会尝试寻找集成了偏置(故障安全)电阻器的收发器。节点在监听时应该具有高 Z,故障保护(和终止!)应该是总线的功能,而不是单独的收发器。为了实现 A/B 输入在每个单独的节点处始终处于“范围内”,您应该使用参考地 - 正如某些人所说,在每个节点处使用 100 欧姆电阻器,或者直接连接。如果局部地面摆动太大,请使用隔离。在每个节点上的偏见不会让你到任何地方。除非您的参考地是隔离的(浮动),否则任何偏置电阻器都太弱而无法克服硬接地回路。并且,如果信号对屏蔽是单独且紧密的,即传输线更像是双轴,一个合适的参考地!因为屏蔽实际上是射频能量传输意义上的第三导体。任何仅在一端接地的导体都会成为其自身波长的天线。

我之前(RC)用同轴电缆(用于 IRIG)尝试过 AC 端接。您应该用示波器看看实际结果是什么 - 在终结器处,以及在线路中途的任何收发器节点处。尝试使用太多和太少的容量进行试验。

您选择电容器的一般公式似乎是正确的,您的推理方向是正确的。而且我确实觉得即使在“太短太慢”的线路上,至少 RC(以 AC 为中心)终止也是合适的,因为 UART 可以在一个位长度内有多个采样点,或者如果只有一个采样点,你不能确定它到底在哪里......

也就是说,我的总体感觉是:你不应该那么关心直流负载。发射器(收发器 IC 及其电源)主要设计为在其输出端处理 60 欧姆直流电,24x7。而且,传输线两端的直流端接是您最好的选择。

如果您的 TX/RX 模式是全双工的,并且发射器始终处于开启状态,那么您的担忧可能会有一些功劳 - 如果 OTOH 通信模式是“稀疏的”,即收发器大部分时间都处于高 Z 状态,那么它不会沉迷于直流负载是没有意义的。

而且,在传输线中,发射器也应该是阻抗匹配的!在其他射频系统中,这通常通过发射器的串联端接来完成。不确定 RS485(FET 很难切换到电源轨),特别是如果您的发射器始终开启 - 可能会使用“范围”检查,在“发射器端”有和没有终止(如果你的“始终在主机上”真的是在一个 TML 端),但正如我已经说过的,不要过分担心第二个终结器带来的负载。作为一项家庭作业,我可能应该拿一个示波器观察线路一端的 485 发射器从活动状态切换到高 Z :-)

顺便说一句,您已链接到一些 USB/485 加密狗(您的主节点),但这是一个装在不透明塑料盒中的完整电路,我们不知道其内部接线的详细信息。我敢打赌,在里面,你会找到一个 SN75176 或更现代的类似作品。而且,如果 FIFO 和“发送器保持寄存器”变空,它可能会恢复到高阻态。

===编辑===

为了在发送器处实现完美的 RF TML 阻抗匹配,TX 芯片需要通过 60 欧姆差分的本地电阻将电源轨切换到 TML,或者在现实世界中,每个引脚串联有效的 30 欧姆(A/B )。这对于短路保护(电流限制)也是有意义的。查看 SN75176 数据表,我看不到明确的串联端接,既没有与线路输出串联,也没有与单独的图腾开关串联 - 但我确实记得,当您连接第一个和第二个端接器时,信号幅度确实有所降低。数据表确实提到了在 A/B 端子的 TX 期间的电流限制为 60 mA - 再次考虑内部原理图,这必须是图腾开关的一些固有的非破坏性限制(或者它们可能实际上是电流源)。请注意,芯片输出图腾中发生的任何活动都受 0/+5V 电源轨的限制。一个完整的 5V 到 120 欧姆意味着 83 毫安。在 60 mA 时,正确端接线路上的差分输出幅度将为 60 Ohms * 60 mA = 3.6 VIe 在这种情况下,芯片的有效差分阻抗为 23 Ohms(1.4V 左至 +5V,/60mA)。

我认为你有过于复杂的事情。为什么不在两端使用一个120欧姆的终端电阻,它简单且最可靠。

正如你所说的你没有短截线,整个传输线是菊花链,电缆具有指定的特性阻抗,那么最好在两端使用120欧姆的电阻。

使用 PC 时的聪明之处在于拥有一个隔离型 RS485 收发器并启用这些上拉/下拉。并非所有设备都喜欢引体向上。他们中的一些人期望A拉高,B拉低,有些A拉低,B拉高。检查这个。

编辑:我的建议。不要将屏蔽层用作第三导体。屏蔽层必须在每个节点处接地,但只有一端。总的来说,盾牌的每一部分只在一个点上连接。不存在通过屏蔽从主节点到终端节点的直接连接。

示意图

模拟此电路- 使用CircuitLab创建的原理图

您要做的是找到差分信号的最小滞后值,并通过线路终端电阻传导足够的电流,在尽可能多的负载上至少达到最小 Vrh(接收器滞后电压)电压的两倍。负载电阻是另一个数据表值,120 线阻抗电阻与其并联。

例如,对于 MAX485,Vrh(接收器滞后)为 70mV,Rrl(接收器负载电阻)为 12K。仅使用其中 2 个,带有双 120 欧姆终端电阻的两端的负载为 59 欧姆。在 140mV 和 59 欧姆的情况下,我们需要 2.37mA 的电流。这意味着 VDC 减去 Vrh*2 除以我们计算的负载电流,得到 2.050K。除以 2,我们理想的故障保护电阻为 1K。您只需要在终端电阻器位置使用其中之一。您将在其他地方使用的值只需要 12.5uA (12K Rrl),因此需要双 180K 电阻。

在 115K 和单工或全双工下最好的选择是单端端接,因为仅发送芯片输出不需要端接。半双工是终止两端有帮助的地方。