基于RS485总线的多机通信系统设计(5)

2019-01-07 17:55

河南理工大学毕业设计(论文)说明书

令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式:

NOPNOPRETI返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、 完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。

考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。

4.4.3 软件“看门狗”技术

若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。

“看门狗”技术可由硬件实现,也可由软件实现。在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件看门狗可有效地解决这类问题。

在实际应用中,采用环形中断监视系统。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch 、T1Watch,主程序每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch、 T1Watch加1。在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。

4.5 失效保护

RS-485标准规定接收器门限为±200mV。这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当总线电压在±200mV中间时接收器输出状态不确定。由于UART以一个前导\触发一次接收动作,所以接收器的不定态可能会使UART错误地接收

- 17 -

河南理工大学毕业设计(论文)说明书

一些数据,导致系统误动作。当总线空闲、开路或短路时都有可能出现两线电压差低于200mV的情况,必须采取一定措施避免接收器处于不定态。传统的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200mV)。但这种方法仍然不能解决总线短路时的问题,为此,有些器件制造商将接收门限移到-200mV/-50mV,巧妙地解决了这个问题。例如Maxim公司为MAX3080系列RS-485接口,不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。

- 18 -

河南理工大学毕业设计(论文)说明书

第5章 软件设计

5.1 系统结构

该多机通信系统的系统结构图如图5-1所示,系统采用半双工主从通信方式,主机可以读取从机的数据或写数据到从机,并将数据送终端进行显示;从机主要负责对分布的电子设备进行监测或控制,用中断的方式接收主机发来的命令并做出回应。

图5-1 系统结构图

5.2 通信协议

5.2.1 信息格式

该协议的信息格式如下: (1)编码格式;二进制代码。 (2)波特率:9600 b/s。 (3)通信方式:半双工。 (4)每个字符由u 位组成; 1位:起始位(0); 8位:数据位;

1位:地址/数据识别位(1为地址,o为数据); l位:停止位(1)。

(5)字符发送顺序;低位在先

(6)帧结束标志:通信线路空闲3.5 ms以上 (7)帧校验方式:数据和(2字节)

(8)主机询问的一般格式见表5-2:

- 19 -

河南理工大学毕业设计(论文)说明书

表5-2 主机询问的一般格式

从机地址码:两字节二进制数,后一字节是前一字节的反码。 命令码:一字节二进制数,O1H代表主机读,02H代表主机写。 数据个数:表示主机要读写的字节个数,一字节二进制数。

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

(9)从机应答的一般格式(如表5-3)

表5-3 从机应答的一般格式

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

5.2.2 定时与重发

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

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

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

5.2.3 通信过程

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

- 20 -

河南理工大学毕业设计(论文)说明书

5.3 通信软件设计

5.3.1 从机通信软件设计

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

图5-4 串行通信中断服务程序流程图

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

- 21 -


基于RS485总线的多机通信系统设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《上海市建设工程安全防护、文明施工措施费用管理暂行规定》的通

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

马上注册会员

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