导言
RS485 电路是一种通用的串行通信接口标准,广泛应用于工业控制环境。它采用平衡传输和差分接收,具有抑制共模干扰的能力,适用于从几十米到几千米的通信距离,在多节点系统中性能良好。
在工业控制领域,RS485 总线常用来连接各种设备,如传感器、执行器等。通过差分传输模式,RS485 总线可有效抵抗共模干扰,确保数据传输稳定。此外,RS485 电路还可以通过隔离装置将系统电源和收发器电源隔离,进一步提高系统的稳定性和安全性。
SSP485 芯片是一款经典的 +5V 低功耗半双工 RS485 收发器,数据传输速率高达 2Mbps。采用 +3.3V 电源供电时,建议最大传输速率为 500Kbps。SSP485 具有故障安全电路,具有 +15kVESD 静电放电保护功能。
SSP485 接收器的单位负载输入阻抗为 1/8,总线上最多可连接 256 个收发器。它主要用于 RS-485/RS-422 通信系统。
SSP485 芯片引脚图如下:
(SSP485 引脚图)
引脚说明如下
(引脚分配)
SSP485 电路图如下:
(SSP485 电路图)
SSP485 典型电路 我们可以看到,RE 和 DE 连接在一起,由 MCU 控制引脚控制,RX 和 TX 是 MCU 串行信号,分别连接到 SSP485 的 RO 和 DI 引脚。
- 当控制信号为高电平且 RE 逻辑值为 1 时,SSP485 将启用发送功能:
当 TX 为高电平时,输出 A 为高电平,输出 B 为低电平,即输出 485 逻辑 1;
当 TX 为低电平时,输出端 A 为低电平,B 为高电平,即输出端 485 的逻辑 0。
- 当控制信号为低且 RE 逻辑值为 0 时,SSP485 已启用接收功能:
当 485 总线上的 A-B≥-50mV 时,RX 为高电平,接收到逻辑 1。
当 485 总线上的 A-B≤-200mV 时,RX 为低电平,接收逻辑 0。
光耦合器隔离电路
(隔离电路图)
VCC_MCU 和 VCC2 是两组非共用电源,通过光耦隔离实现信号的隔离传输,SSP485 与 MCU 不共用,完全隔离,有效抑制了高共模电压的产生,从而大大降低了 485 芯片的损坏率,提高了系统的稳定性。但也存在电路器件多、寿命短、抗共模能力弱、功耗高、传输速率受光电器件限制等问题。
数字隔离电路
(隔离电路图)
自动收发器电路
(电路图)
自动收发器电路在 485 电路的基础上增加了一个典型的三极管开关电路。
- 发送数据
如果我们要发送数据 0x72,我们就将其写成二进制 0x01110010,TX 引脚的高电平和低电平将反映 1 和 0。
当 TX 引脚为 0 时,晶体管不导通,DE 为高电平,进入驱动状态。如果 DI 引脚接地,则 AB 之间的差分逻辑电平为 0;
当 TX 引脚为 1 时,晶体管导通,RE 为低电平,进入接收状态,A、B 引脚处于高阻抗状态,由于上拉电阻 Ra2 和下拉电阻 Rb2 的作用,AB 之间的差分电平逻辑为 1。
- 接收数据
接收数据时,使用 MCU 的 RX 引脚。接收数据时,TX 引脚保持高电平,晶体管导通,RE 为低电平,进入接收状态。RX 引脚将接收 AB 端发送的数据。
晶体管的导通延时为 ns 级,关断延时为 us 级,这将导致收发电路的低电平延迟时间较长,随后的高电平传输由外部上下拉电阻驱动,电阻越大,上升沿越慢。
假设 TX 引脚上发送的比特为 0,待发送的比特为 1,收发器会切换到接收状态,因为传输的高电平是由外部下拉电阻器驱动的。AB 线从低电平切换到高电平需要几百 ns 的时间,在此期间 RX 引脚将接收 0。如果波特率过高,RX 引脚接收到的低电平会被误认为是接收起始位,从而导致通信异常。因此,经实际电路测量,128000bps 及以下的自动收发器速率可以正常通信。