UART存在的问题
- 电气接口不统一
UART只是对信号的时序进行定义,未定义接口的电气特性。
UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异,所以不同处理器使用UART通信时一般不能直接相连。
UART没有规定不同器件连接时连接器的标准,所以不同器件之间通过UART连接很不方便。 - 抗干扰能力差
UART一般直接使用TTL信号来表示0和1,但是TTL信号的抗干扰能力差,数据在传输过程中很容易出错。 - 通信距离极短
因为TTL信号抗干扰能力差,所以通信距离也很短,只能用于同一电路板上两个不同芯片之间的通信。
RS232协议
- 接口:
最初的RS232标准规定采用25个引脚,标准中对每个连接器的引脚的信号加以规定。后来IBM将标准简化为9个引脚,后来成为事实标准,现在工业控制中使用的RS232接口一般只用TXD、RXD和GND三根线。 - 信号
该标准规定逻辑“1”的电平是-5V ~ -15V,逻辑“0”的电平是5V - 15V ,该电气标准的目的在于提高抗干扰能力,提高传输距离,一般RS232的传输距离在15m左右。
电平转换
虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号,并不是符合RS232标准的信号,所以一般我们还需要在处理器外部去添加电路对信号的电平进行转换。
RS232存在的问题
- 接口信号电平值较高,容易损坏接口电路的芯片。又因为与TTL信号不兼容,所以需要使用电平转换芯片才能与TTL电路连接。
- 抗干扰能力较低
- 传输距离较短(15m)
- 通信速度低
注:编程方面RS232与串口没有任何区别,它只是在硬件层面做了信号的增强。
RS485协议
使用该标准的通信网络能在远距离以及电子噪声大的环境下有效传输信号;该标准允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便地组建起一个设备网络。
信号
RS485标准规定采用差分信号进行数据传输,两线间的电压差为+2V ~ +6V表示逻辑“1”,两线间的电压差 -2V ~ -6V表示逻辑“0”;使用差分信号可以有效降低噪声信号的干扰,延长通信距离,RS485通信距离可以达到1500m;RS485接口信号的电平比RS232降低了,所以不易损坏接口电流的芯片,且该电平与TTL电平兼容,可以方便的与TTL电路连接。
接口
RS485均采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点。
因为采用两线制,数据的发送和接收都要使用这对差分信号线,发送和接收不能同时进行,所以只能采用半双工的工作方式,编程时也需要加以处理。
电平转换
虽然大多数处理器都会集成UART控制器,但是处理器产生的信号大多数是TTL信号,不是符合RS485标准的信号,因此通常需要在处理器外部添加电路将TTL电路转换成差分信号。
RS485的优势
- 信号电平较低,不容易损坏接口电路芯片。且与TTL电平兼容,可以方便地与TTL电路连接。
- 抗干扰能力强
- 传输距离远(1500m)
- 传输速率快
- 可以实现多节点组网