接口/总线/驱动
丁元英说:“悟道休言天命,修行勿取真经。一悲一喜一枯荣,哪个前生注定?袈裟本无清净,红尘不染性空。幽幽古刹千年钟,都是痴人说梦。”话说485接口我是使用很长时间了,自以为很理解了,却不想还是碰到了个“接收数据乱码”的问题,怀疑、排查了一通之后,最后发现是没有“共地”造成的,因此不得不再好好梳理下RS485接口“共地”的问题了。
差分信号是一对大小相等而极性相反的对称信号,用于传输有用的信号。共模信号是作用于差分信号线上的一对大小相等极性也相同的信号,共模信号往往来自于外部干扰。差分信号在接收端是靠差分放大器来检测的。差分放大器只对两路输入信号之间的差值起放大作用,而对两路输入信号共同对地的电位不起作用。在差分信号传输过程中会遇到外部干扰信号,但是,由于两根差分信号线始终在一起,因此干扰信号一般都会同时作用在两根信号线上,形成叠加在两根信号线上大小相等相位也相同的共模信号,因此差分传输的信号对外部干扰具备很强的抗干扰能力。而RS-485接口显著特点是信号采用“差分”的方式传输,因此抗干扰能力很强,通信距离也比RS-232远得多。
共模干扰问题尽管不影响正常通讯,但人们往往忽视了收发器有一定的共模电压范围,如RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。当发送驱动器A向接收器B发送数据时,发送驱动器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压VCM就会达到VCM=VOS+VGPD。虽然RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。
所以,RS-485尽管采用差分平衡传输方式,但对整个RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。这条信号地可以是额外的一条线(非屏蔽双绞线)或者是屏蔽双绞线的屏蔽层(但抗干扰能力将下降) ,分别连接两头网络设备的网络平衡线接口 。这样一来,RS-485通信可以是半双工的,仅需要3根线(A/B、GND);也可以是全双工的,需要5根线(TX+/TX-、RX+/RX-、GND)。当然,不接地线,在很多场合是能正常工作的;所以不少人就认为半双工只需要A/B信号线就可以了。我这几天测试,就碰到了RS485共地的问题。我的使用场景是这样的:
简单描述下数据流:一端PC数据经USB转485模块,和电路板1的485接口连接,经无线发射出去;电路板2将接收到的无线数据,经485接口和USB转485模块连接,再由USB接口给另一端的PC。反之也成立,是双向的数据流。 供电是采用一个AC/DC电源给电路板1供电,采用另一个AC/DC电源给电路板2供电。 我碰到的问题是这样的:
1、若485接口部分只接A/B线(接法一),发现PC端接收到的数据有乱码。
2、若485接口部分接A/B/GND线(接法二),PC端接收到的数据是正常的。
3、分析下整个链路,按接法一,电路板1(或电路板2)与USB转485模块及PC是没有共地的;而按接法二,电路板1(或电路板2)与USB转485模块及PC是共地的。这就是问题所在!
下面总结下:半双工RS485接口不接地线,是有隐患的,这有二个原因:
(1)共模干扰问题:RS-485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。因为RS-485是总线方式的传输,总线上有很多的节点,当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
(2)EMI电磁兼容性问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个信号地这个低阻的返回通道,信号中的共模部分就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。即使接地后,如果接口不加保护,还是经常容易损坏。因为雷击、电源波动、感应开关和静电放电会通过产生较大瞬变电压和浪涌电流都会对接口造成损害,采用磁隔离是性价比最高的方案。
最后奉上“RS485布线规范”,可以参考下:
1、485信号线不可以和电源线一同走线。
2、485信号线可以使用屏蔽线作为布线,也可以使用非屏蔽线作为布线。
3、选择使用普通的超五类屏蔽双绞线即网线就可以。有不良商人利用某种合金来顶替铜丝来做网线,在外面镀铜以蒙混客户。具体区别方法:看网线截面,如果是铜色的话,就是铜丝,如为白色,则是用合金以次充好。合金一般比较脆,容易断,而且导电性远不如铜丝,很容易在工程施工中造成问题。线材一般那建议选择标准的485线,其为屏蔽双绞线,传输线不是像网线那样为单股的铜丝,而是多股铜丝绞在一起形成一根线,从而即使某根小铜丝断掉,也不会影响整个的使用。
4、借助485集线器和485中继器可以任意布设成星型接线与树形接线。485布线规范是必须要手牵手的布线,一旦没有借助485集线器和485中继器直接布设成星型连接和树形连接,很容易造成信号反射导致总线不稳定。很多施工方在485布线过程中,使用了星型接线和树形接线,有的时候整个系统非常稳定,但是有的时候则总是出现问题,又很难查找原因,一般都是由于不规范布线所引起的。
5、485总线必须要接地。严格的说,485总线必须要单点可靠接地,即整个485总线上只能是有一个点接地,不能多点接地,因为将其接地是因为要将地线(一般都是屏蔽线作地线)上的电压保持一致,防止共模干扰,如果多点接地适得其反。可靠接地时整个485线路的地线必须要有良好的接触,从而保证电压一致,因为在实际施工中,为了接线方便,将线剪成多段再连接,但是没有将屏蔽线作良好的连接,从而使得其地线分成了多段,电压不能保持一致,导致共模干扰。 编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !