一.通信分类
通信可以分为串行通讯和并行通讯
串行通讯:数据按位顺序传输,一次发送一个位。通信双方通过单一通道或者一对线(发送线和接收线)进行数据交换。由于数据是顺序发送的,因此它不需要多个线路同时传送数据,这使得串行通信在连接简单、成本低廉方面具有优势。
并行通讯:多个数据位同时通过多个传输线路发送,每个线路传送数据流中的一位。例如,一个8位的字节可以通过8根线同时传输,每根线传输一个位。这种方式在数据传输速度上有明显优势,尤其是在短距离通信,如计算机内部总线中。
二.UART
UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送器)是一种广泛使用的硬件通信协议,用于实现异步串行通信。它的工作原理是将并行数据转换为串行数据进行传输,这样只需要一根线(或一对线)就能在两个设备之间传输数据,从而简化了物理连接并降低了成本。UART在微控制器、计算机及其外围设备之间的数据通信中尤其常见。
UART是硬件的一部分,它处理计算机和其他硬件设备之间的串行通信。UART负责在并行数据和串行数据之间转换。在发送数据时,UART将计算机的并行数据转换为串行形式,通过串行线路发送出去;在接收数据时,UART将从串行线路接收到的串行数据转换为并行数据,供计算机处理。
UART本身不定义具体的物理连接或电压水平;它只是定义了数据格式和传输速率。因此,UART可以与多种物理层标准一起工作,例如TTL,RS-232、RS-485和RS-422。
1.工作机制
(1)UART通信协议基于以下几个关键概念:
异步通信:在异步通信中,数据的发送和接收不依赖于共享的时钟信号。每个数据单元(通常是一个字节)都以一个起始位开始,后跟数据位,可能的奇偶校验位,最后是停止位。这种方式使得接收方能够从串行数据流中区分和同步每个数据单元。
波特率:波特率是衡量数据传输速度的单位,表示每秒钟可以传送多少比特。发送方和接收方必须设置相同的波特率才能正确通信。
数据位:数据位是实际传输的信息部分,通常是7位或8位。
校验位:用于错误检测的一个额外位。校验位可以是偶校验、奇校验或不使用。
停止位:标识一个数据单元的结束,可以是1位、1.5位或2位。
(2)UART通信流程
初始化:设置波特率、数据位数、校验位和停止位。
发送数据(发送方):
将并行数据(如一个字节)转换为串行数据。
发送起始位,表明一个新的数据单元开始。
按顺序发送数据位。
如有设置,发送校验位。
发送停止位,表明数据单元结束。
接收数据(接收方):
监听起始位。
按顺序接收和存储数据位。
如有校验位,进行错误检测。
确认停止位,完成一个数据单元的接收。
三.RS-232
RS-232是一个传统的串行通信接口,通常用于连接计算机和外围设备。它使用单端信号传输,这意味着信号是相对于系统的共同地线来测量的。
(1)电平定义:
RS-232使用单端信号,采用负逻辑。(低电平代表逻辑1,高电平代表逻辑0)
逻辑“1”(MARK):-15V到-3V
逻辑“0”(SPACE):+3V到+15V
(2)应用场景
主要用于短距离通信,如计算机与外围设备的连接。
通常用于短距离通信,是因为它基于单端信号传输,这会受到线路长度和环境噪声的影响。考虑到电压水平,电磁干扰,信号衰减,线缆电容和接地电位差的影响,RS-232通常推荐的最大通信距离大约为15米(50英尺)
(3)传输能力
最高传输速率约为20kbps,支持全双工通信。
(4)连接器
最常用的连接器是DB9和DB25。
(5)信号线
至少包括三根线:发送(TX)、接收(RX)和地(GND)。此外,还可能包括控制线,比如RTS(请求发送)、CTS(清除发送)、DTR(数据终端就绪)、DSR(数据集就绪)、DCD(数据载波检测)等。
在做RS232通信时,以TX-GND的电压差来作为TX的信号,以RX和GND的电压差作为RX的信号,在通讯连接时,发送端的TX短接接收端的RX,发送端的RX短接接收端的TX,二者的信号地线相互接通。
这实现了232支持全双工通信的相关逻辑,在全双工通信中,数据可以同时在两个方向上传输,这意味着设备可以在同一时间发送和接收数据,而不需要等待另一方完成发送或接收。
RS-232通信也是点对点的,即每个串行端口只能连到一个接收端。即RS-232是不支持并联的,想要并联通讯,需要转换成RS-485,RS-422进行
四.RS-485
(1)电平定义:
RS-485使用差分信号传输,这意味着它发送两个相反的电压(A和B线),增加了噪声抵抗并允许更长的传输距离。
对于RS-485标准,在接收器端,最小的输入灵敏度是200毫伏特(mV)。这意味着为了保证可靠的数据检测,差分信号线之间的电压差应至少为±200mV。
逻辑“1”(也称为“负”逻辑状态)通常由A线比B线低至少200mV来表示。
逻辑“0”(也称为“正”逻辑状态)则由A线比B线高至少200mV来表示。
在实践中,为了保证更好的信号完整性和抗干扰能力,差分电压往往会更高,通常在2.5V到5V之间。但是,差分电压不应超过RS-485标准允许的最大值,即±6V。
(2)应用场景:
由于其可靠性和长距离传输能力,RS-485通常用于工业环境中,如工厂自动化系统、楼宇自动化、以及其他需要多点通信的场合。
(3)传输能力:
RS-485支持高达10 Mbps的数据传输速度(在较短的距离上),以及最远1200米的传输距离(在较低的速度下)。
(4)连接器:
尽管RS-485没有指定特定类型的连接器,但常用的连接器包括DB9和端子块。
(5)信号线:
至少需要一对线(A和B),用于差分信号传输。通常还会包括一个地线(GND)。RS-485还支持半双工或全双工通信,全双工需要一对额外的差分线。(RS485-4即RS-422通信)
RS-485支持多点通信,即允许多个设备连接到同一串行总线,非常适合构建设备网络。
五.RS-422
(1) 电平定义:
RS-422也采用差分信号传输,具有与RS-485相似的抗干扰特性。
RS-422的电压要求与RS-485相似,但通常只用于点对点或一点对多点的配置中。
接收器的最小输入灵敏度是200mV,因此RS-422同样需要在差分信号线之间维持至少±200mV的电压差来确保数据的可靠传输。
对于逻辑“1”和逻辑“0”的表示,也是通过A和B线之间的电压差来定义,同样适用±200mV的最小值。
和RS-485一样,RS-422在实际应用中的差分电压通常会设置得更高,以提供更强的信号和更好的抗噪性能,同时也不超过允许的最大值±6V。
(2)应用场景:
RS-422通常用于需要点对点或一点对多点通信的应用,如视频信号传输、大型网络系统中的数据传输。
(3)传输能力:
RS-422可以在较长距离上提供高达10 Mbps的数据传输速度,最远传输距离可达1200米。
(4)连接器:
与RS-485相似,RS-422通常使用DB9或端子块作为连接器。
(5)信号线:
包括一对差分信号线和一根地线(GND)。与RS-485不同,RS-422通常用于点对点或一点对多点通信,而不支持多点总线接入。
RS-422是单方向的,只能实现单向通信(一方发送,另一方接收),而RS-485支持双向通信,并且RS-485能够支持更多设备在同一网络上通信。
六.总结
UART是用于实现异步串行通信,RS-232,485,422是其对应的电气标准。由于其各自的电路设计规则,RS-232可实现点对点的短距离的全双工通信,RS485可实现可串联的多点的半双工通信,RS-422可实现一发多收的全双工通信。