RS-485标准详解

RS-485

本篇解读德州仪器提供的《RS-485 设计指南》讲述 RS-485 通信协议的相关概念

1 引言

1983 年,电子工业协会 (EIA) 批准了一个新的平衡传输标准,称之为 RS-485。调查发现,RS-485 备受赞誉并被广泛应用到工业、医疗和消费类产品,成为了工业接口的主力规范。

本篇对应用报告进行解读,为那些对 RS-485 标准不熟的工程师提供设计指南,帮助他们在最短的时间内完成稳健而可靠的数据传输设计。

2 标准和特性

RS-485 标准的本质

  • 电气标准:RS-485 是一个仅定义电气特性的标准,与完整接口标准(包括功能、机械和电气规格)不同。它专注于定义使用平衡多点传输线的驱动器和接收器的电气特性。
  • 引用标准的基础:尽管RS-485本身只是一个电气标准,但许多更高级别的通信协议都以RS-485作为物理层标准的基础。例如,中国的电能表通讯协议标准 DL/T645 就明确指定 RS-485 为物理层。

不需要纠结协议与标准的区别,我们理解这里讲的RS-485指的是一种全世界公认的物理层协议,既是一种标准。

RS-485 的主要特性

  1. 平衡接口

    • RS-485 提供了平衡接口,可以有效抵抗噪声干扰。可以去看博主写的《RS-232通信协议详解》中FQA部分对平衡通信的介绍。
  2. 多点通信支持

    • 它支持多达 32 个负载节点的连接,适用于多点到多点的通信场景。
  3. 总线共模范围

    • RS-485 的共模电压范围宽广,支持 -7V 至 +12V,这使得它在实际工业环境中能够适应不同的电压变化。
  4. 单一电源

    • 使用 5V 的单电源即可运行,简化了设计复杂性和成本。
  5. 数据速率与传输距离

    • 最大数据速率为 10Mbps(以 40 英尺的距离为例)。
    • 在低速率(100kbps)时,总线长度可达 4000 英尺(约 1200 米),显示了其在长距离低速通信中的优势。

3 网络拓扑

网络拓扑类型

RS-485 标准建议使用总线拓扑结构。这种结构的特点是:

  • 所有节点通过短的存根接入主干线。
  • 适用于多点通信场景。

总线拓扑的优点在于其结构简单,便于布线和扩展,但需要注意正确的终端匹配和存根长度控制,以避免信号反射和干扰。

通信模式

RS-485 的总线可以支持两种通信模式:

  1. 全双工模式

    • 使用两个信号对(共四根电线)。
    • 每个信号对分别负责发送和接收信号。
    • 需要全双工收发器,分别用于发送和接收的总线访问线路。
    • 优点:可同时进行发送和接收,适用于高效率、实时性要求较高的场景。
  2. 半双工模式

    • 仅使用一个信号对(共两根电线)。
    • 同一时间只能发送或接收信号。
    • 需要方向控制信号来管理驱动器的启用和接收器的状态。
    • 优点:布线成本较低,但通信效率受限。

  • 在全双工结构中,每个节点需要独立的发送与接收线路。
  • 在半双工结构中,节点通过控制信号避免总线争用。

总线冲突的避免

在半双工模式下,由于总线上只有一个信号对,因此需要特别注意:

  • 确保在任意时刻总线上只有一个驱动器处于工作状态。
  • 如果多个驱动器同时访问总线,会导致总线争用(信号冲突)。
  • 总线争用通常通过软件控制避免,即对驱动器启用和关闭进行严格管理。

4 信号电平

信号电平的要求

RS-485 标准对驱动器和接收器的差分信号电平做了明确的规定:

  1. 驱动器差分输出
    • 驱动器必须能够在54Ω负载下输出不低于 1.5V 的差分信号。
  2. 接收器差分输入
    • 接收器必须能够检测低至 200mV 的差分信号输入。

这些信号电平设计,确保了即便在电缆和连接器中因信号衰减严重的情况下,也能保证数据传输的高可靠性。

差分信号的稳健性

  1. 抗干扰能力
    • 差分信号设计使RS-485非常适合在嘈杂的工业环境中应用。
    • 即使在长距离(如几百米)的传输中,也能保证信号完整性。
  2. 电平范围
    • RS-485 驱动器的输出差分电压范围通常能超出1.5V,以确保即便在干扰或衰减的情况下,也能有足够的余量让接收器正确解码信号。

5 电缆类型

不作为重点,请参考手册。

6 总线终端和存根长度

  1. 端接(Termination)的重要性

    • 信号反射问题:在高速数据传输中,如果传输线未正确进行终端匹配,信号反射会影响通信的可靠性。
      为避免这种情况,RS-485 数据线需要正确端接。
    • 匹配传输电缆的阻抗:建议终端电阻 ( R_T ) 的阻值与传输电缆的特性阻抗 ( Z_0 ) 相匹配。
      对于标准 RS-485 传输电缆, ( Z_0 ) 通常为 120Ω。因此,在电缆干线的两端需要各连接一个 120Ω 的终端电阻。
      这是差分信号线缆结构中的关键。
  2. 滤波器设计(噪声环境下的端接)

    • 在存在较大噪声的应用中,可用两个 60Ω 电阻和电容组合成低通滤波器代替单一的 120Ω 电阻。这样可以提供额外的共模噪声滤除能力。
    • 滤波器的设计要求使用精度为 1% 的电阻以确保两组滤波器频率降幅一致。如果使用容差较大的电阻,会导致滤波器频率不一致,可能会将共模噪声转化为差分噪声,从而降低系统的抗扰性。
  3. 存根长度(Stub Length)的限制

    • 存根长度是指设备与主干电缆之间的距离。为了减少信号反射,存根长度应尽可能短,避免反射信号在较长的线缆中影响其他信号。

    • 存根的最大允许长度由公式确定:

    • 表 6-1 提供了一些常用 RS-485 驱动器的信号速率、上升时间及最大存根长度的关系。例如:

      • 当驱动器信号速率为 1 Mbps,且上升时间为 100 ns 时,最大存根长度为 7 英尺。
      • 如果信号速率降低到 200 kbps,且上升时间增加到 500 ns,则存根长度可以延长到 38 英尺。
  4. 实用建议

    • 使用较长上升时间的驱动器更适合需要长存根长度或要求较低电磁干扰(EMI)的应用场景。
    • 在 PCB 布局中,信号路径应尽量短并对称,以减少信号反射和损耗。

7 失效保护

不作为重点,请参考手册。

8 总线负载

  1. 总线负载对驱动器输出的影响

    • 驱动器输出依赖于其必须提供给负载的电流。
    • 在总线上增加收发器和失效防护电路会直接增加所需的总负载电流。
  2. 单位负载(Unit Load, UL)的概念

    • RS-485 标准通过“单位负载”来定义负载阻抗。1 个单位负载大约等于 12kΩ 的阻抗。
    • 根据标准,驱动器必须能够驱动 32 个单位负载(32 UL)。
  3. 现代收发器的改进

    • 现代 RS-485 收发器通常具有更小的单位负载,例如 1/8 UL。
    • 这意味着总线上可以连接更多的设备。例如,1/8 UL 的收发器可以支持多达 256 个设备。
  4. 失效防护(Failsafe Biasing)的影响

    • 失效防护偏置电路会增加额外的负载电流,可能贡献多达 20 UL。

    • 这会减少能够连接的最大收发器数量。


FQA

RS-485 网络拓扑结构

在 RS-485 网络中,除了 总线拓扑结构 外,还可以支持其他几种网络拓扑结构,但它们在实际应用中各有优缺点。


RS-485 支持的网络拓扑结构

  1. 总线拓扑(Bus Topology)

    • 结构描述:所有节点通过短的存根连接到一条主干线。
    • 特点
      • 简单易用,适合多点通信。
      • 节点可方便扩展。
      • 推荐的 RS-485 标准拓扑结构。
    • 优点
      • 易于维护和扩展。
      • 适合长距离通信,信号传输较少反射。
    • 缺点
      • 存根长度需要严格控制,以避免信号反射和干扰。
  2. 星形拓扑(Star Topology)

    • 结构描述:每个节点通过单独的电缆连接到一个中央集线点(Hub)。
    • 特点
      • 连接器处的信号分配可能导致信号质量问题。
      • 难以匹配终端阻抗,增加了信号反射的风险。
    • 优点
      • 节点之间相互独立,故障隔离容易。
    • 缺点
      • 难以控制信号反射。
      • 需要额外的硬件,例如集线器。
      • 不推荐用于 RS-485,因为它违背了平衡差分信号的设计原则。
  3. 环形拓扑(Ring Topology)

    • 结构描述:节点按环形相互连接,每个节点连接两个相邻节点。
    • 特点
      • 一般需要双向通信支持。
      • 在 RS-485 中使用环形拓扑并不常见,因为标准规定推荐菊花链结构。
    • 优点
      • 环形拓扑在其他通信标准中可以实现冗余,但在 RS-485 中很少用。
    • 缺点
      • 延迟较高,因为信号需逐跳传递。
      • 需要复杂的协议来管理通信。
  4. 树形拓扑(Tree Topology)

    • 结构描述:以主干线为基础,通过多个分支扩展,节点连接到分支线上。
    • 特点
      • 是星形和总线拓扑的结合。
      • 信号从一个主干分支到其他分支。
    • 优点
      • 灵活的网络扩展方式。
    • 缺点
      • 分支点可能引起阻抗不匹配。
      • 反射信号较难管理,易导致通信错误。
  5. 混合拓扑(Hybrid Topology)

    • 结构描述:将多种拓扑方式组合使用。
    • 特点
      • 适合复杂的工业环境。
      • 通常包含多个主干总线和分支拓扑。
    • 优点
      • 灵活性高,适合大规模网络。
    • 缺点
      • 设计、布线和管理复杂。

为什么 RS-485 推荐使用总线拓扑

  1. 信号完整性好

    • 总线拓扑中,主干线是一条连续的线路,能够有效地降低信号反射和干扰。
    • 通过精确终端匹配阻抗(120Ω),可以最大限度减少信号反射。
  2. 布线简单

    • 主干线连接所有节点,不需要复杂的分支或中心设备。
    • 节点可以通过短存根简单接入主干线。
  3. 传输效率高

    • 总线拓扑允许所有节点共享同一条传输线路,减少了额外的信号分配延迟。
  4. 符合 RS-485 电气特性

    • RS-485 是一个多点通信标准,设计目的是在单根差分信号线上连接多个节点。
    • 总线拓扑完美契合了 RS-485 的差分传输和多点通信的需求。
  5. 成本低

    • 不需要额外的硬件设备(如集线器),减少了网络部署成本。
  6. 可靠性高

    • 总线拓扑中,故障定位相对简单。
    • 若一个节点故障,只影响该节点,不会中断其他节点的通信。

为什么其他拓扑不适合 RS-485?

  • 星形拓扑:阻抗匹配困难,信号反射严重,不符合 RS-485 的物理层设计。
  • 环形拓扑:不必要地增加了复杂性,且 RS-485 不支持环形的天然冗余。
  • 树形拓扑:增加了信号反射和干扰的风险,可靠性和维护性较差。
  • 混合拓扑:虽然灵活,但设计难度大,并不推荐在标准 RS-485 环境中使用。

存根(Stub)

RS-485 网络拓扑中的一个重要概念,指的是从主干总线(Bus)延伸到各节点设备之间的一段短连接线。这些存根线用于将节点(如收发器)连接到主干总线。

存根的定义和作用

  • 定义
    存根是主干线和设备之间的短分支电缆。

  • 作用
    存根的主要作用是将网络中的各个设备(驱动器、接收器或收发器)连接到主干线上,从而实现设备之间的数据通信。

存根的重要限制

在 RS-485 网络设计中,存根长度必须受到严格限制,主要是为了避免信号反射和干扰。

存根长度要求

  • 存根长度应该尽量短,一般限制在主干线信号传播延迟的 1/10 波长以内
  • 存根过长会导致信号反射,影响总线信号的完整性,甚至造成数据传输错误。

存根长度的影响

存根的电气长度会对信号完整性产生重要影响。主要表现为:

  1. 信号反射

    • 如果存根过长,信号到达存根末端后会反射回来,与主干线上的信号叠加,导致信号畸变。
    • 这种反射会降低接收器的信噪比,甚至导致数据通信失败。
  2. 信号衰减

    • 存根过长也会增加信号的传输损耗,导致信号幅度下降。
  3. 总线性能下降

    • 在长存根网络中,数据速率和总线长度需要进一步降低,以减少反射和干扰的影响。

差分信号

差分信号是一种双线传输方式,通过两条信号线携带同样的信号,但极性相反。例如:

  • 一条线上信号电压为正(+V),另一条线上信号电压为负(-V)。
  • 接收端通过对两条信号的电压差进行解码,得到原始信号。

差分信号的核心是利用两条信号线之间的电压差,而不是某条信号线相对于地的电压。

  1. 抗干扰能力强

    • 差分信号在传输时,由于两条线极性相反,外界的电磁干扰对两条信号线的影响几乎相同(即共模干扰)。
    • 接收端通过计算两线的电压差,干扰信号被抵消,仅保留原始信号。
  2. 信号完整性高

    • 差分信号的传输电压范围较宽(例如 RS-485 的差分电压最低为 1.5V),即便在信号衰减的情况下仍能被正确识别。
    • 对于长距离传输尤其重要,能够减少因信号衰减带来的误码。
  3. 传输速度快

    • 差分信号允许更高的信号切换频率,从而支持更高的数据传输速率。
  4. 低电磁辐射

    • 两条信号线的电流方向相反,相互抵消电磁场,降低了电磁干扰(EMI)。

为什么需要差分信号?

在长距离和嘈杂环境中,单端信号(即单线+地的传输方式)容易受到外部干扰,出现信号畸变或误码现象。差分信号通过以下方式解决这些问题:

  1. 降低干扰敏感性

    • 外部的干扰信号通常以共模形式出现,即对两条线影响相同。
    • 差分信号接收端只关注两线之间的电压差,因此忽略共模干扰。
  2. 减少信号失真

    • 差分信号线对称传输,受外界干扰时,两条线上的干扰幅度相等且方向一致,不会影响差分电压。
  3. 支持长距离传输

    • 长距离传输时,信号衰减不可避免,但差分信号允许较大的电压范围(例如 RS-485 的差分电压最低为 1.5V),保证接收端能够正确识别信号。
  4. 提高传输速度

    • 对于高速信号,差分信号提供了更好的抗噪能力和信号完整性,从而支持更高的数据速率。

RS-485 是如何使用差分信号的?

RS-485 是一种基于差分信号的标准,专为长距离、抗干扰的通信设计。以下是 RS-485 使用差分信号的详细机制:

  1. RS-485 的差分信号对

    • RS-485 的信号传输使用两条信号线:A 和 B。
    • 驱动器输出两个反相信号:
      • A = V
      • B = -V
    • 接收端通过检测 A 和 B 之间的电压差来还原信号。
  2. 差分信号电平

    • 驱动器输出的差分电压(A-B)为:
      • 高电平(逻辑1):(A-B) ≥ +200 mV
      • 低电平(逻辑0):(A-B) ≤ -200 mV
    • 接收端的差分阈值为 ±200 mV,这保证即便信号有一定程度的衰减,仍可被正确解码。
  3. 抗干扰能力

    • 假设外部干扰使 A 和 B 线上同时叠加了同样的噪声信号(例如+50mV)。
    • 差分信号解码时,只计算 A-B 的值,因此噪声被抵消,不影响信号识别。