微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > rs485通信协议

rs485通信协议

时间:12-14 来源:互联网 点击:

入、记录、校验在从设备中的程序等。

当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。对正常回应,从设备仅回应相应的功能代码。对异议回应,从设备返回一等同于正常代码的代码,但功能代码的最高位为逻辑1。

例如:一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码:

0 0 0 0 0 0 1 1 (十六进制03H)

对正常回应,从设备仅回应同样的功能代码。对异议回应,它返回:

1 0 0 0 0 0 1 1 (十六进制83H)

除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设备发生了什么错误。

主设备应对程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。

4、数据域

从主设备发给从设备消息的数据域包含附加的信息:从设备用于进行执行由功能代码所定义的行为所必须的数据。

如果没有错误发生,从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。

在某种消息中数据域可以是0长度。例如,主设备要求从设备回应通信事件记录,从设备回应不需任何附加的信息。

数据域最长为70字节。

5、错误检测域

错误检测域包含一字节8Bits。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,故CRC字节是发送消息的最后一个字节。

四、错误检测方法

1、超时检测

用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作为正常反应。如果从设备检测到一传输错误,消息将不会接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时。

2、CRC检测

CRC域是一个字节,检测了整个消息的内容。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,从设备对本消息不作回应。

通讯网络只设有一个主机,所有通信都由他发起。网络可支持254个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top