串口(UART)、TTL、RS-232 和 RS-485 的关系与区别

2026-02-10 159

UART 是协议,TTL/RS-232/RS-485 是物理层电气标准。


1. 核心与基础:UART(通用异步收发传输器)

  • 本质:一种异步串行通信协议。它定义了数据的组织格式(如何把数据打包成一帧一帧的),但不涉及电气特性。

  • 关键特点:

    • 异步:通信双方没有统一的时钟信号,依靠事先约定好的波特率来同步。

    • 串行:数据一位一位地按顺序在一条线上传输。

    • 全双工:通常需要 TX(发送)、RX(接收)和 GND(地线)三根线,可以同时收发。

  • 数据帧结构:

    • 起始位(1位低电平)

    • 数据位(5-9位,通常8位)

    • 奇偶校验位(可选,用于简单纠错)

    • 停止位(1、1.5、2位高电平)

    • 空闲时,线路保持高电平。

  • 工作层面:芯片级。是微控制器(如STM32、ESP32、Arduino的MCU)内部的一个外设模块。


2. TTL 电平串口

  • 本质:用 TTL 电平来直接表示 UART 协议中的逻辑 0 和 1。

  • 电气特性:

    • 逻辑 0:0V(或接近0V,通常 < 0.8V)。

    • 逻辑 1:+3.3V 或 +5V(通常 > 2.4V 对于5V系统,> 2.0V 对于3.3V系统)。

  • 应用场景:

    • 芯片之间、开发板上的直接连接。例如 Arduino 的 D0(RX), D1(TX) 引脚,或者 STM32 的 USART1_TX/RX 引脚。

    • 通信距离非常短,通常不超过几十厘米,易受干扰。

  • 重要特性:

    • 电压与系统供电电压相关(常见 5V 或 3.3V)。

    • 信号是单端、对地参考的,抗共模干扰能力弱。


3. RS-232

  • 本质:一种正式、古老的工业串行通信标准,规定了完整的电气特性、机械接口(DB9/DB25)和协议。

  • 电气特性:采用负逻辑,高电压表示逻辑0,低电压表示逻辑1。

    • 逻辑 0:+3V 至 +15V(通常称为 “Space”)。

    • 逻辑 1:-3V 至 -15V(通常称为 “Mark”)。

    • 噪声容限:高达 ±2V,抗干扰能力比 TTL 强。

  • 应用场景:

    • 老式电脑(COM口)、工业设备、调制解调器、部分数控机床等。

    • 通信距离可达 15米 左右(标准值,实际可更长)。

  • 重要特性:

    • 点对点(只能连接两个设备)。

    • 全双工。

    • 需要电平转换:由于电脑的 COM 口是 RS-232 电平,而微控制器是 TTL 电平,因此中间必须使用 “USB转TTL串口线” 或 “MAX232” 等芯片进行电平转换。

    • 接口通常为 DB9 接头。


4. RS-485

  • 本质:一种用于远距离、多点通信的差分串行标准。

  • 电气特性:采用差分信号(平衡传输)。

    • 使用两根线 A 和 B 之间的电压差来表示信号。

    • 逻辑 1:(A - B) < -0.2V。

    • 逻辑 0:(A - B) > +0.2V。

    • 这种差分方式能有效抵消共模干扰(两根线上受到的相同干扰会被抵消)。

  • 应用场景:

    • 工业自动化(PLC、传感器网络)、楼宇自动化、安防系统。

    • 通信距离可达 1200米(在较低波特率下)。

    • 可组建总线型网络,一条总线上最多可挂载 32 个(标准驱动) 或通过中继器扩展到 256 个 设备。

  • 重要特性:

    • 半双工(大多数情况,需要方向控制)或全双工(需4线)。

    • 多点通信(一主多从或多主)。

    • 需要收发器芯片:UART(TTL) 信号需要经过 “MAX485”、“SP3485” 等芯片转换为 RS-485 差分信号。

    • 必须在总线两端连接 120Ω 终端电阻 来消除信号反射。

对比总结表

图片关键词

如何选择?

  1. 芯片对芯片,板内/板间短距离通信:

    • 直接使用 TTL 电平 UART。简单,无需转换。

  2. 连接老式电脑COM口、部分工业设备,距离10米左右:

    • 使用 RS-232。你的微控制器端需要加一个 MAX232 或类似芯片进行 TTL 到 RS-232 的转换。

  3. 工业现场,长距离(>几十米),多个设备组网:

    • 使用 RS-485。你的微控制器端需要加一个 MAX485 或类似芯片进行 TTL 到 RS-485 的转换,并正确配置总线(终端电阻、布线规范)。

  4. 连接现代电脑(无COM口):

    • 使用 USB转TTL串口线(如基于 CH340、CP2102、FT232 芯片的线)。这本质上是通过 USB 虚拟出一个 COM 口,并输出 TTL 电平,方便与开发板直接连接。