RS485在工业控制领域确实是一种非常广泛应用的通信协议,其差分物理信号设计使其能够在电磁环境复杂的工业现场中表现出强大的抗干扰能力。对于平时主要关注应用软件开发的工程师来说,虽然主要关注点可能是串口的数据收发器,但理解RS485在硬件层面的通信机制也是非常重要的。
RS485通信接口特点
RS485总线作为工业领域常用的通信方式,具有以下几个显著特点:
电平范围:
逻辑“1”的电平范围为+2V~+6V。
逻辑“0”的电平范围为-6V~-2V。
相比RS232,其信号电平较低,因此不易损坏接口芯片。
有“使能”控制信号,可使收发器处于高阻状态,从而切断与传输线的连接,这有助于减少总线上的干扰。
接收灵敏度:
接收器的输入灵敏度为200mV,即当接收端A、B之间的电平相差200mV时,即可输出逻辑信号。
高速长距离传输:
传输速率可达10Mbps,传输距离可达1200m(在标准条件下)。
多站点传输能力:
总线上允许挂接多达128个收发器,因此可以建立设备网络,实现多点通信。
共模电压范围:
RS485收发器的共模电压范围为-7V~+12V。
只有当网络线路中的共模电压满足该条件时,整个网络才能正常工作。
如果共模电压超出此范围,可能会影响通信的稳定性,甚至损坏接口。
RS485收发控制方法
由于RS485属于半双工总线,因此在实际使用时需要采用一定的方法来分配总线控制权。常用的方法包括主机轮询和令牌传递。
主机轮询:主机(或主节点)依次向各个从节点发送查询命令,从节点在收到命令后返回相应的数据。
令牌传递:在网络中传递一个令牌(或特定的控制信号),只有持有令牌的节点才能发送数据。
硬件连接:
将SN65LBC184芯片的DE(发送使能)和/RE(接收使能)引脚(有些芯片这两个引脚可能合并为一个RS485_EN引脚)连接到MCU的一个I/O端口上。
确保SN65LBC184的A、B引脚正确连接到RS485总线上。
如下图,这里485芯片用TI的SN65LBC184,最大速率达到250Kbps,当有数据需要发送时,MCU将RS485收发器件引脚(网络RS485_EN2)置于发送状态,完成数据发送后,再把RS485收发器件切回接收状态。
自动换向技术是一种在RS485通信中常用的方法,尤其适用于工控主板或核心板I/O端口不足或底层驱动未对外开放,难以实现程序换向的情况。以下是对自动换向技术的详细分析:
自动换向技术的原理
自动换向技术实质上是对使能引脚的控制方式进行优化,使其不需要单独的I/O口来控制,而是由发送引脚在发送数据的同时顺便进行控制。这通常通过添加一个反相器或其他逻辑电路来实现。
自动换向技术的实现方式
一种常见的实现方式是,在使能引脚处添加一个反相器。在空闲状态下,串口的发送信号(TXD2)保持高电平,经过反相器处理后输出低电平,从而使RS485收发器(SN65LBC184)处于接收状态。此时,RS485总线由于上下拉电阻的作用,呈现出A端高电平、B端低电平的状态。
当需要发送数据时,TXD2信号线上的低电平比特位将控制RS485收发器切换至发送状态,并将该比特数据发送至总线。同时,高电平比特位则使RS485收发器重新回到接收状态。由于RS485总线上下拉电阻的作用,当总线处于发送高电平状态时,总线仍然被置于A高B低的状态,从而表示成功发送了高电平数据。
自动换向技术的优缺点
优点:
节省I/O端口:自动换向技术不需要单独的I/O口来控制使能引脚,从而节省了宝贵的I/O资源。
简化电路设计:通过添加反相器或其他逻辑电路,可以简化电路设计,降低硬件成本。
提高通信效率:自动换向技术能够确保在数据发送完毕后及时切换回接收状态,从而提高通信效率。
缺点:
驱动能力受限:由于上下拉电阻的选值限制,自动换向技术在发送高电平时的驱动能力可能相对较弱。如果需要驱动多个从设备或进行长距离传输,可能需要考虑增强驱动能力。
速率受限:由于方向引脚经过了反相器或其他逻辑电路,可能导致信号延迟。在高速率传输时,这种延迟可能导致数据丢包或通信不稳定。因此,自动换向技术一般适用于较低速率的通信场景。
依赖硬件性能:自动换向技术的性能取决于所使用的硬件(反相器、RS485收发器等)的性能。如果硬件性能不佳或存在缺陷,可能影响通信的稳定性和可靠性。
反相器也可以用三极管代替,如下图所示,工作原理和加反相器一样。
但是这种方法在发送高电平时的驱动能力有限,因此会限制通讯距离,一般适用于距离不远场合。
为了省去控制的麻烦,也可以采用专门的、带有AutoDirection功能的485芯片,比如MAX13487E,它省去了常用的485使能信号,从而简化了设计电路。
总结:
RS485在工业控制领域是一种广泛应用的通信协议,以其差分物理信号设计和强大的抗干扰能力著称。其通信接口特点包括低电平范围、有使能控制信号、高接收灵敏度、高速长距离传输能力、多站点传输能力以及一定的共模电压范围。
在RS485收发控制方面,常采用主机轮询和令牌传递等方法来分配总线控制权。硬件连接时,需将RS485芯片的发送使能和接收使能引脚连接到MCU的I/O端口上。
当I/O端口不足或底层驱动未对外开放时,可采用自动换向技术。该技术通过添加反相器或三极管等逻辑电路,优化使能引脚的控制方式,节省I/O资源并简化电路设计。但需注意其驱动能力受限、速率受限以及依赖硬件性能等缺点。
为了省去控制的麻烦,也可采用带有AutoDirection功能的485芯片,MAX13487E,进一步简化设计电路。总之,在选择RS485收发控制方法时,需根据具体应用场景和需求进行权衡。