ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

232和485通信:从 UART 电平到可靠总线

2026/8/13 10:00:12 拓冰建站 浏览量
232和485通信:从 UART 电平到可靠总线 232和485通信从 UART 电平到可靠总线做 FPGA 或 MCU 串口时经常会看到 UART、RS232、RS485 三个名字同时出现。它们都能承载串行数据却不属于同一层UART 组织数据帧RS232 和 RS485 负责把逻辑比特变成适合线缆传输的电信号。这个区别决定了硬件连接方式。FPGA 的 UART 引脚不能直接接电脑 DB9也不能直接挂到 RS485 的 A/B 总线上中间必须加入对应的接口收发器。先说结论UART 管帧232/485 管电气UART 规定起始位、数据位、可选校验位、停止位和波特率。常见8N1表示 8 个数据位、无校验、1 个停止位。通信双方必须采用相同格式和速率。RS232 与 RS485 通常不改变 UART 帧内容。它们解决的是驱动方式、逻辑电平、线缆拓扑、通信距离与抗干扰能力。RS232先把逻辑电平转换成正负电压RS232 是单端、负逻辑接口。教学资料给出的有效区间中正电压表示逻辑 0负电压表示逻辑 1实际输入阈值和输出保证值应以具体收发器手册为准。FPGA/MCU 的 03.3 V 或 05 V UART 信号需要经过 SP3232、MAX3232 一类芯片转换。常见三线方式使用TXD、RXD、GND两条数据线相互独立因此可以全双工工作。连接时要按“发送接接收”交叉FPGA TX 经收发器连接 DB9 的对端接收路径外部设备 TX 经 DB9 和收发器回到 FPGA RX。常见 PC 端 DTE 型 DB9 的 2 脚为 RXD、3 脚为 TXD、5 脚为 GND但连接前仍要核对设备角色。SP3232 还能用片内电荷泵从低压电源产生 RS232 所需的正负电压。外围常见 4 个电荷泵电容并配置电源去耦。不同型号对电容值的要求并不完全相同不能只凭“232 芯片都一样”直接套用。RS485差分传输还需要控制收发方向本文聚焦最常见的两线半双工 RS485。UART TX 接收发器DI接收结果从RO返回 UART RX。DE高有效、/RE低有效二者连接后可由一根方向信号控制高电平发送低电平接收。发送前应先进入发送态再写入 UART 数据最后一个停止位真正离开发送器后才能释放总线。若仅在“发送寄存器空”时切回接收移位寄存器可能仍在工作最后几个比特会被截断。部分板卡利用三极管和 RC 网络自动切换方向但切换边界会受波特率、器件延迟和帧间空闲影响。对 FPGA 项目显式控制DE通常更容易做时序验证。120 Ω、偏置和防护解决的是三类问题RS485 接收端判断VAB VA - VB。两根线叠加相近共模干扰时差分判决仍能保留有效信息这也是它适合长线和工业环境的重要原因。120 Ω 终端电阻用于匹配常见双绞线阻抗、减小反射应放在总线物理首尾两端而不是每个节点都并联。总线无人驱动时偏置网络或收发器的 fail-safe 功能负责建立确定的空闲状态。A/B 命名在不同厂商资料中可能存在差异必须以芯片真值表和实测极性为准。工业接口还要考虑浪涌、静电与共模噪声。GDT、TVS、PTC、共模电感和滤波电容应靠近连接器按能量入口组织并保证回流路径连续。器件寄生电容过大同样会破坏差分波形因此不能简单堆料。选型与排障先看电气层再看串口代码短距离、点对点、希望天然全双工时RS232 更简单长线、强干扰或多个节点共享总线时两线 RS485 更合适。若二者复用同一组 FPGA UART 引脚应通过跳线、模拟开关或受控复用器保证同一时刻只有一条链路生效。调试可按层定位逻辑侧正确而接口侧无波形检查供电、使能和复用路径短线正常、长线错误检查终端、支线和参考地空闲时出现伪起始位检查偏置与 fail-safe只在继电器或电机动作时出错再检查防护、接地和回流。最后RS232 的核心是单端、负逻辑、点对点和电平转换两线 RS485 的核心是差分、半双工、多节点和方向控制。串口程序能收发只是起点真正稳定的通信来自 UART 时序、接口电气、总线拓扑与 EMC 的共同设计。