信号协议,在电子行业中,信号协议有I2C,SPI,USB,UART,RS485等,每个协议都有自身的特点和应用场景。
其中的RS485协议就是一种在电路板设计中非常常见的协议,是美国电子工业协会(EIA)在1983年批准的一个差分传输协议,距今差不过也有三十年的历史了。
因为是差分信号,所以是具有抑制共模干扰的能力的,在一些通信距离比较远的场景下,它可以比较好的传输数据,是一种应用非常广泛的信号总线。
RS485通常采用一条总线将各个节点进行连接,是不支持环形或者星链型连接的。
它有分两线制和四线制,在使用上四线制只能实现点对点的通信方式,目前比较少使用。
两线制是目前主流的用法,这种接线方式可以使得总线式拓扑结构在一条总线上能够最多连接上32个节点。
RS485一个很好的特点就是支持长距离传输,通讯距离可以达到1200米(理论状况下),实际情况中,只有通讯线材优质达标,负载设备少,通讯距离就远,如果设备太多,传输线的线材又是劣质产品,波特率(每秒种发送的比特数)不够等等不良因素,就会使得传输距离降低。
RS485电路可以分为两种:一种是隔离型,一种是非隔离型。
非隔离型
非隔离型的电路比较简单,如下图所示,只需要一个RS485芯片直接和MCU的串行通讯口连接,然后在与I/O控制口连接就可以。
如果是完整的485通信电路,就需要在上图中的A线加上一个4.7千欧的上拉电阻,在B线加上一个同样4.7千欧的下拉电阻。
至于为什么要加上上下拉电阻,就需要从RS485本身的性质说起,它的标准定义是信号阈值上下限是正负200mV,当A-B的值大于200mV时,总线的状态就表示为“1”,当A-B的值小于-200mV时,总线的状态就表示为“0”,但是当A-B的值在-20mV~20mV之间的话,总线状态就是不确定状态,所以需要上下拉电阻来初始化固定状态,避免不确定状态的出现。
隔离型
对于一些工业控制领域,电路控制单元中各个节点之间可能存在很高的共模电压,而RS485接收器共模电压是有极限电压的,也就是大于+12V或者小于-7V时,接收器就不能正常工作了,甚至会烧毁芯片及电路板。
隔离型的RS485电路就可以应用在这种场景,通过DC-DC将系统电源和RS485收发器的电源进行隔离,通过隔离器件将信号进行隔离,从而消除共模电压的影响,使得接收器能不受限制正常工作。
光电隔离RS485典型电路
典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:
1.RS-485的电气特性:逻辑"0"以两线间的电压差为+(2-6)V表示;逻辑"1"以两线间的电压差为-(2-6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。
2. RS-485的数据最高传输速率为10Mbps 。
3. RS-485接口强,即抗噪声干扰性好。
4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。