UART

UART


参考链接:

  1. 超简单的一种通信,2分钟搞懂,串口通讯的工作原理!
  2. UART串口协议详解 - 曾小庆的文章 - 知乎
  3. 有待补充:透彻理解UART通信,没有比这篇更详细的了! - 亿佰特物联网应用的文章 - 知乎

1. 什么是UART?

通用异步收发器(Universal Asynchronous Receiver/Transmitter),通常称作UART,
是一种串行、异步、全双工的通信协议,在嵌入式领域应用的非常广泛。

2. 硬件接线

  • 通信双方TX、RX交叉连接
  • 通信双方共地

3. 数据帧格式

  • 启动位:
    • 占1个位长
    • 保持逻辑0电平
  • 有效数据位:
    • 可选5、6、7、8、9个位长(通常是8bit)
    • LSB在前,MSB在后,即最低有效位在前)
  • 校验位:
    • 1位,可选是否有
    • 常见的是奇偶校验位
  • 停止位:
    • 可选1、1.5、2个位长
    • 保持逻辑1电平
  • 空闲位:
    • 总线空闲时默认逻辑1电平

4. 波特率

4.1. 波特率和比特率的定义

波特率有一个很重要的相关概念,称为比特率。

  • 比特率:每秒钟传输的比特数,单位bit/s,bps
  • 波特率:每秒钟传输的码元数,单位symbol/s,Baud

4.2. 波特率和比特率之间的关系

比特率 = 波特率 * log2M,M表示每个码元承载的信息量(M也可以认为是进制数)。

二进制系统中,每个码元都存在2种状态,所以波特率数值上等于比特率。

4.3. 波特率的作用

在串口通信中,发送端和接收端需要规定好一个相同的波特率,才能保证通信正常。

在描述波特率的作用时,我比较喜欢用打羽毛球来进行比喻。发送端是发球的人,接收端是接球的人,而波特率就是两个打球的人挥拍的频率,如果这两个人的节奏一致,羽毛球就可以很长时间不落地,而如果有快有慢,就很容易出现丢球的情况。

5. UART通信分析实践

UART在波特率为9600bps、数据帧格式为默认8-N-1的情况下:

5.1. 发送"Hello, World!",请写出数据帧。

  1. "Hello, World!"一共有12个字节,所以一共需要发送12个UART数据帧。
  2. 根据ASCII码,将字节转成二进制表示:
    字符 二进制
    H 01001000
    e 01100101
    l 01101100
    l 01101100
    o 01101111
    , 00101100
    W 01010111
    o 01101111
    r 01110010
    l 01101100
    d 01100100
    ! 00100001
  3. 数据格式默认8-N-1,所以开始位1位,结束位1位,无校验位。
    0010010001 / 0011001011 /
    0011011001 / 0011011001 /
    0011011111 / 0001011001 /
    0010101111 / 0010101111 /
    0011100101 / 0011011001 /
    0011001001 / 0001000011 /
  4. 注意数据帧之间要有空闲位

5.2. 每秒传输多少个字节?每秒传输多少个比特?

  1. 1byte = 8bit,但是UART协议中包含开始位和结束位,所以每秒钟传输的字节数 = 9600/10 = 960
  2. 根据计算出的每秒钟传输的字节数,每秒钟传输的比特数是 960*8 = 7680(即一个byte的传输速率是7680bps)

6. 总结

  1. UART属于哪种类型的通信方式?
  2. 请绘制出UART通信的硬件接线图。
  3. 波特率和比特率之间的区别是什么?
  4. UART在波特率为9600bps、数据帧格式为默认8-N-1的情况下,发送"Hello, World!",请写出数据帧。
  5. UART在波特率为9600bps、数据帧格式为默认8-N-1的情况下,每秒传输多少个字节(Byte)?每秒传输多少个比特(bit)?

others

我之前总是UART、串口,两个概念傻傻分不清楚。
严格来说,串口是串行通信接口的简称,所有按位发送和接收的接口都可以被称作是串口。而UART是一种常见的串口协议,其余常见的串口协议包括RS232、RS485等等。
但其实也不用分的那么清楚,在谈论单片机的时候,大家提到串口,双方都会默认就是UART。

热门相关:美容院:特别服务6   捉迷藏   二手市场:拯救性爱派对   管家会给你你想要的一切   我把妻子借给你