> 文章列表 > UART协议——异步全双工串行通信方式

UART协议——异步全双工串行通信方式

UART协议——异步全双工串行通信方式

文章目录

  • 前言
  • 一、简介
    • 1、优点
    • 2、缺点
  • 二、数据格式
  • 三、波特率
    • 1、定义
    • 2、波特率和采样频率
  • 四、常见接口电平
    • 1、TTL电平
    • 2、RS232(负逻辑)
    • 3、RS485

前言

2023.4.22 世界地球日


一、简介

UART:Universal Asynchronous Receiver/Transmitter,通用异步收发器

  • 广泛的应用在各类MCU和SOC产品上
  • “不需要额外的时钟线进行数据的同步传输”。即只要信号拉低,即可开始传送数据(不在时钟沿发送数据)
  • 一个数据的发送方和一个数据的接收方

1、优点

  • 通信只需要两条数据线;一个发送,一个接收
  • 无需时钟信号
  • 有奇偶校验位,方便通信的差错检查
  • 只需要接收端和发送端设置好数据包结构,即可稳定通信,要设置好波特率

2、缺点

  • 数据帧最大支持9位数据(没有校验位的时候最大为9个数据)
  • 不支持多主机或多从机的主从系统

二、数据格式

一帧数据由起始位数据位校验位停止位组成,没有数据传输时为空闲位

UART协议——异步全双工串行通信方式

起始位:0,接收方检测到低电平时,开始接收数据
(需要起始位的原因:由于UART没有控制线,要让接收方知道什么时候开始接收数据,就在传输时把信号线拉低)

数据位:5、6、7、8位,从数据的最低位开始传输
(数据位可变的原因:UART是一种低速总线,每多发一位都占用不少的时间(由传输波特率决定),所以可以根据传输数据的特点,采用不同位宽以节约数据传输的时间。)

校验位:可有可无,检查发送数据中1的个数,是包含校验位在内的个数。
偶校验位来说,如果一组给定数据位中1的个数是奇数,补一个bit为1,使得总的1的个数是偶数。
奇校验位来说,如果给定一组数据位中1的个数是奇数,补一个bit为0,使得总的1的个数是奇数。
UART协议——异步全双工串行通信方式

停止位:1/1.5/2位的高电平。当发送完停止位之后,UART总线进入空闲

空闲位:1,无数据传输

三、波特率

1、定义

每秒钟传输的数据位数:bit/s
传输1bit所需时间:bit_width = 1/(baud rate)

clk=100 MHz,波特率=9600,T=10 ns
1s/9600 = 104166 ns,也就是传输1bit需要104166ns,也就是10416个时钟周期,所以需要对时钟进行分频

2、波特率和采样频率

两者是不同的概念,在数据的传输中,信号可能受到一些干扰而产生一些抖动(比如说电磁兼容性设计中的近端串扰),如果接收端只对这些信号进行一次采样,那么它有可能采样到的是不准确的数据,所以接收端在采样时,通常都要采样多次,然后通过处理获得准确的数据。(波特率是采样多次后得到的准确数据,采样数据可能会发生错误

16倍数据波特率的时钟:每个数据有16个时钟采样,取中间值

四、常见接口电平

1、TTL电平

晶体管-晶体管逻辑集成电路:Transistor-Transistor Logic

  • 低电平:0 ~ -5V
  • 高电平:0 ~ 5V
  • 输入高电平最小2V,输出高电平最小2.4V,典型值3.4V
  • 输入低电平最大0.8V,输出低电平最大0.4V,典型值0.2V

2、RS232(负逻辑)

  • 高电平:-3V~-15V
  • 低电平:+3~+15V

下面是传输数据01010101,从最低位开始传输
UART协议——异步全双工串行通信方式

3、RS485

差分信号,可以抑制共模干扰,因此在恶劣的环境中拥有很好的抗干扰性,比较稳定

  • 高电平:+2 ~ 6V
  • 低电平:-2 ~ -6V

三国人物