摘要:电子工程师,有个基础技能,串口通信必须会,工控领域经常用,很多设备要通信,RS-232,RS-422,RS-485,这三个东西,经常见,但区别在哪儿,很多人搞不清,特别容易混淆,今天就唠唠这个。
串口通信三兄弟:RS-232,RS-422,RS-485那点事
电子工程师,有个基础技能,串口通信必须会,工控领域经常用,很多设备要通信,RS-232,RS-422,RS-485,这三个东西,经常见,但区别在哪儿,很多人搞不清,特别容易混淆,今天就唠唠这个。
RS-232,单端传输,距离还短,最早的时候,有个标准,叫EIA,他们搞的,那是1970年,贝尔系统公司也参与了,一起定的,最初用DB-25连接器,挺大的个头,后来IBM觉得麻烦,换成了DB-9,小巧多了。
它的电气特性,有点意思,用负逻辑,啥意思呢,逻辑“1”,电压是负的,-5V到-15V,逻辑“0”,电压是正的,+5V到+15V,听着有点反直觉,是吧,噪声容限是2V,抗干扰能力一般,不太强。
通信特点也简单,波特率可选,能适应不同设备,全双工通信,可以同时收发,但一般就用三根线,RXD,接收数据,TXD,发送数据,还有GND,地线,距离很短,实际用的时候,15米左右,点对点通信,只能两个设备连。
RS-485,差分传输,能跑挺远,还抗干扰,1983年,EIA批准了这个标准,平衡传输,说白了就是两根线,信号反着来,电压高低不是绝对的,是看两根线之间的电压差,适合远距离,也适合噪声大的地方。
逻辑“1”,两根线电压差,是+2V到+6V,逻辑“0”,两根线电压差,是-6V到-2V,电压降低了,不容易烧芯片,跟TTL电平也兼容,挺方便,最高传输速率,能到10Mbps,距离越远,速度越慢。
平衡驱动器,差分接收器,抗共模干扰能力强,啥是共模干扰,就是两根线同时受到一样的干扰,差分接收器能抵消掉,距离能跑3000米,这个厉害了,支持多点通信,一根总线上,能连128个设备,半双工通信,只能轮流收发,要么发,要么收,得软件或者硬件控制方向。
RS-422呢,全双工,算是RS-232的升级版,EIA也定义了标准,也是平衡电压数字接口电路,电气特性差不多,你可以理解为,把RS-232的RX和TX,都拆成两根线,RX+和RX-,TX+和TX-。
全双工通信,能同时发送和接收,点对多通信,一个主设备,好几个从设备,一般情况下,距离能到1219米,速率也能到10Mb/s,为了减少信号反射,得配终端电阻,距离短的话,也能省略,问题不大。
简单总结一下,RS-232,全双工,单端传输,距离短,一对一连接,适合近距离设备,RS-422,全双工,差分传输,距离远,点对多连接,一个主设备,工业控制,远程数据采集,RS-485,半双工,差分传输,距离最远,总线型连接,能连很多设备,工业自动化,分布式控制,场景不一样。
那么问题来了,怎么选,距离短,点对点通信,成本又敏感,那就RS-232,简单直接,如果在高噪声环境,距离又远,还需要连很多设备,那RS-485,很适合,皮实抗造,要远距离,要抗干扰,还要全双工通信,那就RS-422,没啥好说的。
选哪个协议,看需求,成本,性能,都要考虑,没有绝对的好坏,只有最合适的,工程师嘛,就是要根据实际情况,选择最合适的方案,当然,还得考虑,用起来方不方便,维护起来麻不麻烦,这些都是细节,都是要考虑的,还有,如果设备型号比较老,可能只支持RS-232,那就只能用RS-232了,巧妇难为无米之炊嘛,当然,也可以考虑用转换器,把RS-232转换成其他的协议,但这又会增加成本和复杂度,所以,还是要根据具体情况来决定,哎,真是头疼。
其实呢,这三种协议,也不是完全独立的,有些设备,会同时支持多种协议,可以通过软件配置来选择,这样就更加灵活了,比如,一个设备,既可以用RS-232连接电脑,也可以用RS-485连接远程传感器,很方便,当然,这种设备,价格一般会贵一些,毕竟功能多了嘛,但是,如果你的应用场景比较复杂,需要连接不同的设备,那这种设备还是很有用的,可以省去很多麻烦。
说到这儿,我又想起来,有一次,我帮一个朋友调试一个工控设备,那个设备是用RS-485连接的,但是,我一直连不上,折腾了好久,最后才发现,是终端电阻没接好,导致信号反射太严重,干扰了通信,真是搞死我了,所以说,细节决定成败啊,这些小东西,一定要注意,不然会浪费很多时间,嗯,差不多就这样了,以后有机会再聊其他的通信协议吧,比如CAN总线,以太网等等,这些东西,也是很有用的,特别是搞嵌入式的,必须得了解,以后有机会再细说。
来源:电子小课堂一点号
