电子通信协议-串口UART详解

文章目录  

  • 概要
  • UART的通信协议内容
  • UART的硬件连接
  • UART通讯传输顺序
  • UART的优缺点
  • 小结

1. 概要

UART全称通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),UART是一种异步收发传输器,是设备间进行异步通信的关键模块,UART负责处理数据总线和串口之间的串/并、并/串转换,并规定了帧格式。

通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线接RX 和 TX 完成通信过程,是典型的异步串行通信。

UART可以实现全双工传输和接收。

2. UART的通信协议

UART的通信协议如上所示,

2.1 协议解释:

2.2 协议注意

  • UART 一次只能传输一个字符, 如果需要传输多个字符,则每个字符都按照上述的帧格式,进行传输
  • 通信的双方,必须设置成一样的波特率,才能正确的进行通信

  • 停止位可以是1位、1.5位、2位的高电平,由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备之间出现了小小的不同步;因此停止位不仅仅是表示传输的结束,并且提供通信双方校正时钟的机会;停止位个数越多,数据传输越稳定,但是数据传输速度也越慢

  • 数据位基本都是使用的8bit,因为一个ASCII字符值为8位,一个字节的也是8bit,如果一帧的数据位为7,那么还有一位就是不确定的值,这样容易出错且不好表示

  • 奇偶校验可分几种方式:
    1. 无校验(No Parity)
    2. 奇校验(Odd Parity):如果数据位中1的数目是偶数,则校验位为1;如果1的数目是奇数,校验位是0.
    3. 偶校验(Even Parity):如果数据位中1的数目是偶数,则校验位位0;如果1的数目是奇数,校验位为1.
    4. Mark parity:校验位始终为1.
    5. Space parity:校验位始终为0.    

3. UART的硬件连接

  • uart的硬件连接很简单,如图所示一方的发送TXD连接另一方的RXD,地线GND连接

  • 由于UART是异步串行通信,一个通信串口只连接TX和GUN,也是可以工作的。

4.UART的信号传输顺序

发送UART连接到以并行形式发送数据的控制数据总线。然后,数据将在传输线路(导线)上一位一位地串行传输到接收UART。反过来,对于接收设备,串行数据会被转换为并行数据。

传输步骤

1.  发送UART从总线获取并行的5-8位数据,转换成串行数据格式的数据帧

2.  发送UART将起始位、奇偶效验位和停止位添加到数据帧上

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

4. 接收UART丢弃数据帧中的起始位、奇偶校验位和停止位

5. 接收UART将串行数据转换回并行数据,并将其传输到接收端的数据总线

5. UART的优缺点

4.1 优点

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

4.2 缺点

  • 传输速率低,数据帧最大支持 9 位数据
  • 电气接口不统一:UART通信一般使用处理器的电平,即TLL电平。
  • 抗干扰能力差
  • 通信距离短

5. 小结

参考:

一文搞懂UART通信协议 - 知乎 (zhihu.com)
电子通信基础知识详解

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UART(Universal Asynchronous Receiver-Transmitter)是一种常见的串口通信协议,常用于将数据从一个设备传输到另一个设备,如将数据从计算机发送到外部设备,或者在嵌入式系统中进行设备之间的通信。下面是UART串口通信协议详解: 1. 物理连接:UART通信使用两根信号线,一根用于传输数据(TX线),一根用于接收数据(RX线)。这两根线连接在两个设备之间,其中TX线与对方的RX线相连,RX线与对方的TX线相连。 2. 数据传输:UART是一种异步通信协议,数据通过一个字节一个字节地传输。每个字节由起始位(Start bit)、数据位(Data bits)、可选的校验位(Parity bit)和停止位(Stop bit)组成。 - 起始位:起始位用于标识一个数据传输的开始,它是一个低电平信号。 - 数据位:数据位用于传输实际的数据,通常有8位或9位数据位可供选择。 - 校验位:校验位用于检测数据传输过程中的错误。常见的校验方式有奇偶校验、偶校验和无校验。 - 停止位:停止位用于标识一个数据传输的结束,它是一个高电平信号。通常有1位或2位停止位可供选择。 3. 波特率:UART通信中的波特率(Baud rate)表示单位时间内传输的比特数。常见的波特率有9600、115200等,波特率越高,传输速率越快。 4. 通信模式:UART通信可以在全双工或半双工模式下进行。在全双工模式下,两个设备可以同时发送和接收数据;在半双工模式下,两个设备交替发送和接收数据。 5. 数据流控制:UART通信中可以使用硬件流控制或软件流控制来控制数据的传输。硬件流控制通过额外的信号线实现,如RTS(Request to Send)和CTS(Clear to Send)信号线;软件流控制通过特定的数据字节来实现,如XON和XOFF字符。 总结起来,UART串口通信协议是一种常见的异步串口通信协议,通过起始位、数据位、校验位和停止位来传输数据。它可以使用不同的波特率和通信模式,并支持硬件或软件流控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值