嵌入式通信—UART,RS232,RS485通信协议原理详解


UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一个广泛使用的串行通信协议,通常用于计算机与外设之间的通信。是一种通用的 串行异步通信总线,该总线有两条数据线,可以实现 全双工的发送和接收。UART是一种串行通信协议,它将数据字节逐位传输。UART传输时不需要时钟信号,而是使用起始位和停止位来标识数据帧的开始和结束,因此称为“异步”通信。

通信基础—并行和串行

并行通信

在这里插入图片描述

比如说发送0x55 数据,转为二进制为 01010101 ,并行八根数据线,可以一次性传输过去。

串行通信

在这里插入图片描述

与并行不同,串行只有一根数据线, 需要依次传输八位数据。

并行通信和串行通信是两种不同的数据传输方式,各自具有独特的优缺点。以下是它们的详细对比:

并行通信优缺点

特点:
并行通信同时传输多位数据,每一位数据使用独立的传输线。常见的并行接口包括PCI、ATA(并行ATA)、并行打印机接口(LPT)。

优点:

  1. 高速传输:由于可以同时传输多位数据,并行通信理论上可以比串行通信更快。
  2. 低延迟:由于多位数据同时传输,因此延迟较低,适合需要快速响应的应用场景。

缺点:

  1. 信号干扰:当数据线较多时,线与线之间的电磁干扰(串扰)可能会导致信号质量下降,特别是在高频下更为显著。
  2. 成本高:需要多条数据线,同时每条线需要精确匹配长度,以防止信号不同步,因此布线复杂,成本较高。
  3. 距离受限:由于多条线必须保持同步,信号在传输较长距离时容易失真,所以并行通信通常只能用于短距离应用。

串行通信优缺点

特点:
串行通信按顺序逐位传输数据,通常只需要一对传输线(单工时一条)。

扫描二维码关注公众号,回复: 17489721 查看本文章

优点:

  1. 布线简单:只需要一对传输线,布线复杂度低,设计和制造成本较低。
  2. 抗干扰能力强:因为只有一对信号线,线间串扰少,适合长距离传输。差分信号的串行通信(如RS-485、CAN)更具抗干扰能力。
  3. 数据同步性好:串行通信常伴随时钟信号(如SPI、I2C)或自带同步机制,确保数据的完整传输。

缺点:

  1. 传输速率相对较低:由于数据逐位传输,单纯比特率通常低于并行通信。但现代高速串行通信(如USB 3.0、PCIe、SATA)通过更高的时钟频率和编码技术提升了速度。
  2. 较高延迟:由于逐位传输,相对于并行通信,可能会引入较高的延迟,尤其是在处理大数据量时。

通信基础—单工和全工

单工通信

在这里插入图片描述

通信双方,区分发送器和接收器,只能由发送器到接收器单向传递,比如收音机例子,只能接收

双工通信

在这里插入图片描述

半双工

半双工通信允许数据在两个方向上传输,但在同一时间内只能在一个方向上传输。换句话说,通信双方可以轮流发送和接收数据,但不能同时进行。比如说对讲机,同时只能一个人传输数据。

全双工:

全双工通信允许数据在两个方向上同时传输。发送和接收可以同时进行,双方可以在不干扰对方的情况下同时发送和接收数据。比如手机,可以双向通讯

通信基础—波特率

波特率(Baud Rate)是通信系统中的一个关键参数,表示每秒传输的符号数或调制信号的变化次数。它通常用于描述串行通信中的数据传输速率。

在串行通信中,如UART、RS-232、SPI等,波特率的单位是bps,全称是bit per second,意为每秒钟传输的bit数量。波特率决定了数据传输的速度。例如,波特率为9600的UART通信表示每秒可以传输9600个比特。

串行通信中常用的波特率有以下几种:

  • 9600
  • 19200
  • 38400
  • 57600
  • 115200
  • 230400
  • 460800

UART帧格式

  • 起始位:发送1位逻辑0(低电平),开始传输数据。
  • 数据位:可以是5~8位的数据,先发低位,再发高位,一般常见的就是8位(1个字节),其他的如7位的ASCII码。
  • 校验位:奇偶校验,将数据位加上校验位,1的位数为偶数(偶校验),1的位数为奇数(奇校验)。
  • 停止位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1(高电平)。
  • 空闲位:空闲时数据线为高电平状态,代表无数据传输。

如果传输数据0X33(00110011),那么对应的波形就是如下这样,因为是LSB在前,所以8位数据依次是11001100

UART存在的问题

电气接口不统一

在不同的设备或系统中,UART接口的电气特性可能不一致。主要原因是UART并没有严格规定其使用的电气标准,导致不同设备间在实际连接时可能不兼容。具体表现包括:

  1. 电压电平差异:UART的信号电平在不同设备上可能有所不同,例如:

    • RS-232 标准的电压范围通常在 -12V 到 +12V 之间。
    • TTL(Transistor-Transistor Logic) UART 通常使用 0V(低电平)和 3.3V 或 5V(高电平)。
    • 一些嵌入式设备甚至可能使用 1.8V 的信号电平。

    不同电压标准的设备直接连接可能导致通信失败,甚至损坏设备。

  2. 接地参考不一致:不同设备可能对电气接地参考的定义不同,特别是在长距离通信时,接地不匹配可能引发噪声或干扰。

  3. 连接器差异:UART没有规定统一的连接器类型,因此不同设备可能使用不同的引脚定义和接口形式(如DB9、DB25、IDC排线等),导致物理连接上也存在不兼容性。

RS2-32协议

RS-232协议 是一种标准的串行通信协议,全称为 “Recommended Standard 232”,用于定义在串行数据通信中如何传输数据。RS-232曾广泛用于计算机和外围设备(如调制解调器、打印机等)之间的通信,尤其是在上世纪80年代和90年代。在嵌入式系统中,RS-232仍然用于一些低速、短距离通信场合。

RS-232协议的主要特性

  1. 电气特性

    • 信号电压:RS-232使用高电压电平来表示逻辑状态。标准规定:
      • 逻辑“1”(空闲状态,通常为负电平)电压在 -3V-15V 之间。
      • 逻辑“0”(有效状态,通常为正电平)电压在 +3V+15V 之间。
    • RS-232的电压范围较大,因此抗干扰性好,但与现代的低电压逻辑电路(如TTL电平)直接不兼容,需要转换电平。

    **电平转换:**一般会在处理器外部添加电路对信号的电平进行转换。比如说MAX232芯片

    在这里插入图片描述

  2. 信号方向和功能

    • 全双工通信:RS-232支持全双工通信,意味着发送和接收数据可以同时进行。
    • 单端信号传输:信号通过一根线传输(带有公共接地),而不像RS-485等协议使用差分信号。
    • 常见的信号线包括:
      • TXD (Transmit Data):发送数据线。
      • RXD (Receive Data):接收数据线。
      • RTS (Request to Send):请求发送。
      • CTS (Clear to Send):清除发送(握手信号)。
      • DTR (Data Terminal Ready):数据终端就绪。
      • DSR (Data Set Ready):数据设置就绪。
      • GND (Ground):接地信号。
  3. 传输方式

    • 异步通信:RS-232采用异步通信方式,即无需额外的时钟信号来同步发送和接收端的传输,使用起始位、数据位和停止位来标记数据帧的开始和结束。
    • 波特率:定义每秒传输的比特数。常见波特率有 9600, 19200, 38400, 115200 bps 等。
  4. 连接器类型

    • 最常见的连接器类型是 DB9DB25。这些数字表示连接器上的引脚数量。
    • 在标准的 DB9 引脚中,常用的引脚包括:
      • 引脚2:RXD
      • 引脚3:TXD
      • 引脚5:GND
  5. 通信距离和速率

    • 通常,RS-232适合短距离(一般小于 15米)通信,因为电压信号会随距离增加而衰减。
    • 传输速率一般在 20 kbps 以下。
  6. 帧结构

    • 起始位:1位,标记数据帧的开始,通常是低电平(逻辑0)。
    • 数据位:5-9位,表示实际传输的数据。
    • 校验位(可选):1位,用于检测错误。
    • 停止位:1-2位,标记数据帧的结束,通常是高电平(逻辑1)。

    现在用的比较多的就是常见的三根线 RX TX GND

RS-232的常见应用

  1. 计算机串行端口通信:早期的个人电脑通常带有RS-232接口,用于连接调制解调器、鼠标、打印机等外围设备。
  2. 嵌入式系统:在一些嵌入式系统和工业控制中,RS-232用于低速、短距离通信。
  3. 调试接口:RS-232作为一种简单且易于实现的通信协议,常用于嵌入式系统的调试和固件更新。

RS-232存在的问题

尽管 RS-232 在早期广泛用于串行通信,但随着技术进步,其也逐渐暴露出一些问题和局限性,尤其是在现代通信需求下。以下是 RS-232 存在的主要问题:

1. 传输距离有限

  • RS-232的传输距离通常不超过 15米。随着距离增加,电压信号逐渐衰减,容易导致数据传输不稳定或丢失。
  • 在长距离传输中,信号可能受到干扰或产生误码,因此它不适合用于远程通信场景。

2. 传输速率低

  • RS-232的传输速率较低,通常在 20 kbps 以下,最大支持 115.2 kbps。与现代接口相比,如 USBEthernet 等,RS-232无法满足高带宽的应用需求。
  • 对于需要高速数据传输的应用(如视频、音频数据),RS-232的带宽限制显得尤为明显。

3. 信号是单端传输,易受干扰

  • RS-232采用 单端信号 传输,信号通过一根线传输,另一根线是接地参考。这种方式容易受噪声和电磁干扰的影响,尤其是在工业环境或长距离传输中。
  • 相比之下,像 RS-485 使用差分信号传输方式,抗干扰能力更强,适用于长距离通信。

4. 接口不统一

  • RS-232有多个连接器标准,例如 DB9DB25 等,不同设备之间的引脚定义可能不同。因此在使用时,可能需要特殊的转接线或适配器,增加了连接复杂性。
  • 此外,由于没有统一的电气接口标准,不同设备的电平电压(-12V到+12V)不一致,直接连接可能会导致通信失败甚至损坏设备。

5. 点对点通信

  • RS-232仅支持 点对点 通信,意味着只能连接两台设备。这在多设备通信场景下显得局限,难以扩展。
  • 现代通信需求通常涉及多个设备间的网络通信,而像 RS-485 等协议可以支持多点通信。

RS-485协议

RS-485协议 是一种常用于工业通信的串行通信标准,特别适合需要长距离、高速、可靠数据传输的场景。全称为 “Recommended Standard 485”,RS-485克服了RS-232的一些局限,尤其在多点通信、抗干扰和传输距离等方面有明显优势。

RS-485协议的主要特性

1. 差分信号传输
  • RS-485 使用 差分信号传输,即通过两根信号线(标记为 AB)传输数据,信号是两根线的电压差。
  • 当A线的电压高于B线时表示逻辑“1”,反之则表示逻辑“0”。
  • 这种差分传输方式比单端传输(如RS-232)抗干扰能力强,能够有效抵御电磁干扰(EMI),特别适合在噪声环境中使用。
2. 长距离通信
  • RS-485 的通信距离远远超过RS-232,最大传输距离可达 1200米,这在工业控制、楼宇自动化、交通系统等需要远程通信的应用中非常重要。
  • 即便在较远的距离上,信号的衰减和噪声影响也较小,保证了数据传输的稳定性。
3. 多点通信
  • RS-485 支持多点通信,这意味着多达 32个发送器32个接收器 可以连接在同一总线上。
  • 这使得RS-485非常适合用于需要多个设备之间通信的场合,如工厂自动化设备、传感器网络、远程终端控制等。
4. 传输速率
  • RS-485的传输速率和距离成反比。传输距离较短时,传输速率可以达到 10 Mbps;随着传输距离的增加,速率会下降。在1200米的距离上,传输速率大约为 100 kbps
  • 它比RS-232的传输速率要高得多,能够适应一些中速数据传输的场景。
5. 半双工和全双工通信
  • RS-485 默认是 半双工 通信,即同一时刻只能发送或接收数据,无法同时进行。大多数应用场合下,RS-485是通过一对差分线实现的半双工通信。
  • 但如果需要全双工通信,可以使用四线制配置(两对差分线),实现同时发送和接收数据。
6. 信号线
  • 常用的信号线有 AB,这两根线组成差分信号对,用于传输数据。
  • 另外,还有一根 GND(接地线),用作信号参考。

RS-485的工作原理

1. 差分传输

RS-485通过两根线(A和B)传输差分信号。差分传输的特点在于抗干扰能力强,这是因为它依赖于两条信号线之间的电压差,而非绝对的电压值。由于两条线的信号是相反的,外界的电磁干扰往往同时作用于这两条线,从而被抵消,保证了通信的可靠性。RS485接口信号的电平比RS232降低了,不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便TTL电路连接。但是不一定符合RS485的电气标准,一般仍需要电路转换芯片,将TTL信号转换为差分信号

2. 总线拓扑
  • RS-485支持多点通信,这意味着多个设备可以共享同一条通信总线。
  • 每个设备可以是主动发送者(Master)或接收者(Slave),主设备和从设备之间可以建立灵活的通信关系。
  • 设备通过监听总线上发送的数据,并根据地址或协议识别是否是发给自己的数据。

在这里插入图片描述

RS-485与RS-232的对比

特性 RS-485 RS-232
信号传输方式 差分信号(抗干扰强) 单端信号(易受干扰)
最大通信距离 1200米 15米
最大传输速率 10 Mbps(短距离) 115.2 kbps
通信模式 多点(最多32个设备) 点对点
抗干扰能力 很强,适用于工业噪声环境 较弱
全双工支持 支持全双工和半双工(视配置而定) 全双工

猜你喜欢

转载自blog.csdn.net/weixin_46999174/article/details/142353870