011---UART协议的基本知识(一)

server/2025/3/11 2:17:10/

1. 摘要

文章为学习记录。主要介绍 UART 协议的概述、物理层、协议层、关键参数。

2. UART概述

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART(串口),是一种异步****串行数据通信协议。它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。
UART包括了 RS232、RS499、RS423、RS422 和 RS485 等接口标准规范和总线标准规范。这些标准规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。

3. UART物理层

UART通讯设备之间的常用连接方式如下图所示。
在这里插入图片描述
物理层特点:
(a)只有两根信号线, tx和rx。
(b)对于 PC 来说,它的 tx 要和对于 FPGA 的 rx 连接,同样 PC 的 rx 要和 FPGA 的 tx 连接。

4. UART 协议层

串口数据的发送与接收是基于帧结构的,即一帧一帧的发送与接收数据。最基本的帧结构如下图所示。

在这里插入图片描述

(1) “空闲状态”。不发送或者不接收数据。
(2) “起始位”。固定为0。
(3) “数据位”。默认是8bit。从最低位到最高位依次接收或者发送。
(4) “停止位”。固定为1。

5. UART 关键参数

(1)波特率(Baud):在信息传输通道中,携带数据信息的信号单元叫码元(因为串口是 1bit 进行传输的,所以其码元就是代表一个二进制数),每秒钟传输的码元数称为码元的传输速率,简称波特率,常用符号“Baud”表示,其单位为“波特每秒(Bps)”。典型的波特率有 300, 1200, 2400, 9600, 19200, 115200 等。
(2)数据位(Data bits):单帧 UART 数据传输在开始到停止期间发送的数据位数。可选择为:5、6、7 或者 8(默认)。
(3)奇偶校验类型(Parity Type):是用来验证数据的正确性。奇偶校验一般不使用,如果使用,则既可以做奇校验(Odd)也可以做偶校验(Even)。奇校验(odd parity):数据位中“1”的数目是偶数,则校验位为“1”,如果“1”的数目是奇数,校验位为“0”。偶校验(even parity):如果数据为中“1”的数目是偶数,则校验位为“0”,如果为奇数,校验位为“1”。奇偶校验发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误,要么发生了偶数个的错误。
(4)停止位(Stop bit):标志着一帧数据传输完成。可选择为:1(默认)、1.5 或者 2 位。


http://www.ppmy.cn/server/174067.html

相关文章

德鲁伊连接池

德鲁伊连接池(Druid Connection Pool)是一个开源的Java数据库连接池项目,用于提高数据库连接的性能和可靠性。德鲁伊连接池通过复用数据库连接、定时验证连接的可用性、自动回收空闲连接等机制,有效减少了数据库连接的创建和销毁开…

Jetson nano配置Docker和torch运行环境

这里将介绍Jeston安装docker并部署walk-these-way的jeston镜像。 注意,该方法有版本问题,Jepack4.6.1的python3.6 torch无法与unitree官方提供的python3.8库兼容 1. Docker安装 这里安装的是docker engine,如果已经有了docker desktop也同样…

vscode好用的前端插件

Beautify:代码美化 vue Baidu Comate(百度的AI代码补全工具) Chinese:适用于 VS Code 的中文(简体)语言包 GitLens:使用强大的 Git 功能(如编辑器内指责注释、悬停、CodeLens 等)增强您的工…

Hadoop命令行语句

一、前言 1、启动虚拟机 2、连接工具 3、启动Hadoop并查询确保进程为51 start-all.shjps练习完请一定 stop-all.sh 关掉hadoop进程 关掉虚拟机 再关机电脑 二、Hadoop命令行主命令 1、进入Hadoop安装目录的bin路径 cd /training/hadoop-3.3.0/bin/2、查看低下的执行文…

java每日精进 3.08 OAUTH 2.0

1.OAuth 2.0 是什么 系统之间的用户授权; 授权模式有三种: 客户端模式(Client Credentials Grant): 适用场景:认证主体是机器,主要用于没有前端的后端应用或者守护进程等场景,比如…

卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现

摘要:卡尔曼滤波(Kalman Filter)是传感器数据融合领域的经典算法,在姿态解算、导航定位等嵌入式场景中广泛应用。本文将从公式推导、代码实现、参数调试三个维度深入解析卡尔曼滤波,并给出基于STM32硬件的完整工程案例…

多终端支持!PC+移动端体育直播系统源码

如果你正在寻找支持 PC 和移动端的体育直播系统源码,本方案将帮你快速搭建一个兼容多终端的直播平台,支持赛事直播、实时比分、聊天室互动,并且可低成本变现! 🔥 技术架构 组件技术方案后端Spring Boot WebSocket R…

软件开发过程总揽

开发模型 传统开发模型 瀑布模型 #mermaid-svg-yDNBSwh3gDYETWou {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yDNBSwh3gDYETWou .error-icon{fill:#552222;}#mermaid-svg-yDNBSwh3gDYETWou .error-text{fill:#…