RS485,RS的意义为Recommended Standard的缩写,也就是推荐标准,是一种常用的半双工-异步-串行通信总线。半双工的意思就是两者通信时,同一时刻,只能由其中一方发送,另一方只能接收,不可以同时收发。
RS485作为一种通用的工业应用控制总线,应用非常广泛,因为他具备很多的特点:
支持多节点
一般支持最大32个节点,并且节点间可以通过Modbus或者其他的工业控制协议进行数据交互与设备控制。
传输距离远且抗干扰能力强,这一点依赖于比较特殊的差分通讯方式:
这种方式只需要两根信号线就可以保证通讯,两根数据线A/B之间由电压差来表示信号,也就是表征了逻辑0和逻辑1,其中逻辑1信号由两线(A+和B-)之间电压差在+2V~+6V之间表示,逻辑0由两线(A+和B-)之间电压差在-2V~-6V之间表示。通常二者电压差极限被认定在200mv左右,电压差低于200mv的信号就很难被检测到了。
这种方式之所以能够有很强的抗干扰性,也是得益于差分信号的优势,因为电磁干扰噪声对电平波形会造成一些毛刺的影响,从而导致传输端传输到接收方后的整个波形有部分失真,这在低速通信时影响较小,但是高速通讯时如果叠加上这种电磁干扰,很容易导致接收的信息发生错误,这也是为什么工业通讯协议基本都带有校验方式的原因(比如modbus协议的CRC校验),但是RS485差分信号不一样,电磁干扰带来的毛刺理论上会对两根通讯线A/B都造成影响,但是二者之间的电压差信号却并没有发生改变,比如电磁干扰导致A/B线在某一时刻电压比信号源高了150mv,二者相减会发现,他们之间的电压差是没有发生改变的,这就很好地避免了干扰的影响。
RS485接线简单并且总线成本低
因为本身只需要接两根数据线和一根地线,所以接线是十分简单的,而且485总线的电路也比较简单,这里列出一个比较典型的485电路:
这里有个GPIO25,这个是因为485转换芯片还区分硬件485和软件485,因为前文说过,485通讯某一时刻设备只能处于发送或者接收状态,那么他们之间的转化是怎么样的呢?一般设备都是默认处于接收状态,比如设备1和设备2之间通讯,在没有信息通讯时,两者都处于接收状态,当有一方需要发送消息时,转换为发送状态并发送数据,另一方接收,发送完毕后再次切换回接收状态。
硬件485的意思就是这个发送与接收的转换是由RS485转换芯片自行转换的,不需要接收方和发送方的介入,只负责收发即可。而软件485就是发送通过485的软件控制脚(就是上图中的GPIO25),GPIO25输出高电平,RE=DE=0V,进入接收模式;GPIO25输出低电平,RE=DE=3.3V,进入发送模式,相当于软件对交互过程进行控制。
在A线上加上拉电阻,B线上加下拉电阻也是常见的做法之一,因为总线处于没有信息交互的待机状态时,电平并不固定,一般在-200mv到+200mv之间,这个时候的接收方就有可能受到高电平信号或者低电平信号。所以在空闲期间需要保持电平。
亿佰特支持RS485通信的设备推荐:
领取专属 10元无门槛券
私享最新 技术干货