RS-232与RS-485间的不同

任何形式的通信都需要规则来确保每个人都在同一频道上。在电子学中,这些规则以标准的形式出现——这些是行业协会发布的广泛适用的设计规范建议。遵循这些建议有助于工程设备使用相同的电子语言,从而实现高效、可靠的通信。

RS-232(“RS”是“Recommended Standard”的缩写)在20世纪60年代被引入,作为串行通信的标准化接口。虽然它仍然对这个目的有用,但现在存在如RS-485这样的替代品,它们提供了显著增强的性能。在本文中,我们将看一下RS-232和RS-485之间最重要的区别。

点对点 vs. 多点

RS-232是一个点对点的规范,意味着一个RS-232设备只能与另一个RS-232设备通信。虽然通过一些创新,可以将RS-232变成一个由多个设备共享的“多点”网络,但标准本身并未包含这个功能。

因为它是一个多点规范,RS-485要灵活得多。多个RS-485设备可以在没有任何特殊修改或接口电路的情况下进行通信,如图1所示。一个RS-485驱动器必须能够维持32个“单位负载”,意味着32个接收器具有12 kΩ的输入阻抗。

图1. 这个图表展示了多个收发器使用的RS-485总线的关键特性。图片来自Analog Devices提供。

电压水平

原始的RS-232标准规定了+25 V和-25 V的逻辑电平。一个普通的家用串行接口需要50 V的信号摆动,这让人难以置信,但毕竟这是六十多年前的事了。标准的后续修订将信号摆动降低到±12 V,然后再降低到±5 V。RS-485中的电压水平要低得多——这是这两个标准之间最明显的区别之一。

图2中的图表描绘了一个逻辑电平数据流和该数据流的RS-232版本。注意,除了电压级转换外,极性也被反转。一个+5 V的逻辑高电平变成了-5 V,而一个0 V的逻辑低电平变成了+5 V。

图2. 逻辑电平数据(顶部)和由RS-232线驱动器生成的相应RS-232信号(底部)。图片由MIT提供。

单端 vs. 差分信号

典型的逻辑电平信号和RS-232信号是单端的,意味着一个信息信号需要一个电信号。电信号是参考0 V地电位。RS-485信号是差分的,意味着一个信息信号需要两个互补的电信号。接收器通过比较两个信号来提取信息。

图3说明了单端信号和差分信号之间的区别。

图3. 单端信号和差分信号。图片由All About Circuits提供。

RS-485兼容驱动器产生的信号具有最小的差分幅度为1.5 V;RS-485接收器的最小差分检测阈值为200 mV。这样,即使信号在从发射器传输到接收器的过程中显著衰减,仍然有足够的余量可靠地检测到数字数据。

图4提供了RS-485的最小驱动器和接收器幅度的视觉表示。图像来源,一个名为“The RS-485 Design Guide”的Texas Instruments应用笔记,是一个很好的资源,如果你正在寻找关于标准的详细信息。

图4. RS-485驱动器和接收器的最小幅度。图片由Texas Instruments提供。

信号摆动

RS-485总线的信号摆动远低于RS-232接口。这是RS-485的一个重要优点,因为较小幅度的信号允许简化电路设计并提高效率。由于较低的幅度与差分信号结合在一起,它们并未增加设备对电磁干扰的敏感性。实际上,RS-485通信比RS-232通信更为稳健。

与较小幅度信号相关的另一个好处是更高的数据速率。RS-232的最大数据速率约为1 Mbps。理论上,RS-485的最大值是10 Mbps——实际上,如图5所示,限制更高。

图5. 随着电缆长度的减小,RS-485的最大数据速率增加。图片由Analog Devices提供。

信号编码

RS-232描述了串行通信的完整解决方案。它包括对以下内容的要求:

  • 电气特性。
  • 信号特性。
  • 连接方案。
  • 机械接口。

相比之下,RS-485只规定了电气特性。

这两个标准都没有定义信号编码方法。然而,RS-232通常使用通用异步接收/发送(UART)信号方案,该方案定义了起始和停止位、奇偶校验和数据编码等。RS-485通常也使用UART。

如图6所示,一个UART数据字节包含:

  • 一个起始位。
  • 八个数据位。
  • 一个停止位。

图6. 一个UART数据字节。图片由All About Circuits提供。

如果接收器知道发送器的数据传输速率,或波特率,它可以使用内部定时器正确地采样进来的数据位。UART通信不需要额外的信号来组织二进制数据块。它甚至不需要外部时钟信号——电压级别是由发送器和接收器的内部定时器生成和解释的,这些定时器被配置为相同的波特率。

RS-232和RS-485有相似的名称和目的,但在他们的规格和实现细节上有着关键的差异。他们的性能特性也非常不同,RS-485在几乎所有方面都超过了RS-232。虽然RS-232对于某些应用来说可以是一个方便且满意的接口,但RS-485是一个更优越、更具未来性的串行通信解决方案。