基于RS485的单片机设计(4)

2019-06-11 12:25

基于RS485单片机多机通信模型

(7)帧校验方式:数据和(2字节) (8)主机询问的一般格式见图2:

图2 主机询问的一般格式

l从机地址码I命令码l数据个数数据l校验和从机地址码;两字节二进制数,后一字节是前一字节的反码。

命令码:一字节二进制数,O1H代表主机读,02H代表主机写。 数据个数:表示主机要蒺写的字节个数,一字节二进制数。

校验和:两字节二进制数,是将从机地址码、命令和数据按字节从头依次相加,生成两字节的校验和。

(9)从机应答的一般格式(如图3)

图3 从机应答的一般格式

图中信息段的定义同图2。

4.2.2 定时与重发

本通信协议定时规定如下:

(1)帧发送时限;70 ms.超过此时限结束发送。

(2)主机等待从机应答时限:7 rlls,超过此时限,酌情重发。 (3)主机重发次数:不超过4次,超过后,判通信失败。

4.2.3 通信过程

一次完整的通信过程分为3个阶段:主机询问、从机应答和链路释放。主机询问阶段,主机以帧的形式将从机地址码、命令、数据和校验码传送到指定从机;从机应答阶段,从机解释接收的命令码,并组织相应帧信息回送到主机;链路释放阶段,从机清除接收缓冲区及相关变量,准备与主机下次通信。任何一次完整的通信过程都是由主机方发起的,从机在被主机寻址前只能处于侦听状态,从机在接收到地址码的第2个字节后,立即判断是否寻址自己,如果是.继续接受下面的数据,否则不与理睬。

4.3 通信软件设计

14

基于RS485单片机多机通信模型

4.3.1 从机通信软件设计

在该系统中,从机的主要任务是对被检测设备进行故障检测和故障定位,通信软件的主要功能是接收主机的命令并将检测的结果回送主机。从机通信软件由2部分组成:串行中断服务程序和定时器TO中断服务程序。串行中断服务程序用于接收或发送数据;TO中断服务程序用于当从机接收完一帧信息后进行解释并启动通信向主机应答,另外也用于当从机发送超时后的一些处理。从机上电后处于侦听状态,当主机寻址时,便进人中断服务程序,其程序流程图如图4所示。

图4 申行通信中断服务程序流程图

首先判断是接收中断还是发送中断,若是接收中断,则清除RI,同时启动字符间隔定时器TO,并置收发标志为收。当接收完第2个字节后,各从机立即判断

是否寻址本机,若是,则置SM2为‘0’,继续接收主机送来的数据;若不是,则禁止T0定时,不在接收后面的数据。当被寻址从机接收完一帧信息后,字符间

15

基于RS485单片机多机通信模型

隔定时器会产生定时中断,进入TO中断服务程序。

图5是TO中断服务程序流程图。

进入TO中断服务程序后,首先清除TO中断请求标志,停止TO定时器,接着判断是接收完成还是发送超时,若是接收完成,再判断校验和是否正确,若正 确,对接收的命令进行解释,看是主机读还是主机写操作,若是主机读,则将数据打包,送到专门用于通信的数组,接着,禁止接收,置本机为应答工作方式, 最后启动发送,发送第一个字节,同时启动发送时限定时器TO。当一个字节发送完后,便进入通信中断服务程序,继续发送余下数据。如果在上边判校验和时, 发现不正确,则置SM2为‘1’,恢复本机的侦听状态,以便接收主机的重发信息。

16

基于RS485单片机多机通信模型

图5 TO中断服务程序流程图

17

基于RS485单片机多机通信模型

4.3.2 主机通信软件设计

该系统主机的主要任务是循环读取从机的检测结果,并送终端显示,其通信软件由3部分组成:主程序中负责寻址从机的寻址模块、通信中断服务程序和TO 中断服务程序。寻址模块程序流程图见图6。

图6 寻址模块程序流程图

对从机寻址是按照从机的编号顺序进行的,即从1号从机开始,主机发送该从机信息帧的第1个字节启动寻址,同时启动发送超时定时器TO,然后检测通信结束标志.当主机成功的接收到该从机的应答信息后,便会置位该标志,完成与该从机的通信。接下来,寻址下一从机,直到所有从机都被寻址。最后,主机完 成其它功能后,又从1号从机开始下一循环的寻址。通信中断服务程序和TO中断服务程的设计方法与从机的大同小异,在此不再介绍。

18


基于RS485的单片机设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【精编范文】农村科技入户指导员个人工作总结-范文模板 (3页)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: