专栏中心

EEPW首页 > 专栏 > UART通信协议

UART通信协议

发布人:嵌入式Linux 时间:2023-01-08 来源:工程师 发布文章
UART基本概念

通用异步收发器(Universal Asynchronous Receiver/Transmitter), 通常称作UART。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工的发送和接收。

嵌入式里面说的串口也是指的UART,在嵌入式领域可以说是应用非常广泛,在主机与辅助设备直接进行通信,比如使用PC通过UART给主机设备发消息,或者接收主机log等。

UART通信协议

UART工作原理是将传输数据的每个字符一位接一位地在UART总线上传输。

起始位:先发出一个逻辑”0”的信号,表示数据传输的开始。

数据位:紧接着起始位之后。 可以是5~8位逻辑0或1 ,构成一个字符。通常采用ASCII码。从最低位开始传送,靠波特率进行定位。

奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。奇偶校验位可有可无。

停止位:它是一次传输的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

波特率:是控制数据传输速率的,表示每秒钟传送的位数。常用的波特率115200 9600等。

空闲位: 处于逻辑1状态, 表示当前总线处于空闲状态,没有数据传送。

UART的数据发送和接收

发送时,数据被写入发送FIFO。如果UART 被使能,则会按照预先设置好的参数(波特率、数据位、停止位、校验位等)开始发送数据,一直到发送FIFO 中没有数据。所以在发送数据时要先判断发送FIFO是否为空,只有为空的情况下,才能往FIFO里面写。

接收数据时,UART的接收器会将接收的数据一位一位的移位到接收FIFO中,我们读接收FIFO既可以读到接收到的数据。

UART的物理引脚

UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。

  • VCC:供电pin,一般是3.3v

  • GND:接地pin,一般也可不接,但是如果rx接收的数据有问题,就要接上这个pin

  • RX:接收数据pin

  • TX:发送数据pin

当我们使用putty、SecureCRT等串口工具接收串口数据时出现异常,可能是在终端设置了流控,将流控关闭即可。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: UART

相关推荐

四通道异步收发器ST16C554D及其应用

MCU开发利器:调试系统之UART

嵌入式系统 2023-08-30

用SST单片机的PCA功能模拟多个UART

资源下载 2007-02-16

为什么选择UART(串口)作为调试接口,而不是I2C、SPI等其他接口

基于STM32模拟UART串口通信

嵌入式系统 2024-12-27

Altium Designer—Port UART电路层次原理图设计

搞懂UART,李云龙给你讲透

嵌入式系统 2026-03-30

基于UART/USART的串口通信协议设计与实现

PHILIPS 革新性的UART 解决方案

基础知识之UART异步串行通信

232-485转接口电路

资源下载 2008-01-06

UART串口协议详解

第4章串口(UART)第1节_硬件介绍及代码分析

视频 2013-10-12

串口、COM口、UART口, TTL、RS-232、RS-485有啥区别

贸泽开售FTDI Chip FT4232HA USB转UART/MPSSE IC 为目标设计提供高速USB支持

一文搞懂UART通信协议

第7课 系统时钟和UART实验

视频 2013-10-17

串行通信(UART)教程

第4章串口(UART)第2节_printf_scanf

视频 2013-10-12

学前班第1课第2.1节_怎么看原理图之协议类接口之UART

视频 2013-10-14
更多 培训课堂
更多 焦点
更多 视频

技术专区