RS-485
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):
- UART侧:芯片的RO接单片机的RX,DI接TX。
- 总线侧:芯片的A、B引脚分别接到双绞线的A、B线。
- 方向控制:将DE和RE的引脚连在一起,有单片机的一个IO控制。拉高时允许发送,拉低时进入接收状态。
注意:RS-485只规定了电器层,设备要正确通信,还需要约定好波特率、数据位、校验位等UART参数,以及上层的应用协议(如Modbus)。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 CCの日记!
评论