UART

发布时间 2024-01-02 17:43:00作者: DOVI666

 

 1、UART简介

  通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一种异步收发传输器,其在数据发送时将并行数据转换成串行数据来传输,在数据接收时将接收到的串行数据转换成并行数据,可以实现全双工传输和接收。它包括了RS232、RS422 和RS485 等接口标准规范和总线标准规范。换句话说,UART 是异步串行通信的总称。而RS232、RS422 和RS485 等,是对应各种异步串行通信口的接口标准和总线标准,它们规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。

  UART、RS232、RS485在串口通信中,主要区别是电平的不同,其中UART通常使用TTL电平,下面介绍这几个存在的差异:  

  TTL全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic) 

  • 逻辑“1”:VCC=3.3V或5V;
  • 逻辑“0”:VCC=0V;

  RS232

  • 逻辑“1”: -3V~-13V;
  • 逻辑“0”: +3V~+13V;

例如,对于传输数据0x55 ,即二进制的 1010101,RS232和TTL的区别如下:

  RS485是差分信号进行串行传输:

  • 逻辑1以两线间的电压差为 +(2~6)v 表示;
  • 逻辑0以两线间的电压差为 -(2~6)v 表示;

在工业通信中,使用RS485比较多,因为RS485是差分信号,可以抑制共模干扰,因此在恶劣的环境中拥有很好的抗干扰性,比较稳定

2、连接示意图

3、时序

  UART数据包的格式(或称为“帧”),当没有数据传输时总线上保持高电平“1”,有数据传输时,拉低表示起始位,接着8个数据位,然后校验位,最后拉高表示停止位,并且进入空闲状态,等待下一次的数据传输。

起始位:起始信号一般由一个逻辑‘0’的数据位表示。

数据位:在起始位后,紧接着的是传输数据的主体内容,即有效数据。通常有效数据的长度7和8位长。

校验位:在有效数据之后,有一个可选的数据校验位。由于数据通信很容易受到外界干扰,导致数据传输出现偏差,因此,可以在传输过程中加上数据校验位来解决这个问题。校验方法有奇校验(odd),偶校验(even),0校验(space),1校验(mark)以及无校验(noparity)。

停止位:停止信号可由1、1.5或2个逻辑‘1’的数据位表示。

4、波特率

  由于UART是异步通讯,通讯过程中没有时钟信号线,因此通讯双方需要约定好波特率,即每个码元的长度,以便对信号进行解码。它表示每秒传输二进制数据的位数。常用的波特率有9600、19200、35400、57600以及115200等。例如当波特率为9600,表示每秒可以传输9600个bit位数据(也就是传输一个bit位数据需要(1/9600≈104us)长的时间)。

5、UART回环设计

串口助手发什么就能收回什么