引言

RS通信协议本质上是一个通用的通信协议,在大多数情况下是用来传输控制信号,所以也被称为“RS控制协议”。其信号的传输流程如下图所示:

android rs485 串口开发 rs485串口协议格式_数据

RS485协议

RS485/232是典型的串行通讯标准协议,只定义电压、阻抗等,不对软件协议给予定义。

串行通讯是指一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。举个例子,就是说有人去医院看病,看病的人很多,但是大夫每次只能看一个人的病,这个人看完下个人才能进来。

标准规定

RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之间,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪声信号的干扰。

首先我们要知道RS485的传输距离和数据率之所以能够实现在很大程度上还是依靠于系统的接线方法。

RS-485的设计为平衡系统。简单地说,使用两根线传输信号,没有地。是因为理想情况下其中一根线上的信号与另一根线上的信号严格相反。也就是说,如果一根线发送的为高电平,另一根线将发送低电平,反之亦然。

android rs485 串口开发 rs485串口协议格式_android rs485 串口开发_02

android rs485 串口开发 rs485串口协议格式_数据_03

这种情况我们就可以从上面的波形图中的可以看到。

接口定义

android rs485 串口开发 rs485串口协议格式_android rs485 串口开发_04

引脚

信号

含义

1

屏蔽

屏蔽

2

M24

24V输出电压的参考点

3

RxD/TxD-P*

接受/发生数据-P

4

CNTR-P

中继器控制信号-P

5

DGND*

数据参考点

6

VP*

终端电阻供电电压(5V)

7

P24

24V输出电压

8

RxD/TxD-N*

接受/发生数据-N

9

CNTR-N

中继器控制信号-N

RS485主要故障源

因为在高速长距离网络中最主要有两个故障源,分别为:辐射EMI和接受EMI。

辐射EMI

因为RS485能够以较高数据率来进行传输,那么当它传输数据时,其信号就会快速变化,进而产生高频部分。信号中的边沿中不可避免的高频成分与长连接线相耦合,就会产生辐射EMI。采用双绞线的平衡系统使系统成为没有效率的辐射体,可降低这种影响。

原理:当我们使用长度严格相等,两根线尽量彼此靠近缠绕的双绞线来进行信号的传输。这样会使得在传输线上的信号相等,极性相反,每根线上辐射的信号也相当,极性相反,这就有可能使得彼此之间会产生相互抵消的效果,这样则意味着不存在净辐射EMI。

接受EMI

接收EMI基本上与辐射EMI的问题相同,但方向相反。RS-485系统中使用的线缆也作为天线接收有害信号。这些有害信号会造成有用信号失真,如果足够严重,会引起数据错误。与双绞线有助于防止辐射EMI的原因相同,双绞线也有助于降低接收EMI的影响。由于两根线彼此靠近并缠绕在一起,一根线上接收的噪声将倾向于与另一个线上接收的噪声相同。这种类型的噪声被称为“共模噪声”。由于RS-485接收器设计用于检测彼此极性相反的信号,所以很容易抑制共模噪声。