RS232、RS485协议是电气层、物理层的协议,依赖于串口。纯硬件层面的,基于串口,编程不受影响。
UART存在的问题:
- 电气接口不统一
UART只是对信号时序进行了定义,未定义接口的电气特性。(“1”表示多少伏?“0”多少伏?)
UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同处理器使用的电平存在差异(如51和32单片机),所以不同的处理器使用UART通信时一般不能直接相连。
UART没有规定不同器件连接时连接器的标准。
-
抗干扰能力差
UART一般直接使用TTL信号表示0和1,但TTL信号的抗干扰能力较差,数据在传输过程中很容易出错。 -
通信距离极短
因为TTL信号的抗干扰能力较差,所以其通信距离也很短,一般只能用于一个电路板上两个不同芯片之间的通信。
RS232协议
~……共同制定的用于串行通讯的标准。
该标准规定采用一个标准的连接器,对连接器的每个引脚的作用加以规定,还对信号的电平加以规定。
接口
最开始25根线, IBM简化后:DB-9连接器,现在工控的RS-232接口一般只使用RXD TXD GND三条线。
信号
- 该标准规定:
逻辑“1”的电平为:-5v到-15v;逻辑“0”的电平为:+5v到+15v。 - 目的:
提高抗干扰能力,增大通信距离,其传送距离一般可达15米。
电平转换
虽然很多处理器中都会集成UART控制器,但处理器产生的一般都是TTL信号,并不符合RS232标准,所以一般还需要在处理器外部添加电路对信号的电平进行转换。例如:MAX232(能转换TTL信号和RS232信号)
RS232存在的问题
- 接口的信号电平值较高,易损坏接口电路的芯片,又因与TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接;(电路设计变复杂、成本高)
- 通信速度较低;
- 易产生共模干扰,抗噪声干扰性弱;
- 传输距离较短(15M)
RS485协议
使用该标准的通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号;允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便地建立起一个设备网络。(串口、232两个设备通信,点对点)
信号
- ~标准规定采用差分信号进行数据传输:
逻辑“1”的电平为:两线间的电压差为+2v到+6v;逻辑“0”的电平为:两线间的电压差为-2v到-6v。
RS232用一根线来描述高低电平,RS485用两根双绞线进行双向数据交换。两根线同时受到干扰,差分信号不变,即实现抗干扰。
使用差分信号能有效减少噪声信号的干扰,延长通信距离,~可达1500m;电平降低,不易损坏接口电路的芯片,且与TTL电平兼容,可方便地与TTL电路连接。
接口
~采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点;
两线制,数据的发送和接收都要使用这对差分信号,发送和接收不能同时,所以只能采用半双工的方式工作,编程时需加以处理(不同同时收发,主机和从机也需要软件规定,参考I2C机制)
电平转换
虽然很多处理器中都会集成UART控制器,但处理器产生的一般都是TTL信号,并不符合RS232标准,所以一般还需要在处理器外部添加电路将TTL信号转换成差分信号。
优势
- 电平值较低,不易损坏接口电路的芯片,且与TTL电平兼容,可方便地与TTL电路连接;
- 通信速度快;
- 抗噪声干扰性强;
- 传输距离较远(1500m);
- 可实现多节点组网(电气层面的原因,差分信号)。