通俗易懂的UART协议帧格式

看下面这个图,大家已经知道今天的主角是UART,我们通常说的串口,UART包含TTL电平和RS-232电平两种,嵌入式系统里面,单片机的串口一般都是TTL电平。

今天的内容关于UART的帧格式,比较简单,玩过单片机的小伙伴应该都知道。

UART的英文全称是:Universal Asynchronous Receiver/Transmitter,意为通用异步收发传输器。

UART因为有两根线数据线TX和RX,可以以全双工的形式进行发送和接收数据,同一时刻,两条链路的发送器和接收器可以同时传输数据。

区别于全双工的,还有另一种,是半双工,因为只有一根数据线,所以数据传输是这样。

或者是下面这样,同一时刻,只有一条链路在传输数据。

除了双工形式,还有一种是半工,只有发送器到接收器这一个链路。

说完了UART的工作模式,下面进入主题——UART帧格式,也可以称之为UART协议,单片机与PC之间的通信,为了保证数据通信的可靠性,双方都必须遵从UART协议。

UART数据帧格式

其中各位的含义如下:

  • 起始位:发送1位逻辑0(低电平),开始传输数据。

  • 数据位:可以是5~8位的数据,先发低位,再发高位,一般常见的就是8位(1个字节),其他的如7位的ASCII码。

  • 校验位:奇偶校验,将数据位加上校验位,1的位数为偶数(偶校验),1的位数4为奇数(奇校验)。

  • 停止位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1(高电平)。

  • 空闲位:空闲时数据线为高电平状态,代表无数据传输。

如果我们传输数据0X33(00110011),那么对应的波形就是如下这样,因为是LSB在前,所以8位数据依次是11001100

发送0X33数据帧格式

如果再发其他数据,再依次循环这个过程即可。

UART是异步传输,以1个字符为传输单位,传输2个字符之间的时间间隔,比如传输0X33后再传输0X35,这两者时间间隔是未知的。

但是同一字符内相邻位间的时间间隔是确定的,比如0X33低两位的1和1之间的时间间隔是确定的,这涉及到UART传输速率的概念——波特率

波特率的单位是bps,全称是bit per second,意为每秒钟传输的bit数量。

波特率9600bps,代表每秒钟传输bit的数量为9600,那么传输1bit数据的时间就是1/9600=104us,波特率115200bps,代表传输1bit数据的时间是8us。

两个串口之间是如何发送和接受数据呢?

首先,UART1以9600波特率发送0X33,先在数据线上放1个104us脉宽的低电平(起始位),然后是连续2个104us脉宽的高电平(2bit逻辑1),依次类推。
其次,UART2以9600波特率接收0X33,通过数这些数据的脉宽,来确认数据。

为了确保数据传输的正确性,减少误差,一般UART1和UART2之间的波特率差别小于10%,一次最多只能传输1个字节(8bit),也有效减小了累计误差。

(0)

相关推荐

  • 串行通信(UART)

    串行通信(UART)admin  17/07/10 说明 嵌入式电子产品都是由一些电路(处理器或其他集成电路)互连形成的. 为了在这些电路之间交换信息,他们必须遵循一个共同的通信协议.目前已经有数百种 ...

  • I2C接口与SPI和UART接口的区别

    一.SPI I2C UART通信速率比较: SPI > I2C > UART 1.同步通信>异步通信; 2.同步通信时必须有一根时钟线连接传输的两端; 3.都是串行通信方式,并行通信 ...

  • 接口IIC

    接口IIC

  • UART通信简介

    UART通信简介

  • STM32通信相关介绍

    串行/并行通信 全双工/半双工/单工传输 同步/异步通信 通信速率 串口电平标准 串口传输协议 常见通信协议 串行/并行通信 按照数据传输的方式,通信可以分为串行通信和并行通信.串行通信简单的说就是数 ...

  • UART波形详解

    UART(Universal Asynchronous Receiver/Transmitter)是一种异步全双工串行通信协议,由Tx和Rx两根数据线组成,因为没有参考时钟信号,所以通信的双方必须约定 ...

  • UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-W...

    UART.I2C.RS485--这些通信虽然都普遍在用,但解释起来也是模棱两可,觉得有必要整理一下,目的是巩固和区分.文章有点长,建议先收藏,需要的时候再拿出来看. UART通用异步收发器 UART口 ...

  • UART

    一.串口的历史 首先,串口对每一个做硬件和嵌入式软件的人来说,就是一个必备的工具,调试一个带MCU或者CPU的系统.我们在调试的过程中,一般第一件事情:GPIO点灯,第二件事就是打通串口. 串口是一种 ...

  • 使用分布式存储协议进行内容流存储,Audius赋能全球艺术家和创作者

    5月5日,分布式存储协议官方博客发布最新文章<Audius使用分布式存储协议进行内容流存储,赋能全球艺术家和创作者>,介绍了使用分布式存储协议的音乐共享平台Audius.以下为官方原文. ...

  • 最高院公报案例:债务到期后达成的以房抵债协议有效

    宜 5月 8日  今日案例:  债务到期后达成的以房抵债协议有效  ↓↓↓ 裁判摘要 人民法院依职权审查合同效力并予以释明,是引导当事人正确诉讼的基础.债务人到期未能清偿债务,重新与债权人达成合意以房 ...

  • 限价房“换房协议”被认定无效后,一方要求赔偿房屋增值损失获支持

    案号  案由:房屋买卖合同纠纷 案号:(2021)京02民终3951号 审理法院:北京市第二中级人民法院 案件类型:民事 文书类型:判决书 裁判日期:2021-03-31 审理程序:二审 数据来源:普 ...

  • 最高法院案例|以房抵债协议的生效,不以房屋过户或交付为条件

    --以房抵债协议签订后,施工方以未实际交付或办理过户为由,主张抵债协议无效或不履行抵债协议的,不予支持. 案情简介:2013年,建筑公司与开发公司签订施工合同.2015年,双方协议终止.2016年,建 ...

  • 如何通俗易懂地解释粒子自旋?

    作者介绍: 中国科学院大学 理论物理学博士在读 如何通俗易懂地 解释粒子自旋? 如果你没接触过量子物理的话,那就只能告诉你自旋是粒子的一种类似角动量的内部自由度,它很像自转但不是自转,是没有经典对应的 ...

  • 通俗易懂学缠论之线段终结的确认

    在讲解线段的时候,我想问大家一个问题:为什么我们要知道线段终结的意义? 请你在不要看下面答案内容倒计时5秒,你能想到吗? 5 4 3 2 1 倒计时五秒已经过去了,不知道你有没有第一时间想到线段终结的 ...

  • S7-200 SMART modbus协议科普

    Modbus协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间.控制器经由网络(例如以太网)和其他设备之间可以通信.它已经成为一-种通用工业标准.有了它,不同厂商生产的控制设备可以连成 ...

  • 婚前协议在印度法律上无效

    比尔盖茨和梅琳达盖茨最近宣布他们要离婚了.很多文章都在讨论在没有婚前协议的情况下他们将如何分割资产. 婚前协议(prenuptial agreement)是一种约定,其中规定如果夫妻双方决定分居,则应 ...

  • 20张图读懂心血管疾病(通俗易懂,直接明了)

    *仅供医学专业人士阅读参考 让您更懂心脏疾病及其检查和治疗的一组图,快快收藏! 01.心脏传导系统 02.一张图记住高血压的危害 03.冠心病的三种常见情况 04.心电图的正确视角 05.心电图是怎样 ...