首页

UART通信基础

UART或通用异步接收发射机是与串行通信相关的专用硬件。UART的硬件可以是集成在微控制器或专用IC上的电路。这与SPI或I2C不同,它们只是通信协议。

UART是最简单、最常用的串行通信技术之一。今天,UART被应用在许多应用中,如GPS接收机,蓝牙模块,GSM和GPRS调制解调器,无线通信系统,RFID应用等。

如果您还记得较旧的计算机系统,请使用背面的厚重连接器如鼠标,打印机和调制解调器等设备。所有这些设备使用UART通信。

尽管USB在计算机和其他设备上取代了所有类型的通信标准,但UART仍在上述应用程序中使用。

几乎所有的微控制器都有专用的UART硬件内置于其体系结构。将UART硬件集成到微控制器的主要原因是它是串行通信,只需要两根线路进行通信。

在进一步解释UART之前,如何运作和参与传输和接收数据的步骤,我们将尝试回顾一些关于串行通信的一些信息和串行和并行通信之间的小比较。

简要说明并行和串行通信

数字数据从一个设备传输到另一个设备可以通过两种方式实现:并行数据传输和串行数据传输。在并行数据传输中,所有的位都是一次从源数据传输到目的数据。

这是可能的,因为并行数据传输在发射机和接收器之间使用多个泳道或导线以便传输数据。

并行数据传输方法较快且昂贵,因为它们需要更多硬件和大量电线。古老的一天的打印机是外部并行通信的最佳示例。其他示例是RAM,PCI等。

随着集成电路技术的发展,数字集成电路的体积越来越小,速度越来越快,导致多通道并行通信中的传输速率已经达到瓶颈。

手上的串行通信,使用单行或电线通过位传输数据位。有关发射器和接收器之间的两种通信,我们只需要两根线以实现成功的串行数据传输。

由于串行通信需要更少的电路和电线,实现的成本更低。因此,在复杂电路中使用串行通信可能比并行通信更实用。


但是串行数据传输的唯一问题是速度。由于数据传输是在单线上进行的,因此串行通信的传输速度比并行通信的要慢。现在,串行数据传输的速度不再是一个问题,因为技术的进步已经导致了更快的传输速度。

UART通信导论

UART或通用异步接收发射机是一种串行通信设备,它在发送端进行并行到串行的数据转换,在接收端进行串行到并行的数据转换。它具有通用性,因为传输速度、数据速度等参数都是可配置的。

正如在介绍部分中提到的,UART是一种硬件,它充当处理器和串行通信协议或端口之间的桥梁。下图简要地显示了这个界面。串行通信可以是任何像USB, RS - 232等。


字母' A '在UART代表异步,即没有时钟信号同步或验证数据从发射机传输和接收(异步串行通信)。

这与同步串行通信相反,同步串行通信使用一个时钟信号,在发送端和接收端之间共享,以便在两者之间“同步”数据。

如果发射器和接收器之间没有时钟(或任何其他定时信号),那么接收方如何知道何时阅读数据?

在UART中,发射机和接收机必须事先就定时参数达成一致。此外,UART在每个数据字的开头和结尾使用特殊的位来同步发送器和接收器。后面的部分将详细介绍这些特殊的内容。

在基于UART的串行通信中,发送端和接收端以如下方式进行通信。发送端设备上的UART,即发送端UART接收来自CPU(微处理器或微控制器)的并行数据,并将其转换成串行数据。

该串行数据被传输到接收设备上的UART,即接收UART。接收UART,在接收到串行数据后,将其转换为并行数据,并将其交给CPU。

UART基本连接

发送UART上的引脚,其发送串行数据被称为TX,接收UART上的引脚被称为RX。

由于UART涉及并行到串行和串行到并行的数据转换,移位寄存器是UART硬件的重要部分(具体来说是两个移位寄存器:发射机移位寄存器和接收机移位寄存器)。

UART如何工作?

在UART串行通信中,数据是异步传输的,即发送方和接收方之间不涉及时钟或其他定时信号。UART使用一些称为开始和停止位的特殊位来代替时钟信号。

这些位分别在开始和结束时添加到实际数据包中。这些附加位允许接收UART识别实际数据。

上面的图像显示了典型的UART连接。发送UART通过数据总线从控制设备接收数据。控制装置可以是微处理器的CPU或微控制器的CPU,存储器单元,如RAM或ROM等。由来自数据总线的发送UART接收的数据是并行数据。

对于这个数据,UART添加了开始位、奇偶校验位和停止位,以便将它转换成一个数据包。然后数据包在移位寄存器的帮助下从并行转换为串行,并从TX引脚逐位传输。

接收UART在RX引脚处接收此串行数据,并通过识别开始和停止位来检测实际数据。奇偶校验位用于检查数据的完整性。

从数据包中分离起始,奇偶校验和停止位,数据将在移位寄存器的帮助下将数据转换为并行数据。该并行数据通过数据总线发送到接收端的控制器。

数据包或帧的结构

UART串行通信中的数据被组织成称为包或帧的块。典型UART数据包的结构或数据的标准帧如下图所示。

让我们看看框架的每一部分。

开始位:起始位是在实际数据之前添加的同步位。启动位标记数据包的开头。通常,空闲数据线I.E。当数据传输线不发送任何数据时,它保持在高电压电平(1)处。

为了启动数据传输,发送UART将数据线从高电压电平拉到低电压电平(从1到0)。接收UART在数据线上检测到从高到低电平的变化,并开始读取实际数据。通常,只有一个开始位。

停止位:停止位,顾名思义,标志着数据包的结束。它通常是2位长,但通常只使用位。为了结束传输,UART将数据线维持在高电压(1)。

奇偶校验位:奇偶校验允许接收方检查接收到的数据是否正确。奇偶校验是一种低级的错误检查系统,有两种类型:偶偶校验和奇偶校验。奇偶校验位是可选的,实际上它并没有被广泛使用。

数据位:数据位是从发送方传输到接收方的实际数据。数据帧的长度可以在5到9之间(如果不使用奇偶校验则为9位,如果使用奇偶校验则仅为8位)。通常,LSB是数据传输的第一个位(除非另有说明)。

UART规则

如前所述,UART中没有时钟信号,发射器和接收器必须在某些串行通信规则中达成一致,用于无错误传输数据。规则包括:

  • 同步位(启动位和停止位)
  • 校验位
  • 数据位和
  • 波特率

我们已经看到了同步位、奇偶校验位和数据位。另一个重要参数是波特率。

波特率:使用波特率提及数据的速度。发送UART和接收UART都必须达成一致的BAUD率为成功的数据传输。

波特率的单位是每秒比特数。一些标准波特率是4800 bps、9600 bps、19200 bps、115200 bps等。其中9600bps是最常用的波特率。

让我们看一个数据帧的例子,其中必须传输两个数据块,即00101101和11010011。帧的格式为9600 8N1,即9600 bps,有8位数据,无奇偶校验和1个停止位。在这个例子中,我们没有使用奇偶校验位。


UART的优势

  • 全双工数据传输只需要两根电线(除了电源线)。
  • 不需要时钟或任何其他计时信号。
  • 奇偶校验位确保基本的错误检查集成到数据包帧。

UART的缺点

  • 框架中的数据的大小是有限的。
  • 与并行通信相比,数据传输的速度较少。
  • 发送端和接收端必须符合传输规则,并选择合适的波特率。

7回复

  1. uart上的好文章。,涵盖了UART的头部和尾部理论概念。

    这里波特率在同步UART的Tx和Rx中也起着重要的作用。它的单位是符号/秒,而不是比特/秒。比特/秒单位表示比特速率。比特率和波特率不同。

    符号/秒或符号速率表示每秒信号(数据信号)级别的变化,其中符号本身包含一个或多个比特。

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*

电子机器Favicon.
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map