RS232 RS485 通信结构

【概述】本文主要讨论RS232是否支持一对多的通信结构?以及为什么说RS485具有联网功能。

之前一直用UART+RS232进行点对点的通信,最近接触RS485,网上查资料学习时,发现有很多关于RS232与RS485的讨论。其中发现一个分歧:RS232是否支持多点通信。

先来看看网上的一些讨论:
(1)这种接口(RS232)可以实现点对点的通信方式,但这种方式不能实现联网功能。
(2)485是半双工通信,为什么用485?因为232只能是点对点,而485可以一对多(一主多从)。
(3)能否用RS232实现多机通信呢?本人经过具体项目实施验证,答案是肯定的。
(4)我也在用1主10从,很正常的用法,没什么不可以的。(使用RS232搭建)

明显,一部分人认为RS232只支持点对点通信,而另一部人认为RS232可以支持一对多通信(一主多从)。
看到这些,我很疑惑,究竟正确答案是什么?

我去看RS232标准:《Interface Between Data Terminal Equipment and Data Circuit Terminating Equipment Employing Serial Binary Data Interchange》,无果(有点长,没细看,也许有答案)。
接着,我在维基百科找到了一点资料wikepedia-RS232
其中Limitations of the standard一节有如下描述:
Multi-drop connection among more than two devices is not defined. While multi-drop “work-arounds” have been devised, they have limitations in speed and compatibility.

我认为这就是答案,亦即在RS232标准中并未对多点通信进行定义。这种未定义有点类似未被法律规范的行为,你说合法也行,不合法也行,是最容易起争议的地方。而且,如果你去实验,会发现基于RS232还真可以完成多点的通信(需要在串口通信之上再定义通信协议)。所以,才有如上的争论。

没有人对RS485是否支持多点通信起疑义,因为RS485的定义明确说明其支持多点通信:wikepedia-RS485
TIA-485-A, also known as ANSI/TIA/EIA-485, TIA/EIA-485, EIA-485 or RS-485, is a standard defining the electrical characteristics of drivers and receivers for use in balanced digital multipoint systems. The standard is published by the Telecommunications Industry Association/Electronic Industries Alliance (TIA/EIA). Digital communications networks implementing the EIA-485 standard can be used effectively over long distances and in electrically noisy environments. Multiple receivers may be connected to such a network in a linear, multi-drop configuration.

那么,在工程应用中,是否可以使用RS232实现多点通信呢?
个人认为,慎用。原因如下:
1,这是未被定义的,风险很大。在正常环境下,基于RS232的多点通信也许完全正常,但是难保在恶劣环境下仍能正常工作。因为未被定义,RS232芯片很可能不会考虑挂接多个节点(负载)的情况。另外一点更严重:当你需要扩展系统,接入更多的节点时,RS232可能爆出许多问题。
2,你有更好的选择(RS485、CAN等),这些都是成熟的技术,干嘛非抱着RS232不放呢?

可能还有人会对如何用RS232实现多点通信感兴趣。方法是,定义上层的通信协议,给每个节点分配一个节点地址。可参考MODBUS-RTU通信协议,MODBUS-RTU基于串行通信定义,串口通信的物理层可以是RS232、RS485等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值