iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >一文搞懂UART通信协议
  • 449
分享到

一文搞懂UART通信协议

UART协议嵌入式通信协议单片机 2023-10-12 19:10:13 449人浏览 安东尼
摘要

目录 1、UART简介 2、UART特性 3、UART协议帧 3.1、起始位 3.2、数据位 3.3、奇偶校验位 3.4、停止位 4、UART通信步骤 1、UART简介 UART(Universal Asynchronous Receiv

目录

1、UART简介

2、UART特性

3、UART协议帧

3.1、起始位

3.2、数据位

3.3、奇偶校验位

3.4、停止位

4、UART通信步骤


1、UART简介

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种双向、串行、异步的通信总线,仅用一根数据接收线和一根数据发送线就能实现全双工通信。典型的串口通信使用3根线完成,分别是:发送线(TX)、接收线(RX)和地线(GND),通信时必须将双方的TX和RX交叉连接并且GND相连才可正常通信,如下图所示:

2、UART特性

UART 接口不使用时钟信号来同步发送器和接收器设备,而是以异步方式传输数据。发送器根据其时钟信号生成的位流取代了时钟信号,接收器使用其内部时钟信号对输入数据进行采样。 同步点是通过两个设备的相同波特率(UART和大多数串行通信一样,发送和接收设备需要将波特率(波特率是指信息传输到信道的速率)设置为相同的值。对于串行端口,设定的波特率将用作每秒传输的最大位数)来管理的。 如果波特率不同,发送和接收数据的时序可能会受影响,导致数据处理过程出现不一致。允许的波特率差异最大值为10%,超过此值,位的时序就会脱节。

总结了关于UART必须了解的几点:

导线数量3根(TX、RX和GND)
速度1200、2400、4800、9600、19200、38400、57600、115200等
传输方式全双工异步
最大主机数量1
最大从机数量1

3、UART协议帧

UART中,传输模式为数据包形式。数据包由起始位、数据帧、奇偶校验位和停止位组成。

3.1、起始位

当不传输数据时, UART 数据传输线通常保持高电压电平。若要开始数据传输,发送UART 会将传输线从高电平拉到低电平并保持1 个时钟周期。 当接收 UART 检测到高到低电压跃迁时,便开始以波特率对应的频率读取数据帧中的位。

3.2、数据位

数据帧包含所传输的实际数据。如果使用奇偶校验位,数据帧长度可以是5 位到 8 位。如果不使用奇偶校验位,数据帧长度可以是9 位。 在大多数情况下,数据以最低有效位优先方式发送。

3.3、奇偶校验位

奇偶性描述数字是偶数还是奇数。通过奇偶校验位,接收 UART判断传输期间是否有数据发生改变。电磁辐射、不一致的波特率或长距离数据传输都可能改变数据位。 校验位可以配置成 1 位偶校验或 1 位奇校验或无校验位。 接收UART 读取数据帧后,将统计数值为 1 的位,检查总数是偶数还是奇数。如果奇偶校验位为0 (偶数奇偶校验),则数据帧中的1或逻辑高位总计应为偶数。如果奇偶校验位为 1 (奇数奇偶校验),则数据帧中的1 或逻辑高位总计应为奇数。 当奇偶校验位与数据匹配时,UART 认为传输未出错。但是,如果奇偶校验位为0 ,而总和为奇数,或者奇偶校验位为 1 ,而总和为偶数,则UART 认为数据帧中的位已改变。

3.4、停止位

为了表示数据包结束,发送 UART 将数据传输线从低电压驱动到高电压并保持1 2 位时间。

4、UART通信步骤

第1步:数据从数据总线到发送器。

第2步:发送 UART 将起始位、奇偶校验位和停止位添加到数据帧。

第3步:从起始位到结束位,整个数据包以串行方式从发送器送至接收 接收 UART 以预配置的波特率对数据线进行采样。

第4步:接收 丢弃数据帧中的起始位、奇偶校验位和停止位。

第5步:接收 将串行数据转换回并行数据,并将其传输到接收端的数据总线。


拓展学习

一文搞懂SPI通信协议

一文搞懂I2C总线通信

 一文看懂Modbus协议

 一文搞懂PID控制算法 

一文搞懂TCP的三次握手和四次挥手 

一文搞懂图像二值化算法 

 一文搞懂步进电机特性、原理及驱动器设计 

 一文搞懂三级管和场效应管驱动电路设计及使用 

ADI期刊-UART:了解通用异步接收器-发送器的硬件通信协议 

来源地址:https://blog.csdn.net/m0_38106923/article/details/126024970

--结束END--

本文标题: 一文搞懂UART通信协议

本文链接: https://www.lsjlt.com/news/429806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 一文搞懂UART通信协议
    目录 1、UART简介 2、UART特性 3、UART协议帧 3.1、起始位 3.2、数据位 3.3、奇偶校验位 3.4、停止位 4、UART通信步骤 1、UART简介 UART(Universal Asynchronous Receiv...
    99+
    2023-10-12
    UART协议 嵌入式 通信协议 单片机
  • 一文看懂SGPIO协议
    目录 1.简介 2.接口列表 3.时序 3.1 Sclok 3.2 Sload 3.3 Sdataout 3.4 Sdatain 4.应用 1.简介 串行通用输入输出(SGPIO)是一种串行通用IO信号的方法。通常用于发起方(如主机总线...
    99+
    2023-09-26
    单片机 fpga开发 嵌入式硬件
  • 一文搞懂Vue2中的组件通信
    目录vue 组件通信方式1.props传参2.emit,on通信3.$ref,$children实例通信4.$parent通信5.插槽通信(一般不用)6.$attr,$listene...
    99+
    2024-04-02
  • 一文彻底搞懂Kotlin中的协程
    产生背景 为了解决异步线程产生的回调地狱 //传统回调方式 api.login(phone,psd).enquene(new Callback<User>(){ ...
    99+
    2024-04-02
  • 串行通信协议---HART协议
    实际应用中,HART协议是仅次于Modbus协议的最接近统一现场总线的标准,主要是在4~20mA电流信号上面叠加数字信号,物理层采用Bell 202标准的FSK技术成功实现模拟信号和数字信号双向同时通信而互不干扰。HART协议规定了传输的物...
    99+
    2023-08-21
    网络 网络协议 服务器
  • 一文让你彻底搞懂AQS(通俗易懂的AQS)
    一文让你彻底搞懂AQS(通俗易懂的AQS) 一、什么是AQS AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Se...
    99+
    2023-09-04
    java 开发语言
  • 一文搞懂HBA卡
    HBA卡是一个简称,准确叫法应该是:主机总线适配器(Host Bus Adapter,HBA),也叫做FC-HBA卡(俗称:光纤网卡)、iSCSI-HBA卡(RJ45接口)。这是一个在服务器和存储装置间提供输入/输出(I/O)处理和物理连接...
    99+
    2023-08-31
    服务器
  • 一文搞懂Python中的进程,线程和协程
    目录1.什么是并发编程2.进程与多进程3.线程与多线程4.协程与多协程5.总结1.什么是并发编程 并发编程是实现多任务协同处理,改善系统性能的方式。Python中实现并发编程主要依靠...
    99+
    2024-04-02
  • 一文搞懂SpringAOP的五大通知类型
    目录一、通知类型二、环境准备添加AOP依赖创建目标接口和实现类创建通知类创建Spring核心配置类编写运行程序三、添加通知普通通知环绕通知(重点)一、通知类型 Advice 直译为通...
    99+
    2024-04-02
  • Mqtt通信协议详解
    文章目录 1. 简介mqtt2.mqtt协议实现3.Mqtt数据包4. QoS等级5. mqtt传输安全保证5.1 应用层5.2 传输层5.2.1 TLS安全协议 5.3 网络层 ...
    99+
    2023-09-03
    服务器 网络
  • netstat命令,一文搞懂
    netstat命令是一个网络工具,用于显示计算机网络的连接状态和统计数据。它可以列出所有活动的网络连接,包括正在监听的端口、正在建立...
    99+
    2023-09-12
    netstat
  • MySQL有几种通信协议
    小编给大家分享一下MySQL有几种通信协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Mysql四种通信协议(linux下本地...
    99+
    2024-04-02
  • 一文彻底搞懂PHP进程信号处理
    本篇文章给大家带来了关于PHP的相关知识,其中主要详细介绍了PHP 进程信号处理,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。背景前两周老大给我安排了一个任务,写一个监听信号的包。因为我司的项目是运行在容器里边的,每次上线,需要重新打...
    99+
    2023-05-14
    进程 PHP
  • 一文看懂计算机网络五层协议+各层网络协议大全
    目录 一、通用五层协议体系 5. 应用层 4. 运输层 3. 网络层 2. 数据链路层 1. 物理层 二、各层之间的传递过程 三、TCP/IP体系结构 四、网络协议大全(各种属于哪一层) 五、举例:RTSP 一、通用五层协议体系 5....
    99+
    2023-09-03
    计算机网络 网络 服务器
  • 一文搞懂JSON(JavaScript Object Notation)
    目录JSON出现Json结构Json对象Json对象与JavaScript对象JSON 和 JavaScript 对象互转Json数组复杂数组类型复杂对象数组组合对象包含数组数组包含...
    99+
    2024-04-02
  • 一文搞懂Spring中的JavaConfig
    目录配置类注册组件扫描包配置事务注解驱动单元测试加载配置类properties配置文件加载(了解)aspectj注解开关传统spring一般都是基于xml配置的,不过后来新增了许多J...
    99+
    2024-04-02
  • mysql中有哪些通信协议
    这期内容当中小编将会给大家带来有关mysql中有哪些通信协议,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、说明MySQL客户端/服务器通信协议是半双工的:无论何时,无论是服务器向客户端发送数据,还是客...
    99+
    2023-06-15
  • python 网络通信协议/TCP,UD
    一.osi七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 协议具体内容   各层的功能简述: 【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率...
    99+
    2023-01-30
    通信协议 网络 python
  • Nagios支持哪些通信协议
    Nagios支持以下通信协议: SNMP(Simple Network Management Protocol):用于监控网络设...
    99+
    2024-04-02
  • 一文搞懂Java桥接方法
    目录1.桥接方法简介2. 什么时候会生成桥接方法3. 为什么生成泛型方法4. 根据桥接方法获取实际泛型方法 1.桥接方法简介 桥接方法是jdk1.5引入泛型后,为使java...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作