1158 字
6 分钟
嵌入式 - UART(转)
2024-07-10

https://blog.csdn.net/Au54137/article/details/134883970

一、UART#

1. uart 介绍#

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种通信协议和硬件接口,用于在计算机系统和外部设备之间进行异步数据传输。它是一种简单且常见的串行通信方式,广泛应用于嵌入式系统、单片机和通信设备中。它在全双工模式下工作。

2. 工作原理#

uart 通过发送和接收数据来实现实时通信,它使用起始位和停止位来识别每个数据字节的开始与结束,实现数据的异步传输。
UART 的引脚有:
TXD (Transmit Data):发送数据引脚,用于发送端发送数据。
RXD(Receive Data): 接收端引脚,用于接收端接收数据。
GND:共用地

image

3. 数据结构#

uart 需要用指定的一种数据格式进行传输,数据格式如下:
一般 uart 数据都包括:起始位,数据位,奇偶校验位,停止位。如图所示

image

起始位: 从高到低,一个逻辑 0,表示数据传输的起始;
数据位:实际要传输的数据,可以是 5,6,7,8 个逻辑 1 或者 0 构成一个字符,发送和接收端必须保证相同的数据位数设置,确保数据的正确一致性;
校验位:可以是奇校验也可以是偶校验,或者无校验。奇校验:传输的数据中(不包含校验位)有奇数个逻辑 “1”,那么校验位为 0,反之为 1。偶校验:传输的数据中(不包含校验位)有偶数个逻辑 “1”,那么校验位为 0,反之为 1。
停止位:字符数据结束标志,可以是 1 位,1.5 位,2 位的高电平,适用于停止位的位数越多,不同时钟同步的容忍程度就越大,数据传输率越低。
空闲位:处于逻辑 “1” 状态,表示没有数据传输。

4. 波特率#

UART 通过设置波特率来控制数据传输的速率。波特率表示每秒传输的位数。
发送和接收端必须使用相同的波特率设置。

假如有一个起始位,一个停止位,数据位 8 位,没有奇偶校验位,传输一个字节的数据,实际传输 10bit,那么计算方式如下:

  1. 波特率为 9600 表示串口每秒可以传输 9600bit,每传输 1bit 所需时间:
    1 s/ 9600bit = 1000000 (u s)/9600(bit)=1000/9.6 =104.1667us

  2. 波特率为 115200 表示串口每秒可以传输 115200bit,每传输 1bit 所需时间:
    1 s / 115200 b i t = 1000000 (u s) / 115200 ( b i t ) = 1000 / 115.2 = 8.6806 u s
    其他波特率计算如下:

    image

二、USART#

1. usart 介绍#

USART(Universal Synchronous /Asynchronous Receiver / Transmitter,异步同步通信接口)是一种通信协议和硬件接口,用于在计算机系统和外部设备之间进行串行数据传输。它可以在全双工或半双工模式下工作,并支持同步或异步通信。

2. 工作原理#

USART 通过发送和接收数据位来实现同步或异步串行数据传输。它提供了更高的灵活性与数据传输速率。

USART 主要有三根数据线:

image

3. 数据格式#

与 uart 类似,但 USART 是以同步模式工作的,数据的传输是通过外部时钟进行同步的。发送端与接收端共享系统的 CLK。同步通信允许更高的数据传输速率和更精确的数据同步。
异步模式跟 uart 一样。

4. 波特率#

与 uart 一致

UART 与 USART 的区别#

同步通信支持:USART 支持同步通信,而 UART 仅支持异步通信。

时钟需求:USART 需要一个时钟信号(CLK)来同步数据传输,而 UART 不需要外部时钟信号。UART 的数据传输完全依赖于波特率的设定,而 USART 通过时钟信号来确保数据传输的同步。

数据传输速率:由于 USART 支持同步通信,因此在相同的波特率下,USART 能够实现更高的数据传输速率。相比之下,UART 的数据传输速率受限于异步通信的性质,通常较低。

硬件复杂性:USART 相对于 UART 具有更复杂的硬件实现。由于支持同步通信和更高的数据传输速率,USART 需要更多的硬件资源来实现时钟信号的生成和同步处理。UART 的硬件实现相对简单,适用于一些低复杂性和低速率的应用。

引用https://blog.csdn.net/CSDN_PBB/article/details/131102031

嵌入式 - UART(转)
https://f.undf.top/posts/post/code/embedded/找工作/嵌入式---uart/
作者
沐印
发布于
2024-07-10
许可协议
CC BY-NC-SA 4.0