UART串口通信

串行接口简称“串口”,即采用串行通信方式的接口。
串行通信将数据字节分成一位一位的形式,在一条数据线上逐个传送。
串行通信的特点:通信线路简单,但传输速度较慢。
因此,串行接口广泛应用于对数据传输速度要求不高的场合,如嵌入式、工业控制等领域中。

串行通信分为两种方式:

  1. 同步串行通信
  2. 异步串行通信

同步串行通信:需要通信双方在同一时钟的控制下,同步传输数据;
异步串行通信:通信双方使用各自的时钟控制数据的发送和接收过程。

UART 是一种采用异步串行通信方式的通用异步收发传输器(universal asynchronous receiver-transmitter)。
UART在发送数据时,将并行数据转换成串行数据来传输;
UART在接收数据时,将接收到的串行数据转换成并行数据。

UART 串口通信需要两根信号线来实现:

  1. 一根用于串口发送
  2. 一根负责串口接收

UART 在发送 / 接收过程中的一帧数据由 4 部分组成:

  1. 起始位:标志着一帧数据的开始
  2. 数据位:一帧数据中的有效数据
  3. 停止位:标志着一帧数据的结束
  4. 奇偶检验位:校验位分为奇校验和偶校验,用于检验数据在传输过程中是否出错;
    ①奇校验时,发送方应使数据位中 1 的个数与校验位中 1 的个数之和为奇数;接收方在接收数据时,对 1 的个数进行检查,若不为奇数,则说明数据在传输过程中出了差错。
    ②偶校验则检查 1 的个数是否为偶数。
    在这里插入图片描述
    UART 通信过程中的数据格式及传输速率是可设置的,为了正确的通信,收发双方应约定并遵循同样的设置
    数据位可选择为 5、6、7、8 位,其中 8 位数据位是最常用的,在实际应用中一般都选择 8 位数据
    位;
    校验位可选择奇校验、偶校验或者无校验位;
    停止位可选择 1 位(默认),1.5 或 2 位。
    串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是 bps(位/秒),常用的波特率有 9600、19200、38400、57600 以及 115200 等。

在设置好数据格式及传输速率之后,UART 负责完成数据的串并转换,而信号的传输则由外部驱动电
路实现。
电信号的传输过程有着不同的电平标准和接口规范,针对异步串行通信的接口标准有 RS232、RS422、RS485 等,它们定义了接口不同的电气特性,如 RS-232 是单端输入输出,而 RS-422/485 为差分输入输出等。

传输方式 区别
单端传输 指在发送或接收过程中,用信号线对地线的电压值来表示逻辑“0”和“1”。
差分传输 使用两根信号线来传输一路信号,这两根信号线上传输的信号幅值相等,相位相差 180 度(极性相反),用它们的差值来表示逻辑“0”和“1”,
RS-232 接口标准出现较早,信号采用负逻辑电平、单端传输方式工作。
通过一根信号线发送,一根信号线接收,加上一根地线,RS-232 可实现全双工通信。
由于单端传输方式抗干扰能力差,导致 RS-232 标准通信距离短(小于 15 米),数据传输速率低等问题。另外 RS-232 仅支持一对一通信,存在无法实现多个设备互联的缺点。

RS-422 由 RS-232 发展而来,它是为弥补 RS-232 之不足而提出的。

RS-422 采用差分传输(又称平衡传输)方式,将最大传输速率提高到 10Mbps;当传输速率在 100kbps 以下时,传输距离可达 1200 米。

由于采用差分传输方式,RS-422 需要 4 根信号线来实现全双工通信,两根用于发送、两根用于接收,一般会再加上一根地线。RS-422 允许在一条传输总线上连接最多 10 个接收器,从而实现单个设备发送,多个设备接收的功能。

为扩展应用范围,在 RS-422 基础上又制定了 RS-485 标准。RS-485 同样采用差分传输方式,但是 RS-485 只有 2 根信号线,由发送和接收共用,因此发送和接收不能同时进行,只能实现半双工通信。RS-485 增加
了多点、双向通信能力,即允许多个发送器连接到同一条总线上,各设备通过使能信号控制发送和接收过程。

RS232 接口标准出现较早,可实现全双工工作方式,即数据发送和接收可以同时进行。在传输距离较短时(不超过 15m),RS232 是串行通信最常用的接口标准。

补称RS232、RS422、RS485相关知识:
通常,我们会使用串行接口(串口)进行通讯,但串行接口只适合2个设备之间的通信,当我们进行一对多的通信时,造成的不便,制约了串行数据的收发。因此,使用RS232通讯协议以及RS422和RS485通讯协议可以很好的解决这个问题。

通讯协议 描述
RS232 3线制(RXD、TXD、GND)、全双工、点对点通讯(因点对点通讯方式而无法联网,导致出现RS485)
RS422 4线制、全双工、点对多主从通讯(实际上还有一根信号地线,共5根线)
RS485 2线式(A、B)、半双工、点对多主从通讯(4线制因只能点对点已经淘汰)

RS485、RS232、RS422的区别

通讯协议 最大通讯距离 端口定义
RS232 15米 标准接口,为D形9针头,所连接设备的接口的信号定义是一样的。
RS422 1200米 非标准接口,一般为15针串行接口(也有使用9针接口的),每个设备的引脚定义也不一样。RS422为4线制,全双工模式
RS485 1200米 非标准接口,一般为15针串行接口(也有使用9针接口的),每个设备的引脚定义也不一样。RS485为两线制,半双工模式。

版权声明:本文为shouchen1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>