讲师博文
UART通信协议–它如何工作 来源 : 原创     2021-03-19

UART(通用异步发送器接收器),这是用于全双工串行通信的最常见协议。它是设计用于执行异步通信的单个LSI(大规模集成)芯片。该设备将数据从一个系统发送到另一个系统并从另一个系统接收数据。

什么是UART?

“ UART”代表通用异步收发器。它是微控制器内部的硬件外围设备。UART功能是将传入和传出的数据转换为串行二进制流。使用串行到并行转换将从外围设备接收的8位串行数据转换为并行形式,并且使用串行到并行转换将从CPU接收的并行数据转换为并行形式。该数据以调制形式存在,并以定义的波特率传输。

为什么要使用UART?

诸如SPI(串行外围接口)和USB(通用串行总线)之类的协议用于快速通信。当不需要高速数据传输时,使用UART。它是带有单个发送器/接收器的廉价通信设备。它需要一根导线来传输数据,而需要另一根导线来接收数据。

UART接口

UART接口

可以使用RS232-TTL转换器或USB-TTL转换器将其与PC(个人计算机)接口。RS232和UART之间的共同点是它们都不需要时钟来发送和接收数据。Uart帧由1个起始位,1个或2个停止位以及一个用于串行数据传输的奇偶校验位组成。

框图

UART由以下核心组件组成。它们是发送器和接收器。发送器由发送保持寄存器,发送移位寄存器和控制逻辑组成。同样,接收器由接收保持寄存器,接收器移位寄存器和控制逻辑组成。通常,发送器和接收器都配有波特率发生器。

UART框图

UART框图

波特率发生器生成发送器和接收器必须发送/接收数据的速度。发送保持寄存器包含要发送的数据字节。发送移位寄存器和接收移位寄存器将这些位向左或向右移位,直到发送/接收一个字节的数据为止。

除了这些之外,还提供了读取或写入控制逻辑来告知何时进行读取/写入。波特率发生器产生的速度范围从110 bps(每秒比特)到230400。大多数情况下,微控制器提供更高的波特率,例如115200和57600,以实现更快的数据传输。GPS和GSM等设备在4800和9600中使用较低的波特率。

UART如何工作?

要了解UART的工作原理,您需要了解串行通信的基本功能简而言之,发送器和接收器使用开始位,停止位和定时参数相互同步。原始数据为并行形式。例如,我们有4位数据,要把它转换成串行形式,我们需要一个并行到串行转换器。通常,D触发器或锁存器用于设计转换器。

D –触发器的工作

基本D触发器

基本D触发器

D触发器也称为数据触发器,当且仅当时钟将时钟从高态转换为低电平或从低态转换为高态时,D触发器才将其从输入侧移至输出侧。同样,如果要传输四位数据,则​​需要4个触发器。

注意:在这里,

“ D ”代表输入数据。

“ CLK ”表示时钟脉冲。

“ Q ”表示输出数据。现在,让我们设计一个并行到串行和串行到并行转换器。

并行到串行转换

并行到串行转换

并行到串行转换

级联连接-并行到串行

级联连接–并行到串行

步骤1:

取4个触发器。触发器的数量等于要发送的位数。同样,将多路复用器放在每个触发器的前面,但不包括第一个触发器。放置一个多路复用器以合并数据并将其转换为串行位。它有两个输入,一个并行位数据,另一个来自前一个触发器。

第2步:

现在,一次在D个触发器中加载数据。它将提取并行数据,并移动最后一个触发器的最后一位(四个),然后是第三位,第二位,最后是第一位。现在,为了将并行数据转换为串行形式,使用了串行到并行转换器。

串行到并行转换

串行到并行转换

串行到并行转换

级联连接-串行到并行转换

级联连接–串行到并行转换

步骤1:

取4个触发器。触发器的数量与要发送的位数相同。

第2步:

最初,禁用并行总线。直到所有位都加载后才启用。将数据存储在第一个触发器的输入处。现在将时钟设为高电平,这会将最低有效位移至第二个触发器的输入和第一个触发器的输出。同样,通过使时钟脉冲为高电平,将所有位一一移位。转换器处于保持状态,直到所有位都传输到输出为止。

步骤#3:

现在,每个触发器都包含一位串行数据。同时,所有位都传送到触发器输出,使能总线。这将使转换器一次发送所有位。

协议格式

UART从起始位“ 0”开始通信。起始位启动串行数据的传输,终止位结束数据事务。

UART协议格式

协议格式

它还具有奇偶校验位(偶数或奇数)。偶数奇偶校验位由“ 0”(1的偶数)表示,奇数奇偶校验位由“ 1”(1的奇数个)表示。

传播

数据的传输使用单条传输线(TxD)完成。在这里,“ 0”被认为是空格,而“ 1”被认为是标记状态。

UART传输帧

传动架

发送器一次发送一位。发送一位后,发送下一位。这样,所有数据位都以预定义的波特率发送到接收器。传输每个位会有一定的延迟。例如,要以9600波特率发送一个字节的数据,则每个比特以108微秒的延迟发送。数据添加有奇偶校验位。因此,需要10位数据才能发送7位数据。

注意:在传输中,始终首先发送LSB(最低有效位)。

接待

在接收期间,RxD线(接收器)用于接收数据。

UART接收帧

接收帧

UART接口示例

本示例演示了ESP8266 UART与MAX232的接口。但是,在我进入接口的细节之前,让我分享一下Max232驱动器的引脚细节。

MAX232引脚

MAX232引脚

MAX232 IC由5V电源供电,该电源包括一个电容电压发生器,用于驱动232电平电压。它带有双发送器,也称为驱动器(TIN,TOUT)和接收器(RIN和ROUT)。

在这里,我使用了具有内置UART的ESP8266(32位微控制器)。ESP8266可以使用AT指令通过RS232到TTL电平转换器(MAX232)进行通信。下图显示了ESP8266与PC(个人计算机)的连接。

ESP8266与UART接口

ESP8266与UART接口

通过通过PC请求有效的AT命令,Wi-Fi芯片将以确认响应。我不想深入了解ESP8266,在以后的教程中将对此进行解释。

以下是与PC进行串行通信的步骤

  1. 将ESP8266的发射器(TX)连接到RS232的接收器(TX)到TTL电平转换器(MAX232)和PC的RX。
  2. 将ESP8266的接收器(RX)连接到PC的TX和TTL转换器的RX。

ESP8266指令

AT命令(从PC发送) ESP8266响应(PC接收)
AT <CR> <LF> OK <CR> <LF>
AT + CIPMUX = 1 OK <CR> <LF>
AT + CIPSERVER = 1,23 <CR> <LF> OK <CR> <LF>

以下屏幕截图显示了ESP8266模块给出的响应。

ESP8266指令-Docklight程式

ESP8266指令– Docklight程序

UART与USART

USART是UART的基本形式。从技术上讲,它们是不同的。但是,两者的定义相同。这些是微控制器外设,可将并行数据转换为串行位,反之亦然。

UART和USART之间的主要区别在于,UART仅支持异步通信,而USART支持同步和异步通信。为了便于理解,以下是USART与UART之间的比较。

串口 美国ART
时钟由微控制器内部产生。 发送设备将生成时钟。
数据速率慢。 由于外部时钟,数据速率更高。
独立协议 支持多种协议,如LIN,RS-485,IrDA,智能卡等。
传输之前应该知道波特率。 无需更早了解波特率。
适用于低速通讯 适用于高速通讯。
减少能源足迹。 在高能耗时处理串行通讯

RS232和UART

逻辑电平表示设备在安全区中可以承受的工作电压电平。这是RS232和TTL的电压电平。

RS232逻辑:

RS232电压等级

逻辑水平 电压范围
逻辑高或关输出 -5V至-15V
逻辑低或开输出 + 5V至+ 15V
逻辑高或关输入 -3V至-15V
逻辑低或开输入 + 3V至+ 15V

在大多数情况下,RS232的电压范围为-12V至+ 12V。例如,RS232中字符“ A ”的ASCII值在十六进制中为65和41。因此,在一个8位的二进制格式,它是0100 0001。在这里示出了用于ASCII“的RS232逻辑电平表示”。

ASCII字母A的RS232信号

ASCII字母A的RS232信号

TTL / CMOS逻辑:

UART使用TTL逻辑。

用于ASCI字母A的TTL CMOS信号

用于ASCI字母A的TTL CMOS信号

  • 最初,串行线处于空闲状态通常被称为标记STAT ë(逻辑1)。现在,数据传输从起始位(逻辑0)开始。
  • 此外,首先通过LSB(最低有效位)在串行线路上依次发送八个数据位。
  • 整个传输结束后,遇到停止位(逻辑1)。

好处

UART的优点是,它支持使用两根线的全双工通信。而且,它不需要外部时钟就可以进行数据通信。它支持使用奇偶校验位进行错误检查,并且可以轻松更改数据长度。

缺点

UART的主要缺点是,它不支持多从机或多主机配置。并且,数据分组的大小被限制为9位。UART不适合在高能耗下进行繁重的串行通信。

应用领域

  1. 串行调试端口使用UART驱动程序来打印来自外部世界的数据。
  2. 我们可以使用它来向嵌入式设备发送命令和从嵌入式设备接收命令。
  3. 在通讯GPS,GSM / GPRS调制解调器,Wi-Fi芯片等与UART操作。
  4. 在大型机访问中用于连接不同的计算机。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:不同类型的传感器–模拟和数字

下一篇:什么是RS232协议及其工作原理

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号