UART串口通信存在的问题
- 电气接口不同一(最大问题):UART只是对信号的时序进行了定义,而未定义接口的电气特性;UART通信时一般使用处理器的TTL电平,但不同的处理器使用过的电平存在差异,所以不同的处理器使用UART通信一般不能直接相连;UART没有规定不同器件连接时连接器的标准,所以不同器件之间通过UART通信时很不方便。
- 抗干扰能力差:UART一般直接使用TTL电平表示0或1,但TTL信号的抗干扰能力较差,数据在传输过程中很容易出错。
- 通信距离极短:因为TTL信号的抗干扰能力较差,所以其通信距离也极短,一般只能用于一个电路板上的两个不同芯片之间的通信。
RS232协议
该协议规定采用一个标准的连接器,协议中对每个连接器的引脚作用加以规定,还对信号的电平加以规定。该标准规定逻辑1的电平为-5v到-15v,逻辑0的电平为+5v到+15v,选用该电气标准的目的在于提高抗干扰能力,增大通信距离,其传送距离一般可达15M。现在工业控制的RS232接口一般只使用RXD,TXD,GND三条线。
电平转换:
虽然很多处理器都会集成UART控制器,但处理器产生的信号一般都是TTL信号,并不是符合RS232标准的信号,所以一般我们还需要在处理器外部添加电路对信号的电平进行转换,常见的链接方案是在芯片的RXD,TXD与RS232之间经过一个MAX232芯片,作用是将TTL电平转换成RS232电平。接收端,也是经MAX232电平转换成TTL电平在传送给芯片。
RS232存在的问题:
- 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL不兼容,所以需要电平转换芯片才能与TTL电路连接;
- 通信速率较低;
- 易产生共模干扰,抗噪声干扰性弱;
- 传输距离较短(15M)。
RS458协议
使用该协议的通信网络能在远距离(可达1.5KM)条件下以及电子噪声大的环境下有效传输信号;该协议允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便的建立一个设备网络。
信号:
RS485标准规定采用差分信号进行数据传输,两线间的电压差为+2v到+6v表示逻辑1,两线间的电压差为-2v到-6v表示逻辑0。使用差分信号能有效地减少噪声信号的干扰,延长通信距离,RS485的通信距离可达1.5KM,同时RS485接口信号的电平比RS232降低了,所以不易破坏接口电路的芯片,且该电平与TTL电平兼容,可方便地与TTL电路连接。
接口:
RS485采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点。因为采用两线制,数据的发送和接收都要使用这对差分信号,发送和接收不能同时进行,所以只能采用半双工的方式工作,编程时也需要加以处理。
电平转换:
虽然很多处理器中都会集成UART控制器,但处理时会产生的信号一般都是TTL信号并不是符合RS485标准的信号,所以一般我们还需要处理器外部去添加电路将TTL信号转换成差分信号,常见方案是利用MAX485芯片。
RS485的优势:
- 接口的信号电平较低,不易损坏接口芯片且与TTL电平兼容,可方便地与TTL电路连接;
- 通信速度快;
- 抗噪声干扰性强;
- 传输距离较远(可达1.5KM);
- 可实现多节点组网。