RS485协议与RS232协议的区别?为什么可以实现多点通信?
在嵌入式系统中经常会应用到很多通讯协议,如:RS232协议、RS485协议、轻量级TCP/IP协议、LoRa和Zigbee等多种协议,本篇文章和大家分享一下嵌入式开发中最为常用的RS232和RS485的区别(单片机开发中也经常使用到)
介绍
RS232是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。RS232是一种异步传输标准接口,通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现 。
RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。
- 区别
- 连接方式
- 电平信号
- 传输距离
- 传输数据的最大波特率
- 组网(多机通信)
具体内容如下:
- 连接方式:RS232最常用的连接方式是三根线:一条发送线、一条接收线及一条地线;RS485一般采用两线制传输:A、B两条传输线。
- 电平信号:RS232 逻辑1为-3V~-15V,逻辑0为+3~+15V;RS485 -2V~-6V表示逻辑0,+2V~+6V表示逻辑1,电压为A-B的电压。
- 传输距离:RS232传输距离有限,理论传输距离标准值为15米,实际工程中最大传输距离也不超过30米; RS485传输距离较RS232传输距离远,理论传输距离标准值为1200米,实际工程中可达到2500米。
传输数据的最大波特率:RS232 传输速率较低,最高波特率为19200bps;虽然传输速度较慢,但在工程中很多场合还是比较实用; RS485 传输速率比较高,可达10Mbps;传输速度也快了很多,多被运用到工程的控制信号传输 。
组网(多机通信):
- RS232不能实现多机通信,原因是RS232为全双工的通信方式,一般的连接方式都为TTL电平,线路空闲时发送和接收的TTL电平都是高电平,电平转换芯片之后得到的RS232电平总是低。现在假设A为主机,B和C为从机,那么A想给B发送信号的时候没有问题,因为A的TXD线连接在B和C的RXD线上面,此时B和C的RXD线都是正常的处于等待接收(空闲)的状态,但是如果B如果收到信号想给A回复的时候,B的TXD与C的TXD线都同A的RXD线连接在一起的,B此时处于发送数据的状态(B即想控制自己的TXD线高低电平之间变化),然而C此时处于空闲状态(C想保证自己的TXD线为低电平不变),这个时候B和C的TXD线之间就出现了通信冲突。所以RS232可以实现点对点的通信方式,但这种方式不能实现组网的功能;
- RS485可以实现多机通信,原因是RS485为半双工通信方式,即分时实现收和发。总线空闲的状态下需要保证状态为逻辑1,也就是A-B的电压符合逻辑1的电平值。假设此时1为主机,2和3为从机,数据线的连接方式为1,2,3的A连接在一起,1,2,3的B也连接在一起,不存在RS232连接方式的问题。
RS485采用二线制,实现多点双向通信的原理,其实是半双工的,也就是并不是双向的。接收/发送需要切换的,每一时刻只能取一种状态。
RS485通信之所以采用二线制,是其发送/接收的信号都是差分信号,内部是差分放大器。
按RS485通信协议要求,所有设备都必须处于接收状态,只有需要发送数据的设备,才可以转换为发送状态,而且还要在总线无占用的情况下。
其实,最典型的RS485通信是主从机结构,一个主机发送,多个从机接收。主机只能与其中一个从机通信占用总线。