1UART

UART是异步串口通信协议,英文全称是Universal Asynchronous Receiver /Transmitter 即通用异步收发传输器,它不像SPI和I2C这样的通信协议,但在SOC中也是一种比较常用的IP。它最大的优点是仅用两根线进行通信,支持全双工,也就是一根线utx用于发送数据,另一根线用于接收数据。两个uart通信如下图所示:

其中发送UART可能来自控制设备(如CPU)的并行数据转换为串行形式,以串行方式将其发送到接收UART,然后由接收UART将串行数据转换回并行数据以用于接收设备。数据从发送UART的Tx引脚流到接收UART的Rx引脚。

2UART工作原理

UART是异步通信,这也就代表着没有时钟信号进行数据的采样同步,因此UART发送侧需要将开始和停止位添加到正在传输的数据包中,这些位定义了数据包的开始和结束,因此接收UART知道何时开始读取这些位。当接收UART检测到起始位时,它将开始以称为波特率的特定频率读取输入位。波特率是数据传输速度的度量,以每秒比特数(bps)表示。 两个UART必须以大约相同的波特率工作。发送和接收UART之间的波特率只能相差约10%。还必须将两个UART配置为发送和接收相同的数据包结构。

3UART是如何工作的

  • 其他设备(例如CPU,内存或微控制器)通过数据总线将数据发送到UART。即UART 发送侧首先从数据总线接收数据。
  • 数据以并行形式从数据总线传输到发送UART。发送UART从数据总线获取并行数据后,它将添加起始位,奇偶校验位和停止位,以创建数据包。
  • 数据包在Tx引脚上逐位串行输出,接收UART在其Rx引脚上逐位读取数据包。
  • 然后,接收UART将数据转换回并行形式,并删除起始位,奇偶校验位和停止位。
  • 接收UART将数据包并行传输到接收端的数据总线

4UART帧结构

UART传输的数据被组织成数据包。每个数据包包含1个起始位,5至9个数据位(取决于UART),一个可选的奇偶校验位以及1个/1.5个或2个停止位。

起始位

UART数据传输线通常在不传输数据时保持在高电压电平。为了开始数据传输,发送UART在一个时钟周期内将传输线从高电平拉低到低电平。当接收UART检测到高电压到低电压转换时,它开始以波特率的频率读取数据帧中的位。

数据位

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

校验位

接收方用于数据完整性和正确性检验。该位为可选项,可配置为奇校验/偶校验/无校验/校验位始终是1/校验位始终是0选项。

停止位

为了向数据包的结尾发出信号,发送UART在至少两个位持续时间内将数据传输线从低电平驱动到高电平。

5UART优缺点

优点

  • 数据仅使用两根线
  • 无需时钟信号
  • 具有奇偶校验位以允许进行错误检查
  • 发送接收协议简单

缺点

  • 数据帧的大小最大为9位
  • 传输速度较慢
  • 每个UART的波特率必须在彼此的10%之内

uart协议_UART协议简介相关推荐

  1. (56)UART外设驱动协议(一)(第12天)

    (56)UART外设驱动协议(一)(第12天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)UART外设驱动协议(一)(第12天) 5)技术交流 6)参考资料 ...

  2. 【计算机网络】网络层 : BGP 协议 ( BGP 协议简介 | BGP 协议信息交换 | BGP 协议报文格式 | BGP-4 常用报文 | RIP 、OSPF、BGP 协议对比 )

    文章目录 一.路由选择协议分类 二.BGP 协议 简介 三.BGP 协议 信息交换过程 三.BGP 协议 报文格式 四.BGP 协议 特点 五.BGP-4 协议的 四种报文 六.RIP .OSPF.B ...

  3. UART串口通讯协议解析

    UART串口通讯协议解析 概述 接口 通信协议 波特率 示例 最后 概述 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART ...

  4. UART 和 N_GSM协议 及 linux设备驱动TTY关系

    UART 这个文章写得东西不少 https://blog.csdn.net/daocaokafei/article/details/113664078?utm_medium=distribute.pc ...

  5. 简介 传输层协议——UDP协议

    UDP协议: UDP:User Datagram Protocol 用户数据报协议 UDP简介: UDP是一种面向无连接的传输层协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可 ...

  6. 现有P2P协议分类与简介

    现有P2P协议分类与简介 http://blog.csdn.net/u012888602/article/details/48241165 (一) 常用p2p协议 一.Napster:世界上第一个大型 ...

  7. 【网络】浏览器输入URL到展示页面全过程(含互联网协议及HTTPS简介)

    这里写自定义目录标题 前言 1.URL介绍 2.DNS查找 3.互联网协议 3.1 实体层 3.2 链路层 3.2.1 以太网协议 3.2.2 Mac地址 3.2.3 广播 3.3 网络层 3.3.1 ...

  8. 透析ICMP协议(一): 协议原理

    透析ICMP协议(一): 协议原理 =============================== 这篇文章原创自bugfree/CSDN 平台: VC6 Windows XP ICMP简介: --- ...

  9. 纸鸢|工业物联网通讯协议Modbus协议详解

    目录 Modbus简介 格式总览 从机地址 功能码和寄存器 PLC地址和Modbus协议地址 功能码总览 异常分析 Modbus简介 Modbus 是一种串行通信协议,是 Modicon 于 1979 ...

最新文章

  1. es6箭头函数中this
  2. 多线程中的指令重排问题
  3. Delphi - 我的代码之窗体移动
  4. 『原创』再谈用 php 实现域名 whois 信息查询
  5. redis哨兵主从不切换_Redis的三种模式:主从、哨兵、集群
  6. Download failed : Oracle JDK 7 is NOT installed,解决oracle jdk7的问题
  7. LINUX编译OPENJDK:The tested endian intarget (big) differs from the endian expected to be found in the
  8. android 4k 测试图片,高端4K测试图助4K电视进“测一下”时代
  9. 温度监视器的设计与制作
  10. 软件测试中的测试报告
  11. 计算机wifi共享怎么设置,电脑怎么共享wifi热点 电脑设置wifi热点教程
  12. 截止失真放大电路_每周经典电路分析:一个经典实际运放的内部电路分析(1)
  13. NOI2010 航空管制
  14. vue部署后饿了么组件的图片不见了
  15. Things3 3.13.13 一款优秀的GTD任务管理工具
  16. blender script mmd_tool 自动重命名刚体到合适的名字
  17. 发帖添加作者水印插件无法发帖问题-缺少GD库支持,php如何安装gd库-一颗优雅草科技伊凡
  18. 中金数据联手华为深入布局行业云
  19. 马云语录:骗子、疯子、狂人?
  20. 计算机科学个人陈述中文,计算机专业个人陈述范文

热门文章

  1. glove 安装错误
  2. LeetCode简单题之字符串中的单词数
  3. TinyML-TVM如何驯服TinyML
  4. 自动驾驶开发云平台业务分析
  5. Python 应用领域以及版本之间的区别
  6. 深度学习框架集成平台C++ Guide指南
  7. 自动类型转换和强制类型转换
  8. Android Dialog 关闭的时候标题栏闪烁一下的处理方法
  9. as查看SHA1和MD5
  10. 递归函数 集合 列表 元组