作为工业领域上较常用的通信办法,RS485总线具有以下诸多特点:
收发器输出A、B之间的电平为+2V~+6V,是逻辑“1”;为-6V~-2V,是逻辑“0”。旗子暗记电平比RS232降落了,不易破坏接口芯片。另有“使能”掌握旗子暗记,可使收发器处于高阻状态,割断与传输线的连接。吸收器的输入灵敏度为200mV。即在当吸收端A、B之间的电平相差200mV时即可输出逻辑。传输速率高(10Mbps),传输间隔达到1200m)。具有多站点传输能力,即总线上许可挂接多达128个收发器,可建立设备网络。(5)RS485收发器共模电压范围为-7V~+12V,只有知足该条件,全体网络才能正常事情。当网络线路中共模电压超出此范围时就会影响通信的稳定,乃至破坏接口。
二、RS485收发掌握方法

RS485属于半双工总线,在实际利用时一样平常采取主机轮询或令牌通报的方法来分配总线掌握权,RS485设备须要进行发送和吸收的方向转换。比较通用的做法是,每个RS485设备在平时均处于吸收状态,只有在自己有数据要发送时才转换到发送状态,数据发送完毕后再次切换回吸收状态。
1、第一种:程序换向掌握
最常用的RS485收发换向方法是程序换向,即由MCU的一个I/O端口掌握RS485收发器件的收发使能引脚,在平时使RS485收发器件处于吸收状态,如下图,这里485芯片用TI的SN65LBC184,最大速率达到250Kbps,当有数据须要发送时,MCU将RS485收发器件引脚(网络RS485_EN2)置于发送状态,完成数据发送后,再把RS485收发器件切回吸收状态。
这种办法大略易行,不需增加额外本钱,这种方法很多人都会知道并且基本上都用的方法。
2、第二种:自动换向
但是,当我们采取某种硬件平台的工控主板或核心板进行二次开拓时,由于工控主板或核心板上没有预留出足够的I/O端口,使得RS485收发的程序换向方法无法实现。在某些特定的情形下,开拓平台的底层驱动未对外开放,难以对底层进行二次开拓,这种情形下即便有足够的I/O端口也无法实现程序换向。为此,我们须要采取其余一种换向技能,即自动换向技能。自动换向实在便是对使能引脚不须要单独的I/O口来掌握,而是由发送引脚发送数据时候顺便掌握了。
要实现这种方法可以使能那里加一个反相器,如下图,在空闲状态下,串口的发送旗子暗记TXD2为高电平,经由反相器后输出低电平,使SN65LBC184处于吸收状态,而RS485总线由于高下拉电阻的浸染处于A高B低的状态。当发送数据时,TXD2旗子暗记线上的低电平比特位掌握SN65LBC184进入发送状态,将该比特发送出去。而高电平比特位则使SN65LBC184处于吸收状态,由RS485总线高下拉电阻把总线置于A高B低的状态,即表示发送了高电平。
反相器也可以用三极管代替,如下图所示,事情事理和加反相器一样。
但是这种方法在发送高电平时的驱动能力有限,因此会限定通讯间隔,一样平常适用于间隔不远场合。
实在,为了省去掌握的麻烦,也可以采取专门的、带有AutoDirection功能的485芯片,比如MAX13487E,它省去了常用的485使能旗子暗记,从而简化了设计电路。