UART、RS232、RS422和RS485解读

简介: UART、RS232、RS422和RS485解读

此文章来此与网友“pear梨梨”的投稿分享,希望大家多点赞支持下。(通过本文赞赏的,都将由我转发给pear梨梨)


串口通讯是硬件工程师经常接触的一个概念,你是否也分不清RS232RS422RS485UART它们之间的关系,每次见到其中的一个,就像见到熟悉的陌生人,虽说认识,却不知道它有什么特点,殊途同归的感觉。


先来一段网上比较精辟的总结

640.jpg


公交运行可以简单分成两个部分:

1、车站

2、公路


其中车站决定了车上装什么(人),怎么发送(班次)等。


当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。


回到串口通讯,其实,UART就相当于车站,而RS232/RS485则对应于公路的规则

UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是数据收发和串并转换。也就相当于车站,决定装什么人以及怎么样把人装上去。


RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用315v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据(逻辑“1”为+(2-6)V逻辑0”为-(2-6)V),因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳(例如MAX232),实现电平转换,才能完成数据在线路和UART之间的正常流动。


总结:从某种意义上,可以说,线路上存在的仅仅是电流,RS232/RS485规定了这些电流在什么样的线路上流动和流动的形式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。


RS232简介


RS232接口符合由美国电子工业协会EIA)制定的串行数据通信接口标准。它被广泛应用于计算机串行接口外设连接。

电气特性RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3-15V;逻辑“0”:+3+15V,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

③接口使用一组收发线构成共地的传输形式,这种传输方式很容易受到共模信号的干扰,因此抗噪声干扰性弱。

④传输速率较低,传输距离有限,实际应用中只能在15米左右

RS232常用的3线制连接方式为23交叉5直连,即两个接口之间TXDRXD互联,GND直接连接,其余接口不连接。其余接口连接时起流控作用,这里的“流”指的是数据流。数据在数据线上进行传输难免会出现错误,为了减少错误的发生,某些应用条件下需要流控信号来进行信号传输过程的控制。

 640.jpg

 

RS485简介


①在通信距离要求为几十米到上千米时,广泛采用RS485串行通信总线。能达到长传输距离,主要原因是它采用平衡发送和差分接收,具有抑制共模信号干扰的能力。

②电气特性:逻辑“1”以两线间的电压差+2V~+6V表示,逻辑“0”以两线间的电压差-6V~-2V表示。接口信号电平比RS-232-C降低了,就不容易损坏接口电路芯片,且该电平与TTL电平兼容,刻方便与TTL电路连接。

RS-485接口的最大传输距离实际上可达3000米。

RS-232-C接口在总线上只允许连接一个收发器,即单站能力;而RS-485接口在总线上只允许连接多达128个收发器,即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立设备网络。

RS485半双工接法为:RX+TX+并联为Data+RX-TX-并联为Data-

 

640.jpg


RS422简介


RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。一个主设备(Master),其余为从设备(Slave),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。

②电气特性:RS422的电气特性与RS485完全一样。主要区别:RS4224根信号线:两根发送(TXD+TXD-)、两根接收(RXD+RXD-)。由于RS-422的收与发是分开的所以可以同时接收和发送(全双工)。

 

640.jpg


RS232/RS485/RS422三者间的区别


1RS232是全双工的,RS485是半双工的,RS422是全双工的。

2RS485RS232仅仅是通讯的物理协议(即接口标准)有区别,RS485是差分传输方式,RS232是单端传输方式,但通讯程序没有太多的差别。

PC机上已经配备有RS232,直接使用就行了,若使用RS485通讯,只要在RS232端口上配接一个RS232RS485的转换头就可以了,不需要修改程序。

万能的小尾巴,希望每个人都可以达到自己想要的高度。

相关文章
|
芯片
串口、COM口、RS232、RS485、USB区别
串口、COM口、RS232、RS485、USB区别
609 0
|
5月前
STM32CubeMX RS485接口使用
STM32CubeMX RS485接口使用
445 8
|
5月前
LabVIEW开发中对RS-232、RS-485、RS-422通讯的比较及注意事项
LabVIEW开发中对RS-232、RS-485、RS-422通讯的比较及注意事项
278 0
|
5月前
STM32CubeMX RS232接口
STM32CubeMX RS232接口
64 0
|
6月前
|
芯片
RS232和RS485的协议原理及应用
RS232和RS485的协议原理及应用
|
存储 Rust JavaScript
初识 NAPI-RS
初识 NAPI-RS
301 0
|
缓存
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
101 0
03ZSTL6-00-201-RS 指令和数据可能有不同的缓存
03ZSTI7-00-402-RS 为了让执行它的CPU解决一个问题
03ZSTI7-00-402-RS 为了让执行它的CPU解决一个问题
91 0
03ZSTI7-00-402-RS 为了让执行它的CPU解决一个问题
UART,RS232,RS485串口等区别
UART,RS232,RS485串口等区别
266 0
|
JSON Kubernetes Java
K8S(2)RC、RS和Deployment(上)
K8S(2)RC、RS和Deployment
477 0