2. UART物理层与电气特性:RS-232、RS-485、TTL电平标准对比

UART通信的物理层定义了信号在导线上的具体表现形式,包括电压范围、逻辑电平定义、传输距离和拓扑结构。在实际嵌入式调试中,电平不匹配是导致通信失败的首要原因。本章详细对比三种最常用的物理层标准:TTL、RS-232和RS-485。

2.1 三种电平标准的核心差异

下表从电压定义、逻辑关系、传输距离和典型应用场景四个维度进行对比:

特性 TTL (3.3V/5V) RS-232 RS-485
逻辑"1" (Mark) 2.0V ~ VCC (高电平) -5V ~ -15V (负电压) A-B > +200mV (差分)
逻辑"0" (Space) 0V ~ 0.8V (低电平) +5V ~ +15V (正电压) A-B < -200mV (差分)
电压摆幅 0 ~ 3.3V 或 0 ~ 5V ±5V ~ ±15V ±1.5V ~ ±6V (差分)
传输方式 单端 (共地) 单端 (共地) 差分 (平衡)
最大距离 < 1m (通常 < 30cm) ~15m @ 9600bps ~1200m @ 9600bps
最大节点数 点对点 (2个) 点对点 (2个) 最多256个 (半双工)
典型应用 板级调试、芯片间通信 串口终端、旧式外设 工业总线、远距离传感
关键认知:TTL是芯片内部逻辑电平,RS-232是早期PC串口标准,RS-485是工业差分标准。三者不能直接互连,必须通过电平转换芯片(如MAX232、SP3485)进行转换。

2.2 TTL电平标准详解

TTL(Transistor-Transistor Logic)是嵌入式系统中最常见的UART物理层形式。MCU的UART引脚直接输出TTL电平。

  • 逻辑"1":对于3.3V系统,输出≥2.0V;对于5V系统,输出≥2.4V。
  • 逻辑"0":输出≤0.4V(5V系统)或≤0.5V(3.3V系统)。
  • 噪声容限:约0.4V ~ 0.7V,抗干扰能力较弱。
  • 驱动能力:通常只能驱动一个接收端,不适合长线传输。
调试经验:使用逻辑分析仪抓取TTL UART信号时,建议将触发电平设置为1.65V(3.3V系统)或2.5V(5V系统),这是最可靠的采样阈值中点。
TTL UART 逻辑电平波形 (3.3V系统) 3.3V 1.65V 0V Start D0 D1 D2 D3 D4 D5 D6 D7 Stop 逻辑"1" = 2.0V ~ 3.3V 逻辑"0" = 0V ~ 0.8V 空闲 = 持续逻辑"1"

2.3 RS-232电平标准详解

RS-232是早期串行通信标准,使用负逻辑定义,电压摆幅远大于TTL,因此传输距离更远。

  • 逻辑"1" (Mark):-3V ~ -15V(通常为-5V ~ -12V)。
  • 逻辑"0" (Space):+3V ~ +15V(通常为+5V ~ +12V)。
  • 电压摆幅:约±12V,抗干扰能力强。
  • 传输距离:理论最大约15m @ 9600bps,实际受线缆电容影响。
  • 接口形式:DB9(最常见),引脚定义包括TXD、RXD、RTS、CTS、GND等。
常见陷阱:RS-232的"1"是负电压,"0"是正电压,与TTL完全相反。直接将TTL电平的TX连接到RS-232设备的RX,不仅无法通信,还可能损坏IO口。必须使用MAX232或类似芯片进行电平反转和电压转换。
RS-232 vs TTL 电平对比 (发送同一字节 0x55) TTL 3.3V 0V RS-232 +12V 0V -12V RS-232逻辑与TTL完全相反 且电压摆幅更大 (±12V)

2.4 RS-485电平标准详解

RS-485采用差分信号传输,通过两根线(A和B)的电压差表示逻辑状态,具有极强的抗共模干扰能力,适合工业环境。

  • 逻辑"1":A线电压 > B线电压,且差值 ≥ +200mV。
  • 逻辑"0":A线电压 < B线电压,且差值 ≤ -200mV。
  • 共模电压范围:-7V ~ +12V,允许收发器之间存在较大地电位差。
  • 传输距离:最远可达1200m @ 9600bps,距离与波特率成反比。
  • 多节点能力:标准支持32个节点,使用高阻抗收发器可达256个。
  • 工作模式:半双工(两线制)或全双工(四线制)。
RS-485调试要点:总线两端必须各加一个120Ω终端匹配电阻,用于消除信号反射。如果总线空闲时没有偏置电阻,A/B线电压差可能处于-200mV ~ +200mV的"不确定区",导致接收器输出乱码。
RS-485 差分信号原理 (A-B电压差) A线 +5V 0V B线 +5V 0V 逻辑"1" 逻辑"0" 逻辑"1" 逻辑"0" 逻辑"1" 逻辑"0" 逻辑"1" 逻辑"0" 逻辑由A-B电压差决定 与绝对电压无关

2.5 电平转换方案

在实际调试中,经常需要在不同电平标准之间进行转换。以下是三种常见的转换方案:

转换类型 推荐芯片 关键参数 注意事项
TTL → RS-232 MAX232, SP3232 内置电荷泵,无需负电源 需要4个电解电容 (0.1μF ~ 1μF)
TTL → RS-485 MAX485, SP3485 3.3V或5V供电,半双工 需控制DE/RE引脚切换方向
3.3V ↔ 5V TTL TXS0108E, 74LVC4245 双向自动方向检测 注意上拉电阻和驱动电流
快速调试技巧:使用USB转串口模块(如CH340G、CP2102)时,注意模块的IO电平是3.3V还是5V。许多模块默认输出3.3V,如果连接5V MCU,可能需要电平转换或确认MCU的UART引脚是否5V容忍。

2.6 物理层选择决策流程

在嵌入式项目中选择UART物理层标准时,可以按照以下流程进行决策:

  1. 传输距离:板级通信(<30cm)→ TTL;短距离(<15m)→ RS-232;长距离(>15m)→ RS-485。
  2. 节点数量:仅2个设备 → TTL或RS-232;多个设备 → RS-485。
  3. 环境噪声:低噪声环境 → TTL;中等噪声 → RS-232;强电磁干扰 → RS-485。
  4. 供电条件:仅有单电源 → TTL或RS-485;有双电源或负压 → RS-232。
  5. 成本约束:最低成本 → TTL(无需转换芯片);中等成本 → RS-232(需MAX232);工业级 → RS-485(需收发器+终端电阻)。
UART物理层标准选择决策流程 选择UART物理层 传输距离 < 15m ? 是 否 TTL 或 RS-232 RS-485 根据节点数、噪声、供电进一步细化选择 ← 上一章 📖 返回目录 下一章 →