通用异步收发器 (UART) 协议

前言
UART 表示通用异步接收器发送器协议。UART用于串口通信,从名字上我们可以理解UART的功能,其中U代表Universal,表示该协议可以适用于任何发射器和接收器,A代表Asynchronous,表示不能使用时钟信号进行通信数据和R和T指的是接收器和发送器,因此 UART 指的是一种协议,在该协议中,串行数据通信将在没有时钟信号的情况下发生。
UART 是为串行通信而建立的。在本文中,我们将讨论相对于使用 UART 的串行通信如何建立并行通信以及如何配置 UART 以及 UART 中的数据格式是什么。稍后,我们将讨论 UART 的优缺点。

UART 基础知识

UART 是用于串行通信的通用异步接收器发送器协议。这里建立两条线,其中只有一根线用于传输而第二根线用于接收。可在此处配置数据格式和传输速度。因此,在开始通信之前定义数据格式和传输速度。通信的数据格式和传输速度将在这里定义,我们这里没有时钟,这就是为什么它被称为使用 UART 协议的异步通信。在这里我们将看到这个协议是如何在物理上设计的。
在这里插入图片描述
此处,设备 A 具有发射器 PIN 和接收器引脚;设备 B 具有接收器和传输引脚。DEVICE A 的 Transmitter 应该与 DEVICE B 的 Receiver pin 相连,DEVICE B 的 Transmitter pin 应该与 DEVICE A 的 Receiver pin 相连,我们只需要连接两条线进行通信。

如果设备 A 想要发送数据,那么它将在发送器的引脚上发送数据,此时设备 B 的接收器将接收到它,如果设备 A 想要接收数据,则可以在 RX 线上接收数据由设备 B 的 TX 转发。将 UART 的这种串行通信与并行通信进行比较,可以观察到并行需要多条总线。基于线数,UART 的总线复杂性更好,但并行通信在速度方面也不错。

UART 的配置是在传输之前完成的,这两个设备都是通过协议连接的,并且应该知道数据传输的速度。首先,定义两个设备的速度。现在,配置设备 A 和 B 的数据传输速度,称为波特率,因此设备 A 和 B 的波特率将相同,否则这两个设备都无法理解数据以什么速度和速率传输. 之后配置数据长度,这里DEVICE A和DEVICE B都配置为固定数据长度,如果DEVICE A在传输数据,则配置为固定数据。就像如果设备 A 配置了 8 位数据大小,那么设备 B 也应该配置为相同大小的数据,即 8 位。在此之后,检查数据发送或接收时间,转发起始位,现在我们将看到数据格式以及何时根据 UART 协议进行通信。我们使用 NRZ 编码进行数据通信。
在这里插入图片描述考虑 8 位数据长度,因此我们将转发 8 位,这 8 位将由设备 B 接收,也可以使用可选的奇偶校验位,但这非常有效。通过校验位,可以识别接收到的数据是否正确。假设我们发送 1 1 1 0 0 0 1 0。现在,我们有 4 个;那里有偶数个,因此奇偶校验是偶数,为此,将分配逻辑 0。假设我们接收到的数据有一些错误,比如零被转换为一;现在不正确的数据是 1 1 1 1 0 0 1 0 对于这个不正确的数据奇偶校验将是 0 因为有 5 个,这里是奇偶校验位不匹配因此确认接收到的数据有一些错误。

UART协议的优点

①它的物理接口较少,仅基于两条线路。
②易于配置数据和数据大小。速度也是可配置的。在大多数情况下,UART 协议的波特率为 9600。使用两条线可以进行全双工模式配置,这是 UART 的主要优势。
③错误滞留是可能的

UART协议的缺点

①UART 具有串行通信,因此速度较慢。
②起始位、停止位和校验位是其他开销。
③由于这是异步通信,所以这里有很多我们需要在配置中做的事情,例如,我们应该以相同的速度配置两个设备,因为没有时钟信号

猜你喜欢

转载自blog.csdn.net/qq_39835514/article/details/130557373
今日推荐