串口通讯UART/RS232/RS485/RS-422笔记

串口通讯详解笔记

  • 串口通讯概述
  • 串口通讯传输数据帧的结构
  • UART
  • RS232
  • RS485
  • RS-422
  • RS-232、RS-422和RS-485的主要区别(重要)

串口通讯概述

串口通讯是指数据按位(bit)发送和接收字节的一种传输方式。一个字节的数据传输要分为8次进行,由低位到高位按顺序一位一位的进行传送。
由于串行通信的数据是逐位传输的,所以发送方和接收方都需要具有固定的时间间隔来发送/接收每一位,也就是要保证通讯双方具有相同的波特率即每秒传输的bit数量。(常见的波特率9600/115200)。
对于串口来说,单个调制状态对应点二进制位数为1,所以波特率=比特率。
我们常见的UART,RS232,RS485/RS422都是串口通讯,都遵循串口通信时序协议。

串口通讯传输数据帧的结构

串口通讯UART/RS232/RS485/RS-422笔记_第1张图片

  • 起始位:是表示传输开始的位,通常为发送1位逻辑0,开始传输数据。

  • 数据位:可以是5~8位的数据,先发LSB。常见的就是8位(1个字节)。

  • 校验位:用于奇偶校验的位。用于检测错误。它可以采用以下值:

     		偶校验,消息中的单元数是偶数
     		奇校数,消息中的单元数为奇数
     		始终为 1,奇偶校验位始终为 1
     		始终为 0,奇偶校验位始终为 0
     		未使用(无)
    
  • 停止位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1。

  • 空闲位:空闲位是紧跟停止位之后的,在停止位保持到逻辑1时,空闲时数据线为逻辑1状态,代表无数据传输。

UART

UART(通用异步收发器) 是串行异步通讯总线。通常处理器都会集成UART控制器,它由两条数据线构成,可以实现全双工的发送和接收。但UART通讯没有统一的电气接口,抗干扰能力比较差,通讯的距离特别短。

UART的硬件连接仅需要3条线。发送数据端TX,要接接收设备的RX,发送数据端RX,要接接收设备的TX,GND是保证两设备共地,有统一的参考平面 。
串口通讯UART/RS232/RS485/RS-422笔记_第2张图片

RS232

RS-232 和UART一样,也是点对点的数据传输。接口工作在全双工模式。区别是在电气层做的改变,RS-232 提升了逻辑传输的电压。定义了硬件接口标准。因此,RS-232在速度9600 bps下,通讯距离通常在 15 米左右。在最短距离下,速度通常为 115.2 kbps。
用于 RS-232 的 DB9 连接器的引脚排列
串口通讯UART/RS232/RS485/RS-422笔记_第3张图片
我们在使用RS-232 接口的时候通常使用 TxD、RxD 和 GND 地线,其余线是用于控制数据流的。

我们使用的CPU会集成UART控制器,但是处理器产生的信号都是TTL电平,因此在使用RS232时候,我们需要在硬件上添加电路对信号电平进行转化,而软件代码则和UART相同。即处理器-RS232电平转换芯片-RS232电平转换芯片-处理器。

RS232相对UART提升了传输距离,也有了统一的接口标准。但是RS232传输的接口信号电平电压高,和TTL电平不兼容。而且会产生共模干扰,通讯的距离也比较短。

RS485

在工业上,最常见的接口是 RS-485 ,RS-485 采用多点拓扑结构,允许连接多个接收器和发射器(有点像IIC)。这样可以利用单一的RS485 接口方便的建立起一个设备网络,在 RS-485 网络的一个部分中,最多可以有 32 个设备,但在附加中继器和信号放大器的帮助下,最多可以有 256 个设备。但一次只能激活一个发射器。而上面到UART和RS232的拓扑是点对点。

RS-485差分线路由两个信号组成:
A,对于逻辑1低,对于逻辑0高,
B,对于逻辑1高,对于逻辑0低。

RS-485 有两种类型:
RS-485 带 2 个触点,以半双工模式运行,同一时间只能接收/发送。串口通讯UART/RS232/RS485/RS-422笔记_第4张图片

RS-485 带 4 个触点,以全双工模式运行,同一时间能接收/发送。串口通讯UART/RS232/RS485/RS-422笔记_第5张图片
RS-485 标准没有特别定义特定类型的连接器,但通常是接线端子或 DB9 连接器。连接器的引脚分配取决于设备制造商。
为了在远距离匹配线路,RS-485 还在线路的起点和终点配备了 120 欧姆的终端电阻。RS485的通讯距离最大1200 米,9600 bps。
RS232和RS485对比:
串口通讯UART/RS232/RS485/RS-422笔记_第6张图片

RS-422

RS-422 和RS-485很类似。使用的都是差分信号。但是在 RS-422 网络中,发送设备只能有 1 个,接收设备最多可以有 10 个。
RS-422 是 定义4 根线用于数据传输。(2 根双绞线用于传输,2 根双绞线用于接收)和一根公共 GND 地线。
RS485和RS422相比较,RS485一般是2线制,虽然有些厂商可能会指定4线制RS485,这种方式比较少见,因此在用四线传输的时候选择RS-422 多一些。

RS-232、RS-422和RS-485的主要区别(重要)

串口通讯UART/RS232/RS485/RS-422笔记_第7张图片

你可能感兴趣的:(单片机,硬件工程,嵌入式硬件)