RS-232/422/485和CAN总线是物联网应用中比较常见的通讯方式,可用于不同设备间进行数据传输和通信。不同的通讯线具有不同的传输速率和传输距离,如何能让其实现更远距离的传输呢?
先简单介绍下什么是RS-232、RS-422、RS-485和CAN总线。
1
RS-232
RS-232(又称EIA RS-232)是常用的串行通信接口标准之一,是一种比较老的标准。全双工通信,需要地线、发送线和接收线三条线。RS-232只限于PC串口和设备间点对点的通信,抗干扰能力较差。
RS-232通常使用DB9或DB25的连接器,并需要进行奇偶校验。RS-232的标准发送电平为-12V~12V,但实际上很少达到这个范围。
工业控制上RS-232一般只用RXD、TXD、GND三条线。
RS-232适合本地设备之间的通信,如连接鼠标、打印机、工业仪器仪表,也用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。
2
RS-485
RS-485也是一种常见的串行通信接口。支持多点和远距离传输,采用半双工通讯方式。它增加了设备的个数,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。RS-485采用平衡发送和差分接收,数据传输速率高,具有良好的抗干扰能力、出色抗噪性和多设备能力,信号能传输上千米,弥补了RS-232通讯距离短的问题。
3
RS-422
RS-422(EIA RS-422-A Standard)是Apple的Macintosh计算机的串口连接标准。采用全双工通讯方式,有4根信号线(相当于把232的RX、TX分别分成两根线),收与发是分开的,可以同时进行收和发。RS-422使用差分信号以及非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好地抗噪声和有更远的传输距离,在工业环境中尤为适用。
推荐阅读:《什么是串口通信?串口常见通信问题如何解决?》
电平标准
根据通讯使用的电平标准不同,串口通讯可分为TTL标准及RS-232标准,见下表。
常见的电子电路中一般使用TTL的电平标准,理想状态下,使用5V表示二进制逻辑1,使用0V表示逻辑0;而RS-232为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V表示逻辑1,+15V表示逻辑0。
因为控制器一般使用TTL电平标准,所以常常会使用MA3232芯片对TTL及RS-232电平的信号进行互相转换。
4
CAN总线
CAN总线(Controller Area Network)是德国BOSCH从80年代初为了解决现代汽车中众多控制、测试系统之间的数据交换,从而开发出来的一种串行数据通信协议,它是可以用双绞线、同轴电缆或光导纤维来作为通信介质的一种多主总线,通信速率最高可达1Mbps。相较于许多RS-485基于R线构建的分布式控制系统,基于CAN总线的分布式控制系统网络间各节点的数据通信实时性较强。
5
传输距离
RS-232数据传输速率较低,标准传输速率范围是110bps~115200bps,RS-232适用于短距离传输,距离多在15m范围内。
RS-485使用差分信号传输,数据传输速率高,可达10Mbps,可扩展至1200米以上的距离。
RS-422接口的最大传输速率为10Mbps,最大传输距离约1200米。
高速CAN通信标准:通信速率为125Kbps~1Mbps,总线长度≤40米;低速CAN通信标准:通信速率为10~125Kbps,传输速率为40kbps时,总线长度可达1000米。
针对上述的通讯方式,正常情况下,通讯距离:RS-232 < CAN < RS-422 < RS-485
但通信距离受通讯速率、连接线、外部干扰等多种因素影响,实际传输距离与理论上会存在一定差异。
①波特率
于串口通信而言,通常波特率越大,传输速率越快,传输距离就越短,抗干扰能力越差。一般通信两端设备都要设成相同的波特率,但有些设备也可以自适应波特率。串口常用的波特率是9600bps,在9600波特率下,RS-232建议通讯距离在13米以内。
②连接线
长距离信号传输时,采用双绞线进行数据传输,可以从物理上减弱噪声对信号传输过程中的耦合。带屏蔽层的双绞线,还可以避免外界强电磁环境干扰。接线一定要严格,需要接地的最好接地,有些485通信还需要考虑接上终端电阻来匹配;如果是RS-232通信,尽量不要让线太长。平衡双绞线的长度与传输速率成反比,如RS-485在100Kbps速率以下才可能达到规定最远的传输距离;只有在很短的距离下才能获得最高传输速率。一般100米的双绞线最大传输速率仅为1Mbps。
③外部干扰
远离干扰源是现场最常用的手段之一,在实际布线中,需要尽量保证将强电和弱电分开,尽可能相互远离;若实在无法避开,最好是交叉垂直布线。如RS-232传输距离短的其中一个原因就是232属于单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
全部0条评论
快来发表一下你的评论吧 !