一、简介
RS485是数据信号采用差分传输方式的串行总线 rs485接线时,一般应采用手牵手的总线拓扑结构,最好不要采用星型拓扑结构。可参考: http://blog.sina.com.cn/s/blog_729a492301019owo.html 通信最常见为modbus协议,采用问答式,由主机一个一个查询,从机被动回答。
二、信号表示
· 逻辑1:两线间的电压差为+(2-6)V; · 逻辑0:两线间的电压差为-(2-6)V; RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在-2V6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一‘’使能‘’端,而在RS-422中这是可用可不用的。‘’使能‘’端是用于控制发送驱动器与传输线的切断与连接。当‘’使能‘’端起作用时,发送驱动器处于高阻状态,称作‘’第三态‘’,即它是有别于逻辑‘’1‘’与‘’0‘’的第三态。
三、特点
· 最高数据传输速率为10Mbps · RS-485接口采用平衡驱动器和差分接收器的组合,抗共模干扰、噪声干扰; · 最大传输距离3km; · 总线上允许连接多达128个收发器; · 在长距离传输时,RS485需要接2个终端电阻,阻值要求等于传输线的特性阻抗。
MCU管脚输出TTL电平,TTL电平的意思是,当MCU管脚输出0电平时,一般情况下电压是0V,当MCU管脚输出1电平时,电压是5V。因TTL电平的是由一条信号线,一条地线产生,信号线上的干扰信号会跟随有效信号传送到接收端,使得有效信号受到干扰,485通讯实际上是把MCU出来的TTL电平通过硬件层的一个转换器芯片进行转换:
把MCU出来的一条的TTL信号经过芯片转换为两根线(线A、线B)上的信号。当MCU给转换器输入低TTL电平时,转换器会使得B的电压比A的电压高,反之,A的电压比B的电压高。 485协议规约两条电平线上差值为多少表示0或者1,电压是通过仪表可以测量得到的,所以说RS-485是硬件层协议。 485协议的接收端可能是另一个MCU,MCU管脚也只接受TTL电平,转换芯片过来的是两条线的电压,所以需要对此两条线差分电压转换为TTL电平。
把TTL转为485,实质是一个集成芯片,其间无任何程序代码,纯粹硬件逻辑。同理,将485电平转为TTL也是如此。现在很多芯片把接收和转换都集成到一块IC,注意,转换器和接收器依旧是没有同时工作的,常见的转换芯片是MAX485。 可以这样理解,硬件层协议是公路,路的目的是为了让车辆能够过去。
- 半双工通讯
首先了解什么是单工通讯,单工通讯是指数据只能朝着一个方向传输的通讯方式。而半双工通讯则是指对于通讯两端,不能同时相对方法发送数据,必须错开时间段发送。 RS-485的通讯线只有2条,且这两条通讯线在一次传输中都需要用到,因此485只可实现半双工通讯。485实现半双工通讯,会遇到一个问题,MCU1向MCU2发数据时,并不知道线上是否正传来MCU2数据,因为没有其他线可用来判断对方的收发状态,那么可能也会导致数据冲突。因此,RS-485要实现半双工通讯,就需要上层的软件协议加以规约,也就是做到”不能你想发数据就发数据”。可以理解,软件层协议就好像交通规则,它能让数据有序传输。
四、接地问题
很多情况下,我们连接RS485通信链路只是将接口A、B端连接起来,而忽略了信号地的连接,这种情况虽能正常工作,却有很大的隐患,原因如下:
1、共模干扰问题:正如前文已述,RS-422与RS-485接口均采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,如RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。例如,当发送驱动器A向接收器B发送数据时,发送驱动器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。 那么,接收器输入端的共模电压VCM就会达到VCM=VOS+VGPD。RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。
2、(EMI)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。 由于上述原因,RS-422、RS-485尽管采用差分平衡传输方式,但对整个RS-422或RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。
|