前情回顾
在前面介绍串口通讯的视频当中,我们提到了RS232,也顺带提到了RS485,本期将会对RS485做比较全面的比较和盘点。
什么是RS485?
RS485是一种用于串行通信的标准,通常用于工业自动化和远距离数据传输。它在电气工程和计算机科学领域中广泛应用。以下是RS485的一些关键特点:
-
双向通信:RS485支持双向通信,即可以在一条线路上同时发送和接收数据,这使其在多点通信系统中非常有效。
-
多点连接:RS485允许多达32个设备连接在同一条总线上,这对于需要多个设备互相通信的系统非常有用。
-
长距离传输:RS485的通信距离可以达到1200米(4000英尺),这使其在需要远距离数据传输的场景中非常有用。
-
差分信号传输:RS485使用差分信号传输,即通过两根线(A和B)传输信号。这种方法可以有效地抑制电磁干扰和噪声,保证数据传输的可靠性。
-
数据传输速率:RS485的最大数据传输速率可以达到10 Mbps,具体取决于传输距离。距离越短,传输速率可以越高。
-
拓扑结构:RS485通常使用总线拓扑结构,也可以使用星形拓扑结构,但需要使用适当的终端电阻来避免信号反射。
RS485的常见应用包括工业控制系统、楼宇自动化、过程控制、环境监测和各种需要可靠长距离数据传输的系统。相比于RS232等其他串行通信标准,RS485在抗干扰能力和多点通信能力上有显著优势,因此在许多工业和商业应用中被广泛采用。
它的半双工通讯和全双工通讯有什么区别?
RS485可以支持半双工和全双工两种通信模式,它们在通信方式上有所不同:
半双工通信
- 定义:半双工(Half-Duplex)通信意味着数据可以在两个方向上传输,但不能同时进行。即,在同一时间内,只能有一方发送数据,另一方接收数据。
- 特点:
- 单信道:半双工通信通常使用一对差分信号线(A和B)来传输数据。
- 成本较低:由于只需要一对线缆,布线成本相对较低。
- 控制复杂性:需要某种机制来控制哪个设备在特定时间发送数据,以避免冲突。通常通过协议来实现这种控制。
- 应用场景:多用于需要多个设备共享同一通信线路的场景,例如工业自动化中的传感器和控制器之间的通信。
全双工通信
- 定义:全双工(Full-Duplex)通信意味着数据可以同时在两个方向上传输。即,一方可以在发送数据的同时接收数据,双向通信可以并行进行。
- 特点:
- 双信道:全双工通信通常使用两对差分信号线,一对用于发送数据,另一对用于接收数据。
- 高效率:由于可以同时发送和接收数据,通信效率更高。
- 成本较高:需要更多的线缆(两对差分线),布线成本和复杂性较高。
- 应用场景:适用于需要高效实时双向通信的场景,例如某些工业网络和自动化系统。
总结
- 半双工:数据传输在同一时间只能单向进行,通常使用一对线缆,适合较低成本、多设备共享线路的应用场景。
- 全双工:数据传输在同一时间可以双向进行,使用两对线缆,适合需要高效双向通信的应用场景。
在选择RS485通信模式时,应根据具体应用的需求、预算和系统复杂性来决定使用半双工还是全双工通信。一般的我们的PLC都是以半双工通讯的两线制来进行通讯的。
为什么485系统只能有31个从站呢?
RS485总线系统的设计允许最多32个设备(包括一个主站和31个从站)连接在同一条总线上。这一限制源于RS485标准中的电气特性和负载要求。具体原因如下:
1. 驱动器能力
RS485标准规定了每个驱动器必须能够驱动的最大负载。这个负载通常用“单位负载”(Unit Load, UL)来表示。根据标准,每个RS485驱动器需要能够驱动至少32个单位负载。
2. 单位负载
每个连接在总线上的设备(接收器)都会对总线施加一定的电负载。RS485标准定义每个接收器的负载不能超过1个单位负载。传统的RS485接收器设计为1个单位负载。因此,当总线上有32个接收器时,总负载正好是32个单位负载,这也是标准的上限。
3. 负载和信号完整性
随着总线上连接的设备数量增加,总线的负载也增加。如果负载过大,驱动器可能无法可靠地驱动总线电压,导致信号幅度下降和信号质量恶化。这会影响通信的可靠性和距离。
4. 改进方案
随着技术的发展,出现了“低负载”或“分数负载”(Fractional Load)的RS485收发器,这些收发器的负载可以低于1个单位负载(例如,1/2 UL或1/4 UL)。使用这些收发器,可以在不超过总负载限制的情况下连接更多设备。例如,如果每个收发器只有1/4单位负载,那么最多可以连接128个设备。
5. 实际应用中的其他限制
尽管标准允许最多32个单位负载,实际应用中还需考虑其他因素:
- 总线长度:增加设备数量可能会缩短可用的总线长度,因为更多的负载会增加信号衰减。
- 终端电阻:在总线两端需要适当的终端电阻以减少信号反射。终端电阻的值和数量也会影响总线性能。
- 布线质量和环境干扰:实际布线质量、环境电磁干扰等因素也会影响通信的稳定性和设备数量。
总结
RS485标准规定了最多32个单位负载,这个限制主要来自驱动器的驱动能力和每个接收器的负载。使用低负载收发器可以增加连接设备的数量,但在实际应用中还需综合考虑总线长度、终端电阻、布线质量和环境因素,以确保通信的可靠性。
为什么说差分信号传输这种方法可以有效地抑制电磁干扰和噪声,保证数据传输的可靠性
差分信号传输之所以能有效地抑制电磁干扰和噪声,保证数据传输的可靠性,主要归功于其独特的工作原理和电气特性。以下是一些关键因素:
1. 差分信号的工作原理
- 差分对:差分信号传输使用一对导线,每根导线携带相同信号的相反电压(即一个线上的电压为+V,另一个线上的电压为-V)。
- 接收器端处理:在接收端,差分信号接收器检测两根线之间的电压差而不是相对于地的电压。这意味着接收器仅关注信号线之间的电压差异。
2. 电磁干扰的抵消
- 共模噪声抵消:当外部电磁干扰(EMI)影响到差分对时,干扰信号通常会以相同的方式(共模噪声)叠加在两根导线上。由于接收器关注的是两根线之间的电压差,而共模噪声在两根线上是相同的,因此在接收端,它们的影响会相互抵消,从而极大地减小了噪声的影响。
- 磁场抵消:由于两根导线上的电流方向相反,它们产生的磁场也会相互抵消。这进一步减少了传输线对外界电磁场的辐射,也减少了外界磁场对传输线的影响。
3. 噪声对称性和抗干扰能力
- 对称性:差分对中的两根导线通常布置得非常接近,几乎以平行的方式运行。这种对称性确保了任何外部电磁干扰对两根导线产生的影响几乎相同,从而进一步增强了共模噪声的抵消效果。
- 接地噪声抑制:由于差分信号不依赖于地作为参考,它们对接地噪声和接地回路问题不敏感。这对于长距离传输尤其重要,因为不同点的地电位可能不同。
4. 信号完整性
- 减少反射和失真:在差分信号传输中,信号的一致性和匹配阻抗设计有助于减少信号反射和失真,从而保证了信号的完整性。
- 高信噪比:由于共模噪声的抵消效果,差分信号传输通常具有更高的信噪比(SNR),这意味着信号更清晰,误码率更低。
5. 实际应用中的优势
- 工业环境:在工业环境中,电磁干扰源(如电机、电源线和无线电设备)非常普遍。差分信号传输的抗干扰特性使其特别适用于这些环境。
- 长距离传输:在长距离传输中,信号衰减和噪声累积是主要问题。差分信号的抗干扰能力和高信噪比使其在长距离传输中表现优越。
总结
差分信号传输通过关注两根信号线之间的电压差而非单端信号相对于地的电压,大大减少了电磁干扰和噪声的影响。其对称性和共模噪声抵消特性确保了高信噪比和信号完整性,使其成为工业自动化、数据通信和长距离传输等应用中可靠的数据传输方法。
它和RS232的主要区别在哪里?
RS485和RS232是两种常见的串行通信标准,它们在设计、应用、性能和电气特性上都有显著的区别。以下是它们的主要区别:
1. 信号传输方式
-
RS232:
- 单端信号传输:RS232使用单端信号传输方式,即每个信号线相对于公共地(GND)传输数据。
- 电压范围:典型的电压范围为-15V到+15V。信号“1”通常表示为-3V到-15V,信号“0”表示为+3V到+15V。
-
RS485:
- 差分信号传输:RS485使用差分信号传输方式,即通过两根线(A和B)传输相反的电压信号。接收端检测两根线之间的电压差。
- 电压范围:RS485的电压范围通常为-7V到+12V,但信号“1”和“0”是通过两根线之间的电压差来表示的。逻辑“1”以两线间的电压差为+(2-6)V表示;逻辑“0”以两线间的电压差为-(2-6)V表示。
2. 通信距离
-
RS232:
- 通常适用于短距离通信,最大距离约为15米(50英尺)。
- 由于单端信号传输和较高的信号衰减,RS232在长距离传输中容易受到噪声和信号失真。
-
RS485:
- 适用于长距离通信,最大距离可以达到1200米(4000英尺)。
- 差分信号传输方式使其在长距离和噪声环境中具有更好的抗干扰能力。
3. 通信模式
-
RS232:
- 主要支持点对点通信,即一对一的通信模式。
- 只能同时传输一个信号,不能实现多点通信。
-
RS485:
- 支持多点通信,即一条总线上可以连接多个设备(最多32个标准负载设备)。
- 适合主从式或多设备并行通信的应用。
4. 数据传输速率
-
RS232:
- 数据传输速率相对较低,通常在几十kbps到几百kbps范围内。
- 由于信号传输方式的限制,高速传输时容易受到噪声干扰。
-
RS485:
- 数据传输速率可以更高,最高可达10 Mbps(但速率和传输距离成反比)。
- 差分信号传输方式在高传输速率下也能保持较高的信号完整性。
5. 抗干扰能力
-
RS232:
- 抗干扰能力较差,单端信号传输方式使其容易受到电磁干扰和地电位差异的影响。
-
RS485:
- 抗干扰能力强,差分信号传输可以有效抑制电磁干扰和地电位差异。
6. 布线要求
-
RS232:
- 需要多根信号线(通常包括Tx、Rx、GND、CTS、RTS等),布线复杂。
- 每根信号线传输单端信号,对布线环境要求较高。
-
RS485:
- 只需要一对差分信号线(A和B),布线简单。
- 两根信号线对称布置,对布线环境要求较低。
7. 应用场景
-
RS232:
- 常用于短距离设备间的通信,如计算机和外设(鼠标、打印机)之间的连接。
- 适合点对点、低速通信的应用场景。
-
RS485:
- 广泛应用于工业自动化、楼宇控制系统和远距离数据通信等需要可靠、抗干扰和长距离传输的场景。
- 适合多点通信、高速和长距离传输的应用场景。
总结
RS232和RS485各有优缺点,适用于不同的应用场景。RS232适合短距离、点对点的低速通信,布线复杂且抗干扰能力较弱。RS485适合长距离、多点通信,具有较高的抗干扰能力和数据传输速率,布线简单。根据具体的通信需求,可以选择合适的标准来实现可靠的数据传输。
RS485是否一定要配终端电阻?
在RS485通信系统中,终端电阻(也称为终端电阻器或终端电阻器)并不是绝对必须的,但在大多数情况下,使用终端电阻是非常推荐的。终端电阻的主要作用是匹配总线的特性阻抗,以减少信号反射和提高信号质量。以下是详细解释:
终端电阻的作用
-
减少信号反射:
- 在没有终端电阻的情况下,信号在总线的末端会发生反射。这种反射信号会与原始信号叠加,导致信号失真和通信错误。
- 终端电阻可以吸收信号能量,防止信号反射,从而保证信号的完整性和通信的可靠性。
-
匹配总线阻抗:
- RS485总线通常具有一个特定的特性阻抗,通常为120欧姆。终端电阻的阻值应与总线的特性阻抗匹配(即120欧姆)。
- 合适的终端电阻可以确保信号沿总线传输时遇到一致的阻抗,减少因阻抗不匹配引起的信号失真。
使用终端电阻的建议
-
总线两端加终端电阻:
- 通常建议在RS485总线的两个物理末端各连接一个终端电阻。这两个电阻会吸收信号能量,防止反射。
- 每个终端电阻的阻值应为120欧姆,以匹配总线的特性阻抗。
-
短距离和低速应用的例外:
- 在一些短距离(通常少于几米)和低数据速率的应用中,信号反射可能不会对通信造成明显影响。在这些情况下,可以选择不使用终端电阻,但这取决于具体的系统要求和测试结果。
- 尽管如此,即使在短距离和低速率的应用中,使用终端电阻通常也是一个良好的工程实践。
-
总线长度和速率的影响:
- 随着总线长度增加或数据传输速率提高,信号反射对通信的影响会变得更加显著。在这些情况下,使用终端电阻变得更加重要。
- 对于长距离(例如超过几十米)和高数据速率(例如超过100 kbps)的应用,终端电阻几乎是必须的。
实际应用中的注意事项
-
正确的电阻值:
- 确保使用的终端电阻值正确,通常为120欧姆。如果总线特性阻抗有所不同,请根据具体的阻抗值选择合适的电阻。
-
位置的正确性:
- 终端电阻应准确放置在总线的物理末端。如果放置在错误的位置,可能无法有效防止信号反射。
-
可选的中间设备终端:
- 对于某些复杂的总线拓扑(如星形拓扑),中间设备的终端电阻的使用需要仔细考虑和测试。
总结
虽然RS485通信系统中不使用终端电阻并不会使系统完全无法工作,但在大多数情况下,为了保证信号完整性和通信可靠性,使用终端电阻是非常重要的工程实践。终端电阻尤其在长距离和高数据速率应用中是必不可少的。通过在总线两端正确地配置终端电阻,可以有效减少信号反射,提高数据传输的稳定性和可靠性。