RS-485是一种差分信号串行接口标准,你可以理解为UART物理层的“工业强化版”。它沿用了UART的异步数据格式,但通过查分传输,将通信距离从几十米拓展到了上千米,并支持多节点组网。

核心机制:差分信号与半双工

RS-485的核心在于查分传输。它使用一对双绞线(通常标记为A和B),用两线之间的电压差来表示逻辑状态,而不是像RS-232那样依靠单线对地的电压。

  • 逻辑1(正逻辑):A线电压高于B线,压差在+2V至+6V之间。
  • 逻辑0(负逻辑):B线电压高于A线,压差在-2V至-6V之间。

这种方式的优势在于抗共模干扰能力强。工业环境中的噪声通常会同时耦合到A、B两根线上,接收端只关心两者的“差值“,噪声就会被自然抵消,从而实现远距离可靠传输。

通常说的RS-485网络是半双工的:所有节点共享一对差分线,同一时刻只能有一个节点发送。因此,收发切换需要软件通过一个“方向控制引脚“(DE/RE)来严格管理。

关键电器参数

RS-485标准制定义了物理层的电气特性,不涉及上层协议。你需要关注以下硬指标:

  • 传输距离与速率:理论最长1200米,最高10Mbps。但这两者成反比,要在1200米跑满距离,速率通常需要降到100Kbps以下(如9600bps)。
  • 节点数量:标准规定最多32个单位负载。现代收发器(如MAX485、SN75LBC184)通过降低输入阻抗,可将节点数扩展至64、128、甚至256个。
  • 共模范围:总线电压相对于地线的容忍范围为-7V至+12V,这使得不同的电位的设备也能通信。
  • 终端电阻:在总线最远端的两个节点之间,必须各接一个120Ω的终端电阻,用于消除信号反射。中间的节点不需要接线。

典型应用与硬件连接

RS-485在工业现场(如PLC、仪表、变频器、门禁系统)中极为常见,因为它能用一根双绞线串联起多个设备,成本低且抗干扰。
与单片机连接时,通常需要一颗RS-485收发器芯片(如MAX485):

  1. UART侧:芯片的RO接单片机的RX,DI接TX。
  2. 总线侧:芯片的A、B引脚分别接到双绞线的A、B线。
  3. 方向控制:将DE和RE的引脚连在一起,有单片机的一个IO控制。拉高时允许发送,拉低时进入接收状态。

注意:RS-485只规定了电器层,设备要正确通信,还需要约定好波特率、数据位、校验位等UART参数,以及上层的应用协议(如Modbus)。