×
嵌入式 > 嵌入式开发 > 详情

RS422/RS485网络的无极性接线设计与实现

发布时间:2020-06-24 发布时间:
|
1 问题提出

现在的很多测控系统是使用RS422或RS485总线互连的。RS422/485总线信号是由4(2)根有极性的差分信号来传输的,不能将其反接。当网络传输距离长或节点多时,在线路上的分续线盒也会很多,很容易将信号线在传输途中接反,从而造成信号无法正常传输。虽然可以查出故障点,但在分线盒很多时,也是一件很费时的事情。为了布线方便,分续线盒的数量往往大于总线上的模块数。对于室内系统,网络线路一般外加PVC线槽甚至暗埋于墙体内;对于室外系统,线路一般架空或地下走线,造成对线路反接问题的查找和修正很困难。另一方面,为了施工方便,也应允许在途中随意接线,不分极性。为此,需要各模块既能接收图1(b)所示的正相信号,也能接收图1(c)所示的极性可能反相的RS422、RS485信号。

图1 传输线反接错误所引起的接收端信号波形改变

对于那些采取未经任何编码调制的基带信号来传输数据的RS422/485系统,图1中由于接线错误将造成收信方无法正确接收数据;但如对信号进行适当的调制后,即使途中出现接线错误,收方仍然能正确接收到数据,即在布线施工中可以无极性布线。

下面分别给出使用未调制信号和调制信号传输数据2种情况下的无极性接线设计方法。先讨论使用未编码调制信号的情况。

2 RS422信号线的无极性接线设计

RS422总线使用收发分开的信号线传输,各为2根信号线。为了使RS422接收器能够接收总线上传来的2种极性的信号,见图1(b)和图1(c),首先要检测到接线的错误,其次才是更正接线错误。这里希望通过网络模块电路来修正接线错误,而不是通过更正错误的传输线连接。

(1) 人工修正方法

对于MCU的UART来说,无信号传送时,TX引脚为“1”电平,因此,RS422驱动器的A端会为高电平,B端为低电平,此时,在接收模块的A端也应为固定高电平。图2电路中,在一个接收端和GND之间连接一个LED,从而可以据此判断该端是和发送端A相连,还是和发送端B相连,然后通过4位拨码开关SW来人工调整模块总线和接收模块中RS422驱动器接收输入的连接。

图2 RS422总线传输中的无极性接收电路

人工修正方法需要发送模块在软件上进行配合。在调整时,发送方不能发送数据,也就是总线上的差动电压为固定的。这种方法,虽然有些麻烦,但在一些情况下,比起检查和修正线路来还是要简便一些。

(2) 自动修正方法

如果在总线输入端子和RS422驱动器之间用电磁继电器(或模拟开关)代替拔码开关SW,就可以通过软件来自动控制总线A、B端的切换。检查是否存在错误接线也可通过软件进行,只要发送端发送一个和收方约定的固定内容数据,如果收方不能正确收到,则表明接线错误,就控制继电器切换总线连接;否则,不切换。必须注意的是,使用模拟开关时,应注意对线路阻抗和传输速度的影响。

3 RS485信号线的无极性接线设计

RS485总线中的发送和接收信号共用一对线,使用的驱动器可分为两类:一类是像SN75176之类的驱动器,在驱动器内部已经将Rx和Tx信号接到一起;另一类是使用RS422方式的驱动器,如发送和接收使用2个芯片,如SN75177(接收驱动器)加SN75178(发送驱动器),或者收发驱动器集成在1个芯片上,如SNLBC75179、MAX488、MAX490等,这种情况下,在线路板上将收发的同相端短接。对于后者(使用收发引脚独立的驱动器),无极性设计的方法仍然类同于RS422方式;对于前者,由于收发信号的同相端在驱动器内部已经短路,无法在接收驱动器增加电路,不能达到无极性信号传输的目的。

可见,在RS485网络中,模块必须使用独立收发引脚的驱动器时,才能增加无极性设计电路。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
内核日志及printk结构浅析