很多工程师经常把RS-232、RS-422、RS-485称为通讯协议,其实这是不对的,它们仅仅是关于串口通讯的一个机械和电气接口标准(顶多是网络协议中的物理层),不是通讯协议,那它们又有哪些区别呢?
一、接线不一样(几根线干活)
RS232最少只用 3 根线:发送线、接收线、地线。就是我们电脑老式 9 针串口,一根发、一根收。
RS422一共 4 根信号线:一对专门负责发数据,另一对专门负责收数据,收发线路完全分开。
RS485最简单,就 2 根线(A 线、B 线),发送、接收共用这两根线。
二、收发数据的方式:全双工 / 半双工(能不能一边说话一边听话)
1、RS232:全双工
收发线路独立,就像两个人各拿一根话筒、一副耳机,同时说话、同时收听完全没问题,互不耽误。
2、RS422:全双工
依靠两组差分线分开收发,同样可以一边往外发数据,一边接收外面传过来的数据,同步进行。
3、RS485:半双工
只有一组线路,好比两个人共用一条对讲机频道。同一时间只能一个人说话,其他人只能听;说话的人说完切换成收听模式,别人才能回话,没办法同时收发。电路板上的 RE、DE 引脚,就是用来控制切换 “说话 / 收听” 模式的。
三、能带几台设备组网
RS232:只能一对一对接天生只能两台设备对接,比如电脑连一台变频器、电脑连一台 PLC,一条线里加不了第三台设备。
RS422:一对多下发指令,从机没法集体回话一个主机可以把数据发给一堆下位设备,但是众多下位机没办法同时往主机回传数据,只适合单向下发信号。
RS485:真正工业多设备组网(最常用)一条总线上可以挂几十个仪表、PLC、传感器,主机挨个点名问话,被点名的设备回复数据,完美适配工厂大批量设备采集数据。标准能带 32 个设备,加芯片最多 128 台。
四、高低电平怎么算 0 和 1(电压规则)
RS232(单端信号,参考地线电压)
负电压(-3V~-15V)= 数字 1
正电压(+3V~+15V)= 数字 0属于负逻辑,单片机低压信号不能直接插 232 口,必须用 MAX232 芯片转换电压。
RS422、RS485 规则一模一样(对比两根线的电压差值,不靠地线)
对比 A、B 两根线的电压差:
A 比 B 高出 2~6V → 代表数字 1
B 比 A 高出 2~6V → 代表数字 0这就是差分信号的核心。
五、抗干扰、传输距离、传输快慢(现场最实用的区别)
1、RS232 短板很明显
走线方式:靠单根线 + 地线传输,工厂电机、变频器产生的电干扰很容易打乱信号,极易乱码;
传输距离:标称最大 50 米,实际稳定使用也就 10 米左右,基本只用在控制柜内部、电脑近距离调试;
传输速度:最高只能跑到 20kbps,速度很慢。
2、RS485 综合实力最强(工控首选)
抗干扰:两根线会同步吸附外界干扰电波,接收端只识别两根线的电压差,干扰直接被抵消,强电环境也不容易出错;
传输距离:9600 波特率下最远能传 1200 米,厂房跨区域布线毫无压力;
传输速度:最快可达 10Mbps,短距离下传输速度很快。
3、RS422 对比 485
二者抗干扰、传输距离、最快速度参数完全一致。唯一差别:422 四线全双工,适合需要不间断双向高速传输的场景(比如编码器实时回传高速脉冲数据);485 两根线成本更低、布线省事,绝大多数仪表、水泵、PLC 组网全部用 485。
六、一张通俗选型对照表